@visactor/vtable 1.11.2-alpha.0 → 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 -13
  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 +2 -8
  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 +46 -49
  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 -14
  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 +2 -8
  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 => {
@@ -50039,11 +50027,11 @@
50039
50027
  updateHoverPos(col, row) {
50040
50028
  updateHoverPosition(this, col, row);
50041
50029
  }
50042
- 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) {
50043
50031
  if (row !== -1 && row !== -1) {
50044
50032
  this.select.selecting = true;
50045
50033
  }
50046
- updateSelectPosition(this, col, row, isShift, isCtrl, isSelectAll, isSelectMoving, skipBodyMerge, forceSelect);
50034
+ updateSelectPosition(this, col, row, isShift, isCtrl, isSelectAll, makeSelectCellVisible, skipBodyMerge, forceSelect);
50047
50035
  }
50048
50036
  checkCellRangeInSelect(cellPosStart, cellPosEnd) {
50049
50037
  return checkMultiCellInSelect(cellPosStart, cellPosEnd, this.select.ranges, this.select.highlightScope);
@@ -50192,9 +50180,6 @@
50192
50180
  this.rowResize.y = y;
50193
50181
  this.rowResize.isBottomFrozen = isBottomFrozen;
50194
50182
  this.table.scenegraph.component.showResizeRow(row, x, isBottomFrozen);
50195
- const isHasSelected = !!this.select.ranges?.length;
50196
- this.updateSelectPos(-1, -1);
50197
- this.endSelectCells(true, isHasSelected);
50198
50183
  this.table.scenegraph.updateNextFrame();
50199
50184
  }
50200
50185
  updateResizeRow(xInTable, yInTable) {
@@ -52072,8 +52057,9 @@
52072
52057
  else if (stateManager.select.cellPos.col >= 0 &&
52073
52058
  stateManager.select.cellPos.row >= 0 &&
52074
52059
  (e.key === 'ArrowUp' || e.key === 'ArrowDown' || e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {
52075
- if (!(table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) &&
52076
- table.editorManager?.editingEditor) {
52060
+ if ((!(table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) &&
52061
+ table.editorManager?.editingEditor) ||
52062
+ table.options.keyboardOptions?.moveSelectedCellOnArrowKeys === false) {
52077
52063
  return;
52078
52064
  }
52079
52065
  e.preventDefault();
@@ -52701,7 +52687,7 @@
52701
52687
  const targetCol = table.getTargetColAtConsiderRightFrozen(selectX, considerFrozenX);
52702
52688
  const targetRow = table.getTargetRowAtConsiderBottomFrozen(selectY, considerFrozenY);
52703
52689
  if (isValid$1(targetCol) && isValid$1(targetRow)) {
52704
- table.stateManager.updateSelectPos(targetCol.col, targetRow.row, false, false, false, true);
52690
+ table.stateManager.updateSelectPos(targetCol.col, targetRow.row, false, false, false, false);
52705
52691
  }
52706
52692
  });
52707
52693
  }
@@ -53149,7 +53135,7 @@
53149
53135
  this.table.stateManager.updateSelectPos(-1, -1);
53150
53136
  return false;
53151
53137
  }
53152
- 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);
53153
53139
  return true;
53154
53140
  }
53155
53141
  return false;
@@ -53197,10 +53183,10 @@
53197
53183
  updateCol = eventArgs.col;
53198
53184
  }
53199
53185
  }
53200
- 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);
53201
53187
  }
53202
53188
  else {
53203
- 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);
53204
53190
  }
53205
53191
  return true;
53206
53192
  }
@@ -53275,10 +53261,6 @@
53275
53261
  chechColumnMover(eventArgsSet) {
53276
53262
  const { eventArgs } = eventArgsSet;
53277
53263
  if (eventArgs &&
53278
- this.table.isHeader(eventArgs.col, eventArgs.row) &&
53279
- (checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManager.select.ranges) ||
53280
- this.table.options.select?.disableHeaderSelect ||
53281
- this.table.options.select?.disableSelect) &&
53282
53264
  this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)) {
53283
53265
  this.table.stateManager.startMoveCol(eventArgs.col, eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, eventArgs?.event?.nativeEvent);
53284
53266
  return true;
@@ -57524,7 +57506,7 @@
57524
57506
  return TABLE_EVENT_TYPE;
57525
57507
  }
57526
57508
  options;
57527
- version = "1.11.2-alpha.0";
57509
+ version = "1.11.2-alpha.2";
57528
57510
  pagination;
57529
57511
  id = `VTable${Date.now()}`;
57530
57512
  headerStyleCache;
@@ -59046,21 +59028,21 @@
59046
59028
  clearSelected() {
59047
59029
  this.stateManager.updateSelectPos(-1, -1);
59048
59030
  }
59049
- selectCell(col, row, isShift, isCtrl, makeSelectCellVisible = true, skipBodyMerge = false, forceSelect = false) {
59031
+ selectCell(col, row, isShift, isCtrl, makeSelectCellVisible, skipBodyMerge = false, forceSelect = false) {
59050
59032
  const isHasSelected = !!this.stateManager.select.ranges?.length;
59051
- 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);
59052
59034
  this.stateManager.endSelectCells(true, isHasSelected);
59053
59035
  }
59054
59036
  selectCells(cellRanges) {
59055
59037
  const { scrollLeft, scrollTop } = this;
59056
59038
  cellRanges.forEach((cellRange, index) => {
59057
59039
  if (cellRange.start.col === cellRange.end.col && cellRange.start.row === cellRange.end.row) {
59058
- 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);
59059
59041
  }
59060
59042
  else {
59061
- 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);
59062
59044
  this.stateManager.updateInteractionState(InteractionState.grabing);
59063
- 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);
59064
59046
  }
59065
59047
  this.stateManager.endSelectCells(false, false);
59066
59048
  this.stateManager.updateInteractionState(InteractionState.default);
@@ -59426,6 +59408,10 @@
59426
59408
  _canDragHeaderPosition(col, row) {
59427
59409
  if (this.isHeader(col, row) &&
59428
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
+ ])) ||
59429
59415
  this.options.select?.disableHeaderSelect ||
59430
59416
  this.options.select?.disableSelect)) {
59431
59417
  if (this.internalProps.frozenColDragHeaderMode === 'disabled' && this.isFrozenColumn(col)) {
@@ -61450,17 +61436,17 @@
61450
61436
  handleRowSeriesNumber(rowSeriesNumber) {
61451
61437
  if (rowSeriesNumber) {
61452
61438
  if (Array.isArray(rowSeriesNumber)) {
61453
- this.rowSeriesNumberColumn = rowSeriesNumber.map((seriesNumber, index) => {
61439
+ this.rowSeriesNumberColumn = rowSeriesNumber.map(seriesNumber => {
61454
61440
  return {
61455
61441
  id: this.seqId++,
61456
61442
  title: seriesNumber.title,
61457
- define: merge({ field: '_vtable_rowSeries_number_' + index }, seriesNumber),
61443
+ define: seriesNumber,
61458
61444
  cellType: seriesNumber.cellType ?? 'text',
61459
61445
  headerType: rowSeriesNumber.cellType ?? 'text',
61460
61446
  style: seriesNumber.style,
61461
61447
  width: seriesNumber.width,
61462
61448
  format: seriesNumber.format,
61463
- field: seriesNumber.field ?? '_vtable_rowSeries_number_' + index,
61449
+ field: seriesNumber.field,
61464
61450
  icon: seriesNumber.icon,
61465
61451
  headerIcon: seriesNumber.headerIcon,
61466
61452
  isChildNode: false
@@ -61472,13 +61458,13 @@
61472
61458
  {
61473
61459
  id: this.seqId++,
61474
61460
  title: rowSeriesNumber.title,
61475
- define: merge({ field: '_vtable_rowSeries_number' }, rowSeriesNumber),
61461
+ define: rowSeriesNumber,
61476
61462
  cellType: rowSeriesNumber.cellType ?? 'text',
61477
61463
  headerType: rowSeriesNumber.cellType ?? 'text',
61478
61464
  style: rowSeriesNumber.style,
61479
61465
  width: rowSeriesNumber.width,
61480
61466
  format: rowSeriesNumber.format,
61481
- field: '_vtable_rowSeries_number',
61467
+ field: '',
61482
61468
  icon: rowSeriesNumber.icon,
61483
61469
  headerIcon: rowSeriesNumber.headerIcon,
61484
61470
  isChildNode: false
@@ -62120,9 +62106,6 @@
62120
62106
  return this._headerObjectMap[id];
62121
62107
  }
62122
62108
  getHeaderField(col, row) {
62123
- if (this.isSeriesNumberInHeader(col, row)) {
62124
- return this.getSeriesNumberHeader(col, row)?.field;
62125
- }
62126
62109
  const id = this.getCellId(col, row);
62127
62110
  return (this._headerObjectMap[id]?.field ||
62128
62111
  (this.transpose
@@ -76934,6 +76917,8 @@
76934
76917
  col;
76935
76918
  willUpdateRow = false;
76936
76919
  willUpdateCol = false;
76920
+ customDistRowFunction;
76921
+ customDistColFunction;
76937
76922
  constructor(table, options) {
76938
76923
  this.table = table;
76939
76924
  this.rowCount = options?.rowCount ?? undefined;
@@ -76942,6 +76927,8 @@
76942
76927
  this.animationDelay = options?.animationDelay ?? 1000;
76943
76928
  this.animationEasing = options?.animationEasing ?? 'linear';
76944
76929
  this.replaceScrollAction = options?.replaceScrollAction ?? false;
76930
+ this.customDistColFunction = options.customDistColFunction;
76931
+ this.customDistRowFunction = options.customDistRowFunction;
76945
76932
  this.reset();
76946
76933
  this.init();
76947
76934
  }
@@ -76993,11 +76980,16 @@
76993
76980
  this.playing = false;
76994
76981
  }
76995
76982
  updateRow() {
76996
- if (!this.playing) {
76983
+ if (!this.playing || this.table.isReleased) {
76997
76984
  return;
76998
76985
  }
76999
76986
  let animation = true;
77000
- 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) {
77001
76993
  this.row = this.table.frozenRowCount;
77002
76994
  animation = false;
77003
76995
  }
@@ -77012,11 +77004,16 @@
77012
77004
  }, this.animationDuration + this.animationDelay);
77013
77005
  }
77014
77006
  updateCol() {
77015
- if (!this.playing) {
77007
+ if (!this.playing || this.table.isReleased) {
77016
77008
  return;
77017
77009
  }
77018
77010
  let animation = true;
77019
- 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) {
77020
77017
  this.col = this.table.frozenColCount;
77021
77018
  animation = false;
77022
77019
  }
@@ -77169,7 +77166,7 @@
77169
77166
  }
77170
77167
 
77171
77168
  registerForVrender();
77172
- const version = "1.11.2-alpha.0";
77169
+ const version = "1.11.2-alpha.2";
77173
77170
  function getIcons() {
77174
77171
  return get$2();
77175
77172
  }