UNPKG

@grapecity/spread-sheets-drag-merge

Version:

SpreadJS drag merge module

10 lines 7.98 kB
/*! * * SpreadJS Library 18.0.6 * * Copyright(c) of respective holders. All rights reserved. * * Licensed under the SpreadJS Commercial License. * */ !function(e){var r;"object"==typeof module&&"object"==typeof module.exports?(r=require("@grapecity/spread-common"),require("@grapecity/spread-sheets-core"),module.exports=e(r)):"function"==typeof define&&define.amd?define(["@grapecity/spread-common","@grapecity/spread-sheets-core"],e):"object"==typeof exports?(r=require("@grapecity/spread-common"),require("@grapecity/spread-sheets-core"),exports.Spread=e(r)):e(GC)}(function(o){!function(){"use strict";var n,t,e,r;function i(e){var r,r,r=t[e];return void 0!==r||(r=t[e]={exports:{}},n[e].call(r.exports,r,r.exports,i)),r.exports}n={"./dist/plugins/dragMerge/dragMerge-action.js":function(e,r,n){var t,c,n,i,o,s,a,u,g;function f(e,r){return e.JS(r)}function d(e,r){return g.call(this,e,r)||this}t=this&&this.__extends||(u=function(e,r){return(u=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,r){e.__proto__=r}:function(e,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}))(e,r)},function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}u(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}),Object.defineProperty(r,"__esModule",{value:!0}),r.Commands=void 0,c=n("Core"),Object.defineProperty(r,"Commands",{enumerable:!0,get:function(){return c.Commands}}),n=c.Commands.ActionBase,i=c.Commands.zA,o="dragMerge",s=Math.max,t(d,g=n),d.prototype.canExecute=function(){var e,r,n,r,r,e=this.Mf,r=this.tT,n=f(e,r.oldSelection),r=f(e,r.newSelection);if(n.equals(r)){if((r=e.getSpan(n.row,n.col))&&n.equals(r))return!1;if(1===n.rowCount&&1===n.colCount)return!1}return!0},d.prototype.canUndo=function(){var e,e,e=c.Commands.TI(this.Mf.name()),e=this.tT[e];return c.Commands.AI(e)},d.prototype.undo=function(){var e,r,n,e=this;if(!e.canUndo())return!1;r=e.Mf,e.X5(r,!0),n=c.Commands.TI(r.name()),r.Ut.undo(e.tT[n]),e.q5(r,!0)},d.prototype.execute=function(){var e,r,n,t,i,t,o,a,i,u,e=this,r=e.Mf,n=e.tT,t=n.oldSelection,i=n.newSelection;if(!e.canExecute())return!1;r.Ut.startTransaction(),e.X5(r,!0),r.Ut.do("clearSpan",t.row,t.col,t.rowCount,t.colCount),t=i.row,o=i.col,a=i.rowCount,i=i.colCount,r.addSpan(t,o,a,i),r.setSelection(t,o,s(a,1),s(i,1)),e.q5(r,!0),n[u=c.Commands.TI(r.name())]=r.Ut.endTransaction()},a=d,c.Commands[o]={canUndo:!0,execute:function(e,r,n){return i(e,a,r,n)}},c.Commands.Ttt=function(e){e.register(o,c.Commands[o])}},"./dist/plugins/dragMerge/dragMerge-event.js":function(e,r,n){var t,r,d,u,l,M;function c(e,r){e.ki(t.Events.DragMerging,r)}function s(e,r){e.ki(t.Events.DragMerged,r)}Object.defineProperty(r,"__esModule",{value:!0}),r=(t=n("Core")).GC$,d=null,u=void 0,l=Math.abs,M=t.Ec,r.extend(t.nk.prototype,{Att:function(e){var r,n,t,i,r,n,t=e,i=this.Mf.Ut.findSpan(e.row,e.col);return t=i&&i.containsRange(e)?i:t},zL:function(e,r,n){var t,i,o,a,u,c,s,g,f,o,a,t,u,o,t=this.Mf,i=t.options.rightToLeft,o=t.parent,a=t.U5(),u=t.Dn,c=4,s=8,g=2,f=4;if(o&&o.options.allowUserDragMerge&&a&&!t.Oi&&u.Itt){if(a=(o=u.Itt).x,t=o.y,u=o.width,o=o.height,!i&&l(a+u-r)<=2&&l(t+o/2-n)<=4||i&&l(a-r)<=2&&l(t+o/2-n)<=4)return{right:!0};if(l(a+u/2-r)<=4&&l(t+o-n)<=2)return{bottom:!0}}return d},pk:function(e){var r,e,n,t,t,i,o,a,u,r=this;r.ab=!0,r.rb=!0,r.Uk=!0,r.Rk={e9:e.rowViewportIndex,r9:e.colViewportIndex,Bk:e.hitTestType},r.xtt=e.dragMergeInfo,n=(e=r.Mf).Ut,t=e.U5(),r.Ntt=r.Att(t),i=(t=e.JS(r.Ntt)).row,o=t.col,a=t.rowCount,u=t.colCount,n.GT(i,o,a,u)?(r.rb=!1,r.Uk=!1):(r.ktt=e.Ut.getSpans(t),e.suspendPaint(),n.do("clearSpan",i,o,a,u),e.resumePaint(),r.Dtt=t,r._tt(),r.Ett(t),r.Ok())},Hk:function(){var e,r,n,n,t,i,r,i,r,n,t,e=this,r=e.Mf,n=r.parent;n&&!n.options.allowUserDragMerge?e.ND():(n=e.Q9(),t=e.K9(),i=e.Dtt||e.Ntt,r=r.JS(i),0<=n&&0<=t&&(i=e.xtt,r=e.jtt(r,n,t,i),n=(e.Ott=r).rowCount,t=r.colCount,0<n)&&0<t&&(e._tt(),e.Ett(r),e.Dtt=r,e.a9()))},_tt:function(){var e,r,r,e=this.Mf,r=this.Dtt;r&&((r=e.j1(r)).x-=2,r.y-=2,r.width+=4,r.height+=4,e.Dn.O1(r))},jtt:function(e,r,n,t){var i,o,a,u,c,e,s,g,f,d,l,h,p,v,i,o=this.Mf,a=e.row,u=e.col,c=e.rowCount,e=e.colCount;return t.right?(d=n-(g=u)+1,l=s=a,h=u+e,p=f=c,v=n-u-e+1):t.bottom&&(f=r-(s=a)+1,l=a+c,h=g=u,p=r-a-c+1,v=d=e),o.Ut.eE(l,h,p,v)&&(s=a,g=u,f=c,d=e),M(s,g,f,d)},ND:function(){var e,r,n,t,i,o,a,e,n,e=this,r=e.Mf,n=r.parent,t=e.ktt,i=e.Ntt,o=e.Ott||i;e.ab=!1,e.rb=!1,e.Uk=!1,e.Ott=u,e.ktt=u,e.Dtt=u,e.Ntt=u,e.l9(),n&&n.options.allowUserDragMerge&&(a=r.Ut,r.suspendPaint(),0<t.length&&t.forEach(function(e){a.do("addSpan",e)}),r.resumePaint(),e={sheetName:r.name(),sheet:r,mergeRange:o,cancel:!1},c(r,e),e.cancel||(n={cmd:"dragMerge",sheetName:r.name(),oldSelection:i,newSelection:o},r.Qy().execute(n),s(r,{sheetName:r.name(),sheet:r,mergeRange:o})))},Ett:function(e){var r,n,t=this.Mf.Dn,i;(0,t.Rtt)(t,e)}})},"./dist/plugins/dragMerge/dragMerge.js":function(e,r,n){var m,r,t,g,n,i,o,a;function f(e){var e=e.parent;return e&&e.options.backColor||i}function u(e,r,n){var t,t,n,e,r,t=e.C0(n.row);if((1===t||t!==e.C0(n.row+n.rowCount-1))&&0<(t=e.dw(1)).length)return n=r.y+r.height/2,e=t[0],r=t[t.length-1],e.y<=n&&n<=e.y+e.height||r.y<=n&&n<=r.y+r.height?1:void 0}function c(e,r,n){var t,t,n,e,r,t=e.S0(n.col);if((1===t||t!==e.S0(n.col+n.colCount-1))&&0<(t=e.yw(1)).length)return n=r.x+r.width/2,e=t[0],r=t[t.length-1],e.x<=n&&n<=e.x+e.width||r.x<=n&&n<=r.x+r.width?1:void 0}function j(e,r,n){var e,t,i,o,a,r,n,t=e.Fi(),i=e.Gy(t),o=e.Sy(t),a=u(e,r,n),r=c(e,r,n),n=e.options.rightToLeft,e=1===a&&1===r?t.c9(a,r):1===a?new m.Rect(t.b6,t.Cy,t.F6+i+t.zy,o):1===r?new m.Rect(t.Py,t.T6,i,t.L6+o+t.Iy):n?new m.Rect(t.Hy,t.T6,t.F6+i+t.zy,t.L6+o+t.Iy):new m.Rect(t.b6,t.T6,t.F6+i+t.zy,t.L6+o+t.Iy);return e}Object.defineProperty(r,"__esModule",{value:!0}),m=n("Core"),r=n("Common"),t=n("./dist/plugins/dragMerge/dragMerge-action.js"),g=r.Common.ft,n=m.GC$,i="white",n.extend(m.g7.prototype,{Btt:function(e,r){var n,t,i,i,o,a,u,c,s,g,f,d,l,h,p,v,M,_,t,s,n=this,t=n.Mf,i=t.rt;(0,m.needPaintSelection)(t)&&(s=(i=t.j1(i.Att(r))).x,g=i.y,f=i.width,d=i.height,l=t.options.rightToLeft?s-2:s+f-2,_=j(t,M=new m.Rect(l,h=g+d/(u=2)-(c=o=4),p=4,v=a=8),r),s=j(t,t=new m.Rect(l=s+f/2-4,h=g+d-2,p=8,v=4),r),n.Itt=i,n.Ltt(e,M,t,_,s))},Ltt:function(e,r,n,t,i){var o,a=this.Mf,a=m.Pf.vl(a,a.getSelectionBorderColor());e.save(),e.fillStyle=a,t&&(e.rect(t.x,t.y,t.width,t.height),e.clip()),e.beginPath(),e.rect(r.x,r.y,r.width,r.height),e.fill(),e.restore(),e.save(),e.fillStyle=a,i&&(e.rect(i.x,i.y,i.width,i.height),e.clip()),e.beginPath(),e.rect(n.x,n.y,n.width,n.height),e.fill(),e.restore()},Rtt:function(e,r){var n,t,i,o,e,a,u,o,c,o,c,o,c,o,c,i,t,s,c,n=e,t=n.Mf,i=t.parent,o=t.rt,e=e.J(),a=2,u=1;i&&i.options.allowUserDragMerge&&o.Uk&&(o=t.getActiveRowIndex(),c=t.getActiveColumnIndex(),c=(o=t.getActualStyle(o,c))&&o.backColor,o=f(t),(c=g._(m.Pf.vl(t,c||o))).a*=.6/255,e.fillStyle=g.j(c),e.strokeStyle=m.Pf.vl(t,t.getSelectionBorderColor()),e.lineWidth=2,e.beginPath(),o=i.SC,i=(c=t.j1(r)).x,t=c.y,s=c.width,c=c.height,2007<o?(e.rect(i,t,s-1,c-1),e.strokeRect(i-1,t-1,s+1,c+1)):(e.rect(i+1,t+1,s-2-.5,c-2-.5),e.strokeRect(i-.5,t-.5,s,c)),e.fill(),e.restore(),n.Btt(e,r))}}),m.Workbook.ch("dragMerge",o={init:function(){t.Commands.Ttt(this.commandManager())}}),m.Worksheet.ch("dragMerge",a={paintAdornment:function(e){var e,r,n,t,t,e=e.ctx,r=this,n=r.Dn,t=r.Ut.getSelections();r.parent&&r.parent.options.allowUserDragMerge&&1===t.length&&!r.Oi&&(t=r.U5(),n.Btt(e,t))}})},Common:function(e){e.exports=o.Spread},Core:function(e){e.exports=o.Spread.Sheets}},t={},e={},Object.defineProperty(e,"__esModule",{value:!0}),i("./dist/plugins/dragMerge/dragMerge-action.js"),i("./dist/plugins/dragMerge/dragMerge.js"),i("./dist/plugins/dragMerge/dragMerge-event.js"),(((o=void 0===o?{}:o).Spread=o.Spread||{}).Sheets=o.Spread.Sheets||{}).DragMerge=e}()});