e-virt-table 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/index.cjs.js +4 -4
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.es.js +3317 -2835
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/index.umd.js +4 -4
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/lib/Autofill.js +45 -10
  8. package/dist/lib/Autofill.js.map +1 -1
  9. package/dist/lib/Cell.d.ts +9 -1
  10. package/dist/lib/Cell.js +89 -4
  11. package/dist/lib/Cell.js.map +1 -1
  12. package/dist/lib/CellHeader.d.ts +1 -0
  13. package/dist/lib/CellHeader.js +16 -0
  14. package/dist/lib/CellHeader.js.map +1 -1
  15. package/dist/lib/Config.d.ts +8 -4
  16. package/dist/lib/Config.js +28 -4
  17. package/dist/lib/Config.js.map +1 -1
  18. package/dist/lib/Context.d.ts +5 -2
  19. package/dist/lib/Context.js +61 -6
  20. package/dist/lib/Context.js.map +1 -1
  21. package/dist/lib/Database.d.ts +9 -1
  22. package/dist/lib/Database.js +203 -0
  23. package/dist/lib/Database.js.map +1 -1
  24. package/dist/lib/EVirtTable.d.ts +7 -0
  25. package/dist/lib/EVirtTable.js +10 -1
  26. package/dist/lib/EVirtTable.js.map +1 -1
  27. package/dist/lib/Editor.d.ts +2 -0
  28. package/dist/lib/Editor.js +72 -21
  29. package/dist/lib/Editor.js.map +1 -1
  30. package/dist/lib/EventBrowser.d.ts +3 -0
  31. package/dist/lib/EventBrowser.js +12 -0
  32. package/dist/lib/EventBrowser.js.map +1 -1
  33. package/dist/lib/Icons.d.ts +1 -1
  34. package/dist/lib/Icons.js +48 -40
  35. package/dist/lib/Icons.js.map +1 -1
  36. package/dist/lib/Scroller.d.ts +2 -0
  37. package/dist/lib/Scroller.js +44 -1
  38. package/dist/lib/Scroller.js.map +1 -1
  39. package/dist/lib/Selector.d.ts +1 -0
  40. package/dist/lib/Selector.js +169 -17
  41. package/dist/lib/Selector.js.map +1 -1
  42. package/dist/lib/types.d.ts +42 -4
  43. package/dist/lib/util.d.ts +16 -2
  44. package/dist/lib/util.js +91 -1
  45. package/dist/lib/util.js.map +1 -1
  46. package/package.json +1 -1
@@ -126,6 +126,30 @@ class Scrollbar {
126
126
  onWheel(e) {
127
127
  this.updateScroll(e);
128
128
  }
129
+ onTouchmove(e) {
130
+ const { clientY, clientX } = e.touches[0];
131
+ const deltaY = clientY - this.clientY; // 计算滑动距离
132
+ const deltaX = clientX - this.clientX; // 计算滑动距离
133
+ let scroll = 0;
134
+ if (this.type === 'vertical') {
135
+ scroll = Math.max(0, Math.min(this.dragStart - deltaY, this.distance));
136
+ // 只有在滚动条需要滚动时才阻止默认事件
137
+ const hasScrollbar = this.hasScrollbar();
138
+ if (hasScrollbar && !((scroll === 0 && deltaY > 0) || (scroll === this.distance && deltaY < 0))) {
139
+ e.preventDefault();
140
+ }
141
+ }
142
+ else if (this.type === 'horizontal') {
143
+ scroll = Math.max(0, Math.min(this.dragStart - deltaX, this.distance));
144
+ }
145
+ this.scroll = scroll;
146
+ }
147
+ onTouchstart(e) {
148
+ const { clientY, clientX } = e.touches[0];
149
+ this.clientX = clientX;
150
+ this.clientY = clientY;
151
+ this.dragStart = this.scroll;
152
+ }
129
153
  onMouseDown(e) {
130
154
  if (!(e.target instanceof Element)) {
131
155
  return;
@@ -176,7 +200,12 @@ class Scrollbar {
176
200
  this.clientY = 0;
177
201
  }
178
202
  onMouseMove(e) {
179
- const { offsetX, offsetY, clientX, clientY } = e;
203
+ const { offsetX, offsetY, clientX, clientY, buttons } = e;
204
+ // 没有鼠标按下时不处理,要重置抬起事件
205
+ if (buttons === 0) {
206
+ this.onMouseUp();
207
+ return;
208
+ }
180
209
  // 悬浮提示
181
210
  if (this.isOnScrollbar(offsetX, offsetY) && e.target === this.ctx.canvasElement) {
182
211
  this.isFocus = true;
@@ -363,6 +392,10 @@ export default class Scroller {
363
392
  this.ctx.on('mousedown', (e) => this.onMouseDown(e));
364
393
  this.ctx.on('mousemove', (e) => this.onMouseMove(e));
365
394
  this.ctx.on('mouseup', () => this.onMouseUp());
395
+ this.ctx.on('touchmove', (e) => this.onTouchmove(e));
396
+ this.ctx.on('touchstart', (e) => {
397
+ this.onTouchstart(e);
398
+ });
366
399
  this.ctx.on('setScroll', (scrollX, scrollY) => {
367
400
  this.setScroll(scrollX, scrollY);
368
401
  });
@@ -378,6 +411,16 @@ export default class Scroller {
378
411
  this.horizontalScrollbar.onWheel(e);
379
412
  this.draw();
380
413
  }
414
+ onTouchmove(e) {
415
+ this.verticalScrollbar.onTouchmove(e);
416
+ this.horizontalScrollbar.onTouchmove(e);
417
+ this.draw();
418
+ }
419
+ onTouchstart(e) {
420
+ this.verticalScrollbar.onTouchstart(e);
421
+ this.horizontalScrollbar.onTouchstart(e);
422
+ this.draw();
423
+ }
381
424
  onMouseDown(e) {
382
425
  this.verticalScrollbar.onMouseDown(e);
383
426
  this.horizontalScrollbar.onMouseDown(e);
@@ -1 +1 @@
1
- {"version":3,"file":"Scroller.js","sourceRoot":"","sources":["../../src/Scroller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scroller.js","sourceRoot":"","sources":["../../src/Scroller.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS;IAqBX,YAAY,GAAY,EAAE,IAAmB;QApBrC;;;;;WAAa;QACb;;;;;WAAoB;QACpB;;;;mBAAU,KAAK;WAAC;QAChB;;;;mBAAS,CAAC;WAAC;QACX;;;;mBAAS,CAAC;WAAC;QACX;;;;mBAAa,CAAC;WAAC;QACf;;;;mBAAc,CAAC;WAAC;QAChB;;;;mBAAwB,EAAE;WAAC,CAAC,KAAK;QACjC;;;;mBAAO,CAAC;WAAC;QACT;;;;mBAAO,CAAC;WAAC;QACT;;;;mBAAW,CAAC;WAAC;QACb;;;;mBAAY,CAAC;WAAC;QACd;;;;mBAAW,CAAC;WAAC,CAAC,SAAS;QACvB;;;;mBAAkB,CAAC;WAAC,CAAC,SAAS;QAC9B;;;;mBAAU,CAAC;WAAC;QACZ;;;;mBAAU,CAAC;WAAC;QACZ;;;;mBAAY,CAAC;WAAC,CAAC,UAAU;QACjC;;;;mBAAa,KAAK;WAAC;QACnB;;;;mBAAS,CAAC;WAAC;QAGP,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QACnC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAa;QACjB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,WAAW,CAAC,CAAa;QACrB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS;QAChD,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS;QAChD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,qBAAqB;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9F,CAAC,CAAC,cAAc,EAAE,CAAC;YACvB,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,YAAY,CAAC,CAAa;QACtB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,CAAa;QACrB,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QACD,YAAY;QACZ,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,YAAY;QACZ,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC/D,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QAAQ;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,SAAS;YACT,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3B,sDAAsD;gBACtD,oBAAoB;gBACpB,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACrE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACJ,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC3C,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/E,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,SAAS;QACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,CAAa;QACrB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,qBAAqB;QACrB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,OAAO;QACP,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC9E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,UAAU;QACV,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC/D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7B,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,2CAA2C;YAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjG,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAEO,gBAAgB,CACpB,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,YAAoB,EACpB,aAAqB;QAErB,OAAO,CACH,MAAM,IAAI,QAAQ;YAClB,MAAM,IAAI,QAAQ,GAAG,YAAY;YACjC,MAAM,IAAI,QAAQ;YAClB,MAAM,IAAI,QAAQ,GAAG,aAAa,CACrC,CAAC;IACN,CAAC;IACO,YAAY;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,aAAa,CAAC,CAAS,EAAE,CAAS;QACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5F,CAAC;IACO,SAAS,CAAC,CAAS,EAAE,CAAS;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpG,CAAC;IAEO,YAAY,CAAC,CAAa;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACnD,qBAAqB;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxG,CAAC,CAAC,cAAc,EAAE,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,CAAC;QACL,CAAC;IACL,CAAC;IACO,WAAW;QACf,MAAM,EACF,IAAI,EACJ,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,EAAE,EAAE,mBAAmB,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE,GACzD,GAAG,IAAI,CAAC,GAAG,CAAC;QACb,MAAM,YAAY,GAAG,UAAU,CAAC;QAChC,MAAM,aAAa,GAAG,WAAW,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,aAAa,GAAG,mBAAmB,GAAG,YAAY,CAAC;YAC1E,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC;YACjE,IAAI,CAAC,MAAM,GAAG,YAAY,GAAG,mBAAmB,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,MAAM;YACN,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,YAAY,CAAC,CAAC;YAChG,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;YACjC,kCAAkC;YAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1D,iBAAiB;YACjB,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;gBAClB,UAAU,GAAG,EAAE,CAAC;YACpB,CAAC;iBAAM,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3C,UAAU,GAAG,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;YAE5B,IAAI,CAAC,IAAI,GAAG,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACnG,OAAO;YACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,eAAe,GAAG,YAAY,GAAG,mBAAmB,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;YACnD,MAAM;YACN,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,GAAG,mBAAmB;gBAClC,aAAa,GAAG,mBAAmB;gBACnC,YAAY,GAAG,mBAAmB;gBAClC,aAAa;aAChB,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,mBAAmB,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;YAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACxE,iBAAiB;YACjB,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;gBACjB,SAAS,GAAG,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3C,SAAS,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnF,OAAO;YACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IACD,IAAI;QACA,MAAM,EACF,MAAM,EAAE,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,GACvF,GAAG,IAAI,CAAC,GAAG,CAAC;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,KAAK;QACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;YACjF,WAAW,EAAE,YAAY;YACzB,SAAS,EAAE,oBAAoB;SAClC,CAAC,CAAC;QACH,MAAM;QACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;YACzE,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc;YAClF,MAAM,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,SAAS;QACT,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtC,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,CAAC;aACjB,CAAC,CAAC;QACP,CAAC;QACD,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1C,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAKzB,YAAY,GAAY;QAJhB;;;;;WAAa;QACb;;;;;WAA6B;QAC7B;;;;;WAA+B;QAGnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;YAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,CAAa;QACjB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,CAAa;QACrB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,CAAa;QACtB,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IACD,WAAW,CAAC,CAAa;QACrB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,CAAa;QACrB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACL,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,IAAI;QACA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1D,iBAAiB;QACjB,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IACD,SAAS,CAAC,CAAS,EAAE,CAAS;QAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,UAAU,CAAC,OAAe;QACtB,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,OAAO,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,UAAU,CAAC,OAAe;QACtB,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,OAAO,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,cAAc,CAAC,GAAW;QACtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACrE,IAAI,IAAI,EAAE,CAAC;YACP,YAAY;YACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IACD,gBAAgB,CAAC,QAAgB;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC/E,IAAI,IAAI,EAAE,CAAC;YACP,YAAY;YACZ,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;IACL,CAAC;IACD,gBAAgB,CAAC,QAAgB;QAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpC,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IACD,cAAc,CAAC,MAAc;QACzB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;CACJ"}
@@ -11,6 +11,7 @@ export default class Selector {
11
11
  constructor(ctx: Context);
12
12
  private init;
13
13
  private setSelector;
14
+ private adjustMergeCells;
14
15
  private selectCols;
15
16
  private selectAll;
16
17
  private selectRows;
@@ -110,6 +110,7 @@ export default class Selector {
110
110
  e.preventDefault();
111
111
  this.isMultipleRow = false;
112
112
  this.click(e.shiftKey);
113
+ this.ctx.emit('selectorClick', cell);
113
114
  });
114
115
  this.ctx.on('mouseup', () => {
115
116
  this.mousedownHeader = false;
@@ -256,18 +257,105 @@ export default class Selector {
256
257
  }
257
258
  // 聚焦,解决iframe键盘事件不触发
258
259
  this.ctx.stageElement.focus();
260
+ // 启用合并单元格关联
261
+ if (this.ctx.config.ENABLE_MERGE_CELL_LINK) {
262
+ const adjustMerge = this.adjustMergeCells(_xArr, _yArr);
263
+ // 合并单元格时,调整选择器的位置
264
+ minY = adjustMerge.yArr[0];
265
+ maxY = adjustMerge.yArr[1];
266
+ minX = adjustMerge.xArr[0];
267
+ maxX = adjustMerge.xArr[1];
268
+ // 只有一个合并单元格时
269
+ this.ctx.onlyMergeCell = adjustMerge.onlyMergeCell;
270
+ }
259
271
  if (minX === maxX && minY === maxY) {
260
272
  this.ctx.selectOnlyOne = true;
261
273
  }
262
274
  else {
263
275
  this.ctx.selectOnlyOne = false;
264
276
  }
265
- this.ctx.selector.xArr = [Math.max(areaMinX, minX), Math.min(areaMaxX, maxX)];
266
- this.ctx.selector.yArr = [Math.max(areaMinY, minY), Math.min(areaMaxY, maxY)];
277
+ _xArr = [Math.max(areaMinX, minX), Math.min(areaMaxX, maxX)];
278
+ _yArr = [Math.max(areaMinY, minY), Math.min(areaMaxY, maxY)];
279
+ // 调整选择器的位置前回调
280
+ const { BEFORE_SET_SELECTOR_METHOD } = this.ctx.config;
281
+ if (typeof BEFORE_SET_SELECTOR_METHOD === 'function') {
282
+ const beforeSetSelectorMethod = BEFORE_SET_SELECTOR_METHOD;
283
+ const res = beforeSetSelectorMethod({
284
+ focusCell: this.ctx.focusCell,
285
+ xArr: _xArr,
286
+ yArr: _yArr,
287
+ });
288
+ if (!res) {
289
+ return;
290
+ }
291
+ _xArr = res.xArr;
292
+ _yArr = res.yArr;
293
+ }
294
+ this.ctx.selector.xArr = _xArr;
295
+ this.ctx.selector.yArr = _yArr;
267
296
  this.ctx.emit('setSelector', this.ctx.selector);
268
297
  this.ctx.emit('drawView');
269
298
  }
270
299
  }
300
+ adjustMergeCells(xArr, yArr) {
301
+ const [minY, maxY] = yArr;
302
+ const [minX, maxX] = xArr;
303
+ let topBottomCells = [];
304
+ let leftRightCells = [];
305
+ // 遍历选择中的单元格
306
+ for (let ri = 0; ri <= yArr[1] - yArr[0]; ri++) {
307
+ for (let ci = 0; ci <= xArr[1] - xArr[0]; ci++) {
308
+ const rowIndex = ri + yArr[0];
309
+ const colIndex = ci + xArr[0];
310
+ const cell = this.ctx.database.getVirtualBodyCell(rowIndex, colIndex);
311
+ if (cell) {
312
+ // 顶部和底部的单元格
313
+ if (rowIndex === minY || rowIndex === maxY) {
314
+ topBottomCells.push(cell);
315
+ }
316
+ // 左右的单元格
317
+ if (colIndex === minX || colIndex === maxX) {
318
+ leftRightCells.push(cell);
319
+ }
320
+ }
321
+ }
322
+ }
323
+ const topBottomBoundary = topBottomCells.reduce((prev, cell) => {
324
+ const { yArr } = cell.getSpanInfo();
325
+ const [topIndex, bottomIndex] = yArr;
326
+ prev.minY = Math.min(prev.minY, topIndex);
327
+ prev.maxY = Math.max(prev.maxY, bottomIndex);
328
+ return prev;
329
+ }, {
330
+ minY,
331
+ maxY,
332
+ });
333
+ const leftRightBoundary = leftRightCells.reduce((prev, cell) => {
334
+ const { xArr } = cell.getSpanInfo();
335
+ const [leftIndex, rightIndex] = xArr;
336
+ prev.minX = Math.min(prev.minX, leftIndex);
337
+ prev.maxX = Math.max(prev.maxX, rightIndex);
338
+ return prev;
339
+ }, {
340
+ minX,
341
+ maxX,
342
+ });
343
+ const _xArr = [leftRightBoundary.minX, leftRightBoundary.maxX];
344
+ const _yArr = [topBottomBoundary.minY, topBottomBoundary.maxY];
345
+ let onlyMergeCell = false;
346
+ // Check if the selected area is a single merged cell
347
+ if (leftRightBoundary.minX !== leftRightBoundary.maxX || topBottomBoundary.minY !== topBottomBoundary.maxY) {
348
+ const selectorStr = JSON.stringify(_xArr) + JSON.stringify(_yArr);
349
+ const spanInfo = this.ctx.focusCell?.getSpanInfo();
350
+ const spanStr = spanInfo && JSON.stringify(spanInfo.xArr) + JSON.stringify(spanInfo.yArr);
351
+ onlyMergeCell = spanStr === selectorStr;
352
+ }
353
+ return {
354
+ xArr: _xArr,
355
+ yArr: _yArr,
356
+ onlyMergeCell,
357
+ };
358
+ }
271
359
  selectCols(cell) {
272
360
  // 启用单选就不能批量选中
273
361
  if (this.ctx.config.ENABLE_SELECTOR_SINGLE) {
@@ -450,7 +538,43 @@ export default class Selector {
450
538
  if (!this.ctx.config.ENABLE_COPY) {
451
539
  return;
452
540
  }
453
- const { value } = this.ctx.getSelectedData();
541
+ let { value, xArr, yArr } = this.ctx.getSelectedData();
542
+ if (this.ctx.config.ENABLE_MERGE_CELL_LINK && this.ctx.database.hasMergeCell(xArr, yArr)) {
543
+ if (this.ctx.onlyMergeCell && this.ctx.focusCell) {
544
+ const cell = this.ctx.focusCell;
545
+ value = [[cell.getValue()]];
546
+ xArr = [cell.colIndex, cell.colIndex];
547
+ yArr = [cell.rowIndex, cell.rowIndex];
548
+ }
549
+ else {
550
+ const err = {
551
+ code: 'ERR_MERGED_CELLS_COPY',
552
+ message: 'Merged cells cannot span copy data',
553
+ };
554
+ if (this.ctx.hasEvent('error')) {
555
+ this.ctx.emit('error', err);
556
+ }
557
+ else {
558
+ alert(err.message);
559
+ }
560
+ return;
561
+ }
562
+ }
563
+ // 复制前回调
564
+ const { BEFORE_COPY_METHOD } = this.ctx.config;
565
+ if (typeof BEFORE_COPY_METHOD === 'function') {
566
+ const beforeCopyMethod = BEFORE_COPY_METHOD;
567
+ const res = beforeCopyMethod({
568
+ focusCell: this.ctx.focusCell,
569
+ data: value,
570
+ xArr,
571
+ yArr,
572
+ });
573
+ if (!res) {
574
+ return;
575
+ }
576
+ value = res.data;
577
+ }
454
578
  const text = encodeToSpreadsheetStr(value);
455
579
  if (navigator.clipboard) {
456
580
  navigator.clipboard
@@ -526,6 +650,26 @@ export default class Selector {
526
650
  .readText()
527
651
  .then(async (val) => {
528
652
  let textArr = decodeSpreadsheetStr(val);
653
+ const _xArr = [colIndex, colIndex + textArr[0].length - 1];
654
+ const _yArr = [rowIndex, rowIndex + textArr.length - 1];
655
+ // textArr只有一个
656
+ const isOneData = textArr.length === 1 && textArr[0].length === 1;
657
+ // 启用合并时禁用粘贴填充
658
+ if (this.ctx.config.ENABLE_MERGE_CELL_LINK &&
659
+ this.ctx.database.hasMergeCell(_xArr, _yArr) &&
660
+ !isOneData) {
661
+ const err = {
662
+ code: 'ERR_MERGED_CELLS_PASTE',
663
+ message: 'Merged cells cannot span paste data',
664
+ };
665
+ if (this.ctx.hasEvent('error')) {
666
+ this.ctx.emit('error', err);
667
+ }
668
+ else {
669
+ alert(err.message);
670
+ }
671
+ return;
672
+ }
529
673
  let changeList = [];
530
674
  for (let ri = 0; ri <= textArr.length - 1; ri++) {
531
675
  const len = textArr[ri].length;
@@ -567,9 +711,9 @@ export default class Selector {
567
711
  return;
568
712
  }
569
713
  // 剪贴板内容改变前回调
570
- const { BEFORE_PASTE_CHANGE_METHOD } = this.ctx.config;
571
- if (typeof BEFORE_PASTE_CHANGE_METHOD === 'function') {
572
- const beforePasteChangeMethod = BEFORE_PASTE_CHANGE_METHOD;
714
+ const { BEFORE_PASTE_DATA_METHOD } = this.ctx.config;
715
+ if (typeof BEFORE_PASTE_DATA_METHOD === 'function') {
716
+ const beforePasteDataMethod = BEFORE_PASTE_DATA_METHOD;
573
717
  const _changeList = changeList.map((item) => ({
574
718
  rowKey: item.rowKey,
575
719
  key: item.key,
@@ -577,12 +721,15 @@ export default class Selector {
577
721
  oldValue: this.ctx.database.getItemValue(item.rowKey, item.key),
578
722
  row: this.ctx.database.getRowDataItemForRowKey(item.rowKey),
579
723
  }));
580
- changeList = await beforePasteChangeMethod(_changeList);
724
+ changeList = await beforePasteDataMethod(_changeList, _xArr, _yArr);
725
+ if (changeList && !changeList.length) {
726
+ return;
727
+ }
581
728
  }
582
729
  // 清除复制线
583
730
  this.clearCopyLine();
584
731
  // 批量设置数据,并记录历史
585
- this.ctx.database.batchSetItemValue(changeList, true);
732
+ this.ctx.batchSetItemValueByEditor(changeList, true);
586
733
  let rows = [];
587
734
  rowKeyList.forEach((rowKey) => {
588
735
  rows.push(this.ctx.database.getRowDataItemForRowKey(rowKey));
@@ -750,36 +897,41 @@ export default class Selector {
750
897
  * 调整滚动条位置,让焦点单元格始终出现在可视区域内
751
898
  */
752
899
  adjustBoundaryPosition() {
753
- const { stageHeight, stageWidth, focusCell, fixedRightWidth, fixedLeftWidth, header, footer, body, scrollX, scrollY, config: { SCROLLER_TRACK_SIZE, FOOTER_FIXED, FOOTER_POSITION }, } = this.ctx;
900
+ const { stageHeight, stageWidth, focusCell, fixedRightWidth, fixedLeftWidth, header, footer, body, scrollX, scrollY, config: { SCROLLER_TRACK_SIZE, FOOTER_FIXED, FOOTER_POSITION, ENABLE_MERGE_CELL_LINK }, } = this.ctx;
754
901
  if (!focusCell) {
755
902
  return;
756
903
  }
904
+ // 处理合并的单元格的移动
905
+ if (ENABLE_MERGE_CELL_LINK && this.ctx.onlyMergeCell) {
906
+ focusCell.updateSpanInfo();
907
+ }
908
+ const { drawX, drawY, width, height, fixed } = focusCell;
757
909
  // 加1补选中框的边框,且可以移动滚动,以为getCell是获取渲染的cell
758
- const diffLeft = fixedLeftWidth - focusCell.drawX + 1;
759
- const diffRight = focusCell.drawX + focusCell.width - (stageWidth - fixedRightWidth) + 1;
760
- let diffTop = header.height - focusCell.drawY;
910
+ const diffLeft = fixedLeftWidth - drawX + 1;
911
+ const diffRight = focusCell.drawX + width - (stageWidth - fixedRightWidth) + 1;
912
+ let diffTop = header.height - drawY;
761
913
  // 格子大于可视高度就取可视高度,防止上下跳动
762
- let cellheight = focusCell.height;
914
+ let cellheight = height;
763
915
  if (cellheight > body.visibleHeight) {
764
916
  cellheight = body.visibleHeight;
765
917
  }
766
918
  let footerHeight = 0;
767
919
  if (FOOTER_FIXED) {
768
920
  if (FOOTER_POSITION === 'top') {
769
- diffTop = header.height + footer.height - focusCell.drawY;
921
+ diffTop = header.height + footer.height - drawY;
770
922
  }
771
923
  else {
772
924
  footerHeight = footer.visibleHeight;
773
925
  }
774
926
  }
775
- const diffBottom = focusCell.drawY + cellheight - (stageHeight - footerHeight - SCROLLER_TRACK_SIZE);
927
+ const diffBottom = drawY + cellheight - (stageHeight - footerHeight - SCROLLER_TRACK_SIZE);
776
928
  let _scrollX = scrollX;
777
929
  let _scrollY = scrollY;
778
930
  // fixed禁用左右横向移动
779
- if (diffRight > 0 && !focusCell.fixed) {
931
+ if (diffRight > 0 && !fixed) {
780
932
  _scrollX = Math.floor(scrollX + diffRight);
781
933
  }
782
- else if (diffLeft > 0 && !focusCell.fixed) {
934
+ else if (diffLeft > 0 && !fixed) {
783
935
  _scrollX = Math.floor(scrollX - diffLeft);
784
936
  }
785
937
  if (diffTop > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../src/Selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../src/Selector.ts"],"names":[],"mappings":"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"}
@@ -131,19 +131,43 @@ export type CellHeaderParams = {
131
131
  colIndex: number;
132
132
  column: Column;
133
133
  };
134
- export type BeforeChangeParams = {
134
+ export type BeforeChangeItem = {
135
135
  rowKey: string;
136
136
  key: string;
137
137
  value: any;
138
138
  oldValue: any;
139
139
  row: any;
140
140
  };
141
+ export type BeforeSetSelectorParams = {
142
+ focusCell?: Cell;
143
+ xArr: number[];
144
+ yArr: number[];
145
+ };
146
+ export type BeforeSetAutofillParams = {
147
+ focusCell?: Cell;
148
+ xArr: number[];
149
+ yArr: number[];
150
+ };
151
+ export type BeforeCopyParams = {
152
+ focusCell?: Cell;
153
+ data: any;
154
+ xArr: number[];
155
+ yArr: number[];
156
+ };
141
157
  export type CellStyleParams = CellParams & {
142
158
  isHasChanged?: boolean;
143
159
  };
144
160
  export type SpanType = {
145
161
  rowspan: number;
146
162
  colspan: number;
163
+ relationRowKeys?: string[];
164
+ relationColKeys?: string[];
165
+ mergeRow?: boolean;
166
+ mergeCol?: boolean;
167
+ };
168
+ export type ErrorType = {
169
+ code: string;
170
+ message: string;
147
171
  };
148
172
  export type SpanParams = CellParams & {
149
173
  visibleLeafColumns: Column[];
@@ -152,6 +176,17 @@ export type SpanParams = CellParams & {
152
176
  visibleRows: any[];
153
177
  rows: any[];
154
178
  };
179
+ export type SpanInfo = {
180
+ xArr: number[];
181
+ yArr: number[];
182
+ rowspan: number;
183
+ colspan: number;
184
+ height: number;
185
+ width: number;
186
+ offsetTop: number;
187
+ offsetLeft: number;
188
+ dataList: ChangeItem[];
189
+ };
155
190
  export type SelectableParams = {
156
191
  row: any;
157
192
  rowIndex: number;
@@ -174,6 +209,9 @@ export type CellHoverIconMethod = (params: CellParams) => string | void;
174
209
  export type SpanMethod = (params: SpanParams) => SpanType | void;
175
210
  export type SelectableMethod = (params: SelectableParams) => boolean | void;
176
211
  export type ExpandLazyMethod = (params: CellParams) => Promise<any[]>;
177
- export type BeforeCellValueChangeMethod = (params: BeforeChangeParams[]) => BeforeChangeParams[] | Promise<BeforeChangeParams[]>;
178
- export type BeforePasteChangeMethod = (params: BeforeChangeParams[]) => BeforeChangeParams[] | Promise<BeforeChangeParams[]>;
179
- export type BeforeAutofillChangeMethod = (params: BeforeChangeParams[]) => BeforeChangeParams[] | Promise<BeforeChangeParams[]>;
212
+ export type BeforeCellValueChangeMethod = (changeList: BeforeChangeItem[]) => BeforeChangeItem[] | Promise<BeforeChangeItem[]>;
213
+ export type BeforePasteDataMethod = (changeList: BeforeChangeItem[], xArr: number[], yArr: number[]) => BeforeChangeItem[] | Promise<BeforeChangeItem[]>;
214
+ export type BeforeAutofillDataMethod = (changeList: BeforeChangeItem[], xArr: number[], yArr: number[]) => BeforeChangeItem[] | Promise<BeforeChangeItem[]>;
215
+ export type BeforeSetSelectorMethod = (params: BeforeSetSelectorParams) => BeforeSetSelectorParams | undefined;
216
+ export type BeforeSetAutofillMethod = (params: BeforeSetAutofillParams) => BeforeSetAutofillParams | undefined;
217
+ export type BeforeCopyMethod = (params: BeforeCopyParams) => BeforeCopyParams | undefined;