/*! * * Spread.Sheets Library 11.2.2 * * Copyright(c) GrapeCity, Inc. All rights reserved. * * Licensed under the SpreadJS Commercial License. * us.sales@grapecity.com * http://www.grapecity.com/en/licensing/grapecity/ * * */ var GC=GC||{};GC.Spread=GC.Spread||{},GC.Spread.Sheets=GC.Spread.Sheets||{},GC.Spread.Sheets.Outlines=function(a){var b={};function c(d){if(b[d])return b[d].exports;var e=b[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,c),e.loaded=!0,e.exports}return c.m=a,c.c=b,c.p="/assets/",c(0)}([function(a,b,c){!function(){"use strict";c(1);var b=c(4);b.SR={},b.SR.en=c(5),a.exports=b}()},function(a,b,c){!function(){"use strict";var b,d,e,f,g,h,i,j,k,l,m,n,o,p=c(2),q=c(3),r=q.Commands,s=r.ActionBase,t=q.GC$,u="outlineColumn",v="removeColumnOutline",w="expandColumnOutline",x="expandColumnOutlineForLevel",y="outlineRow",z="removeRowOutline",A="expandRowOutline",B="expandRowOutlineForLevel",C=p.j.Fa;function D(a){var b=a.kj;return a.ML?b.rowOutlines:b.columnOutlines}function E(a){var b,c,d,e,f,g=this,h=!1;return(a?g.canExecute():g.canUndo())&&(b=g.kj,c=g.VQ.index,d=g.VQ.count,e=D(g),b&&e&&!C(c)&&!C(d)&&(f=a?e.group:e.ungroupRange,g.Lz(b,!0),f.call(e,c,d),g.Mz(b,!0),h=!0)),h}b=function(a){t.inherit(b,a);function b(b,c,d){var e=this;a.call(e),e.kj=b,e.VQ=c,e.ML=d}var c={execute:function(){return E.call(this,!0)},undo:function(){return E.call(this,!1)}};return t.extend(b.prototype,c),b}(s),d=function(a){t.inherit(b,a);function b(b,c){a.call(this,b,c,!1)}return b}(b),e=function(a){t.inherit(b,a);function b(b,c){a.call(this,b,c,!0)}return b}(b),f=function(a){t.inherit(b,a);function b(b,c,d){var e=this;a.call(e),e.kj=b,e.VQ=c,e.ML=d}var c={execute:function(){var a,b,c,d=this,e=d.kj,f=!1;return d.canExecute()&&(a=d.VQ.index,b=d.VQ.count,c=D(d),e&&c&&!C(a)&&!C(b)&&((c.getLevel(a)>=0||c.getLevel(a+b-1)>=0)&&(d.Lz(e,!0),c.ungroupRange(a,b),d.Mz(e,!0)),f=!0)),f},undo:function(){var a,b,c,d=this,e=!1,f=d.kj;return d.canUndo()&&(a=d.VQ.index,b=d.VQ.count,c=D(d),f&&c&&!C(a)&&!C(b)&&(d.Lz(f,!0),c.group(a,b),d.Mz(f,!0),e=!0)),e}};return t.extend(b.prototype,c),b}(s),g=function(a){t.inherit(b,a);function b(b,c){a.call(this,b,c,!1)}return b}(f),h=function(a){t.inherit(b,a);function b(b,c){a.call(this,b,c,!0)}return b}(f);function F(a,b,c,d,e){var f=0,g;for(g=b;g<=c&&g=d?d-1:b}function H(a,b,c,d,e){if(be)return e;for(var f=b;f<=e;f++)if(c.call(a,f))return f;return-1}function I(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q=this,r=q.kj,s=c.index,t=b?r.getRowCount():r.getColumnCount(),u=void 0;s<0||s>=t||(d=D(q),e=1===d.direction(),f=b?r.frozenRowCount():r.frozenColumnCount(),g=b?r.getRowHeight:r.getColumnWidth,h=b?r.getViewportTopRow:r.getViewportLeftColumn,i=b?r.getViewportHeight:r.getViewportWidth,j=h.call(r,1),n=d.find(e?s-1:s+1,c.level),n&&(o=e?n.start:s,p=e?s:n.end,e?(a?o=s:ok&&(j=G(r,j,l-k,t,g)),m=H(r,j,g,f,t-1)):(a?p=s:p>=t&&(p=t-1),ok&&(m=H(r,o,g,f,t-1)))),b&&m!==u?(r.lq=m,r.os()):b||m===u||(r.qq=m,r.qs())))}function J(a){var b,c,d,e,f,g=this,h=!1;return(a?g.canExecute():g.canUndo())&&(b=g.kj,c=g.VQ,d=D(g),e=c.collapsed,f=c.index,!b||!d||C(e)||C(f)||C(c.level)||(g.Lz(b,!0),a||(e=!e),d.setCollapsed(f,e),I.call(g,e,g.ML,c),g.Mz(b,!0),h=!0)),h}i=function(a){t.inherit(b,a);function b(b,c,d){var e=this;a.call(e),e.kj=b,e.VQ=c,e.ML=d}var c={execute:function(){return J.call(this,!0)},undo:function(){return J.call(this,!1)}};return t.extend(b.prototype,c),b}(s),j=function(a){t.inherit(b,a);function b(b,c){a.call(this,b,c,!1)}return b}(i),k=function(a){t.inherit(b,a);function b(b,c){a.call(this,b,c,!0)}return b}(i),l=function(a){t.inherit(b,a);function b(b,c,d){var e=this;a.call(e),e.kj=b,e.VQ=c,e.ML=d}var c={execute:function(){var a,b,c,d,e=this,f=e.kj,g=!1;if(e.canExecute()&&(b=e.VQ.level,c=D(e),f&&c&&!C(b))){for(f.ITa.startTransaction(),e.Lz(f,!0),a=0;a=0&&(c.width=f*(g+2)+C,c.rowMaxLevel=g)),h.showColumnOutline()&&e&&!e.iT()&&(g=e.getMaxLevel(),g>=0&&(c.height=f*(g+2)+C,c.colMaxLevel=g)),h.TL=c,c)},showRowOutline:F("showRowOutline",!0,function(){this.$p()}),showColumnOutline:F("showColumnOutline",!0,function(){this.$p()})};s.extend(i.Worksheet.prototype,T);function U(a,b){a.Wq(i.Events.RangeGroupStateChanging,b)}function V(a,b){a.Wq(i.Events.RangeGroupStateChanged,b)}function W(a,b){var c,d,e,f;a.isEditing&&a.isEditing()||(c=b.info.index,d=b.what===O,e=d?"expandRowOutlineForLevel":"expandColumnOutlineForLevel",f=Y(a,d,-1,c,!0),U(a,f),f&&f.cancel===!1&&(a.wu().execute({cmd:e,sheetName:a.name(),level:c}),V(a,Y(a,d,-1,c,!1))))}function X(a,b){var c,d,e,f,g,h,i;a.isEditing&&a.isEditing()||(c=b.what===Q,ba(c,a)&&(d=b.info,e=d.index,f=e,g=d.level,i=c?"expandRowOutline":"expandColumnOutline",1===d.lineDirection?e--:e++,h=Y(a,c,e,g,!0),U(a,h),h&&h.cancel===!1&&(a.wu().execute({cmd:i,sheetName:a.name(),index:f,level:g,collapsed:d.isExpanded}),V(a,Y(a,c,e,g,!1)))))}function Y(a,b,c,d,e){var f={sheet:a,sheetName:a.name(),isRowGroup:b,index:c,level:d};return e&&(f.cancel=!1),f}function Z(a,b){var c,d,e,f,g=this,h=g.Gt(),i=h.width,j=h.height;return i||j?(c=g.am(),d=new v(h.x,h.y,i,c.height),e=new v(h.x,h.y,c.width,j),d.contains(a,b)||e.contains(a,b)?(f=$(g,a,b,h.rowMaxLevel,!0),f||(f=$(g,a,b,h.colMaxLevel,!1)),f||{what:"empty",info:m}):m):m}function $(a,b,c,d,e){var f,g,h=new qa(a,e,d),i=h.WL(b,c,e);if(i)return{what:e?O:P,info:i};for(f=_(a,e,d),g=0;g<=2;g++)if(i=f[g].XL(b,c,e))return{what:e?Q:R,info:i};return m}function _(a,b,c){var d=[new pa(a,b,0,c),new pa(a,b,1,c),new pa(a,b,2,c)],e;for(e=0;e<=2;e++)d[e].YL();return d}function aa(a,b){var c=b?a.width:a.height;return o(0,(c-2*this.PADDING)/(this.ZL+2))}function ba(a,b){return a?b.rowOutlines:b.columnOutlines}k.OutlineDirection={backward:0,forward:1},k.OutlineState={expanded:0,collapsed:1},b=function(){function a(a,b,c,d){var e=this;e.children=[],e.parent=m,e.model=a,e.start=b,e.end=c,e.level=d}return a.prototype={state:function(a){var b=this,c=b.model;return arguments.length?void(c&&c.expandGroup(b,0===a)):c?c.getState(b):0},contains:function(a){return this.start<=a&&a<=this.end},addChild:function(a){a&&(this.children.push(a),a.parent=this)}},a}(),k.OutlineInfo=b;function ca(a,b,c){var d,e,f,g;if(c>0){for(d=a.items,g=[],e=0;e0&&(f=d[b-1]))for(e=0;e0&&(a.items.splice(b,c),ia(a))}function ea(a,c,d){var e,f,g,h,i,j,k=m,l=a.items;for(f=c,h=z(l);fd&&(g=ea(a,f,d+1),f=g.index,k.addChild(g.g)),f>k.end&&(k.end=f),!a.isGroupEnd(f,d)));f++);if(k)for(i=k.end+1,j=k.start;j=-1&&bc))break;d=d.parent}return m}function ha(a,b){switch(a){case"head":case"tail":return b===m;case"direction":return 1===b;case"itemsData":return 0===z(b);default:return!1}}function ia(a){a.Zka=m,a.refresh()}function ja(a,b){!b&&a.Wka||(a.Zka=a.createRangeGroup(),la(a))}function ka(a){a.Wka&&!a.Zka&&(a.Zka=a.createRangeGroup())}function la(a,b){a.groupChangeHandler&&a.groupChangeHandler(b)}function ma(a,b,c){if(na(a,b),!fa(a,b+c-1))throw Error(S().Exp_InvalidCount)}function na(a,b){if(!fa(a,b))throw Error(S().Exp_InvalidIndex)}d=function(){function a(a,b,c){var d=this;d.head=m,d.tail=m,d.Zka=m,d.items=Array(a),d.V3=0,d.wz=!0,d.kj=b,d.ML=c}return a.prototype={direction:F("direction",1),group:function(a,b){var c=this,d,e;for(ma(c,a,b),c.kj.ITa.vUa(c.ML),d=0;d-1&&e.level--;ja(c)},ungroup:function(){var a=this,b=z(a.items);a.kj.ITa.vUa(a.ML),a.items=Array(b),ja(a),a.wz=!0},expand:function(a,b){var c,d,e,f,g;if(a<-1)throw Error(S().Exp_InvalidLevel);for(c=this,d=c.items,c.kj.ITa.vUa(c.ML),ka(c),f=0,g=d.length;f-1)},find:function(a,b){var c=this,d;return ka(c),b===-1?d=c.Zka:(na(c,a),d=ga(c,a,b)),d},getLevel:function(a){var b=this.items[a];return b?b.level:-1},getCollapsed:function(a){var b=this.items[a];return!!b&&!!b.collapsed},B4:function(a,b,c,d){var e,f;for(e=b;e<=c;e++)f=a[e],f||(f=a[e]=new oa,f.level=-1),f.viewCollapsed=d},setCollapsed:function(a,b){var c,d,e,f,g,h,i=this,j=!1,k=i.items;if(i.kj.ITa.vUa(i.ML),ka(i),a<0?(c=i.head,c||(c=i.head=new oa)):a-1){d=!0;break}e=e.parent}if(!d)for(c=n?q.end+1:q.start-1,l.dPa(c,!1),l.B4(m,q.start,q.end,!1),g=[q],h=0;h>=0;)if(i=g[h--],f=n?i.end+1:i.start-1,m[f]&&m[f].collapsed&&m[f].level!==-1)l.B4(m,i.start,i.end,!0);else for(j=i.children,k=0;j&&ka&&(a=c))}),a},cB:function(a,b,c,d){var e,f,g,h,i;if(!(c<=0||a===b)){for(e=this,e.kj.ITa.vUa(e.ML),a<0&&(a=0),b<0&&(b=0),f=[],g=e.items,h=x(g,a-1);h>=0&&h=0&&g0)for(h in f)f.hasOwnProperty(h)&&(i.items[c+h]=f[h]);e&&y(a.items,b,d)},refresh:function(){this.wz||ja(this)},VL:function(a){var b,c,d=this,e=d.items,f=z(e),g=a-f;if(g<0)e.splice(a,-g);else if(b=e[f-1])for(c=0;c-1&&g.addChild(c)):h++;return g},isGroupEnd:function(a,b){var c,d,e,f,g,h,i=this,j=i.items,k=a+1;return!fa(i,k)||(!(c=j[k])||(d=c.level,e=j[a].level,f=!1,d=0&&h=0&&j){for(k=0;k=z(d));k++)b.info.collapsed&&l.push(b),d[i+k]=new oa(j);c.wz=!1}}),E(f)||c.direction(f),g&&(c.head=g),h&&(c.tail=h),ja(c,!0),m=0;m=0&&e===g.count+g.index&&h.level===g.info.level&&h.collapsed===g.info.collapsed?c[f].count++:c[++f]={index:e,count:1,info:{level:h.level,collapsed:h.collapsed}});return i={itemsData:c,direction:b.direction(),head:b.head,tail:b.tail},j={},t(i,function(a,b){ha(a,b)||(j[a]=b)}),s.isEmptyObject(j)?n:j}}},a}(),k.Outline=d;function oa(a){return{level:a?a.level:0,collapsed:!!a&&a.collapsed,viewCollapsed:!!a&&a.viewCollapsed}}function pa(a,b,c,d){var e=this;e.PADDING=2,e.LINE_SIZE=2,e.START_LINE_SIZE=6,e.bM=[],e.cM=[],e.dM=[],e.kj=a,e.ML=b,e.eM=c,e.ZL=D(d)?d:ba(b,a).getMaxLevel()}pa.prototype={YL:function(){var a,b=this;b.ZL!==-1&&(a=b.fM(0,b.ML),t(a,function(a,c){b.gM(c)}))},gM:function(a){var b,c,d,e,f,g,h,i,j,k,l,n,q,r,s,u,v,w,x=this,y=x.kj,A=x.ML,B=ba(A,y).direction(),C=1===B,D=0===B,E=x.hM(!0,A),F=x.hM(!1,A),G=a.start,H=a.end,I=a.level;if(C?b=H+1:D&&(b=G-1),0===a.state()){if(c=!0,d=a.parent,d&&(D&&G===d.start||C&&H===d.end)&&(c=!1),c&&x.iM(!0,I,b,E,F,B),G<=F&&H>=E){for(e=o(E,G),f=p(F,H),c&&(g={start:e,end:f,level:I,startLine:m},(C&&e===G||D&&f===H)&&(g.startLine=!0),x.bM.push(g)),j=[],k=a.children,h=e;h<=f;h++)j.push(!1);for(t(k,function(a,b){var c=b.start,d=b.end,f;if(1===b.state())for(i=c;i<=d;i++)j[i-e]=!0;f=C?d+1:d-1,j[f-e]=!0,x.gM(b)}),l=!0,h=0;h=d&&c<=e&&(g.index=c,g.lineDirection=f,this.dM.push(g))},jM:function(a){var b=this,c=b.kj,d=b.eM;return b.ML?c.Gr(d).findRow(a):c.Hr(d).findCol(a)},aM:function(a){var b,c,d,e,f,g,h,i=this;i.ZL!==-1&&(b=i.kj.Gt(),c=i.ML,d=aa.call(i,b,c),d&&(e=l(u(M).borderWidth),f=q(d/3),g=i.PADDING,h=(d-e)/2+g,a.save(),a.fillStyle=u(I).color,i.kM(a,i.cM,c,b,d,h,e),c?i.u_a(a,i.bM,c,b,d,h,e,f):i.v_a(a,i.bM,c,b,d,h,e,f),i.mM(a,i.dM,c,b,d,h,e,g),a.beginPath(),a.restore()))},kM:function(a,b,c,d,e,f,g){var h,i,j,k=this,l=2,m=k.kj,n=m.options,p=n.sheetAreaOffset,q=p.left,r=p.top;a.save(),a.fillStyle=u(N).color,j=k.bM,t(b,function(b,m){var n,p,s,t,u,v,w=m.index,x=m.level;k.w_a(j,w,x)||(n=k.jM(w),n&&(p=c?n.y:n.x,s=(c?n.height:n.width)-g,s>=0&&(h=p+o(0,s/2),i=m.level*e+f,c?(t=h,h=i+.5,i=t,i-=r):(i+=.5,h-=q),a.strokeStyle="transparent",a.lineWidth=0,u=d.x+h,v=d.y+i,u%1!==0&&(u+=.5),v%1!==0&&(v+=.5),a.strokeRect(u,v,l,l),a.fillRect(u,v,l,l))))}),a.restore()},w_a:function(a,b,c){var d,e=!1,f=z(a);for(d=0;d=b){e=!0;break}return e},u_a:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,p,q,s,t,v,w,x,y,A,B,C;for(a.save(),a.strokeStyle=u(M).borderTopColor,a.fillStyle=u(M).borderTopColor,a.lineWidth=g,i=this,j=i.kj,k=ba(c,j).direction(),m=j.options,n=m.sheetAreaOffset,p=n.top,l=0;l=s);(v||w)&&(v?w||(w=v):v=w,x=v.y,y=q.level*e+f,A=g,B=o(0,w.y+w.height-v.y),1===k&&(x+=1),x=r(x)+.5,x-=p,a.beginPath(),C=d.x+y+A/2,C=r(C),a.moveTo(C,d.y+x),a.lineTo(C,d.y+x+B),a.stroke(),q.startLine&&e/2-2*g>0&&(0===k&&(x=x+B-g-p),x>=v.y-p&&x=s);(v||w)&&(v?w||(w=v):v=w,x=v.x,y=q.level*e+f,A=o(0,w.x+w.width-v.x),1===k&&(x+=1),x-=p,B=d.y+y+g/2,B=r(B),a.beginPath(),a.moveTo(d.x+x,B),a.lineTo(d.x+x+A,B),a.stroke(),q.startLine&&e/2-2*g>0&&(0===k&&(x=x+A-g-p),x>=v.x-p&&x0&&(a.save(),a.strokeStyle=fa,G=c?B.y-ba:B.x-aa,H=A.level*e+f,T=0===A.lineDirection,U=c?g:D,V=c?D:g,c?(W=G,G=H,H=W,T&&(H+=D+N,V=Q-D)):T&&(G+=D+I,U=Q-D),a.beginPath(),a.lineWidth=g,X=r(d.x+G+g/2),Y=r(d.y+H+g/2),c?(a.moveTo(X,d.y+H),a.lineTo(X,d.y+H+V-ga)):(y=0,j&&!A.isExpanded&&(y=1),a.moveTo(d.x+G,Y),a.lineTo(d.x+G+O+U+y,Y)),a.stroke(),a.restore()))):a.restore()},nM:function(a,b,c,d,e,f,g){var h,i,j,k=this,l=this.kj,m=l.vu();if(c&&m.ko(c)){h=m.lo(c),i=h.width,j=h.height;try{a.drawImage(h,0,0,i,j,q(d),q(e),f-1,g-1)}catch(a){}}else k.y_a(a,b,d,e,f,g)},y_a:function(a,b,c,d,e,f){var g,h,i=q(e/4),j=q(e/2);b||(g=q(f/4),h=q(f/2),a.fillRect(c+e/2-1,d+g,2,f-h)),a.fillRect(c+i,d+f/2-1,j,2)},fM:function(a,b){var c,d,e,f=this,g=f.kj,h=[],i=-1,j=-1,k=ba(b,g),l=b?g.Gr:g.Hr,m=l.call(g,f.eM),n=z(m);for(n&&(d=m[0],e=m[n-1],i=o(0,(b?d.row:d.col)-1),j=b?p(g.getRowCount(),e.row+2):p(g.getColumnCount(),e.col+2));i=0)for(z=0;z=0)for(j=o(0,g+t/2),k=q.PADDING,d&&(p=j,j=k,k=p),n=0;n