@visactor/vtable 1.11.2-alpha.1 → 1.11.2-alpha.2

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 (61) hide show
  1. package/cjs/core/BaseTable.js +11 -9
  2. package/cjs/core/BaseTable.js.map +1 -1
  3. package/cjs/event/event.js +7 -8
  4. package/cjs/event/event.js.map +1 -1
  5. package/cjs/event/listener/container-dom.js +12 -12
  6. package/cjs/event/listener/container-dom.js.map +1 -1
  7. package/cjs/index.d.ts +1 -1
  8. package/cjs/index.js +1 -1
  9. package/cjs/index.js.map +1 -1
  10. package/cjs/layout/simple-header-layout.js +8 -14
  11. package/cjs/layout/simple-header-layout.js.map +1 -1
  12. package/cjs/plugins/carousel-animation.d.ts +16 -0
  13. package/cjs/plugins/carousel-animation.js +9 -4
  14. package/cjs/plugins/carousel-animation.js.map +1 -1
  15. package/cjs/state/checkbox/checkbox.js +6 -25
  16. package/cjs/state/checkbox/checkbox.js.map +1 -1
  17. package/cjs/state/hover/row.js.map +1 -1
  18. package/cjs/state/hover/single.js.map +1 -1
  19. package/cjs/state/select/update-position.d.ts +1 -1
  20. package/cjs/state/select/update-position.js +3 -3
  21. package/cjs/state/select/update-position.js.map +1 -1
  22. package/cjs/state/state.d.ts +1 -1
  23. package/cjs/state/state.js +3 -6
  24. package/cjs/state/state.js.map +1 -1
  25. package/cjs/ts-types/base-table.d.ts +1 -0
  26. package/cjs/ts-types/base-table.js.map +1 -1
  27. package/cjs/ts-types/table-engine.d.ts +1 -0
  28. package/cjs/ts-types/table-engine.js.map +1 -1
  29. package/cjs/vrender.js.map +1 -1
  30. package/dist/vtable.js +55 -80
  31. package/dist/vtable.min.js +1 -1
  32. package/es/core/BaseTable.js +11 -8
  33. package/es/core/BaseTable.js.map +1 -1
  34. package/es/event/event.js +6 -8
  35. package/es/event/event.js.map +1 -1
  36. package/es/event/listener/container-dom.js +12 -12
  37. package/es/event/listener/container-dom.js.map +1 -1
  38. package/es/index.d.ts +1 -1
  39. package/es/index.js +1 -1
  40. package/es/index.js.map +1 -1
  41. package/es/layout/simple-header-layout.js +9 -15
  42. package/es/layout/simple-header-layout.js.map +1 -1
  43. package/es/plugins/carousel-animation.d.ts +16 -0
  44. package/es/plugins/carousel-animation.js +9 -4
  45. package/es/plugins/carousel-animation.js.map +1 -1
  46. package/es/state/checkbox/checkbox.js +6 -25
  47. package/es/state/checkbox/checkbox.js.map +1 -1
  48. package/es/state/hover/row.js.map +1 -1
  49. package/es/state/hover/single.js.map +1 -1
  50. package/es/state/select/update-position.d.ts +1 -1
  51. package/es/state/select/update-position.js +3 -3
  52. package/es/state/select/update-position.js.map +1 -1
  53. package/es/state/state.d.ts +1 -1
  54. package/es/state/state.js +3 -6
  55. package/es/state/state.js.map +1 -1
  56. package/es/ts-types/base-table.d.ts +1 -0
  57. package/es/ts-types/base-table.js.map +1 -1
  58. package/es/ts-types/table-engine.d.ts +1 -0
  59. package/es/ts-types/table-engine.js.map +1 -1
  60. package/es/vrender.js.map +1 -1
  61. package/package.json +5 -5
package/dist/vtable.js CHANGED
@@ -48170,18 +48170,18 @@
48170
48170
  return table._getLayoutCellId(col, row) === table._getLayoutCellId(range1Col, range1Row);
48171
48171
  }
48172
48172
 
48173
- function updateSelectPosition(state, col, row, isShift, isCtrl, isSelectAll, isSelectMoving = false, skipBodyMerge = false, forceSelect = false) {
48173
+ function updateSelectPosition(state, col, row, isShift, isCtrl, isSelectAll, makeSelectCellVisible = true, skipBodyMerge = false, forceSelect = false) {
48174
48174
  const { table, interactionState } = state;
48175
48175
  const { scenegraph } = table;
48176
48176
  const { highlightScope, disableHeader, cellPos } = state.select;
48177
48177
  if (((disableHeader && table.isHeader(col, row)) || highlightScope === 'none') && forceSelect === false) {
48178
- if (col !== -1 && row !== -1 && !isSelectMoving) {
48178
+ if (col !== -1 && row !== -1 && makeSelectCellVisible) {
48179
48179
  table._makeVisibleCell(col, row);
48180
48180
  }
48181
48181
  col = -1;
48182
48182
  row = -1;
48183
48183
  }
48184
- if (col !== -1 && row !== -1 && !isSelectMoving) {
48184
+ if (col !== -1 && row !== -1 && makeSelectCellVisible) {
48185
48185
  if (interactionState === InteractionState.grabing && state.select.ranges.length > 0) {
48186
48186
  const currentRange = state.select.ranges[state.select.ranges.length - 1];
48187
48187
  if (col > currentRange.start.col && col > currentRange.end.col) {
@@ -49402,18 +49402,6 @@
49402
49402
  }
49403
49403
  }
49404
49404
  });
49405
- if (state.table.leftRowSeriesNumberCount === 1) {
49406
- state.headerCheckedState._vtable_rowSeries_number = false;
49407
- state._checkboxCellTypeFields.push('_vtable_rowSeries_number');
49408
- isNeedInitHeaderCheckedStateFromRecord = true;
49409
- }
49410
- else if (state.table.leftRowSeriesNumberCount > 1) {
49411
- for (let i = 0; i < state.table.leftRowSeriesNumberCount; i++) {
49412
- state.headerCheckedState[`_vtable_rowSeries_number_${i}`] = false;
49413
- state._checkboxCellTypeFields.push(`_vtable_rowSeries_number_${i}`);
49414
- }
49415
- isNeedInitHeaderCheckedStateFromRecord = true;
49416
- }
49417
49405
  if (isNeedInitHeaderCheckedStateFromRecord) {
49418
49406
  records.forEach((record, index) => {
49419
49407
  state._checkboxCellTypeFields.forEach(field => {
@@ -49505,49 +49493,30 @@
49505
49493
  }
49506
49494
  }
49507
49495
  function setCellCheckboxState(col, row, checked, table) {
49508
- const cellGroup = table.scenegraph.getCell(col, row);
49509
- const checkbox = cellGroup?.getChildByName('checkbox');
49510
- if (!checkbox) {
49511
- const field = table.getHeaderField(col, row);
49512
- if (table.isHeader(col, row)) {
49513
- table.stateManager.setHeaderCheckedState(field, checked);
49514
- const cellType = table.getCellType(col, row);
49515
- if (cellType === 'checkbox') {
49516
- table.scenegraph.updateCheckboxCellState(col, row, checked);
49517
- }
49518
- }
49519
- else {
49520
- table.stateManager.setCheckedState(col, row, field, checked);
49521
- const cellType = table.getCellType(col, row);
49522
- if (cellType === 'checkbox') {
49523
- const oldHeaderCheckedState = table.stateManager.headerCheckedState[field];
49524
- const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState(field, col, row);
49525
- if (oldHeaderCheckedState !== newHeaderCheckedState) {
49526
- table.scenegraph.updateHeaderCheckboxCellState(col, row, newHeaderCheckedState);
49527
- }
49528
- }
49529
- }
49496
+ const cellGoup = table.scenegraph.getCell(col, row);
49497
+ const chechbox = cellGoup?.getChildByName('checkbox');
49498
+ if (!chechbox) {
49530
49499
  return;
49531
49500
  }
49532
- const { checked: oldChecked, indeterminate } = checkbox.attribute;
49501
+ const { checked: oldChecked, indeterminate } = chechbox.attribute;
49533
49502
  if (indeterminate) {
49534
49503
  if (checked) {
49535
- checkbox._handlePointerUp();
49504
+ chechbox._handlePointerUp();
49536
49505
  }
49537
49506
  else {
49538
- checkbox._handlePointerUp();
49539
- checkbox._handlePointerUp();
49507
+ chechbox._handlePointerUp();
49508
+ chechbox._handlePointerUp();
49540
49509
  }
49541
49510
  }
49542
49511
  else if (oldChecked) {
49543
49512
  if (checked) ;
49544
49513
  else {
49545
- checkbox._handlePointerUp();
49514
+ chechbox._handlePointerUp();
49546
49515
  }
49547
49516
  }
49548
49517
  else {
49549
49518
  if (checked) {
49550
- checkbox._handlePointerUp();
49519
+ chechbox._handlePointerUp();
49551
49520
  }
49552
49521
  }
49553
49522
  }
@@ -50058,11 +50027,11 @@
50058
50027
  updateHoverPos(col, row) {
50059
50028
  updateHoverPosition(this, col, row);
50060
50029
  }
50061
- updateSelectPos(col, row, isShift = false, isCtrl = false, isSelectAll = false, isSelectMoving = false, skipBodyMerge = false, forceSelect = false) {
50030
+ updateSelectPos(col, row, isShift = false, isCtrl = false, isSelectAll = false, makeSelectCellVisible = true, skipBodyMerge = false, forceSelect = false) {
50062
50031
  if (row !== -1 && row !== -1) {
50063
50032
  this.select.selecting = true;
50064
50033
  }
50065
- updateSelectPosition(this, col, row, isShift, isCtrl, isSelectAll, isSelectMoving, skipBodyMerge, forceSelect);
50034
+ updateSelectPosition(this, col, row, isShift, isCtrl, isSelectAll, makeSelectCellVisible, skipBodyMerge, forceSelect);
50066
50035
  }
50067
50036
  checkCellRangeInSelect(cellPosStart, cellPosEnd) {
50068
50037
  return checkMultiCellInSelect(cellPosStart, cellPosEnd, this.select.ranges, this.select.highlightScope);
@@ -50211,9 +50180,6 @@
50211
50180
  this.rowResize.y = y;
50212
50181
  this.rowResize.isBottomFrozen = isBottomFrozen;
50213
50182
  this.table.scenegraph.component.showResizeRow(row, x, isBottomFrozen);
50214
- const isHasSelected = !!this.select.ranges?.length;
50215
- this.updateSelectPos(-1, -1);
50216
- this.endSelectCells(true, isHasSelected);
50217
50183
  this.table.scenegraph.updateNextFrame();
50218
50184
  }
50219
50185
  updateResizeRow(xInTable, yInTable) {
@@ -52091,8 +52057,9 @@
52091
52057
  else if (stateManager.select.cellPos.col >= 0 &&
52092
52058
  stateManager.select.cellPos.row >= 0 &&
52093
52059
  (e.key === 'ArrowUp' || e.key === 'ArrowDown' || e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {
52094
- if (!(table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) &&
52095
- table.editorManager?.editingEditor) {
52060
+ if ((!(table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) &&
52061
+ table.editorManager?.editingEditor) ||
52062
+ table.options.keyboardOptions?.moveSelectedCellOnArrowKeys === false) {
52096
52063
  return;
52097
52064
  }
52098
52065
  e.preventDefault();
@@ -52720,7 +52687,7 @@
52720
52687
  const targetCol = table.getTargetColAtConsiderRightFrozen(selectX, considerFrozenX);
52721
52688
  const targetRow = table.getTargetRowAtConsiderBottomFrozen(selectY, considerFrozenY);
52722
52689
  if (isValid$1(targetCol) && isValid$1(targetRow)) {
52723
- table.stateManager.updateSelectPos(targetCol.col, targetRow.row, false, false, false, true);
52690
+ table.stateManager.updateSelectPos(targetCol.col, targetRow.row, false, false, false, false);
52724
52691
  }
52725
52692
  });
52726
52693
  }
@@ -53168,7 +53135,7 @@
53168
53135
  this.table.stateManager.updateSelectPos(-1, -1);
53169
53136
  return false;
53170
53137
  }
53171
- this.table.stateManager.updateSelectPos(eventArgs.col, eventArgs.row, eventArgs.event.shiftKey, eventArgs.event.ctrlKey || eventArgs.event.metaKey, false, isSelectMoving);
53138
+ this.table.stateManager.updateSelectPos(eventArgs.col, eventArgs.row, eventArgs.event.shiftKey, eventArgs.event.ctrlKey || eventArgs.event.metaKey, false, this.table.options.select?.makeSelectCellVisible ?? true);
53172
53139
  return true;
53173
53140
  }
53174
53141
  return false;
@@ -53216,10 +53183,10 @@
53216
53183
  updateCol = eventArgs.col;
53217
53184
  }
53218
53185
  }
53219
- this.table.stateManager.updateSelectPos(isSelectMoving ? updateCol : currentRange.end.col, isSelectMoving ? updateRow : currentRange.end.row, true, eventArgs.event.ctrlKey || eventArgs.event.metaKey, false, isSelectMoving);
53186
+ this.table.stateManager.updateSelectPos(isSelectMoving ? updateCol : currentRange.end.col, isSelectMoving ? updateRow : currentRange.end.row, true, eventArgs.event.ctrlKey || eventArgs.event.metaKey, false, !isSelectMoving);
53220
53187
  }
53221
53188
  else {
53222
- this.table.stateManager.updateSelectPos(eventArgs.col, eventArgs.row, eventArgs.event.shiftKey, eventArgs.event.ctrlKey || eventArgs.event.metaKey, false, isSelectMoving);
53189
+ this.table.stateManager.updateSelectPos(eventArgs.col, eventArgs.row, eventArgs.event.shiftKey, eventArgs.event.ctrlKey || eventArgs.event.metaKey, false, !isSelectMoving);
53223
53190
  }
53224
53191
  return true;
53225
53192
  }
@@ -53294,10 +53261,6 @@
53294
53261
  chechColumnMover(eventArgsSet) {
53295
53262
  const { eventArgs } = eventArgsSet;
53296
53263
  if (eventArgs &&
53297
- this.table.isHeader(eventArgs.col, eventArgs.row) &&
53298
- (checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManager.select.ranges) ||
53299
- this.table.options.select?.disableHeaderSelect ||
53300
- this.table.options.select?.disableSelect) &&
53301
53264
  this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)) {
53302
53265
  this.table.stateManager.startMoveCol(eventArgs.col, eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, eventArgs?.event?.nativeEvent);
53303
53266
  return true;
@@ -57543,7 +57506,7 @@
57543
57506
  return TABLE_EVENT_TYPE;
57544
57507
  }
57545
57508
  options;
57546
- version = "1.11.2-alpha.1";
57509
+ version = "1.11.2-alpha.2";
57547
57510
  pagination;
57548
57511
  id = `VTable${Date.now()}`;
57549
57512
  headerStyleCache;
@@ -59065,21 +59028,21 @@
59065
59028
  clearSelected() {
59066
59029
  this.stateManager.updateSelectPos(-1, -1);
59067
59030
  }
59068
- selectCell(col, row, isShift, isCtrl, makeSelectCellVisible = true, skipBodyMerge = false, forceSelect = false) {
59031
+ selectCell(col, row, isShift, isCtrl, makeSelectCellVisible, skipBodyMerge = false, forceSelect = false) {
59069
59032
  const isHasSelected = !!this.stateManager.select.ranges?.length;
59070
- this.stateManager.updateSelectPos(col, row, isShift, isCtrl, false, !makeSelectCellVisible, skipBodyMerge, forceSelect);
59033
+ this.stateManager.updateSelectPos(col, row, isShift, isCtrl, false, makeSelectCellVisible ?? this.options.select?.makeSelectCellVisible ?? true, skipBodyMerge, forceSelect);
59071
59034
  this.stateManager.endSelectCells(true, isHasSelected);
59072
59035
  }
59073
59036
  selectCells(cellRanges) {
59074
59037
  const { scrollLeft, scrollTop } = this;
59075
59038
  cellRanges.forEach((cellRange, index) => {
59076
59039
  if (cellRange.start.col === cellRange.end.col && cellRange.start.row === cellRange.end.row) {
59077
- this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, false, true);
59040
+ this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, this.options.select?.makeSelectCellVisible ?? true, true);
59078
59041
  }
59079
59042
  else {
59080
- this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, false, true);
59043
+ this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, this.options.select?.makeSelectCellVisible ?? true, true);
59081
59044
  this.stateManager.updateInteractionState(InteractionState.grabing);
59082
- this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, false, index >= 1, false, false, true);
59045
+ this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, false, index >= 1, false, this.options.select?.makeSelectCellVisible ?? true, true);
59083
59046
  }
59084
59047
  this.stateManager.endSelectCells(false, false);
59085
59048
  this.stateManager.updateInteractionState(InteractionState.default);
@@ -59445,6 +59408,10 @@
59445
59408
  _canDragHeaderPosition(col, row) {
59446
59409
  if (this.isHeader(col, row) &&
59447
59410
  (this.stateManager.isSelected(col, row) ||
59411
+ (this.options.select?.headerSelectMode === 'body' &&
59412
+ checkCellInSelect(col, row, [
59413
+ this.getCellRange(this.stateManager.select.cellPos.col, this.stateManager.select.cellPos.row)
59414
+ ])) ||
59448
59415
  this.options.select?.disableHeaderSelect ||
59449
59416
  this.options.select?.disableSelect)) {
59450
59417
  if (this.internalProps.frozenColDragHeaderMode === 'disabled' && this.isFrozenColumn(col)) {
@@ -61469,17 +61436,17 @@
61469
61436
  handleRowSeriesNumber(rowSeriesNumber) {
61470
61437
  if (rowSeriesNumber) {
61471
61438
  if (Array.isArray(rowSeriesNumber)) {
61472
- this.rowSeriesNumberColumn = rowSeriesNumber.map((seriesNumber, index) => {
61439
+ this.rowSeriesNumberColumn = rowSeriesNumber.map(seriesNumber => {
61473
61440
  return {
61474
61441
  id: this.seqId++,
61475
61442
  title: seriesNumber.title,
61476
- define: merge({ field: '_vtable_rowSeries_number_' + index }, seriesNumber),
61443
+ define: seriesNumber,
61477
61444
  cellType: seriesNumber.cellType ?? 'text',
61478
61445
  headerType: rowSeriesNumber.cellType ?? 'text',
61479
61446
  style: seriesNumber.style,
61480
61447
  width: seriesNumber.width,
61481
61448
  format: seriesNumber.format,
61482
- field: seriesNumber.field ?? '_vtable_rowSeries_number_' + index,
61449
+ field: seriesNumber.field,
61483
61450
  icon: seriesNumber.icon,
61484
61451
  headerIcon: seriesNumber.headerIcon,
61485
61452
  isChildNode: false
@@ -61491,13 +61458,13 @@
61491
61458
  {
61492
61459
  id: this.seqId++,
61493
61460
  title: rowSeriesNumber.title,
61494
- define: merge({ field: '_vtable_rowSeries_number' }, rowSeriesNumber),
61461
+ define: rowSeriesNumber,
61495
61462
  cellType: rowSeriesNumber.cellType ?? 'text',
61496
61463
  headerType: rowSeriesNumber.cellType ?? 'text',
61497
61464
  style: rowSeriesNumber.style,
61498
61465
  width: rowSeriesNumber.width,
61499
61466
  format: rowSeriesNumber.format,
61500
- field: '_vtable_rowSeries_number',
61467
+ field: '',
61501
61468
  icon: rowSeriesNumber.icon,
61502
61469
  headerIcon: rowSeriesNumber.headerIcon,
61503
61470
  isChildNode: false
@@ -62139,12 +62106,6 @@
62139
62106
  return this._headerObjectMap[id];
62140
62107
  }
62141
62108
  getHeaderField(col, row) {
62142
- if (this.isSeriesNumberInHeader(col, row)) {
62143
- return this.getSeriesNumberHeader(col, row)?.field;
62144
- }
62145
- else if (this.isSeriesNumberInBody(col, row)) {
62146
- return this.getSeriesNumberBody(col, row)?.field;
62147
- }
62148
62109
  const id = this.getCellId(col, row);
62149
62110
  return (this._headerObjectMap[id]?.field ||
62150
62111
  (this.transpose
@@ -76956,6 +76917,8 @@
76956
76917
  col;
76957
76918
  willUpdateRow = false;
76958
76919
  willUpdateCol = false;
76920
+ customDistRowFunction;
76921
+ customDistColFunction;
76959
76922
  constructor(table, options) {
76960
76923
  this.table = table;
76961
76924
  this.rowCount = options?.rowCount ?? undefined;
@@ -76964,6 +76927,8 @@
76964
76927
  this.animationDelay = options?.animationDelay ?? 1000;
76965
76928
  this.animationEasing = options?.animationEasing ?? 'linear';
76966
76929
  this.replaceScrollAction = options?.replaceScrollAction ?? false;
76930
+ this.customDistColFunction = options.customDistColFunction;
76931
+ this.customDistRowFunction = options.customDistRowFunction;
76967
76932
  this.reset();
76968
76933
  this.init();
76969
76934
  }
@@ -77015,11 +76980,16 @@
77015
76980
  this.playing = false;
77016
76981
  }
77017
76982
  updateRow() {
77018
- if (!this.playing) {
76983
+ if (!this.playing || this.table.isReleased) {
77019
76984
  return;
77020
76985
  }
77021
76986
  let animation = true;
77022
- if (this.table.scenegraph.proxy.screenTopRow !== this.row) {
76987
+ const customRow = this.customDistRowFunction && this.customDistRowFunction(this.row, this.table);
76988
+ if (customRow) {
76989
+ this.row = customRow.distRow;
76990
+ animation = customRow.animation ?? true;
76991
+ }
76992
+ else if (this.table.scenegraph.proxy.screenTopRow !== this.row) {
77023
76993
  this.row = this.table.frozenRowCount;
77024
76994
  animation = false;
77025
76995
  }
@@ -77034,11 +77004,16 @@
77034
77004
  }, this.animationDuration + this.animationDelay);
77035
77005
  }
77036
77006
  updateCol() {
77037
- if (!this.playing) {
77007
+ if (!this.playing || this.table.isReleased) {
77038
77008
  return;
77039
77009
  }
77040
77010
  let animation = true;
77041
- if (this.table.scenegraph.proxy.screenLeftCol !== this.col) {
77011
+ const customCol = this.customDistColFunction && this.customDistColFunction(this.col, this.table);
77012
+ if (customCol) {
77013
+ this.col = customCol.distCol;
77014
+ animation = customCol.animation ?? true;
77015
+ }
77016
+ else if (this.table.scenegraph.proxy.screenLeftCol !== this.col) {
77042
77017
  this.col = this.table.frozenColCount;
77043
77018
  animation = false;
77044
77019
  }
@@ -77191,7 +77166,7 @@
77191
77166
  }
77192
77167
 
77193
77168
  registerForVrender();
77194
- const version = "1.11.2-alpha.1";
77169
+ const version = "1.11.2-alpha.2";
77195
77170
  function getIcons() {
77196
77171
  return get$2();
77197
77172
  }