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

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 (69) hide show
  1. package/cjs/components/menu/dom/logic/MenuContainer.js +13 -7
  2. package/cjs/components/menu/dom/logic/MenuContainer.js.map +1 -1
  3. package/cjs/components/menu/dom/logic/MenuElement.js +27 -17
  4. package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -1
  5. package/cjs/core/BaseTable.js +11 -9
  6. package/cjs/core/BaseTable.js.map +1 -1
  7. package/cjs/event/event.js +7 -8
  8. package/cjs/event/event.js.map +1 -1
  9. package/cjs/event/listener/container-dom.js +12 -12
  10. package/cjs/event/listener/container-dom.js.map +1 -1
  11. package/cjs/index.d.ts +1 -1
  12. package/cjs/index.js +1 -1
  13. package/cjs/index.js.map +1 -1
  14. package/cjs/layout/simple-header-layout.js +8 -14
  15. package/cjs/layout/simple-header-layout.js.map +1 -1
  16. package/cjs/plugins/carousel-animation.d.ts +16 -0
  17. package/cjs/plugins/carousel-animation.js +9 -4
  18. package/cjs/plugins/carousel-animation.js.map +1 -1
  19. package/cjs/state/checkbox/checkbox.js +6 -25
  20. package/cjs/state/checkbox/checkbox.js.map +1 -1
  21. package/cjs/state/hover/row.js.map +1 -1
  22. package/cjs/state/hover/single.js.map +1 -1
  23. package/cjs/state/select/update-position.d.ts +1 -1
  24. package/cjs/state/select/update-position.js +3 -3
  25. package/cjs/state/select/update-position.js.map +1 -1
  26. package/cjs/state/state.d.ts +1 -1
  27. package/cjs/state/state.js +3 -6
  28. package/cjs/state/state.js.map +1 -1
  29. package/cjs/ts-types/base-table.d.ts +3 -0
  30. package/cjs/ts-types/base-table.js.map +1 -1
  31. package/cjs/ts-types/table-engine.d.ts +1 -0
  32. package/cjs/ts-types/table-engine.js.map +1 -1
  33. package/cjs/vrender.js.map +1 -1
  34. package/dist/vtable.js +85 -92
  35. package/dist/vtable.min.js +1 -1
  36. package/es/components/menu/dom/logic/MenuContainer.js +13 -7
  37. package/es/components/menu/dom/logic/MenuContainer.js.map +1 -1
  38. package/es/components/menu/dom/logic/MenuElement.js +27 -17
  39. package/es/components/menu/dom/logic/MenuElement.js.map +1 -1
  40. package/es/core/BaseTable.js +11 -8
  41. package/es/core/BaseTable.js.map +1 -1
  42. package/es/event/event.js +6 -8
  43. package/es/event/event.js.map +1 -1
  44. package/es/event/listener/container-dom.js +12 -12
  45. package/es/event/listener/container-dom.js.map +1 -1
  46. package/es/index.d.ts +1 -1
  47. package/es/index.js +1 -1
  48. package/es/index.js.map +1 -1
  49. package/es/layout/simple-header-layout.js +9 -15
  50. package/es/layout/simple-header-layout.js.map +1 -1
  51. package/es/plugins/carousel-animation.d.ts +16 -0
  52. package/es/plugins/carousel-animation.js +9 -4
  53. package/es/plugins/carousel-animation.js.map +1 -1
  54. package/es/state/checkbox/checkbox.js +6 -25
  55. package/es/state/checkbox/checkbox.js.map +1 -1
  56. package/es/state/hover/row.js.map +1 -1
  57. package/es/state/hover/single.js.map +1 -1
  58. package/es/state/select/update-position.d.ts +1 -1
  59. package/es/state/select/update-position.js +3 -3
  60. package/es/state/select/update-position.js.map +1 -1
  61. package/es/state/state.d.ts +1 -1
  62. package/es/state/state.js +3 -6
  63. package/es/state/state.js.map +1 -1
  64. package/es/ts-types/base-table.d.ts +3 -0
  65. package/es/ts-types/base-table.js.map +1 -1
  66. package/es/ts-types/table-engine.d.ts +1 -0
  67. package/es/ts-types/table-engine.js.map +1 -1
  68. package/es/vrender.js.map +1 -1
  69. 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;
@@ -53844,6 +53807,10 @@
53844
53807
  e.stopPropagation();
53845
53808
  e.preventDefault();
53846
53809
  });
53810
+ this._rootElement?.addEventListener('contextmenu', e => {
53811
+ e.stopPropagation();
53812
+ e.preventDefault();
53813
+ });
53847
53814
  this._rootElement?.addEventListener('touchend', e => {
53848
53815
  e.stopPropagation();
53849
53816
  e.preventDefault();
@@ -54104,7 +54071,7 @@
54104
54071
  }
54105
54072
  _canBindToCell(table, col, row) {
54106
54073
  const rect = table.getCellRangeRelativeRect({ col, row });
54107
- const element = table.getElement();
54074
+ const element = table.internalProps.menu.parentElement ?? table.getElement();
54108
54075
  const { top, bottom, left, right } = rect;
54109
54076
  if (table.isFrozenCell(col, row)) {
54110
54077
  return true;
@@ -54126,8 +54093,8 @@
54126
54093
  }
54127
54094
  _bindToCell(table, col, row, position, referencePosition) {
54128
54095
  const rootElement = this._rootElement;
54129
- const element = table.getElement();
54130
- const { width: containerWidth, height: containerHeight } = table.internalProps.element.getBoundingClientRect();
54096
+ const element = table.internalProps.menu.parentElement ?? table.getElement();
54097
+ const { width: containerWidth, height: containerHeight, left: containerLeft, top: containerTop } = element.getBoundingClientRect();
54131
54098
  if (rootElement) {
54132
54099
  if (rootElement.parentElement !== element) {
54133
54100
  element.appendChild(rootElement);
@@ -54156,14 +54123,21 @@
54156
54123
  if (rootElementTop < 0) {
54157
54124
  rootElementTop = rootElementTop / 2;
54158
54125
  }
54159
- rootElement.style.top = `${rootElementTop}px`;
54126
+ let deltaTop = 0;
54127
+ let deltaLeft = 0;
54128
+ if (table.getElement() !== element) {
54129
+ const { left, top } = table.getElement().getBoundingClientRect();
54130
+ deltaTop = top - containerTop;
54131
+ deltaLeft = left - containerLeft;
54132
+ }
54133
+ rootElement.style.top = `${rootElementTop + deltaTop}px`;
54160
54134
  if (rootElementLeft < 0) {
54161
54135
  rootElementLeft = 0;
54162
54136
  }
54163
54137
  else if (rootElementLeft * scaleX + rootElementWidth > containerWidth) {
54164
54138
  rootElementLeft = (containerWidth - rootElementWidth) / scaleX;
54165
54139
  }
54166
- rootElement.style.left = `${rootElementLeft}px`;
54140
+ rootElement.style.left = `${rootElementLeft + deltaLeft}px`;
54167
54141
  return true;
54168
54142
  }
54169
54143
  return false;
@@ -54171,8 +54145,8 @@
54171
54145
  _bindSecondElement(table, col, row, x, y) {
54172
54146
  const secondElement = this._secondElement;
54173
54147
  const rootElement = this._rootElement;
54174
- const element = table.getElement();
54175
- const { width: containerWidth, left: containerLeft, top: containerTop } = table.internalProps.element.getBoundingClientRect();
54148
+ const element = table.internalProps.menu.parentElement ?? table.getElement();
54149
+ const { width: containerWidth, left: containerLeft, top: containerTop } = element.getBoundingClientRect();
54176
54150
  const { x: rootLeft, y: rootTop, width: rootWidth } = rootElement.getBoundingClientRect();
54177
54151
  if (secondElement) {
54178
54152
  if (secondElement.parentElement !== element) {
@@ -57543,7 +57517,7 @@
57543
57517
  return TABLE_EVENT_TYPE;
57544
57518
  }
57545
57519
  options;
57546
- version = "1.11.2-alpha.1";
57520
+ version = "1.11.2-alpha.3";
57547
57521
  pagination;
57548
57522
  id = `VTable${Date.now()}`;
57549
57523
  headerStyleCache;
@@ -59065,21 +59039,21 @@
59065
59039
  clearSelected() {
59066
59040
  this.stateManager.updateSelectPos(-1, -1);
59067
59041
  }
59068
- selectCell(col, row, isShift, isCtrl, makeSelectCellVisible = true, skipBodyMerge = false, forceSelect = false) {
59042
+ selectCell(col, row, isShift, isCtrl, makeSelectCellVisible, skipBodyMerge = false, forceSelect = false) {
59069
59043
  const isHasSelected = !!this.stateManager.select.ranges?.length;
59070
- this.stateManager.updateSelectPos(col, row, isShift, isCtrl, false, !makeSelectCellVisible, skipBodyMerge, forceSelect);
59044
+ this.stateManager.updateSelectPos(col, row, isShift, isCtrl, false, makeSelectCellVisible ?? this.options.select?.makeSelectCellVisible ?? true, skipBodyMerge, forceSelect);
59071
59045
  this.stateManager.endSelectCells(true, isHasSelected);
59072
59046
  }
59073
59047
  selectCells(cellRanges) {
59074
59048
  const { scrollLeft, scrollTop } = this;
59075
59049
  cellRanges.forEach((cellRange, index) => {
59076
59050
  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);
59051
+ this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, this.options.select?.makeSelectCellVisible ?? true, true);
59078
59052
  }
59079
59053
  else {
59080
- this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, false, true);
59054
+ this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, this.options.select?.makeSelectCellVisible ?? true, true);
59081
59055
  this.stateManager.updateInteractionState(InteractionState.grabing);
59082
- this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, false, index >= 1, false, false, true);
59056
+ this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, false, index >= 1, false, this.options.select?.makeSelectCellVisible ?? true, true);
59083
59057
  }
59084
59058
  this.stateManager.endSelectCells(false, false);
59085
59059
  this.stateManager.updateInteractionState(InteractionState.default);
@@ -59445,6 +59419,10 @@
59445
59419
  _canDragHeaderPosition(col, row) {
59446
59420
  if (this.isHeader(col, row) &&
59447
59421
  (this.stateManager.isSelected(col, row) ||
59422
+ (this.options.select?.headerSelectMode === 'body' &&
59423
+ checkCellInSelect(col, row, [
59424
+ this.getCellRange(this.stateManager.select.cellPos.col, this.stateManager.select.cellPos.row)
59425
+ ])) ||
59448
59426
  this.options.select?.disableHeaderSelect ||
59449
59427
  this.options.select?.disableSelect)) {
59450
59428
  if (this.internalProps.frozenColDragHeaderMode === 'disabled' && this.isFrozenColumn(col)) {
@@ -61469,17 +61447,17 @@
61469
61447
  handleRowSeriesNumber(rowSeriesNumber) {
61470
61448
  if (rowSeriesNumber) {
61471
61449
  if (Array.isArray(rowSeriesNumber)) {
61472
- this.rowSeriesNumberColumn = rowSeriesNumber.map((seriesNumber, index) => {
61450
+ this.rowSeriesNumberColumn = rowSeriesNumber.map(seriesNumber => {
61473
61451
  return {
61474
61452
  id: this.seqId++,
61475
61453
  title: seriesNumber.title,
61476
- define: merge({ field: '_vtable_rowSeries_number_' + index }, seriesNumber),
61454
+ define: seriesNumber,
61477
61455
  cellType: seriesNumber.cellType ?? 'text',
61478
61456
  headerType: rowSeriesNumber.cellType ?? 'text',
61479
61457
  style: seriesNumber.style,
61480
61458
  width: seriesNumber.width,
61481
61459
  format: seriesNumber.format,
61482
- field: seriesNumber.field ?? '_vtable_rowSeries_number_' + index,
61460
+ field: seriesNumber.field,
61483
61461
  icon: seriesNumber.icon,
61484
61462
  headerIcon: seriesNumber.headerIcon,
61485
61463
  isChildNode: false
@@ -61491,13 +61469,13 @@
61491
61469
  {
61492
61470
  id: this.seqId++,
61493
61471
  title: rowSeriesNumber.title,
61494
- define: merge({ field: '_vtable_rowSeries_number' }, rowSeriesNumber),
61472
+ define: rowSeriesNumber,
61495
61473
  cellType: rowSeriesNumber.cellType ?? 'text',
61496
61474
  headerType: rowSeriesNumber.cellType ?? 'text',
61497
61475
  style: rowSeriesNumber.style,
61498
61476
  width: rowSeriesNumber.width,
61499
61477
  format: rowSeriesNumber.format,
61500
- field: '_vtable_rowSeries_number',
61478
+ field: '',
61501
61479
  icon: rowSeriesNumber.icon,
61502
61480
  headerIcon: rowSeriesNumber.headerIcon,
61503
61481
  isChildNode: false
@@ -62139,12 +62117,6 @@
62139
62117
  return this._headerObjectMap[id];
62140
62118
  }
62141
62119
  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
62120
  const id = this.getCellId(col, row);
62149
62121
  return (this._headerObjectMap[id]?.field ||
62150
62122
  (this.transpose
@@ -66102,7 +66074,7 @@
66102
66074
  }
66103
66075
  _canBindToCell(table, col, row) {
66104
66076
  const rect = table.getCellRangeRelativeRect({ col, row });
66105
- const element = table.getElement();
66077
+ const element = table.internalProps.menu.parentElement ?? table.getElement();
66106
66078
  const { top, bottom, left, right } = rect;
66107
66079
  if (table.isFrozenCell(col, row)) {
66108
66080
  return true;
@@ -66124,8 +66096,8 @@
66124
66096
  }
66125
66097
  _bindCell(table, col, row, position, referencePosition) {
66126
66098
  const rootElement = this._rootElement;
66127
- const element = table.getElement();
66128
- const { width: containerWidth, height: containerHeight } = table.internalProps.element.getBoundingClientRect();
66099
+ const element = table.internalProps.menu.parentElement ?? table.getElement();
66100
+ const { width: containerWidth, height: containerHeight, left: containerLeft, top: containerTop } = element.getBoundingClientRect();
66129
66101
  if (rootElement) {
66130
66102
  if (rootElement.parentElement !== element) {
66131
66103
  element.appendChild(rootElement);
@@ -66152,14 +66124,21 @@
66152
66124
  if (rootElementTop < 0) {
66153
66125
  rootElementTop = rootElementTop / 2;
66154
66126
  }
66155
- rootElement.style.top = `${rootElementTop}px`;
66127
+ let deltaTop = 0;
66128
+ let deltaLeft = 0;
66129
+ if (table.getElement() !== element) {
66130
+ const { left, top } = table.getElement().getBoundingClientRect();
66131
+ deltaTop = top - containerTop;
66132
+ deltaLeft = left - containerLeft;
66133
+ }
66134
+ rootElement.style.top = `${rootElementTop + deltaTop}px`;
66156
66135
  if (rootElementLeft < 0) {
66157
66136
  rootElementLeft = 0;
66158
66137
  }
66159
66138
  else if (rootElementLeft + rootElementWidth > containerWidth) {
66160
66139
  rootElementLeft = containerWidth - rootElementWidth;
66161
66140
  }
66162
- rootElement.style.left = `${rootElementLeft}px`;
66141
+ rootElement.style.left = `${rootElementLeft + deltaLeft}px`;
66163
66142
  return true;
66164
66143
  }
66165
66144
  return false;
@@ -76956,6 +76935,8 @@
76956
76935
  col;
76957
76936
  willUpdateRow = false;
76958
76937
  willUpdateCol = false;
76938
+ customDistRowFunction;
76939
+ customDistColFunction;
76959
76940
  constructor(table, options) {
76960
76941
  this.table = table;
76961
76942
  this.rowCount = options?.rowCount ?? undefined;
@@ -76964,6 +76945,8 @@
76964
76945
  this.animationDelay = options?.animationDelay ?? 1000;
76965
76946
  this.animationEasing = options?.animationEasing ?? 'linear';
76966
76947
  this.replaceScrollAction = options?.replaceScrollAction ?? false;
76948
+ this.customDistColFunction = options.customDistColFunction;
76949
+ this.customDistRowFunction = options.customDistRowFunction;
76967
76950
  this.reset();
76968
76951
  this.init();
76969
76952
  }
@@ -77015,11 +76998,16 @@
77015
76998
  this.playing = false;
77016
76999
  }
77017
77000
  updateRow() {
77018
- if (!this.playing) {
77001
+ if (!this.playing || this.table.isReleased) {
77019
77002
  return;
77020
77003
  }
77021
77004
  let animation = true;
77022
- if (this.table.scenegraph.proxy.screenTopRow !== this.row) {
77005
+ const customRow = this.customDistRowFunction && this.customDistRowFunction(this.row, this.table);
77006
+ if (customRow) {
77007
+ this.row = customRow.distRow;
77008
+ animation = customRow.animation ?? true;
77009
+ }
77010
+ else if (this.table.scenegraph.proxy.screenTopRow !== this.row) {
77023
77011
  this.row = this.table.frozenRowCount;
77024
77012
  animation = false;
77025
77013
  }
@@ -77034,11 +77022,16 @@
77034
77022
  }, this.animationDuration + this.animationDelay);
77035
77023
  }
77036
77024
  updateCol() {
77037
- if (!this.playing) {
77025
+ if (!this.playing || this.table.isReleased) {
77038
77026
  return;
77039
77027
  }
77040
77028
  let animation = true;
77041
- if (this.table.scenegraph.proxy.screenLeftCol !== this.col) {
77029
+ const customCol = this.customDistColFunction && this.customDistColFunction(this.col, this.table);
77030
+ if (customCol) {
77031
+ this.col = customCol.distCol;
77032
+ animation = customCol.animation ?? true;
77033
+ }
77034
+ else if (this.table.scenegraph.proxy.screenLeftCol !== this.col) {
77042
77035
  this.col = this.table.frozenColCount;
77043
77036
  animation = false;
77044
77037
  }
@@ -77191,7 +77184,7 @@
77191
77184
  }
77192
77185
 
77193
77186
  registerForVrender();
77194
- const version = "1.11.2-alpha.1";
77187
+ const version = "1.11.2-alpha.3";
77195
77188
  function getIcons() {
77196
77189
  return get$2();
77197
77190
  }