@visactor/vtable-gantt 1.8.3-alpha.0 → 1.8.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.
@@ -29373,6 +29373,7 @@
29373
29373
  MOUSEENTER_TABLE: "mouseenter_table",
29374
29374
  MOUSELEAVE_TABLE: "mouseleave_table",
29375
29375
  MOUSEDOWN_TABLE: "mousedown_table",
29376
+ MOUSEMOVE_TABLE: "mousemove_table",
29376
29377
  MOUSEMOVE_CELL: "mousemove_cell",
29377
29378
  MOUSEENTER_CELL: "mouseenter_cell",
29378
29379
  MOUSELEAVE_CELL: "mouseleave_cell",
@@ -29381,6 +29382,7 @@
29381
29382
  RESIZE_COLUMN_END: "resize_column_end",
29382
29383
  RESIZE_ROW: "resize_row",
29383
29384
  RESIZE_ROW_END: "resize_row_end",
29385
+ CHANGE_HEADER_POSITION_START: "change_header_position_start",
29384
29386
  CHANGE_HEADER_POSITION: "change_header_position",
29385
29387
  SORT_CLICK: "sort_click",
29386
29388
  FREEZE_CLICK: "freeze_click",
@@ -31533,8 +31535,12 @@
31533
31535
  registerAggregators() {
31534
31536
  this.registerAggregator(AggregationType.RECORD, RecordAggregator), this.registerAggregator(AggregationType.SUM, SumAggregator), this.registerAggregator(AggregationType.COUNT, CountAggregator), this.registerAggregator(AggregationType.MAX, MaxAggregator), this.registerAggregator(AggregationType.MIN, MinAggregator), this.registerAggregator(AggregationType.AVG, AvgAggregator), this.registerAggregator(AggregationType.NONE, NoneAggregator), this.registerAggregator(AggregationType.CUSTOM, CustomAggregator);
31535
31537
  }
31538
+ updateColumns(columns) {
31539
+ this.columns = columns;
31540
+ }
31536
31541
  _generateFieldAggragations() {
31537
31542
  const columnObjs = this.columns;
31543
+ this.fieldAggregators = [];
31538
31544
  for (let i = 0; i < (null == columnObjs ? void 0 : columnObjs.length); i++) {
31539
31545
  delete columnObjs[i].vtable_aggregator;
31540
31546
  const field = columnObjs[i].field,
@@ -32808,6 +32814,12 @@
32808
32814
  }
32809
32815
  }
32810
32816
  }
32817
+ function checkHasAggregationOnColumnDefine(colDefs) {
32818
+ for (let i = 0; i < colDefs.length; i++) {
32819
+ if (colDefs[i].aggregation) return !0;
32820
+ }
32821
+ return !1;
32822
+ }
32811
32823
 
32812
32824
  let Icon$1 = class Icon extends Image$2 {
32813
32825
  constructor(params) {
@@ -33032,7 +33044,7 @@
33032
33044
  const CUSTOM_CONTAINER_NAME = "custom-container";
33033
33045
  const CUSTOM_MERGE_CONTAINER_NAME = CUSTOM_MERGE_PRE_NAME + "_0";
33034
33046
  function dealWithCustom(customLayout, customRender, col, row, width, height, autoWidth, autoHeight, padding, range, table) {
33035
- var _a;
33047
+ var _a, _b, _c;
33036
33048
  let expectedWidth,
33037
33049
  expectedHeight,
33038
33050
  customElements,
@@ -33041,8 +33053,8 @@
33041
33053
  enableCellPadding = !1;
33042
33054
  if ("react-custom-layout" === customLayout && (customLayout = (null === (_a = table.reactCustomLayout) || void 0 === _a ? void 0 : _a.getCustomLayoutFunc(col, row)) || emptyCustomLayout), "function" == typeof customLayout) {
33043
33055
  const customRenderObj = customLayout({
33044
- col: col,
33045
- row: row,
33056
+ col: null !== (_b = null == range ? void 0 : range.start.col) && void 0 !== _b ? _b : col,
33057
+ row: null !== (_c = null == range ? void 0 : range.start.row) && void 0 !== _c ? _c : row,
33046
33058
  dataValue: table.getCellOriginValue(col, row),
33047
33059
  value: table.getCellValue(col, row) || "",
33048
33060
  rect: {
@@ -33053,7 +33065,9 @@
33053
33065
  width: width,
33054
33066
  height: height
33055
33067
  },
33056
- table: table
33068
+ table: table,
33069
+ originCol: col,
33070
+ originRow: row
33057
33071
  });
33058
33072
  customRenderObj.rootContainer && (customRenderObj.rootContainer = decodeReactDom(customRenderObj.rootContainer)), customRenderObj.rootContainer instanceof Group$2 && (elementsGroup = customRenderObj.rootContainer, elementsGroup.name = CUSTOM_CONTAINER_NAME, elementsGroup.col = col, elementsGroup.row = row), renderDefault = customRenderObj.renderDefault, enableCellPadding = customRenderObj.enableCellPadding;
33059
33073
  } else if ("function" == typeof customRender) {
@@ -34481,7 +34495,6 @@
34481
34495
  cellLocation = table.getCellLocation(col, row);
34482
34496
  let isMerge,
34483
34497
  range,
34484
- cellTheme,
34485
34498
  customStyle,
34486
34499
  customResult,
34487
34500
  value = table.getCellValue(col, row),
@@ -34496,7 +34509,7 @@
34496
34509
  customLayout: customLayout,
34497
34510
  customRender: customRender
34498
34511
  } = customMerge;
34499
- range = customMergeRange, isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row, value = customMergeText, customStyle = customMergeStyle, customStyle && (cellTheme = getStyleTheme(customStyle, table, range.start.col, range.start.row, getProp).theme, cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table)), (customLayout || customRender) && (customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), !1, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table)), isCustomMerge = !0;
34512
+ range = customMergeRange, isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row, value = customMergeText, customStyle = customMergeStyle, (customLayout || customRender) && (customResult = dealWithCustom(customLayout, customRender, customMergeRange.start.col, customMergeRange.start.row, table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col), table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row), !1, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table)), isCustomMerge = !0;
34500
34513
  }
34501
34514
  }
34502
34515
  let colForDefine = col,
@@ -34514,9 +34527,10 @@
34514
34527
  } = null != rawRecord ? rawRecord : {};
34515
34528
  isVtableMerge = vtableMerge, vtableMerge && (mayHaveIcon = !0, table.options.groupTitleCustomLayout && (customResult = dealWithCustom(table.options.groupTitleCustomLayout, void 0, range.start.col, range.start.row, table.getColsWidth(range.start.col, range.end.col), table.getRowsHeight(range.start.row, range.end.row), !1, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table))), vtableMergeName && (value = vtableMergeName);
34516
34529
  }
34517
- const cellStyle = table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
34518
- autoWrapText = null !== (_a = cellStyle.autoWrapText) && void 0 !== _a ? _a : table.internalProps.autoWrapText;
34519
- if (cellTheme || (cellTheme = getStyleTheme(cellStyle, table, isMerge ? range.start.col : col, isMerge ? range.start.row : row, getProp).theme), cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table), !addNew && !isMerge && !((null == define ? void 0 : define.customLayout) || (null == define ? void 0 : define.customRender) || (null == define ? void 0 : define.headerCustomLayout) || (null == define ? void 0 : define.headerCustomRender)) && canUseFastUpdate(col, row, oldCellGroup, autoWrapText, mayHaveIcon, table)) {
34530
+ const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
34531
+ autoWrapText = null !== (_a = cellStyle.autoWrapText) && void 0 !== _a ? _a : table.internalProps.autoWrapText,
34532
+ cellTheme = getStyleTheme(cellStyle, table, isMerge ? range.start.col : col, isMerge ? range.start.row : row, getProp).theme;
34533
+ if (cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table), !addNew && !isMerge && !((null == define ? void 0 : define.customLayout) || (null == define ? void 0 : define.customRender) || (null == define ? void 0 : define.headerCustomLayout) || (null == define ? void 0 : define.headerCustomRender)) && canUseFastUpdate(col, row, oldCellGroup, autoWrapText, mayHaveIcon, table)) {
34520
34534
  const cellWidth = table.getColWidth(col),
34521
34535
  cellHeight = table.getRowHeight(row);
34522
34536
  oldCellGroup.setAttributes({
@@ -34579,7 +34593,25 @@
34579
34593
  textAlign = cellTheme.text.textAlign,
34580
34594
  textBaseline = cellTheme.text.textBaseline;
34581
34595
  let newCellGroup, cellWidth, cellHeight;
34582
- if (range ? (cellWidth = table.getColsWidth(range.start.col, range.end.col), cellHeight = table.getRowsHeight(range.start.row, range.end.row)) : (cellWidth = table.getColWidth(col), cellHeight = table.getRowHeight(row)), isPromise(value) ? (oldCellGroup.removeAllChild(), dealPromiseData(value, table, updateCellContent.bind(null, type, value, define, table, col, row, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme, range, customResult))) : newCellGroup = updateCellContent(type, value, define, table, col, row, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme, range, customResult), isMerge) {
34596
+ if (range ? (cellWidth = table.getColsWidth(range.start.col, range.end.col), cellHeight = table.getRowsHeight(range.start.row, range.end.row)) : (cellWidth = table.getColWidth(col), cellHeight = table.getRowHeight(row)), isPromise(value) ? (oldCellGroup.removeAllChild(), dealPromiseData(value, table, callUpdateCellContentForPromiseValue.bind(null, {
34597
+ type: type,
34598
+ value: value,
34599
+ define: define,
34600
+ table: table,
34601
+ col: col,
34602
+ row: row,
34603
+ cellWidth: cellWidth,
34604
+ cellHeight: cellHeight,
34605
+ oldCellGroup: oldCellGroup,
34606
+ padding: padding,
34607
+ textAlign: textAlign,
34608
+ textBaseline: textBaseline,
34609
+ mayHaveIcon: mayHaveIcon,
34610
+ addNew: addNew,
34611
+ range: range,
34612
+ customResult: customResult,
34613
+ customStyle: customStyle
34614
+ }))) : newCellGroup = updateCellContent(type, value, define, table, col, row, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme, range, customResult), isMerge) {
34583
34615
  const {
34584
34616
  width: contentWidth
34585
34617
  } = newCellGroup.attribute,
@@ -34613,6 +34645,30 @@
34613
34645
  value = table.getCellValue(col, row);
34614
34646
  return !(table.isHeader(col, row) || "cell" !== oldCellGroup.role || "text" !== cellType || autoWrapText || autoRowHeight || mayHaveIcon || "text" !== (null === (_a = oldCellGroup.firstChild) || void 0 === _a ? void 0 : _a.type) || isPromise(value));
34615
34647
  }
34648
+ function callUpdateCellContentForPromiseValue(updateCellArgs) {
34649
+ const {
34650
+ type: type,
34651
+ value: value,
34652
+ define: define,
34653
+ table: table,
34654
+ col: col,
34655
+ row: row,
34656
+ cellWidth: cellWidth,
34657
+ cellHeight: cellHeight,
34658
+ oldCellGroup: oldCellGroup,
34659
+ padding: padding,
34660
+ textAlign: textAlign,
34661
+ textBaseline: textBaseline,
34662
+ mayHaveIcon: mayHaveIcon,
34663
+ addNew: addNew,
34664
+ range: range,
34665
+ customResult: customResult,
34666
+ customStyle: customStyle
34667
+ } = updateCellArgs,
34668
+ cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
34669
+ cellTheme = getStyleTheme(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, getProp).theme;
34670
+ cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table), updateCellContent(type, value, define, table, col, row, cellWidth, cellHeight, oldCellGroup, padding, textAlign, textBaseline, mayHaveIcon, addNew, cellTheme, range, customResult);
34671
+ }
34616
34672
  function dealWithMergeCellSize(range, cellWidth, cellHeight, padding, textAlign, textBaseline, table) {
34617
34673
  for (let col = range.start.col; col <= range.end.col; col++) for (let row = range.start.row; row <= range.end.row; row++) {
34618
34674
  const cellGroup = table.scenegraph.highPerformanceGetCell(col, row, !0);
@@ -35327,7 +35383,7 @@
35327
35383
  const customContainer = cell.getChildByName(CUSTOM_CONTAINER_NAME) || cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
35328
35384
  if (customContainer) {
35329
35385
  let customElementsGroup;
35330
- scene.table.reactCustomLayout && scene.table.reactCustomLayout.removeCustomCell(col, row), customContainer.removeAllChild(), cell.removeChild(customContainer);
35386
+ cell.removeChild(customContainer);
35331
35387
  const customMergeRange = getCustomCellMergeCustom(col, row, cell, scene.table);
35332
35388
  if (customMergeRange) for (let mergeRow = customMergeRange.start.row; mergeRow <= customMergeRange.end.row; mergeRow++) {
35333
35389
  if (mergeRow === row) continue;
@@ -35492,7 +35548,7 @@
35492
35548
  }
35493
35549
  }
35494
35550
  function updateCellWidth(scene, cell, col, row, oldWidth, distWidth, detaX, isHeader, autoWrapText) {
35495
- var _a, _b, _c, _d, _e, _f, _g;
35551
+ var _a, _b, _c, _d, _e;
35496
35552
  if (cell.attribute.width === distWidth && !cell.needUpdateWidth) return !1;
35497
35553
  cell.needUpdateWidth = !1, cell.setAttribute("width", distWidth);
35498
35554
  const cellGroup = cell;
@@ -35533,7 +35589,7 @@
35533
35589
  const customContainer = cell.getChildByName(CUSTOM_CONTAINER_NAME) || cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
35534
35590
  if (customContainer) {
35535
35591
  let customElementsGroup;
35536
- scene.table.reactCustomLayout && scene.table.reactCustomLayout.removeCustomCell(col, row), customContainer.removeAllChild(), cell.removeChild(customContainer);
35592
+ cell.removeChild(customContainer);
35537
35593
  const customMergeRange = getCustomCellMergeCustom(col, row, cell, scene.table);
35538
35594
  if (customMergeRange) for (let mergeCol = customMergeRange.start.col; mergeCol <= customMergeRange.end.col; mergeCol++) {
35539
35595
  if (mergeCol === col) continue;
@@ -35560,7 +35616,7 @@
35560
35616
  let width = cellGroup.attribute.width,
35561
35617
  height = cellGroup.attribute.height;
35562
35618
  isMergeCellGroup(cellGroup) && (width = scene.table.getColsWidth(cellGroup.mergeStartCol, cellGroup.mergeEndCol), height = scene.table.getRowsHeight(cellGroup.mergeStartRow, cellGroup.mergeEndRow));
35563
- const customResult = dealWithCustom(customLayout, customRender, null !== (_f = cellGroup.mergeStartCol) && void 0 !== _f ? _f : col, null !== (_g = cellGroup.mergeStartRow) && void 0 !== _g ? _g : row, width, height, !1, scene.table.isAutoRowHeight(row), padding, isMergeCellGroup(cellGroup) ? {
35619
+ const customResult = dealWithCustom(customLayout, customRender, col, row, width, height, !1, scene.table.isAutoRowHeight(row), padding, isMergeCellGroup(cellGroup) ? {
35564
35620
  start: {
35565
35621
  col: cellGroup.mergeStartCol,
35566
35622
  row: cellGroup.mergeStartRow
@@ -38142,7 +38198,7 @@
38142
38198
  }
38143
38199
  let colForDefine = col,
38144
38200
  rowForDefine = row;
38145
- range && (colForDefine = range.start.col, rowForDefine = range.start.row), ("columnHeader" === cellLocation || "cornerHeader" === cellLocation) && row >= table.columnHeaderLevelCount && (cellLocation = "body");
38201
+ range && (colForDefine = range.start.col, rowForDefine = range.start.row), !table.isPivotTable() && ("columnHeader" === cellLocation || "cornerHeader" === cellLocation) && row >= table.columnHeaderLevelCount && (cellLocation = "body");
38146
38202
  const define = "body" !== cellLocation ? table.getHeaderDefine(colForDefine, rowForDefine) : table.getBodyColumnDefine(colForDefine, rowForDefine);
38147
38203
  let mayHaveIcon = "body" !== cellLocation || (null == define ? void 0 : define.dragOrder) || !!(null == define ? void 0 : define.icon) || !!(null == define ? void 0 : define.tree);
38148
38204
  if (!range && (table.internalProps.enableTreeNodeMerge || "body" !== cellLocation || (null == define ? void 0 : define.mergeCell)) && (range = table.getCellRange(col, row), isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row, isMerge)) {
@@ -38158,15 +38214,33 @@
38158
38214
  } = null != rawRecord ? rawRecord : {};
38159
38215
  isVtableMerge = vtableMerge, vtableMerge && (mayHaveIcon = !0, table.options.groupTitleCustomLayout && (customResult = dealWithCustom(table.options.groupTitleCustomLayout, void 0, range.start.col, range.start.row, table.getColsWidth(range.start.col, range.end.col), table.getRowsHeight(range.start.row, range.end.row), !1, table.isAutoRowHeight(row), [0, 0, 0, 0], range, table))), vtableMergeName && (value = vtableMergeName);
38160
38216
  }
38161
- const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
38162
- cellTheme = getStyleTheme(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, getProp).theme;
38163
- cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table), cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight, cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign), cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline), "body" === cellLocation || cellTheme.group.fill || (cellTheme.group.fill = "#fff");
38164
38217
  const type = isVtableMerge || isCustomMerge ? "text" : (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) || "text";
38165
38218
  if (isPromise(value)) {
38166
- createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup), dealPromiseData(value, table, createCell.bind(null, type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult)), columnGroup.updateColumnRowNumber(row);
38219
+ createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup), dealPromiseData(value, table, callCreateCellForPromiseValue.bind(null, {
38220
+ type: type,
38221
+ value: value,
38222
+ define: define,
38223
+ table: table,
38224
+ col: col,
38225
+ row: row,
38226
+ colWidth: colWidth,
38227
+ cellWidth: cellWidth,
38228
+ cellHeight: cellHeight,
38229
+ columnGroup: columnGroup,
38230
+ y: y,
38231
+ customStyle: customStyle,
38232
+ mayHaveIcon: mayHaveIcon,
38233
+ cellLocation: cellLocation,
38234
+ range: range,
38235
+ customResult: customResult,
38236
+ defaultRowHeight: defaultRowHeight
38237
+ })), columnGroup.updateColumnRowNumber(row);
38167
38238
  const height = table.getRowHeight(row);
38168
38239
  columnGroup.updateColumnHeight(height), y += height;
38169
38240
  } else {
38241
+ const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
38242
+ cellTheme = getStyleTheme(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, getProp).theme;
38243
+ cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table), cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight, cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign), cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline), "body" === cellLocation || cellTheme.group.fill || (cellTheme.group.fill = "#fff");
38170
38244
  const cellGroup = createCell(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult);
38171
38245
  if (columnGroup.updateColumnRowNumber(row), isMerge) {
38172
38246
  const rangeHeight = table.getRowHeight(row),
@@ -38186,6 +38260,31 @@
38186
38260
  height: y
38187
38261
  };
38188
38262
  }
38263
+ function callCreateCellForPromiseValue(createCellArgs) {
38264
+ let padding, textAlign, textBaseline;
38265
+ const {
38266
+ type: type,
38267
+ value: value,
38268
+ define: define,
38269
+ table: table,
38270
+ col: col,
38271
+ row: row,
38272
+ colWidth: colWidth,
38273
+ cellWidth: cellWidth,
38274
+ cellHeight: cellHeight,
38275
+ columnGroup: columnGroup,
38276
+ y: y,
38277
+ cellLocation: cellLocation,
38278
+ mayHaveIcon: mayHaveIcon,
38279
+ customStyle: customStyle,
38280
+ range: range,
38281
+ customResult: customResult,
38282
+ defaultRowHeight: defaultRowHeight
38283
+ } = createCellArgs,
38284
+ cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
38285
+ cellTheme = getStyleTheme(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, getProp).theme;
38286
+ cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table), cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight, cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign), cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline), "body" === cellLocation || cellTheme.group.fill || (cellTheme.group.fill = "#fff"), createCell(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult);
38287
+ }
38189
38288
  function dealMerge(range, mergeMap, table, forceUpdate) {
38190
38289
  let cellWidth = 0,
38191
38290
  cellHeight = 0;
@@ -39881,16 +39980,18 @@
39881
39980
  } = table.internalProps;
39882
39981
  if (!(headerDomContainer || bodyDomContainer || frozenBodyDomContainer || frozenHeaderDomContainer || rightFrozenBodyDomContainer || rightFrozenHeaderDomContainer || bottomDomContainer || frozenBottomDomContainer || rightFrozenBottomDomContainer)) return;
39883
39982
  const allColsWidth = table.getAllColsWidth(),
39983
+ tableNoFrameWidth = Math.min(allColsWidth, table.tableNoFrameWidth),
39884
39984
  frozenColsWidth = table.getFrozenColsWidth(),
39885
39985
  rightFrozenColsWidth = table.getRightFrozenColsWidth(),
39886
39986
  totalFrozenColsWidth = frozenColsWidth + rightFrozenColsWidth,
39887
- bodyWidth = Math.min(allColsWidth - totalFrozenColsWidth, table.tableNoFrameWidth - totalFrozenColsWidth),
39987
+ bodyWidth = Math.min(allColsWidth - totalFrozenColsWidth, tableNoFrameWidth - totalFrozenColsWidth),
39888
39988
  allRowsHeight = table.getAllRowsHeight(),
39989
+ tableNoFrameHeight = Math.min(allRowsHeight, table.tableNoFrameHeight),
39889
39990
  frozenRowsHeight = table.getFrozenRowsHeight(),
39890
39991
  bottomFrozenRowsHeight = table.getBottomFrozenRowsHeight(),
39891
39992
  totalFrozenRowsHeight = frozenRowsHeight + bottomFrozenRowsHeight,
39892
- bodyHeight = Math.min(allRowsHeight - totalFrozenRowsHeight, table.tableNoFrameHeight - totalFrozenRowsHeight);
39893
- table.frozenColCount > 0 ? (headerDomContainer.style.left = `${table.tableX + frozenColsWidth}px`, bodyDomContainer.style.left = `${table.tableX + frozenColsWidth}px`, bottomDomContainer.style.left = `${table.tableX + frozenColsWidth}px`) : 0 === table.frozenColCount && (headerDomContainer.style.left = `${table.tableX}px`, bodyDomContainer.style.left = `${table.tableX}px`, bottomDomContainer.style.left = `${table.tableX}px`), frozenBodyDomContainer.style.left = `${table.tableX}px`, frozenHeaderDomContainer.style.left = `${table.tableX}px`, headerDomContainer.style.width = `${bodyWidth}px`, headerDomContainer.style.height = `${frozenRowsHeight}px`, bodyDomContainer.style.top = `${table.tableY}px`, bodyDomContainer.style.width = `${bodyWidth}px`, bodyDomContainer.style.height = `${bodyHeight}px`, bodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`, frozenBodyDomContainer.style.width = `${frozenColsWidth}px`, frozenBodyDomContainer.style.height = `${bodyHeight}px`, frozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`, frozenHeaderDomContainer.style.width = `${frozenColsWidth}px`, frozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`, frozenHeaderDomContainer.style.top = `${table.tableY}px`, rightFrozenBodyDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenBodyDomContainer.style.height = `${bodyHeight}px`, rightFrozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`, rightFrozenBodyDomContainer.style.left = table.tableX + table.tableNoFrameWidth - rightFrozenColsWidth + "px", rightFrozenHeaderDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`, rightFrozenHeaderDomContainer.style.top = `${table.tableY}px`, rightFrozenHeaderDomContainer.style.left = table.tableX + table.tableNoFrameWidth - rightFrozenColsWidth + "px", bottomDomContainer.style.width = `${bodyWidth}px`, bottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`, bottomDomContainer.style.top = table.tableY + table.tableNoFrameHeight - bottomFrozenRowsHeight + "px", frozenBottomDomContainer.style.width = `${frozenColsWidth}px`, frozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`, frozenBottomDomContainer.style.top = table.tableY + table.tableNoFrameHeight - bottomFrozenRowsHeight + "px", rightFrozenBottomDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`, rightFrozenBottomDomContainer.style.top = table.tableY + table.tableNoFrameHeight - bottomFrozenRowsHeight + "px", rightFrozenBottomDomContainer.style.left = table.tableX + table.tableNoFrameWidth - rightFrozenColsWidth + "px";
39993
+ bodyHeight = Math.min(allRowsHeight - totalFrozenRowsHeight, tableNoFrameHeight - totalFrozenRowsHeight);
39994
+ table.frozenColCount > 0 ? (headerDomContainer.style.left = `${table.tableX + frozenColsWidth}px`, bodyDomContainer.style.left = `${table.tableX + frozenColsWidth}px`, bottomDomContainer.style.left = `${table.tableX + frozenColsWidth}px`) : 0 === table.frozenColCount && (headerDomContainer.style.left = `${table.tableX}px`, bodyDomContainer.style.left = `${table.tableX}px`, bottomDomContainer.style.left = `${table.tableX}px`), frozenBodyDomContainer.style.left = `${table.tableX}px`, frozenHeaderDomContainer.style.left = `${table.tableX}px`, headerDomContainer.style.width = `${bodyWidth}px`, headerDomContainer.style.height = `${frozenRowsHeight}px`, bodyDomContainer.style.top = `${table.tableY}px`, bodyDomContainer.style.width = `${bodyWidth}px`, bodyDomContainer.style.height = `${bodyHeight}px`, bodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`, frozenBodyDomContainer.style.width = `${frozenColsWidth}px`, frozenBodyDomContainer.style.height = `${bodyHeight}px`, frozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`, frozenHeaderDomContainer.style.width = `${frozenColsWidth}px`, frozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`, frozenHeaderDomContainer.style.top = `${table.tableY}px`, rightFrozenBodyDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenBodyDomContainer.style.height = `${bodyHeight}px`, rightFrozenBodyDomContainer.style.top = `${table.tableY + frozenRowsHeight}px`, rightFrozenBodyDomContainer.style.left = table.tableX + tableNoFrameWidth - rightFrozenColsWidth + "px", rightFrozenHeaderDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenHeaderDomContainer.style.height = `${frozenRowsHeight}px`, rightFrozenHeaderDomContainer.style.top = `${table.tableY}px`, rightFrozenHeaderDomContainer.style.left = table.tableX + tableNoFrameWidth - rightFrozenColsWidth + "px", bottomDomContainer.style.width = `${bodyWidth}px`, bottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`, bottomDomContainer.style.top = table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight + "px", frozenBottomDomContainer.style.width = `${frozenColsWidth}px`, frozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`, frozenBottomDomContainer.style.top = table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight + "px", rightFrozenBottomDomContainer.style.width = `${rightFrozenColsWidth}px`, rightFrozenBottomDomContainer.style.height = `${bottomFrozenRowsHeight}px`, rightFrozenBottomDomContainer.style.top = table.tableY + tableNoFrameHeight - bottomFrozenRowsHeight + "px", rightFrozenBottomDomContainer.style.left = table.tableX + tableNoFrameWidth - rightFrozenColsWidth + "px";
39894
39995
  }
39895
39996
  function updateReactComponentContainer(scene) {
39896
39997
  if (!scene.table.reactCustomLayout) return;
@@ -41645,10 +41746,23 @@
41645
41746
  }
41646
41747
  currentRange.end.col = col;
41647
41748
  }
41648
- } else currentRange.end = {
41649
- col: col,
41650
- row: row
41651
- }, skipBodyMerge && (currentRange.skipBodyMerge = !0);
41749
+ } else {
41750
+ currentRange.end = {
41751
+ col: col,
41752
+ row: row
41753
+ };
41754
+ const cellRange = skipBodyMerge ? {
41755
+ start: {
41756
+ col: col,
41757
+ row: row
41758
+ },
41759
+ end: {
41760
+ col: col,
41761
+ row: row
41762
+ }
41763
+ } : table.getCellRange(col, row);
41764
+ currentRange.start.col < cellRange.end.col ? currentRange.end.col = cellRange.end.col : currentRange.start.col > cellRange.start.col && (currentRange.end.col = cellRange.start.col), currentRange.start.row < cellRange.end.row ? currentRange.end.row = cellRange.end.row : currentRange.start.row > cellRange.start.row && (currentRange.end.row = cellRange.start.row), skipBodyMerge && (currentRange.skipBodyMerge = !0);
41765
+ }
41652
41766
  scenegraph.updateCellSelectBorder(currentRange, extendSelectRange);
41653
41767
  }
41654
41768
  }
@@ -41939,8 +42053,9 @@
41939
42053
  } else state.updateCursor("not-allowed"), state.columnMove.colTarget = state.columnMove.colSource, state.columnMove.rowTarget = state.columnMove.rowSource;
41940
42054
  }
41941
42055
  function endMoveCol(state) {
42056
+ var _a, _b;
41942
42057
  let moveColResult = !1;
41943
- if ("canMoveHeaderPosition" in state.table.internalProps.layoutMap && state.columnMove.moving && state.columnMove.colSource >= 0 && state.columnMove.rowSource >= 0 && state.columnMove.colTarget >= 0 && state.columnMove.rowTarget >= 0) {
42058
+ if ("canMoveHeaderPosition" in state.table.internalProps.layoutMap && state.columnMove.moving && state.columnMove.colSource >= 0 && state.columnMove.rowSource >= 0 && state.columnMove.colTarget >= 0 && state.columnMove.rowTarget >= 0 && !0 !== (null === (_a = state.table.options.customConfig) || void 0 === _a ? void 0 : _a.notUpdateInColumnRowMove)) {
41944
42059
  const oldSourceMergeInfo = state.table.getCellRange(state.columnMove.colSource, state.columnMove.rowSource),
41945
42060
  oldTargetMergeInfo = state.table.getCellRange(state.columnMove.colTarget, state.columnMove.rowTarget),
41946
42061
  moveContext = state.table._moveHeaderPosition({
@@ -41964,7 +42079,7 @@
41964
42079
  }
41965
42080
  return setTimeout(() => {
41966
42081
  state.columnMove.moving = !1, delete state.columnMove.colSource, delete state.columnMove.rowSource, delete state.columnMove.colTarget, delete state.columnMove.rowTarget;
41967
- }, 0), state.table.scenegraph.component.hideMoveCol(), state.columnResize.col < state.table.frozenColCount && !state.table.isPivotTable() && !state.table.transpose ? (state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1, state.columnResize.isRightFrozen), state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount)) : state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount && !state.table.isPivotTable() && !state.table.transpose ? state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount) : state.table.options.frozenColCount ? state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1) : state.table.options.rightFrozenColCount && state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount), state.table.scenegraph.updateNextFrame(), moveColResult;
42082
+ }, 0), state.table.scenegraph.component.hideMoveCol(), state.columnResize.col < state.table.frozenColCount && !state.table.isPivotTable() && !state.table.transpose ? (state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1, state.columnResize.isRightFrozen), state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount)) : state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount && !state.table.isPivotTable() && !state.table.transpose ? state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount) : state.table.options.frozenColCount ? state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1) : state.table.options.rightFrozenColCount && state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount), state.table.scenegraph.updateNextFrame(), !0 === (null === (_b = state.table.options.customConfig) || void 0 === _b ? void 0 : _b.notUpdateInColumnRowMove) || moveColResult;
41968
42083
  }
41969
42084
  function clearWidthsAndHeightsCache(colMin, colMax, rowMin, rowMax, table) {
41970
42085
  for (let col = colMin; col <= colMax; col++) table._clearColRangeWidthsMap(col);
@@ -42316,8 +42431,8 @@
42316
42431
 
42317
42432
  let StateManager$1 = class StateManager {
42318
42433
  constructor(table) {
42319
- this.fastScrolling = !1, this.checkedState = [], this.headerCheckedState = {}, this._checkboxCellTypeFields = [], this._headerCheckFuncs = {}, this.radioState = {}, this.resetInteractionState = debounce$1(() => {
42320
- this.updateInteractionState(InteractionState.default);
42434
+ this.fastScrolling = !1, this.checkedState = [], this.headerCheckedState = {}, this._checkboxCellTypeFields = [], this._headerCheckFuncs = {}, this.radioState = {}, this.resetInteractionState = debounce$1(state => {
42435
+ this.updateInteractionState(null != state ? state : InteractionState.default);
42321
42436
  }, 100), this.table = table, this.initState(), this.updateVerticalScrollBar = this.updateVerticalScrollBar.bind(this), this.updateHorizontalScrollBar = this.updateHorizontalScrollBar.bind(this);
42322
42437
  }
42323
42438
  initState() {
@@ -42503,6 +42618,7 @@
42503
42618
  }
42504
42619
  updateInteractionState(mode) {
42505
42620
  if (this.interactionState === mode) return;
42621
+ mode === InteractionState.scrolling && (this.interactionStateBeforeScroll = this.interactionState);
42506
42622
  const oldState = this.interactionState;
42507
42623
  this.interactionState = mode, oldState === InteractionState.scrolling && InteractionState.default;
42508
42624
  }
@@ -42627,8 +42743,14 @@
42627
42743
  direction: this.fillHandle.direction
42628
42744
  }), this.fillHandle.beforeFillMaxCol = void 0, this.fillHandle.beforeFillMaxRow = void 0, this.fillHandle.beforeFillMinCol = void 0, this.fillHandle.beforeFillMinRow = void 0;
42629
42745
  }
42630
- startMoveCol(col, row, x, y) {
42631
- startMoveCol(col, row, x, y, this);
42746
+ startMoveCol(col, row, x, y, event) {
42747
+ startMoveCol(col, row, x, y, this), this.table.fireListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION_START, {
42748
+ col: col,
42749
+ row: row,
42750
+ x: x,
42751
+ y: y,
42752
+ event: event
42753
+ });
42632
42754
  }
42633
42755
  updateMoveCol(col, row, x, y) {
42634
42756
  updateMoveCol(col, row, x, y, this);
@@ -43100,7 +43222,7 @@
43100
43222
  horizontal: 1,
43101
43223
  vertical: 1
43102
43224
  });
43103
- (optimizedDeltaX || optimizedDeltaY) && state.interactionState !== InteractionState.scrolling && state.updateInteractionState(InteractionState.scrolling), optimizedDeltaX && (state.setScrollLeft(state.scroll.horizontalBarPos + optimizedDeltaX, event), state.showHorizontalScrollBar(!0)), optimizedDeltaY && (state.setScrollTop(state.scroll.verticalBarPos + optimizedDeltaY, event), state.showVerticalScrollBar(!0)), isWheelEvent && state.resetInteractionState(), (null === (_a = event.nativeEvent) || void 0 === _a ? void 0 : _a.cancelable) && ("none" === state.table.internalProps.overscrollBehavior || Math.abs(deltaY) >= Math.abs(deltaX) && 0 !== deltaY && isVerticalScrollable(deltaY, state) || Math.abs(deltaY) <= Math.abs(deltaX) && 0 !== deltaX && isHorizontalScrollable(deltaX, state)) && event.nativeEvent.preventDefault();
43225
+ (optimizedDeltaX || optimizedDeltaY) && state.interactionState !== InteractionState.scrolling && state.updateInteractionState(InteractionState.scrolling), optimizedDeltaX && (state.setScrollLeft(state.scroll.horizontalBarPos + optimizedDeltaX, event), state.showHorizontalScrollBar(!0)), optimizedDeltaY && (state.setScrollTop(state.scroll.verticalBarPos + optimizedDeltaY, event), state.showVerticalScrollBar(!0)), isWheelEvent && state.resetInteractionState(state.interactionStateBeforeScroll), (null === (_a = event.nativeEvent) || void 0 === _a ? void 0 : _a.cancelable) && ("none" === state.table.internalProps.overscrollBehavior || Math.abs(deltaY) >= Math.abs(deltaX) && 0 !== deltaY && isVerticalScrollable(deltaY, state) || Math.abs(deltaY) <= Math.abs(deltaX) && 0 !== deltaX && isHorizontalScrollable(deltaX, state)) && event.nativeEvent.preventDefault();
43104
43226
  }
43105
43227
  function optimizeScrollXY(x, y, ratio) {
43106
43228
  var _a, _b;
@@ -43167,7 +43289,7 @@
43167
43289
  const table = eventManager.table,
43168
43290
  stateManager = table.stateManager;
43169
43291
  table.scenegraph.tableGroup.addEventListener("pointermove", e => {
43170
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
43292
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
43171
43293
  const lastX = null !== (_b = null === (_a = table.eventManager.LastPointerXY) || void 0 === _a ? void 0 : _a.x) && void 0 !== _b ? _b : e.x,
43172
43294
  lastY = null !== (_d = null === (_c = table.eventManager.LastPointerXY) || void 0 === _c ? void 0 : _c.y) && void 0 !== _d ? _d : e.y;
43173
43295
  table.eventManager.LastPointerXY = {
@@ -43175,8 +43297,16 @@
43175
43297
  y: e.y
43176
43298
  }, eventManager.touchSetTimeout && (clearTimeout(eventManager.touchSetTimeout), eventManager.touchSetTimeout = void 0);
43177
43299
  const eventArgsSet = getCellEventArgsSet(e);
43178
- if (stateManager.interactionState === InteractionState.grabing && !(null === (_e = table.editorManager) || void 0 === _e ? void 0 : _e.editingEditor)) return void (Math.abs(lastX - e.x) + Math.abs(lastY - e.y) >= 1 && (stateManager.isResizeCol() || (stateManager.isMoveCol() ? eventManager.dealColumnMover(eventArgsSet) : stateManager.isFillHandle() ? eventManager.dealFillSelect(eventArgsSet, !0) : (null === (_f = table.options.select) || void 0 === _f ? void 0 : _f.disableDragSelect) || eventManager.dealTableSelect(eventArgsSet, !0))));
43179
- !(null === (_g = table.options.select) || void 0 === _g ? void 0 : _g.disableDragSelect) && table.eventManager.isDraging && stateManager.isSelecting() && !(null === (_h = table.editorManager) || void 0 === _h ? void 0 : _h.editingEditor) && eventManager.dealTableSelect(eventArgsSet, !0);
43300
+ if (eventArgsSet.eventArgs && table.hasListeners(TABLE_EVENT_TYPE.MOUSEMOVE_TABLE) && table.fireListeners(TABLE_EVENT_TYPE.MOUSEMOVE_TABLE, {
43301
+ col: eventArgsSet.eventArgs.col,
43302
+ row: eventArgsSet.eventArgs.row,
43303
+ x: eventArgsSet.abstractPos.x,
43304
+ y: eventArgsSet.abstractPos.y,
43305
+ event: e.nativeEvent,
43306
+ target: null === (_e = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.target,
43307
+ mergeCellInfo: null === (_f = eventArgsSet.eventArgs) || void 0 === _f ? void 0 : _f.mergeInfo
43308
+ }), stateManager.interactionState === InteractionState.grabing && !(null === (_g = table.editorManager) || void 0 === _g ? void 0 : _g.editingEditor)) return void (Math.abs(lastX - e.x) + Math.abs(lastY - e.y) >= 1 && (stateManager.isResizeCol() || (stateManager.isMoveCol() ? eventManager.dealColumnMover(eventArgsSet) : stateManager.isFillHandle() ? eventManager.dealFillSelect(eventArgsSet, !0) : (null === (_h = table.options.select) || void 0 === _h ? void 0 : _h.disableDragSelect) || eventManager.dealTableSelect(eventArgsSet, !0))));
43309
+ !(null === (_j = table.options.select) || void 0 === _j ? void 0 : _j.disableDragSelect) && table.eventManager.isDraging && stateManager.isSelecting() && !(null === (_k = table.editorManager) || void 0 === _k ? void 0 : _k.editingEditor) && eventManager.dealTableSelect(eventArgsSet, !0);
43180
43310
  const cellGoup = e.path.find(node => "cell" === node.role);
43181
43311
  if (table.hasListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL) && (-1 === table.stateManager.hover.cellPos.col || -1 === table.stateManager.hover.cellPos.row || (null == cellGoup ? void 0 : cellGoup.col) === table.stateManager.hover.cellPos.col && (null == cellGoup ? void 0 : cellGoup.row) === table.stateManager.hover.cellPos.row || table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, {
43182
43312
  col: table.stateManager.hover.cellPos.col,
@@ -43187,8 +43317,8 @@
43187
43317
  }),
43188
43318
  scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
43189
43319
  event: e.nativeEvent,
43190
- target: null === (_j = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _j ? void 0 : _j.target
43191
- })), table.hasListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL) && ("cell" !== (null == cellGoup ? void 0 : cellGoup.role) || !isValid$1(cellGoup.col) || !isValid$1(cellGoup.row) || cellGoup.col === table.stateManager.hover.cellPos.col && cellGoup.row === table.stateManager.hover.cellPos.row || cellGoup.col === (null === (_k = table.stateManager.hover.cellPosContainHeader) || void 0 === _k ? void 0 : _k.col) && cellGoup.row === (null === (_l = table.stateManager.hover.cellPosContainHeader) || void 0 === _l ? void 0 : _l.row) || table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {
43320
+ target: null === (_l = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _l ? void 0 : _l.target
43321
+ })), table.hasListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL) && ("cell" !== (null == cellGoup ? void 0 : cellGoup.role) || !isValid$1(cellGoup.col) || !isValid$1(cellGoup.row) || cellGoup.col === table.stateManager.hover.cellPos.col && cellGoup.row === table.stateManager.hover.cellPos.row || cellGoup.col === (null === (_m = table.stateManager.hover.cellPosContainHeader) || void 0 === _m ? void 0 : _m.col) && cellGoup.row === (null === (_o = table.stateManager.hover.cellPosContainHeader) || void 0 === _o ? void 0 : _o.row) || table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {
43192
43322
  col: cellGoup.col,
43193
43323
  row: cellGoup.row,
43194
43324
  cellRange: table.getCellRangeRelativeRect({
@@ -43197,12 +43327,12 @@
43197
43327
  }),
43198
43328
  scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
43199
43329
  event: e.nativeEvent,
43200
- target: null === (_m = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _m ? void 0 : _m.target,
43201
- mergeCellInfo: null === (_o = eventArgsSet.eventArgs) || void 0 === _o ? void 0 : _o.mergeInfo
43330
+ target: null === (_p = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _p ? void 0 : _p.target,
43331
+ mergeCellInfo: null === (_q = eventArgsSet.eventArgs) || void 0 === _q ? void 0 : _q.mergeInfo
43202
43332
  })), eventManager.dealIconHover(eventArgsSet), eventManager.dealTableHover(eventArgsSet), eventArgsSet.eventArgs && table.hasListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {
43203
43333
  let icon, position;
43204
- if (null === (_p = eventArgsSet.eventArgs) || void 0 === _p ? void 0 : _p.target) {
43205
- const iconInfo = getIconAndPositionFromTarget(null === (_q = eventArgsSet.eventArgs) || void 0 === _q ? void 0 : _q.target);
43334
+ if (null === (_r = eventArgsSet.eventArgs) || void 0 === _r ? void 0 : _r.target) {
43335
+ const iconInfo = getIconAndPositionFromTarget(null === (_s = eventArgsSet.eventArgs) || void 0 === _s ? void 0 : _s.target);
43206
43336
  iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
43207
43337
  }
43208
43338
  table.fireListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {
@@ -43216,8 +43346,8 @@
43216
43346
  position: position,
43217
43347
  funcType: icon.attribute.funcType
43218
43348
  } : void 0,
43219
- target: null === (_r = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _r ? void 0 : _r.target,
43220
- mergeCellInfo: null === (_s = eventArgsSet.eventArgs) || void 0 === _s ? void 0 : _s.mergeInfo
43349
+ target: null === (_t = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _t ? void 0 : _t.target,
43350
+ mergeCellInfo: null === (_u = eventArgsSet.eventArgs) || void 0 === _u ? void 0 : _u.mergeInfo
43221
43351
  });
43222
43352
  }
43223
43353
  }), table.scenegraph.tableGroup.addEventListener("pointerout", e => {
@@ -43289,7 +43419,8 @@
43289
43419
  source: {
43290
43420
  col: table.stateManager.columnMove.colSource,
43291
43421
  row: table.stateManager.columnMove.rowSource
43292
- }
43422
+ },
43423
+ event: e.nativeEvent
43293
43424
  });
43294
43425
  } else if (stateManager.isSelecting() && (null === (_h = null === (_g = table.stateManager.select) || void 0 === _g ? void 0 : _g.ranges) || void 0 === _h ? void 0 : _h.length)) {
43295
43426
  const lastCol = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].end.col,
@@ -43308,24 +43439,38 @@
43308
43439
  }
43309
43440
  });
43310
43441
  const globalPointerupCallback = e => {
43311
- var _a;
43312
- const target = e.target;
43313
- if (!table.getElement().contains(target)) {
43314
- const isCompleteEdit = null === (_a = table.editorManager) || void 0 === _a ? void 0 : _a.completeEdit(e);
43315
- getPromiseValue(isCompleteEdit, isCompleteEdit => {
43316
- var _a, _b;
43317
- if (!1 !== isCompleteEdit && (stateManager.updateInteractionState(InteractionState.default), eventManager.dealTableHover(), null === (_a = table.options.select) || void 0 === _a ? void 0 : _a.outsideClickDeselect)) {
43318
- const isHasSelected = !!(null === (_b = stateManager.select.ranges) || void 0 === _b ? void 0 : _b.length);
43319
- eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected);
43320
- }
43321
- });
43322
- }
43323
- };
43442
+ var _a;
43443
+ const target = e.target;
43444
+ if (!table.getElement().contains(target)) {
43445
+ const isCompleteEdit = null === (_a = table.editorManager) || void 0 === _a ? void 0 : _a.completeEdit(e);
43446
+ getPromiseValue(isCompleteEdit, isCompleteEdit => {
43447
+ !1 !== isCompleteEdit && (stateManager.updateInteractionState(InteractionState.default), eventManager.dealTableHover());
43448
+ });
43449
+ }
43450
+ },
43451
+ globalPointerdownCallback = e => {
43452
+ var _a;
43453
+ const target = e.target;
43454
+ if (!table.getElement().contains(target)) {
43455
+ const isCompleteEdit = null === (_a = table.editorManager) || void 0 === _a ? void 0 : _a.completeEdit(e);
43456
+ getPromiseValue(isCompleteEdit, isCompleteEdit => {
43457
+ var _a, _b;
43458
+ if (!1 !== isCompleteEdit && (null === (_a = table.options.select) || void 0 === _a ? void 0 : _a.outsideClickDeselect)) {
43459
+ const isHasSelected = !!(null === (_b = stateManager.select.ranges) || void 0 === _b ? void 0 : _b.length);
43460
+ eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected);
43461
+ }
43462
+ });
43463
+ }
43464
+ };
43324
43465
  eventManager.globalEventListeners.push({
43325
43466
  name: "pointerup",
43326
43467
  env: "document",
43327
43468
  callback: globalPointerupCallback
43328
- }), vglobal.addEventListener("pointerup", globalPointerupCallback), table.scenegraph.tableGroup.addEventListener("pointerdown", e => {
43469
+ }), eventManager.globalEventListeners.push({
43470
+ name: "pointerdown",
43471
+ env: "document",
43472
+ callback: globalPointerdownCallback
43473
+ }), vglobal.addEventListener("pointerup", globalPointerupCallback), vglobal.addEventListener("pointerdown", globalPointerdownCallback), table.scenegraph.tableGroup.addEventListener("pointerdown", e => {
43329
43474
  var _a, _b, _c, _d, _e;
43330
43475
  if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
43331
43476
  event: e.nativeEvent
@@ -43341,10 +43486,10 @@
43341
43486
  if (table.isPivotChart() && "chart" !== (null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target.type) && table.scenegraph.updateChartState(null), (null === (_b = eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target) !== (null === (_c = stateManager.residentHoverIcon) || void 0 === _c ? void 0 : _c.icon) && stateManager.hideMenu(), "chart" === (null === (_d = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _d ? void 0 : _d.target.type)) return;
43342
43487
  const isCompleteEdit = null === (_e = table.editorManager) || void 0 === _e ? void 0 : _e.completeEdit(e.nativeEvent);
43343
43488
  getPromiseValue(isCompleteEdit, isCompleteEdit => {
43344
- var _a, _b, _c, _d, _e;
43489
+ var _a, _b, _c, _d, _e, _f, _g;
43345
43490
  if (!1 === isCompleteEdit) return;
43346
43491
  const hitIcon = (null === (_c = null === (_b = null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) || void 0 === _b ? void 0 : _b.role) || void 0 === _c ? void 0 : _c.startsWith("icon")) ? eventArgsSet.eventArgs.target : (null === (_d = e.target.role) || void 0 === _d ? void 0 : _d.startsWith("icon")) ? e.target : void 0;
43347
- if (eventManager.downIcon = hitIcon, hitIcon && !1 !== hitIcon.attribute.interactive) hitIcon.attribute.funcType === IconFuncTypeEnum.dragReorder && (stateManager.startMoveCol(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y), stateManager.updateInteractionState(InteractionState.grabing));else if ("touch" === e.pointerType) eventManager.touchEnd = !1, eventManager.touchSetTimeout = setTimeout(() => {
43492
+ if (eventManager.downIcon = hitIcon, hitIcon && !1 !== hitIcon.attribute.interactive) hitIcon.attribute.funcType === IconFuncTypeEnum.dragReorder && (stateManager.startMoveCol(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, null === (_f = null === (_e = eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.event) || void 0 === _f ? void 0 : _f.nativeEvent), stateManager.updateInteractionState(InteractionState.grabing));else if ("touch" === e.pointerType) eventManager.touchEnd = !1, eventManager.touchSetTimeout = setTimeout(() => {
43348
43493
  eventManager.isTouchdown = !1, eventManager.touchMove = !0, (eventManager.touchEnd || !eventManager.checkColumnResize(eventArgsSet, !0) && !eventManager.checkRowResize(eventArgsSet, !0)) && (eventManager.touchEnd || !eventManager.chechColumnMover(eventArgsSet)) ? eventManager.dealTableSelect(eventArgsSet) && !eventManager.touchEnd && stateManager.updateInteractionState(InteractionState.grabing) : stateManager.updateInteractionState(InteractionState.grabing);
43349
43494
  }, 500), eventManager.dealTableHover(eventArgsSet);else {
43350
43495
  if (!eventManager.checkCellFillhandle(eventArgsSet) && (eventManager.checkColumnResize(eventArgsSet, !0) || eventManager.checkRowResize(eventArgsSet, !0))) return table.scenegraph.updateChartState(null), void stateManager.updateInteractionState(InteractionState.grabing);
@@ -43358,7 +43503,7 @@
43358
43503
  col: eventArgsSet.eventArgs.col,
43359
43504
  row: eventArgsSet.eventArgs.row,
43360
43505
  event: e.nativeEvent,
43361
- target: null === (_e = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.target,
43506
+ target: null === (_g = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _g ? void 0 : _g.target,
43362
43507
  mergeCellInfo: eventArgsSet.eventArgs.mergeInfo
43363
43508
  });
43364
43509
  }
@@ -43377,7 +43522,8 @@
43377
43522
  source: {
43378
43523
  col: table.stateManager.columnMove.colSource,
43379
43524
  row: table.stateManager.columnMove.rowSource
43380
- }
43525
+ },
43526
+ event: e.nativeEvent
43381
43527
  });
43382
43528
  } else if (stateManager.isSelecting()) {
43383
43529
  table.stateManager.endSelectCells(), table.stateManager.isFillHandle() && table.stateManager.endFillSelect();
@@ -44000,7 +44146,7 @@
44000
44146
  top = !1,
44001
44147
  right = !1,
44002
44148
  left = !1;
44003
- y > drawRange.bottom - bottomFrozenRowHeight && canScrollY && table.scrollTop + table.tableNoFrameWidth < table.getAllRowsHeight() ? (bottom = !0, table.eventManager.scrollYSpeed = -(y - drawRange.bottom + bottomFrozenRowHeight) / 50) : y < drawRange.top + topFrozenRowHeight && canScrollY && table.scrollTop > 0 && (top = !0, table.eventManager.scrollYSpeed = -(y - drawRange.top - topFrozenRowHeight) / 50), x > drawRange.right - rightFrozenColsWidth && canScrollX && table.scrollLeft + table.tableNoFrameWidth < table.getAllColsWidth() ? (right = !0, table.eventManager.scrollXSpeed = -(x - drawRange.right + rightFrozenColsWidth) / 50) : x < drawRange.left + leftFrozenColsWidth && canScrollX && table.scrollLeft > 0 && (left = !0, table.eventManager.scrollXSpeed = -(x - drawRange.left - leftFrozenColsWidth) / 50), table.eventManager.inertiaScroll.startInertia(table.eventManager.scrollXSpeed, table.eventManager.scrollYSpeed, 1), table.eventManager.inertiaScroll.setScrollHandle((dx, dy) => {
44149
+ y > drawRange.bottom - bottomFrozenRowHeight && canScrollY && table.scrollTop + table.tableNoFrameHeight < table.getAllRowsHeight() ? (bottom = !0, table.eventManager.scrollYSpeed = -(y - drawRange.bottom + bottomFrozenRowHeight) / 50) : y < drawRange.top + topFrozenRowHeight && canScrollY && table.scrollTop > 0 && (top = !0, table.eventManager.scrollYSpeed = -(y - drawRange.top - topFrozenRowHeight) / 50), x > drawRange.right - rightFrozenColsWidth && canScrollX && table.scrollLeft + table.tableNoFrameWidth < table.getAllColsWidth() ? (right = !0, table.eventManager.scrollXSpeed = -(x - drawRange.right + rightFrozenColsWidth) / 50) : x < drawRange.left + leftFrozenColsWidth && canScrollX && table.scrollLeft > 0 && (left = !0, table.eventManager.scrollXSpeed = -(x - drawRange.left - leftFrozenColsWidth) / 50), table.eventManager.inertiaScroll.startInertia(table.eventManager.scrollXSpeed, table.eventManager.scrollYSpeed, 1), table.eventManager.inertiaScroll.setScrollHandle((dx, dy) => {
44004
44150
  let selectX, selectY;
44005
44151
  handleWhell({
44006
44152
  deltaX: -dx,
@@ -44310,11 +44456,11 @@
44310
44456
  this.table.stateManager.updateResizeRow(xInTable, yInTable);
44311
44457
  }
44312
44458
  chechColumnMover(eventArgsSet) {
44313
- var _a, _b;
44459
+ var _a, _b, _c;
44314
44460
  const {
44315
44461
  eventArgs: eventArgs
44316
44462
  } = eventArgsSet;
44317
- return !!(eventArgs && this.table.isHeader(eventArgs.col, eventArgs.row) && (checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManager.select.ranges) || (null === (_a = this.table.options.select) || void 0 === _a ? void 0 : _a.disableHeaderSelect) || (null === (_b = this.table.options.select) || void 0 === _b ? void 0 : _b.disableSelect)) && this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)) && (this.table.stateManager.startMoveCol(eventArgs.col, eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y), !0);
44463
+ return !!(eventArgs && this.table.isHeader(eventArgs.col, eventArgs.row) && (checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManager.select.ranges) || (null === (_a = this.table.options.select) || void 0 === _a ? void 0 : _a.disableHeaderSelect) || (null === (_b = this.table.options.select) || void 0 === _b ? void 0 : _b.disableSelect)) && this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)) && (this.table.stateManager.startMoveCol(eventArgs.col, eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, null === (_c = null == eventArgs ? void 0 : eventArgs.event) || void 0 === _c ? void 0 : _c.nativeEvent), !0);
44318
44464
  }
44319
44465
  dealColumnMover(eventArgsSet) {
44320
44466
  const {
@@ -46736,7 +46882,7 @@
46736
46882
  constructor(container) {
46737
46883
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
46738
46884
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
46739
- if (super(), this.showFrozenIcon = !0, this.version = "1.8.3-alpha.0", this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200), !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
46885
+ if (super(), this.showFrozenIcon = !0, this.version = "1.8.3", this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200), !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
46740
46886
  const {
46741
46887
  frozenColCount = 0,
46742
46888
  frozenRowCount: frozenRowCount,
@@ -49257,7 +49403,11 @@
49257
49403
  return !1;
49258
49404
  }
49259
49405
  isSeriesNumber(col, row) {
49260
- return this.leftRowSeriesNumberColumnCount > 0 && col >= 0 && row >= 0 && col < this.leftRowSeriesNumberColumnCount || this.rightRowSeriesNumberColumnCount > 0 && row >= 0 && col >= this.colCount - this.rightRowSeriesNumberColumnCount;
49406
+ if (isValid$1(col) && isValid$1(row)) {
49407
+ if (this.leftRowSeriesNumberColumnCount > 0 && col >= 0 && row >= 0 && col < this.leftRowSeriesNumberColumnCount) return !0;
49408
+ if (this.rightRowSeriesNumberColumnCount > 0 && row >= 0 && col >= this.colCount - this.rightRowSeriesNumberColumnCount) return !0;
49409
+ }
49410
+ return !1;
49261
49411
  }
49262
49412
  getSeriesNumberHeader(col, row) {
49263
49413
  if (this.leftRowSeriesNumberColumnCount > 0 && col >= 0 && col < this.leftRowSeriesNumberColumnCount) {
@@ -50488,11 +50638,12 @@
50488
50638
  return this.dataSource.records.length;
50489
50639
  }
50490
50640
  updateColumns(columns) {
50641
+ var _a, _b, _c, _d;
50491
50642
  const oldHoverState = {
50492
50643
  col: this.stateManager.hover.cellPos.col,
50493
50644
  row: this.stateManager.hover.cellPos.row
50494
50645
  };
50495
- this.internalProps.columns = cloneDeepSpec(columns, ["children"]), generateAggregationForColumn(this), this.options.columns = columns, this.internalProps.headerHelper.setTableColumnsEditor(), this._hasAutoImageColumn = void 0, this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.clearCells(), this.headerStyleCache = new Map(), this.bodyStyleCache = new Map(), this.bodyBottomStyleCache = new Map(), this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row), this.renderAsync(), this.eventManager.updateEventBinder();
50646
+ this.internalProps.columns = cloneDeepSpec(columns, ["children"]), generateAggregationForColumn(this), this.options.columns = columns, this.internalProps.headerHelper.setTableColumnsEditor(), this._hasAutoImageColumn = void 0, this.refreshHeader(), null === (_b = (_a = this.dataSource).updateColumns) || void 0 === _b || _b.call(_a, this.internalProps.columns), this.records && checkHasAggregationOnColumnDefine(columns) && this.dataSource.processRecords(null !== (_d = null === (_c = this.dataSource.dataSourceObj) || void 0 === _c ? void 0 : _c.records) && void 0 !== _d ? _d : this.dataSource.dataSourceObj), this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.clearCells(), this.headerStyleCache = new Map(), this.bodyStyleCache = new Map(), this.bodyBottomStyleCache = new Map(), this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row), this.renderAsync(), this.eventManager.updateEventBinder();
50496
50647
  }
50497
50648
  get columns() {
50498
50649
  return this.internalProps.layoutMap.columnTree.getCopiedTree();
@@ -52781,13 +52932,16 @@
52781
52932
  }), "left" === this.orient ? (this.table.tableNoFrameWidth = this.table.tableNoFrameWidth - Math.ceil(width), this.table.tableX += Math.ceil(width)) : "top" === this.orient ? (this.table.tableNoFrameHeight = this.table.tableNoFrameHeight - Math.ceil(height), this.table.tableY += Math.ceil(height)) : "right" === this.orient ? this.table.tableNoFrameWidth = this.table.tableNoFrameWidth - Math.ceil(width) : "bottom" === this.orient && (this.table.tableNoFrameHeight = this.table.tableNoFrameHeight - Math.ceil(height));
52782
52933
  }
52783
52934
  getLegendAttributes(rect) {
52784
- const layout = "bottom" === this.orient || "top" === this.orient ? "horizontal" : "vertical";
52935
+ var _a, _b;
52936
+ const layout = "bottom" === this.orient || "top" === this.orient ? "horizontal" : "vertical",
52937
+ legendAttrs = getLegendAttributes(this.option, rect),
52938
+ padding = getQuadProps(null !== (_b = null !== (_a = legendAttrs.padding) && void 0 !== _a ? _a : this.option.padding) && void 0 !== _b ? _b : 10);
52785
52939
  return Object.assign({
52786
52940
  layout: layout,
52787
52941
  items: this.getLegendItems(),
52788
- maxWidth: rect.width,
52789
- maxHeight: rect.height
52790
- }, getLegendAttributes(this.option, rect));
52942
+ maxWidth: rect.width - padding[1] - padding[3],
52943
+ maxHeight: rect.height - padding[0] - padding[2]
52944
+ }, legendAttrs);
52791
52945
  }
52792
52946
  getLegendItems() {
52793
52947
  return this.option.data;
@@ -57055,7 +57209,7 @@
57055
57209
  themes: themes$1
57056
57210
  });
57057
57211
 
57058
- const version = "1.8.3-alpha.0";
57212
+ const version = "1.8.3";
57059
57213
 
57060
57214
  exports.Gantt = Gantt;
57061
57215
  exports.TYPES = index$2;