gc.spread.sheets.outlinecolumn.11.1.0.min.js 14.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
/*!
 * 
 * Spread.Sheets Library 11.1.0
 * 
 * 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.OutlineColumn=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";var b=c(1);c(4),a.exports=b}()},function(a,b,c){!function(){"use strict";var b,d,e,f,g,h,i=c(2),j=c(3),k=c(4).commands,l=c(4).setCheckStatus,m=j.k,n=m.ac,o=i.GC$,p=o.each,q=o.isEmptyObject,r=j.j.Fa,s=5,t=6,u=6,v=3,w=16,x=16,y=16,z=16,A=void 0,B={columnIndex:A,showCheckBox:!1,showImage:!1,images:A,showIndicator:!0,expandIndicator:A,collapseIndicator:A,maxLevel:10};function C(a){return a.expandIndicator||a.collapseIndicator}function D(a,b){return a.outlineColumn&&a.outlineColumn.options()&&a.outlineColumn.options().columnIndex===b}function E(a,b,c){var d=b.x+c.x,e=c.y+c.height/2-b.height/2,f=b.height,g=b.width;c.x+c.width<d+g||(a.save(),a.beginPath(),a.strokeStyle="black",a.strokeRect(d,e,g,f),a.fillStyle="white",a.fillRect(d,e,g,f),3===b.checkStatus?(a.beginPath(),a.fillStyle="black",a.rect(d+g/5,e+f/5,g-.4*g,f-.4*f),a.fill()):b.checkStatus!==!0&&1!==b.checkStatus||(a.beginPath(),a.lineWidth=g/5,a.moveTo(d+g/6,e+f/2),a.lineTo(d+2*g/5,e+5/7*f),a.lineTo(d+5/6*g,e+f/6),a.stroke()),a.restore())}function F(a,b,c,d){var e=b.collapsed,f=b.x+c.x,g=c.y+c.height/2-b.height/2,h=b.height,i=b.width;c.x+c.width<f+i||(e?b.expandIndicator?G(a,b.expandIndicator,b,c,d):(a.save(),a.fillStyle="black",a.beginPath(),a.moveTo(f,g),a.lineTo(f,g+h),a.lineTo(f+i,g+h/2),a.fill(),a.restore()):b.collapseIndicator?G(a,b.collapseIndicator,b,c,d):(a.save(),a.fillStyle="black",a.beginPath(),a.moveTo(f,g+h),a.lineTo(f+i,g+h),a.lineTo(f+i,g),a.fill(),a.restore()))}function G(a,b,c,d,e){var f,g=c.x+d.x,h=d.y+d.height/2-c.height/2,i=c.width,j=c.height;if(!(d.x+d.width<g+i)&&b&&"none"!==b&&e)try{e.ko(b)?(f=e.lo(b),a.drawImage(f,g,h,i,j)):e.fo(b)}catch(a){}}function H(a,b,c){var d,e=a.rowOutlines.getLevel(b);r(c)&&(c=!a.rowOutlines.getCollapsed(b)),d={cmd:"expandRowOutline",collapsed:c,index:b,level:e+1,sheetName:a.name()},a.wu().execute(d)}function I(a,b,c,d){var e,f;r(d)&&(e=a.outlineColumn.getCheckStatus(b),d="number"==typeof e?1===e?2:1:!e),f={cmd:"updateOutlineColumnCheckStatus",row:b,col:c,status:d,sheetName:a.name()},a.wu().execute(f)}function J(a,b,c){var d,e,f,g=a.getLevel(b);if(c!==g+1)for(d=c-(g+1),e=0,f=Math.abs(d);e<f;e++)d>0?a.group(b,1):a.ungroupRange(b,1)}function K(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,o,p=L(c,"showIndicator");p?(h=a.zoom(),i=a.getRowCount(),j=!!a.rowOutlines.isCollapsed(b+1),k=s*h,l=t*h,m=null,n=null,c.expandIndicator&&(m=c.expandIndicator,j&&(k=y*h,l=z*h)),c.collapseIndicator&&(n=c.collapseIndicator,j||(k=y*h,l=z*h)),b<i-1&&(o=a.getStyle(b+1,d),o&&o.textIndent>e?g.indicator={x:f.value+v*h,y:-l/2,width:k,height:l,collapsed:j,collapseIndicator:n,expandIndicator:m}:delete g.indicator),f.value+=2*v*h+k):delete g.indicator}function L(a,b){return r(a[b])?B[b]:a[b]}function M(a,b,c,d,e,f){var g,h,i=r(c.showCheckBox)?B.showCheckBox:c.showCheckBox;i?(g=!r(f.checkBox)&&1!==f.checkBox&&f.checkBox.checkStatus,h=a.zoom(),f.checkBox={x:e.value+v*h,y:-u*h,width:2*u*h,height:2*u*h,checkStatus:g},e.value+=2*v*h+2*u*h):delete f.checkBox}function N(a,b,c,d,e){var f,g,h,i,j,k=r(c.showImage)?B.showImage:c.showImage;k?(f=c.images,g=a.zoom(),f&&f.length&&(h=b>f.length-1?f[f.length-1]:f[b],i=d.value+v*g,j=0,e.images={image:h,x:i,y:j,width:w*g,height:x*g},d.value+=2*v*g+w*g)):delete e.images}function O(a,b,c){var d,e,f,g,h=a.outlineColumn.options(),i=h&&h.columnIndex;if(!r(i))return d={value:0},e=0,f=a.getStyle(b,i),f&&f.textIndent&&(e=f.textIndent),0!==b&&(g=a.rowOutlines.getLevel(b-1),e-g>=3&&(e=g+2)),d.value+=8*e,J(a.rowOutlines,b,e),K(a,b,h,i,e,d,c),M(a,b,h,i,d,c),N(a,e,h,d,c),c.cellContent={left:d.value,x:d.value,y:0,width:-d.value,height:0},c}b=function(a){this.kj=a,this.outlineColumnOptions={},this.$e=0},b.prototype={LRa:function(a,b){return this.ZQa(b)?this.Kia.QR[a].cellContent.left:null},options:function(a){var b=this,c=b.YQa;return n(arguments)?(b.YQa=a,b.refresh(),b):c},refresh:function(){var a=this.kj;r(this.YQa)||r(this.YQa.columnIndex)||0===this.$e&&(a.suspendPaint(),a.outlineColumn.Kia.updateModel(),a.resumePaint())},setCheckStatus:function(a,b){var c=this.YQa.columnIndex;r(c)||I(this.kj,a,c,b)},getCheckStatus:function(a){var b,c;if(n(arguments))return this.kj.outlineColumn.Kia.getCheckStatus(a);for(b=[],c=this.kj.getRowCount(),a=0;a<c;a++)b[a]=this.kj.outlineColumn.Kia.getCheckStatus(a);return b},setCollapsed:function(a,b){H(this.kj,a,b)},getCollapsed:function(a){var b,c;if(n(arguments))return this.kj.outlineColumn.Kia.getCollapsed(a);for(b=[],c=this.kj.getRowCount(),a=0;a<c;a++)b[a]=this.kj.outlineColumn.Kia.getCollapsed(a);return b},XQa:function(a){return this.YQa&&this.YQa.columnIndex===a},ZQa:function(){return this.YQa&&!r(this.YQa.columnIndex)},Lia:function(){this.$e++},Mia:function(){this.$e>0&&this.$e--,0===this.$e&&this.refresh()},Nia:function(a,b){this.kj.outlineColumn.Kia.insertRows(a,b)},Oia:function(){return B},Pia:function(){return{TRIANGLE_HEIGHT:s,TRIANGLE_BASE:t,CHECKBOX_RADIUS:u,GAP:v,IMAGE_WIDTH:w,IMAGE_HEIGHT:x,INDICATOR_IMAGE_WIDTH:y,INDICATOR_IMAGE_HEIGHT:z}},Gka:function(a){var b,c,d=this;for(b in a)a.hasOwnProperty(b)&&(c=d.Kia.QR[b]=d.Kia.QR[b]||{},c.checkBox={checkStatus:a[b].checked})},CXa:function(a,b){var c=this.YQa.columnIndex;r(c)||l(this.kj,a,c,b)},QZa:function(){return this.Kia.QR}},d=function(){function a(a){var b=this;b.kj=a,b.QR={}}var b={updateIndicatorCollapsed:function(a,b){var c=this;r(c.QR[a])||r(c.QR[a].indicator)||(c.QR[a].indicator.collapsed=b)},updateCheckStatus:function(a,b){var c=this;c.JVa(a),r(c.QR[a])||(c.QR[a].checkBox.checkStatus=b)},getCheckStatus:function(a){var b=this;return r(b.QR[a])||r(b.QR[a].checkBox)?null:b.QR[a].checkBox.checkStatus},getCollapsed:function(a){var b=this;return!r(b.QR[a])&&!r(b.QR[a].indicator)&&b.QR[a].indicator.collapsed},updateModel:function(){var a,b=this,c=b.kj,d=c.getRowCount();for(c.rowOutlines.direction(0),a=0;a<d;a++)b.QR[a]=b.QR[a]||{},O(c,a,b.QR[a])},insertRows:function(a,b){var c,d,e,f=this.kj,g=f.outlineColumn.options();r(g)||(c=g.columnIndex,r(c)||(d=f.getStyle(a-1,c),e=0,d&&d.textIndent&&(e=d.textIndent),f.getRange(a,c,b,1).textIndent(e)))},KVa:function(a,b){var c,d=this.QR[b];d&&!a[b]&&(c=d.checkBox,a[b]={checked:c&&c.checkStatus})},LVa:function(a){var b,c=this,d=this.QR;for(b in d)d.hasOwnProperty(b)&&c.KVa(a,b)},MVa:function(a){var b,c=this.QR;for(b in a)r(a[b].checked)||(c[b].checkBox.checkStatus=a[b].checked)},NVa:function(){var a=this.kj.ITa.zTa;return a?(a.OVa||(a.OVa={items:{}}),a.OVa):A},JVa:function(a){var b=this,c=b.NVa();c&&!c.all&&(r(a)?(c.all=!0,b.LVa(c.items)):b.KVa(c.items,a))},PVa:function(a){this.MVa(a.items)}};return o.extend(a.prototype,b),a}(),e=i.lUa,o.extend(e.prototype,{PVa:function(a){var b=this,c=b.QVa.Kia;c.updateModel(),a&&c.PVa(a),b.kj.$p()}}),e.$n("outlineColumn",{init:function(){var a=this,c=a.kj;a.QVa=new b(c),a.QVa.Kia=new d(c)},undo:function(a){var b=a.OVa;b&&this.PVa(b)}}),f={init:function(){var a=this;a.outlineColumn=a.ITa.QVa},toJson:function(a){var b,c,d,e,f,g,h;function i(a,b){var c=B[a];return c===b}if(b=this.outlineColumn.YQa,c=this.outlineColumn.Kia.QR,!r(b)){if(d={},p(B,function(a){e=b[a],r(e)||i(a,e)||(d[a]=e)}),f={},b.showCheckBox)for(g in c)c.hasOwnProperty(g)&&(h=c[g].checkBox.checkStatus,h&&(f[g]={checked:h}));q(f)||(d.data=f),a.outlineColumnOptions=d}},fromJson:function(a){var b,c,d,e=a.outlineColumnOptions,f=this;if(e){if(e.kj=f,b=e.data){c={};for(d in e)"data"!==d&&(c[d]=e[d]);this.outlineColumn.Gka(b)}this.outlineColumn.options(r(c)?e:c),this.outlineColumn.refresh()}},onLayoutChanged:function(a){var b,c,d=this,e=d.outlineColumn,f=a.changeType,g=a.rowCount,h=a.row;if("addRows"===f)e.Kia.JVa(),e.Nia(h,g),e.refresh();else if("deleteRows"===f)e.Kia.JVa(),e.refresh();else if("zoomSheet"===f)e.refresh();else if("invalidateLayout"===f&&e.Kia.QR&&!q(e.Kia.QR)&&d.rowOutlines.items&&!q(d.rowOutlines.items)){b=d.rowOutlines.items;for(c in b)b.hasOwnProperty(c)&&e.Kia.updateIndicatorCollapsed(parseInt(c),d.rowOutlines.isCollapsed(parseInt(c)+1))}},sortRangeChanged:function(a){for(var b=this.outlineColumn,c=a.column,d=a.columnCount,e=c;b.XQa(e)&&e<=c+d;)b.refresh(),e+=1}},i.Worksheet.$n("outlineColumn",f),g={paintCellPadding:function(a){var b,c=a.options.rect,d=a.options.context.sheet,e=a.options.context,f=e.row,g=e.col,h=a.ctx;D(d,g)&&c.width>0&&c.height>0&&(b=d.outlineColumn.Kia.QR[f],b&&(h.save(),b.indicator&&F(h,b.indicator,c,e.imageLoader),b.checkBox&&E(h,b.checkBox,c),b.images&&G(h,b.images.image,b.images,c,e.imageLoader),h.restore(),b.cellContent&&(c.x+=b.cellContent.left,c.width-=b.cellContent.left)))},getCellPaddingRect:function(a){var b,c=a.options.rect,d=a.options.context.sheet,e=a.options.context,f=e.row,g=e.col;D(d,g)&&c.width>0&&c.height>0&&(b=d.outlineColumn.Kia.QR[f],b&&b.cellContent&&(c.x+=b.cellContent.left,c.width-=b.cellContent.left))},getCellPaddingHitInfo:function(a){var b,c,d,e,f=a.context.sheet,g=a.context.col,h=a.context.row,i=a.x,j=a.y,k=a.cellRect,l=f.outlineColumn;if(a.paddingHitInfo=null,l&&l.YQa){for(b=l.Kia.QR[h],c=l.YQa.columnIndex;g>c;)g--,k.x-=f.getColumnWidth(g);b&&(b.indicator&&(d=b.indicator.x,e=b.indicator.x+k.x,i>=e&&i<e+b.indicator.width&&(a.paddingHitInfo={x:i,y:j,row:h,col:g,outlineColumnHitInfo:{indicator:!0}})),b.checkBox&&(d||(d=b.checkBox.x),e=b.checkBox.x+k.x,i>=e&&i<e+b.checkBox.width&&(a.paddingHitInfo={x:i,y:j,row:h,col:g,outlineColumnHitInfo:{checkBox:!0}})),b.images&&(d||(d=b.images.x),e=b.images.x+k.x,i>=e&&i<e+b.images.width&&(a.paddingHitInfo={x:i,y:j,row:h,col:g,outlineColumnHitInfo:{image:!0}})),d&&i>=k.x&&i<k.x+d&&(a.paddingHitInfo={x:i,y:j,row:h,col:g,outlineColumnHitInfo:{blank:!0}}))}},processMouseDownOnCellPadding:function(a){var b=a.sheet,c=a.row,d=a.col,e=a.outlineColumnHitInfo;r(e)||(e.indicator?H(b,c):e.checkBox?I(b,c,d):e.image||e.blank)},getOutlineColumnOffset:function(a){var b,c=a.context.sheet,d=a.context.col;D(c,d)&&(b=c.outlineColumn.options(),L(b,"showIndicator")&&(a.value+=v,C(b)?a.value+=y:a.value+=s,a.value+=v),L(b,"showCheckBox")&&(a.value+=v,a.value+=2*u,a.value+=v),L(b,"showImage")&&(a.value+=v,a.value+=w,a.value+=v))}},i.CellTypes.Base.$n("outlineColumn",g),h={init:function(){k.$Qa(this.commandManager())}},i.Workbook.$n("outlineColumn",h),a.exports={OutlineColumn:b}}()},function(a,b){a.exports=GC.Spread.Sheets},function(a,b){a.exports=GC.Spread.Common},function(a,b,c){!function(){"use strict";var b,d,e,f=c(2),g=c(3),h=f.GC$,i=f.Commands,j=i.ActionBase,k=g.j.Fa,l="increaseCellIndent",m="decreaseCellIndent",n="updateOutlineColumnCheckStatus",o="outlineColumnCheckStatus",p=i.h4;function q(a,b,c,d){return r(a,b,c,d)}function r(a,b,c,d){var e,f,g,h,i,j,l,m,n,o,p=k(d)?a.getActiveColumnIndex():d;if(!a.outlineColumn.XQa(p))return null;if(e=b?1:-1,f=a.getActiveRowIndex(),g=a.getSelections()[0].rowCount,i=!0,k(c))for(c={},i=!1,h=f;h<g+f;h++)0!==h&&(j=a.rowOutlines.getLevel(h),b&&(l=a.rowOutlines.getLevel(h-1),j>l&&!c[h-1])||(m=j+e,n=a.outlineColumn.options(),o=k(n.maxLevel)?a.outlineColumn.Oia().maxLevel:n.maxLevel,o&&m+1>o||m+1<0||(c[h]={row:h,original:j+1,current:m+1},i=!0)));return i?c:null}function s(a,b,c,d){var e,f,g,h=r(a,b,c,d);if(!h)return null;e=k(d)?a.getActiveColumnIndex():d,a.outlineColumn.Lia(),a.suspendPaint();for(f in h)Object.prototype.hasOwnProperty.call(h,f)&&(g=h[f],a.getCell(g.row,e).textIndent(g.current));a.resumePaint(),a.outlineColumn.Mia()}function t(a,b,c,d){var e,f,g,h,i,j=0,k=0,l=a.rowOutlines.getLevel(b);if(a.outlineColumn.Kia.updateCheckStatus(b,d),f=b<=a.getRowCount()-2?a.rowOutlines.find(b+1,l+1):null,null!==f&&null!==d)for(g=f.start;g<f.end+1;g++)a.outlineColumn.Kia.updateCheckStatus(g,d);for(f=a.rowOutlines.find(b,l);null!==f&&null!==f.parent;){if(f.start>0){for(j=f.start-1,k=a.rowOutlines.getLevel(j),a.outlineColumn.Kia.updateCheckStatus(j,d),e=a.rowOutlines.find(j+1,k+1),g=e.start;g<e.end+1;g++)if(h=a.outlineColumn.Kia.QR[g].checkBox.checkStatus,h!==d){i="number"==typeof h&&"number"==typeof d&&3,a.outlineColumn.Kia.updateCheckStatus(j,i);break}g===e.end+1&&d===!0&&a.outlineColumn.Kia.updateCheckStatus(j,!0)}f=f.parent}}b=function(a){h.inherit(b,a);function b(b,c){a.call(this),this.kj=b,this.VQ=c}var c={canExecute:function(){return q(this.kj,!0,this.VQ.changingRows,this.VQ.changingColumns)},canUndo:function(){return!0},execute:function(){var a,b;return!!this.canExecute()&&(a=this.kj,a.ITa.startTransaction(),a.outlineColumn.Kia.JVa(),s(this.kj,!0,this.VQ.changingRows,this.VQ.changingColumns),b=i.bWa(a.name()),this.VQ[b]=a.ITa.endTransaction(),!0)},undo:function(){var a=this,b=a.kj,c=i.bWa(b.name()),d=a.VQ[c];return b.ITa.undo(d),!0}};return h.extend(b.prototype,c),b}(j),d=function(a){h.inherit(b,a);function b(b,c){a.call(this),this.kj=b,this.VQ=c}var c={canExecute:function(){return q(this.kj,!1,this.VQ.changingRows,this.VQ.changingColumns)},canUndo:function(){return!0},execute:function(){var a,b;return!!this.canExecute()&&(a=this.kj,a.ITa.startTransaction(),a.outlineColumn.Kia.JVa(),s(a,!1,this.VQ.changingRows,this.VQ.changingColumns),b=i.bWa(a.name()),this.VQ[b]=a.ITa.endTransaction(),!0)},undo:function(){var a=this,b=a.kj,c=i.bWa(b.name()),d=a.VQ[c];return b.ITa.undo(d),!0}};return h.extend(b.prototype,c),b}(j),e=function(a){h.inherit(b,a);function b(b,c){a.call(this),this.kj=b,this.VQ=c}var c={canExecute:function(){return!0},canUndo:function(){return!0},execute:function(){var a,b=this,c=b.kj,d=b.VQ,e=d.row,f=d.col,g=d.status;return c.ITa.startTransaction(),t(c,e,f,g),c.outlineColumn.refresh(),a=i.bWa(c.name()),d[a]=c.ITa.endTransaction(),!0},undo:function(){var a=this,b=a.kj,c=i.bWa(b.name()),d=a.VQ[c];return b.ITa.undo(d),b.outlineColumn.refresh(),!0}};return h.extend(b.prototype,c),b}(j),i[l]={canUndo:!0,execute:function(a,c,d){return c.cmd=l,p(a,b,c,d)}},i[m]={canUndo:!0,execute:function(a,b,c){return b.cmd=m,p(a,d,b,c)}},i[n]={canUndo:!0,execute:function(a,b,c){return p(a,e,b,c)}},i.$Qa=function(a){var b=f.Ul.sl(),c=!b,d=b;a.register(l,i[l],221,c,!1,!0,d),a.register(m,i[m],219,c,!1,!0,d),a.register(n,i[n])},a.exports={commands:i,outlineColumnCheckStatus:o,setCheckStatus:t}}()}]);