@visactor/vtable-gantt 1.7.5-alpha.0 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19758,7 +19758,7 @@
19758
19758
 
19759
19759
  let registed = !1;
19760
19760
  function registerForVrender() {
19761
- registed || (registed = !0, preLoadAllModule(), isBrowserEnv() ? loadBrowserEnv(container) : isNodeEnv() && loadNodeEnv(container), registerArc(), registerCircle(), registerGroup(), registerImage(), registerLine(), registerRect(), registerRichtext(), registerShadowRoot(), registerSymbol(), registerText(), registerFlexLayoutPlugin(), loadPoptip());
19761
+ registed || (registed = !0, preLoadAllModule(), isBrowserEnv() ? loadBrowserEnv(container) : isNodeEnv() && loadNodeEnv(container), registerArc(), registerCircle(), registerGroup(), registerImage(), registerLine(), registerRect(), registerRichtext(), registerShadowRoot(), registerSymbol(), registerText(), registerFlexLayoutPlugin(), loadPoptip(), registerFlexLayoutPlugin());
19762
19762
  }
19763
19763
 
19764
19764
  class Grid {
@@ -19808,22 +19808,25 @@
19808
19808
  });
19809
19809
  this.group.name = 'grid-container';
19810
19810
  scene.tableGroup.addChild(this.group);
19811
- const horizontalSplitLineWidth = scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth;
19811
+ this.createVerticalLines();
19812
+ this.createHorizontalLines();
19813
+ const horizontalSplitLineWidth = scene._gantt.parsedOptions.horizontalSplitLine?.lineWidth ??
19814
+ scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth;
19815
+ const bottomLineY = (horizontalSplitLineWidth & 1 ? -0.5 : 0) + horizontalSplitLineWidth / 2;
19812
19816
  const line = createLine({
19813
19817
  pickable: false,
19814
- stroke: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineColor,
19815
- lineWidth: horizontalSplitLineWidth,
19818
+ stroke: scene._gantt.parsedOptions.horizontalSplitLine?.lineColor ??
19819
+ scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineColor,
19820
+ lineWidth: horizontalSplitLineWidth + (horizontalSplitLineWidth & 1 ? 1 : 0),
19816
19821
  points: [
19817
- { x: 0, y: horizontalSplitLineWidth & 1 ? 0.5 : 0 },
19822
+ { x: 0, y: bottomLineY },
19818
19823
  {
19819
19824
  x: scene._gantt._getAllColsWidth(),
19820
- y: horizontalSplitLineWidth & 1 ? 0.5 : 0
19825
+ y: bottomLineY
19821
19826
  }
19822
19827
  ]
19823
19828
  });
19824
19829
  this.group.addChild(line);
19825
- this.createVerticalLines();
19826
- this.createHorizontalLines();
19827
19830
  }
19828
19831
  createVerticalLines() {
19829
19832
  if (this.vertical) {
@@ -20813,30 +20816,13 @@
20813
20816
  return Math.round(progress);
20814
20817
  }
20815
20818
  function createSplitLineAndResizeLine(gantt) {
20816
- if (gantt.parsedOptions.horizontalSplitLine) {
20817
- gantt.horizontalSplitLine = document.createElement('div');
20818
- gantt.horizontalSplitLine.style.position = 'absolute';
20819
- gantt.horizontalSplitLine.style.top = gantt.getAllHeaderRowsHeight() + 'px';
20820
- gantt.horizontalSplitLine.style.left = gantt.tableY + 'px';
20821
- gantt.horizontalSplitLine.style.height = (gantt.parsedOptions.horizontalSplitLine.lineWidth ?? 2) + 'px';
20822
- gantt.horizontalSplitLine.style.width =
20823
- gantt.tableNoFrameWidth +
20824
- (gantt.taskListTableInstance?.tableNoFrameWidth ?? 0) +
20825
- +(gantt.taskListTableInstance ? gantt.parsedOptions.verticalSplitLine.lineWidth : 0) +
20826
- 'px';
20827
- gantt.horizontalSplitLine.style.backgroundColor = gantt.parsedOptions.horizontalSplitLine.lineColor;
20828
- gantt.horizontalSplitLine.style.zIndex = '100';
20829
- gantt.horizontalSplitLine.style.userSelect = 'none';
20830
- gantt.horizontalSplitLine.style.opacity = '1';
20831
- gantt.container.appendChild(gantt.horizontalSplitLine);
20832
- }
20833
20819
  if (gantt.taskListTableInstance) {
20834
20820
  gantt.verticalSplitResizeLine = document.createElement('div');
20835
20821
  gantt.verticalSplitResizeLine.style.position = 'absolute';
20836
20822
  gantt.verticalSplitResizeLine.style.top = gantt.tableY + 'px';
20837
- gantt.verticalSplitResizeLine.style.left = gantt.taskTableWidth
20838
- ? `${gantt.taskTableWidth - 7 + gantt.parsedOptions.verticalSplitLine.lineWidth / 2}px`
20839
- : '0px';
20823
+ gantt.verticalSplitResizeLine.style.left =
20824
+ (gantt.taskTableWidth ? gantt.taskTableWidth - 7 + gantt.parsedOptions.verticalSplitLine.lineWidth / 2 : 0) +
20825
+ 'px';
20840
20826
  gantt.verticalSplitResizeLine.style.width = '14px';
20841
20827
  gantt.verticalSplitResizeLine.style.height = gantt.drawHeight + 'px';
20842
20828
  gantt.verticalSplitResizeLine.style.backgroundColor = 'rgba(0,0,0,0)';
@@ -20876,21 +20862,6 @@
20876
20862
  }
20877
20863
  }
20878
20864
  function updateSplitLineAndResizeLine(gantt) {
20879
- if (gantt.horizontalSplitLine) {
20880
- gantt.horizontalSplitLine.style.position = 'absolute';
20881
- gantt.horizontalSplitLine.style.top = gantt.getAllHeaderRowsHeight() + 'px';
20882
- gantt.horizontalSplitLine.style.left = gantt.tableY + 'px';
20883
- gantt.horizontalSplitLine.style.height = (gantt.parsedOptions.horizontalSplitLine.lineWidth ?? 2) + 'px';
20884
- gantt.horizontalSplitLine.style.width =
20885
- gantt.tableNoFrameWidth +
20886
- (gantt.taskListTableInstance?.tableNoFrameWidth ?? 0) +
20887
- (gantt.taskListTableInstance ? gantt.parsedOptions.verticalSplitLine.lineWidth : 0) +
20888
- 'px';
20889
- gantt.horizontalSplitLine.style.backgroundColor = gantt.parsedOptions.horizontalSplitLine.lineColor;
20890
- gantt.horizontalSplitLine.style.zIndex = '100';
20891
- gantt.horizontalSplitLine.style.userSelect = 'none';
20892
- gantt.horizontalSplitLine.style.opacity = '1';
20893
- }
20894
20865
  if (gantt.verticalSplitResizeLine) {
20895
20866
  gantt.verticalSplitResizeLine.style.position = 'absolute';
20896
20867
  gantt.verticalSplitResizeLine.style.top = gantt.tableY + 'px';
@@ -21493,12 +21464,10 @@
21493
21464
  }
21494
21465
  }
21495
21466
  resize() {
21496
- this._scene._gantt.parsedOptions.outerFrameStyle;
21467
+ const { cornerRadius, borderColor, borderLineWidth, borderLineDash } = this._scene._gantt.parsedOptions.outerFrameStyle;
21497
21468
  this.border.setAttributes({
21498
- width: this._scene.tableGroup.attribute.width +
21499
- this.border.attribute.lineWidth +
21500
- this._scene._gantt.parsedOptions.verticalSplitLine.lineWidth,
21501
- height: this._scene.tableGroup.attribute.height + this.border.attribute.lineWidth
21469
+ width: this._scene._gantt.tableNoFrameWidth + borderLineWidth,
21470
+ height: this._scene._gantt.tableNoFrameHeight + borderLineWidth
21502
21471
  });
21503
21472
  }
21504
21473
  }
@@ -22420,6 +22389,9 @@
22420
22389
  for (let i = 0; i < array.length; i++) -1 === result.indexOf(array[i]) && result.push(array[i]);
22421
22390
  return result;
22422
22391
  }
22392
+ function traverseObject(obj, childrenProperty, callback) {
22393
+ callback(obj), (null == obj ? void 0 : obj[childrenProperty]) && Array.isArray(null == obj ? void 0 : obj[childrenProperty]) && obj[childrenProperty].forEach(child => traverseObject(child, childrenProperty, callback));
22394
+ }
22423
22395
 
22424
22396
  const isNode = "undefined" == typeof window || void 0 === window.window;
22425
22397
  let arrayFind, arrayFindIndex;
@@ -22804,7 +22776,7 @@
22804
22776
  off(id) {
22805
22777
  var _a;
22806
22778
  if ("node" === Env.mode) return;
22807
- if (null == id) return;
22779
+ if (null === id) return;
22808
22780
  const obj = null === (_a = this.listeners) || void 0 === _a ? void 0 : _a[id];
22809
22781
  obj && (delete this.listeners[id], obj.target.removeEventListener && obj.target.removeEventListener(obj.type, obj.listener, ...obj.options));
22810
22782
  }
@@ -24455,7 +24427,7 @@
24455
24427
  }
24456
24428
  value() {
24457
24429
  var _a;
24458
- return (null === (_a = this.records) || void 0 === _a ? void 0 : _a.length) >= 1 ? this.sum : 0;
24430
+ return (null === (_a = this.records) || void 0 === _a ? void 0 : _a.length) >= 1 ? this.sum : void 0;
24459
24431
  }
24460
24432
  positiveValue() {
24461
24433
  return this.positiveSum;
@@ -24796,7 +24768,7 @@
24796
24768
  };
24797
24769
  }
24798
24770
  pushChildrenNode(indexKey, hierarchyState, nodeData) {
24799
- var _a;
24771
+ var _a, _b;
24800
24772
  if (!hierarchyState || hierarchyState === HierarchyState.collapse || hierarchyState === HierarchyState.none) return 0;
24801
24773
  let childrenLength = 0;
24802
24774
  const children = nodeData.filteredChildren ? nodeData.filteredChildren : nodeData.children;
@@ -24804,15 +24776,17 @@
24804
24776
  const subNodeSortedIndexArray = Array.from({
24805
24777
  length: children.length
24806
24778
  }, (_, i) => i);
24807
- this.lastOrder && "normal" !== this.lastOrder && this.lastOrderField && sort(index => isValid$1(subNodeSortedIndexArray[index]) ? subNodeSortedIndexArray[index] : subNodeSortedIndexArray[index] = index, (index, rel) => {
24808
- subNodeSortedIndexArray[index] = rel;
24809
- }, children.length, this.lastOrderFn, this.lastOrder, index => this.getOriginalField(Array.isArray(indexKey) ? indexKey.concat([index]) : [indexKey, index], this.lastOrderField));
24779
+ null === (_a = this.lastSortStates) || void 0 === _a || _a.forEach(state => {
24780
+ "normal" !== state.order && sort(index => isValid$1(subNodeSortedIndexArray[index]) ? subNodeSortedIndexArray[index] : subNodeSortedIndexArray[index] = index, (index, rel) => {
24781
+ subNodeSortedIndexArray[index] = rel;
24782
+ }, children.length, state.orderFn, state.order, index => this.getOriginalField(Array.isArray(indexKey) ? indexKey.concat([index]) : [indexKey, index], state.field));
24783
+ });
24810
24784
  for (let i = 0; i < subNodeSortedIndexArray.length; i++) {
24811
24785
  childrenLength += 1;
24812
24786
  const childIndex = Array.isArray(indexKey) ? indexKey.concat([subNodeSortedIndexArray[i]]) : [indexKey, subNodeSortedIndexArray[i]];
24813
24787
  this.currentIndexedData.splice(this.currentIndexedData.indexOf(indexKey) + childrenLength, 0, childIndex);
24814
24788
  const childData = this.getOriginalRecord(childIndex);
24815
- !childData.hierarchyState && (null !== (_a = childData.filteredChildren) && void 0 !== _a ? _a : childData.children) && (childData.hierarchyState = HierarchyState.collapse), childrenLength += this.pushChildrenNode(childIndex, childData.hierarchyState, children[subNodeSortedIndexArray[i]]);
24789
+ !childData.hierarchyState && (null !== (_b = childData.filteredChildren) && void 0 !== _b ? _b : childData.children) && (childData.hierarchyState = HierarchyState.collapse), childrenLength += this.pushChildrenNode(childIndex, childData.hierarchyState, children[subNodeSortedIndexArray[i]]);
24816
24790
  }
24817
24791
  }
24818
24792
  return childrenLength;
@@ -24938,30 +24912,48 @@
24938
24912
  }
24939
24913
  this.sortedIndexMap.clear();
24940
24914
  }
24941
- sort(field, order) {
24942
- let orderFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "desc" !== order ? (v1, v2) => v1 === v2 ? 0 : v1 > v2 ? 1 : -1 : (v1, v2) => v1 === v2 ? 0 : v1 < v2 ? 1 : -1;
24943
- this.lastOrderField = field, this.lastOrder = order, this.lastOrderFn = orderFn;
24944
- let orderedData,
24945
- filedMap = this.sortedIndexMap.get(field);
24946
- if (filedMap && (orderedData = filedMap[order], orderedData && orderedData.length > 0)) return this.currentIndexedData = orderedData, this.updatePagerData(), void this.fireListeners(EVENT_TYPE$1.CHANGE_ORDER, null);
24947
- const sortedIndexArray = [];
24948
- if ("normal" === order) for (let i = 0; i < this._sourceLength; i++) sortedIndexArray[i] = i;else sort(index => isValid$1(sortedIndexArray[index]) ? sortedIndexArray[index] : sortedIndexArray[index] = index, (index, rel) => {
24949
- sortedIndexArray[index] = rel;
24950
- }, this._sourceLength, orderFn, order, index => this.getOriginalField(index, field));
24951
- if (this.currentIndexedData = sortedIndexArray, this.hierarchyExpandLevel) {
24915
+ sort(states) {
24916
+ states = (Array.isArray(states) ? states : [states]).filter(state => {
24917
+ var _a;
24918
+ let column = this.layoutColumnObjects.find(obj => obj.field == state.field);
24919
+ return !1 !== (null === (_a = null == column ? void 0 : column.define) || void 0 === _a ? void 0 : _a.sort) && "normal" !== state.order;
24920
+ }), this.lastSortStates = states;
24921
+ let filedMapArray = states.map(state => this.sortedIndexMap.get(null == state ? void 0 : state.field) || {
24922
+ asc: [],
24923
+ desc: [],
24924
+ normal: []
24925
+ }),
24926
+ orderedData = null;
24927
+ if (filedMapArray.length > 0 && (orderedData = states.reduce((data, state, index) => {
24928
+ var _a;
24929
+ const currentData = null === (_a = filedMapArray[index]) || void 0 === _a ? void 0 : _a[state.order];
24930
+ return currentData && currentData.length > 0 ? currentData : data;
24931
+ }, null), orderedData && orderedData.length > 0)) return this.currentIndexedData = orderedData, this.updatePagerData(), void this.fireListeners(EVENT_TYPE$1.CHANGE_ORDER, null);
24932
+ const sortedIndexArray = Array.from({
24933
+ length: this._sourceLength
24934
+ }, (_, i) => i);
24935
+ if (sortedIndexArray.sort((indexA, indexB) => states.reduce((result, state) => {
24936
+ if (0 !== result) return result;
24937
+ return (state.orderFn || ("desc" !== state.order ? (v1, v2) => v1 === v2 ? 0 : v1 > v2 ? 1 : -1 : (v1, v2) => v1 === v2 ? 0 : v1 < v2 ? 1 : -1))(this.getOriginalField(indexA, state.field), this.getOriginalField(indexB, state.field), state.order);
24938
+ }, 0)), this.currentIndexedData = sortedIndexArray, this.hierarchyExpandLevel) {
24952
24939
  let nodeLength = sortedIndexArray.length;
24953
- window.performance.now();
24954
24940
  for (let i = 0; i < nodeLength; i++) {
24955
24941
  const record = this.getOriginalRecord(sortedIndexArray[i]),
24956
24942
  subNodeLength = this.pushChildrenNode(sortedIndexArray[i], record.hierarchyState, this.getOriginalRecord(sortedIndexArray[i]));
24957
24943
  nodeLength += subNodeLength, i += subNodeLength;
24958
24944
  }
24959
24945
  }
24960
- filedMap || (filedMap = {
24961
- asc: [],
24962
- desc: [],
24963
- normal: []
24964
- }, this.sortedIndexMap.set(field, filedMap)), filedMap[order] = sortedIndexArray, this.updatePagerData(), this.fireListeners(EVENT_TYPE$1.CHANGE_ORDER, null);
24946
+ if (!filedMapArray.length) {
24947
+ filedMapArray = states.map(() => ({
24948
+ asc: [],
24949
+ desc: [],
24950
+ normal: []
24951
+ }));
24952
+ for (let index = 0; index < states.length; index++) this.sortedIndexMap.set(states[index].field, filedMapArray[index]);
24953
+ }
24954
+ states.forEach((state, index) => {
24955
+ filedMapArray[index][state.order] = sortedIndexArray.slice();
24956
+ }), this.updatePagerData(), this.fireListeners(EVENT_TYPE$1.CHANGE_ORDER, null);
24965
24957
  }
24966
24958
  setSortedIndexMap(field, filedMap) {
24967
24959
  this.sortedIndexMap.set(field, filedMap);
@@ -25002,8 +24994,10 @@
25002
24994
  }, (_, i) => i), this.userPagination || (this.pagination.perPageCount = this._sourceLength, this.pagination.totalCount = this._sourceLength, "tree" === this.rowHierarchyType && this.initTreeHierarchyState()), this.updatePagerData();
25003
24995
  }
25004
24996
  clearSortedIndexMap() {
25005
- this.lastOrderField && this.lastOrder && this.sortedIndexMap.forEach((sortMap, key) => {
25006
- key !== this.lastOrderField ? this.sortedIndexMap.delete(key) : "asc" === this.lastOrder ? (sortMap.desc = [], sortMap.normal = []) : "desc" === this.lastOrder ? (sortMap.asc = [], sortMap.normal = []) : (sortMap.desc = [], sortMap.asc = []);
24997
+ this.lastSortStates && this.lastSortStates.length > 0 && this.sortedIndexMap.forEach((sortMap, key) => {
24998
+ this.lastSortStates.some(state => state.field === key) ? this.lastSortStates.forEach(state => {
24999
+ "asc" === state.order ? (sortMap.desc = [], sortMap.normal = []) : "desc" === state.order ? (sortMap.asc = [], sortMap.normal = []) : (sortMap.asc = [], sortMap.desc = []);
25000
+ }) : this.sortedIndexMap.delete(key);
25007
25001
  });
25008
25002
  }
25009
25003
  get sourceLength() {
@@ -25084,8 +25078,8 @@
25084
25078
  return !0;
25085
25079
  }
25086
25080
  reorderRecord(sourceIndex, targetIndex) {
25087
- var _a;
25088
- if ("asc" !== this.lastOrder && "desc" !== this.lastOrder && this.isCanExchangeOrder(sourceIndex, targetIndex)) if (this.hasHierarchyStateExpand) {
25081
+ var _a, _b;
25082
+ if (!(null === (_a = this.lastSortStates) || void 0 === _a ? void 0 : _a.some(state => "asc" === state.order || "desc" === state.order)) && this.isCanExchangeOrder(sourceIndex, targetIndex)) if (this.hasHierarchyStateExpand) {
25089
25083
  let sourceI,
25090
25084
  targetI,
25091
25085
  sourceIndexs = this.currentPagerIndexedData[sourceIndex],
@@ -25098,7 +25092,7 @@
25098
25092
  if (sourceI = sourceIndexs.splice(sourceIndexs.length - 1, 1)[0], targetI = targetIndexs.splice(targetIndexs.length - 1, 1)[0], sourceIndexs.length >= 1) {
25099
25093
  const parent = this.getOriginalRecord(sourceIndexs),
25100
25094
  sourceIds = parent.filteredChildren ? parent.filteredChildren.splice(sourceI, 1) : parent.children.splice(sourceI, 1);
25101
- sourceIds.unshift(targetI, 0), Array.prototype.splice.apply(null !== (_a = parent.filteredChildren) && void 0 !== _a ? _a : parent.children, sourceIds);
25095
+ sourceIds.unshift(targetI, 0), Array.prototype.splice.apply(null !== (_b = parent.filteredChildren) && void 0 !== _b ? _b : parent.children, sourceIds);
25102
25096
  } else {
25103
25097
  const sourceIds = this.records.splice(sourceI, 1);
25104
25098
  sourceIds.unshift(targetI, 0), Array.prototype.splice.apply(this.records, sourceIds);
@@ -25207,7 +25201,7 @@
25207
25201
  _setFieldCache(this._fieldCache, index, field, value);
25208
25202
  }
25209
25203
  recordPromiseCallBack(index, record) {
25210
- this._recordCache[index] = record;
25204
+ this._recordCache && (this._recordCache[index] = record);
25211
25205
  }
25212
25206
  get records() {
25213
25207
  return Array.isArray(this._recordCache) && this._recordCache.length > 0 ? this._recordCache : super.records;
@@ -25249,8 +25243,8 @@
25249
25243
  length: this.sourceLength
25250
25244
  }, (_, i) => i), this.userPagination || (this.pagination.perPageCount = this.sourceLength, this.pagination.totalCount = this.sourceLength), this.initTreeHierarchyState(), this.updatePagerData();
25251
25245
  }
25252
- addRecordsForGroup(recordArr) {
25253
- isArray$1(recordArr) && 0 !== recordArr.length && (this.dataSourceObj.records.push(...recordArr), this.updateGroup());
25246
+ addRecordsForGroup(recordArr, recordIndex) {
25247
+ isArray$1(recordArr) && 0 !== recordArr.length && ((void 0 === recordIndex || recordIndex > this.dataSourceObj.records) && (recordIndex = this.dataSourceObj.records), this.dataSourceObj.records.splice(recordIndex, 0, ...recordArr), this.updateGroup());
25254
25248
  }
25255
25249
  deleteRecordsForGroup(recordIndexs) {
25256
25250
  if (!isArray$1(recordIndexs) || 0 === recordIndexs.length) return;
@@ -27304,10 +27298,14 @@
27304
27298
  }
27305
27299
 
27306
27300
  function createCell(type, value, define, table, col, row, colWidth, cellWidth, cellHeight, columnGroup, y, padding, textAlign, textBaseline, mayHaveIcon, cellTheme, range, customResult) {
27307
- var _a;
27301
+ var _a, _b;
27308
27302
  let cellGroup,
27309
27303
  isAsync = !1;
27310
- if (isPromise(value) && (value = table.getCellValue(col, row), isAsync = !0), "text" === type || "link" === type || customResult) {
27304
+ if (isPromise(value)) {
27305
+ if ("cell" !== table.scenegraph.highPerformanceGetCell(col, row).role) return cellGroup;
27306
+ value = table.getCellValue(col, row), isAsync = !0;
27307
+ }
27308
+ if ("text" === type || "link" === type || customResult) {
27311
27309
  if ("link" === type) {
27312
27310
  const cellValue = value,
27313
27311
  headerStyle = table._getCellStyle(col, row);
@@ -27332,7 +27330,7 @@
27332
27330
  cellGroup = Factory.getFunction("createTextCellGroup")(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, customElementsGroup, renderDefault, cellTheme, range, isAsync);
27333
27331
  const axisConfig = table.internalProps.layoutMap.getAxisConfigInPivotChart(col, row);
27334
27332
  if (axisConfig) {
27335
- const axis = new (Factory.getComponent("axis"))(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, padding, table);
27333
+ const axis = new (Factory.getComponent("axis"))(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, null !== (_a = axisConfig.__vtablePadding) && void 0 !== _a ? _a : padding, table);
27336
27334
  cellGroup.clear(), cellGroup.appendChild(axis.component), axis.overlap();
27337
27335
  } else table.internalProps.layoutMap.isEmpty(col, row) ? (cellGroup.setAttributes({
27338
27336
  fill: !1,
@@ -27344,7 +27342,7 @@
27344
27342
  cellGroup = Factory.getFunction("createVideoCellGroup")(columnGroup, 0, y, col, row, cellWidth, cellHeight, define.keepAspectRatio, define.imageAutoSizing, padding, textAlign, textBaseline, mayHaveIcon, table, cellTheme, range, isAsync);
27345
27343
  } else if ("chart" === type) {
27346
27344
  const chartInstance = table.internalProps.layoutMap.getChartInstance(col, row);
27347
- cellGroup = Factory.getFunction("createChartCellGroup")(null, columnGroup, 0, y, col, row, cellWidth, cellHeight, padding, value, define.chartModule, table.internalProps.layoutMap.getChartSpec(col, row), chartInstance, null !== (_a = table.internalProps.layoutMap.getChartDataId(col, row)) && void 0 !== _a ? _a : "data", table, cellTheme, table.internalProps.layoutMap.isShareChartSpec(col, row), isAsync);
27345
+ cellGroup = Factory.getFunction("createChartCellGroup")(null, columnGroup, 0, y, col, row, cellWidth, cellHeight, padding, value, define.chartModule, table.internalProps.layoutMap.getChartSpec(col, row), chartInstance, null !== (_b = table.internalProps.layoutMap.getChartDataId(col, row)) && void 0 !== _b ? _b : "data", table, cellTheme, table.internalProps.layoutMap.isShareChartSpec(col, row), isAsync);
27348
27346
  } else if ("progressbar" === type) {
27349
27347
  const style = table._getCellStyle(col, row),
27350
27348
  dataValue = table.getCellOriginValue(col, row);
@@ -27369,7 +27367,8 @@
27369
27367
  cellTheme,
27370
27368
  customStyle,
27371
27369
  customResult,
27372
- value = table.getCellValue(col, row);
27370
+ value = table.getCellValue(col, row),
27371
+ isCustomMerge = !1;
27373
27372
  if (table.internalProps.customMergeCell) {
27374
27373
  const customMerge = table.getCustomMerge(col, row);
27375
27374
  if (customMerge) {
@@ -27380,7 +27379,7 @@
27380
27379
  customLayout: customLayout,
27381
27380
  customRender: customRender
27382
27381
  } = customMerge;
27383
- 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));
27382
+ 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;
27384
27383
  }
27385
27384
  }
27386
27385
  let colForDefine = col,
@@ -27389,13 +27388,13 @@
27389
27388
  const define = "body" !== cellLocation ? table.getHeaderDefine(colForDefine, rowForDefine) : table.getBodyColumnDefine(colForDefine, rowForDefine);
27390
27389
  let mayHaveIcon = "body" !== cellLocation || (null == define ? void 0 : define.dragOrder) || !!(null == define ? void 0 : define.icon) || !!(null == define ? void 0 : define.tree);
27391
27390
  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);
27392
- let isvtableMerge = !1;
27391
+ let isVtableMerge = !1;
27393
27392
  if (table.internalProps.enableTreeNodeMerge && isMerge) {
27394
27393
  const {
27395
27394
  vtableMergeName: vtableMergeName,
27396
27395
  vtableMerge: vtableMerge
27397
27396
  } = table.getCellRawRecord(range.start.col, range.start.row);
27398
- 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);
27397
+ 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);
27399
27398
  }
27400
27399
  const cellStyle = table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
27401
27400
  autoWrapText = null !== (_a = cellStyle.autoWrapText) && void 0 !== _a ? _a : table.internalProps.autoWrapText;
@@ -27457,7 +27456,7 @@
27457
27456
  return oldCellGroup;
27458
27457
  }
27459
27458
  if (!addNew && "empty" === oldCellGroup.role) return;
27460
- const type = isvtableMerge ? "text" : table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row),
27459
+ const type = isVtableMerge || isCustomMerge ? "text" : table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row),
27461
27460
  padding = cellTheme._vtable.padding,
27462
27461
  textAlign = cellTheme.text.textAlign,
27463
27462
  textBaseline = cellTheme.text.textBaseline;
@@ -28186,7 +28185,9 @@
28186
28185
  var _a, _b, _c;
28187
28186
  if (cell.attribute.height === distHeight && !cell.needUpdateHeight) return;
28188
28187
  cell.needUpdateHeight = !1, cell.setAttribute("height", distHeight);
28189
- const type = (null === (_a = scene.table.getCellRawRecord(col, row)) || void 0 === _a ? void 0 : _a.vtableMerge) ? "text" : scene.table.isHeader(col, row) ? scene.table._getHeaderLayoutMap(col, row).headerType : scene.table.getBodyColumnType(col, row);
28188
+ const isVtableMerge = null === (_a = scene.table.getCellRawRecord(col, row)) || void 0 === _a ? void 0 : _a.vtableMerge,
28189
+ isCustomMerge = !!scene.table.getCustomMerge(col, row),
28190
+ type = isVtableMerge || isCustomMerge ? "text" : scene.table.isHeader(col, row) ? scene.table._getHeaderLayoutMap(col, row).headerType : scene.table.getBodyColumnType(col, row);
28190
28191
  if ("progressbar" === type) {
28191
28192
  const columnDefine = scene.table.getBodyColumnDefine(col, row),
28192
28193
  style = scene.table._getCellStyle(col, row),
@@ -28373,13 +28374,15 @@
28373
28374
  }
28374
28375
  }
28375
28376
  function updateCellWidth(scene, cell, col, row, oldWidth, distWidth, detaX, isHeader, autoWrapText) {
28376
- var _a, _b, _c, _d, _e, _f;
28377
+ var _a, _b, _c, _d, _e, _f, _g;
28377
28378
  if (cell.attribute.width === distWidth && !cell.needUpdateWidth) return !1;
28378
28379
  cell.needUpdateWidth = !1, cell.setAttribute("width", distWidth);
28379
28380
  const cellGroup = cell;
28380
28381
  if (!cellGroup) return !1;
28381
28382
  const autoRowHeight = scene.table.isAutoRowHeight(row),
28382
- type = (null === (_a = scene.table.getCellRawRecord(col, row)) || void 0 === _a ? void 0 : _a.vtableMerge) ? "text" : scene.table.isHeader(col, row) ? scene.table._getHeaderLayoutMap(col, row).headerType : scene.table.getBodyColumnType(col, row);
28383
+ isVtableMerge = null === (_a = scene.table.getCellRawRecord(col, row)) || void 0 === _a ? void 0 : _a.vtableMerge,
28384
+ isCustomMerge = !!scene.table.getCustomMerge(col, row),
28385
+ type = isVtableMerge || isCustomMerge ? "text" : scene.table.isHeader(col, row) ? scene.table._getHeaderLayoutMap(col, row).headerType : scene.table.getBodyColumnType(col, row);
28383
28386
  let isHeightChange = !1;
28384
28387
  if ("progressbar" === type) {
28385
28388
  const columnDefine = scene.table.getBodyColumnDefine(col, row),
@@ -28404,10 +28407,10 @@
28404
28407
  cellStyle = scene.table._getCellStyle(col, row),
28405
28408
  padding = getQuadProps(getProp("padding", cellStyle, col, row, scene.table));
28406
28409
  if (axisConfig) {
28407
- const axis = new (Factory.getComponent("axis"))(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, padding, scene.table);
28410
+ const axis = new (Factory.getComponent("axis"))(axisConfig, cellGroup.attribute.width, cellGroup.attribute.height, null !== (_c = axisConfig.__vtablePadding) && void 0 !== _c ? _c : padding, scene.table);
28408
28411
  cellGroup.clear(), cellGroup.appendChild(axis.component), axis.overlap();
28409
28412
  }
28410
- } else if ("axis" === (null === (_c = cell.firstChild) || void 0 === _c ? void 0 : _c.name)) null === (_d = cell.firstChild) || void 0 === _d || _d.originAxis.resize(cell.attribute.width, cell.attribute.height);else {
28413
+ } else if ("axis" === (null === (_d = cell.firstChild) || void 0 === _d ? void 0 : _d.name)) null === (_e = cell.firstChild) || void 0 === _e || _e.originAxis.resize(cell.attribute.width, cell.attribute.height);else {
28411
28414
  let renderDefault = !0;
28412
28415
  const customContainer = cell.getChildByName(CUSTOM_CONTAINER_NAME) || cell.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
28413
28416
  if (customContainer) {
@@ -28439,7 +28442,7 @@
28439
28442
  let width = cellGroup.attribute.width,
28440
28443
  height = cellGroup.attribute.height;
28441
28444
  isMergeCellGroup(cellGroup) && (width = scene.table.getColsWidth(cellGroup.mergeStartCol, cellGroup.mergeEndCol), height = scene.table.getRowsHeight(cellGroup.mergeStartRow, cellGroup.mergeEndRow));
28442
- const customResult = dealWithCustom(customLayout, customRender, null !== (_e = cellGroup.mergeStartCol) && void 0 !== _e ? _e : col, null !== (_f = cellGroup.mergeStartRow) && void 0 !== _f ? _f : row, width, height, !1, scene.table.isAutoRowHeight(row), padding, isMergeCellGroup(cellGroup) ? {
28445
+ 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) ? {
28443
28446
  start: {
28444
28447
  col: cellGroup.mergeStartCol,
28445
28448
  row: cellGroup.mergeStartRow
@@ -29566,6 +29569,7 @@
29566
29569
  }
29567
29570
  function updateFrameBorder(group, frameTheme, strokeArray) {
29568
29571
  var _a;
29572
+ if (!frameTheme) return;
29569
29573
  const {
29570
29574
  borderColor: borderColor
29571
29575
  } = frameTheme;
@@ -30980,7 +30984,8 @@
30980
30984
  customResult,
30981
30985
  value = table.getCellValue(col, row),
30982
30986
  cellWidth = colWidth,
30983
- cellHeight = table.getRowHeight(row);
30987
+ cellHeight = table.getRowHeight(row),
30988
+ isCustomMerge = !1;
30984
30989
  if (table.internalProps.customMergeCell) {
30985
30990
  const customMerge = table.getCustomMerge(col, row);
30986
30991
  if (customMerge) {
@@ -30995,7 +31000,7 @@
30995
31000
  const mergeSize = dealMerge(range, mergeMap, table, rowStart > range.start.row);
30996
31001
  cellWidth = mergeSize.cellWidth, cellHeight = mergeSize.cellHeight;
30997
31002
  }
30998
- 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));
31003
+ 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;
30999
31004
  }
31000
31005
  }
31001
31006
  let colForDefine = col,
@@ -31007,18 +31012,18 @@
31007
31012
  const mergeSize = dealMerge(range, mergeMap, table, rowStart > range.start.row);
31008
31013
  cellWidth = mergeSize.cellWidth, cellHeight = mergeSize.cellHeight;
31009
31014
  }
31010
- let isvtableMerge = !1;
31015
+ let isVtableMerge = !1;
31011
31016
  if (table.internalProps.enableTreeNodeMerge && isMerge) {
31012
31017
  const {
31013
31018
  vtableMergeName: vtableMergeName,
31014
31019
  vtableMerge: vtableMerge
31015
31020
  } = table.getCellRawRecord(range.start.col, range.start.row);
31016
- 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);
31021
+ 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);
31017
31022
  }
31018
31023
  const cellStyle = customStyle || table._getCellStyle(range ? range.start.col : col, range ? range.start.row : row),
31019
31024
  cellTheme = getStyleTheme(cellStyle, table, range ? range.start.col : col, range ? range.start.row : row, getProp).theme;
31020
31025
  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");
31021
- const type = isvtableMerge ? "text" : (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) || "text";
31026
+ const type = isVtableMerge || isCustomMerge ? "text" : (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) || "text";
31022
31027
  if (isPromise(value)) {
31023
31028
  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);
31024
31029
  const height = table.getRowHeight(row);
@@ -33202,7 +33207,7 @@
33202
33207
  scene.getCell(col, row).forEachChildren(mark => "sort" === mark.attribute.funcType && (oldIconMark = mark, !0)), oldIconMark && (dealWithIcon(iconConfig, oldIconMark), oldIconMark.name = iconConfig.name);
33203
33208
  } else {
33204
33209
  let oldIconMark;
33205
- oldSortCell.forEachChildren(mark => "sort" === mark.attribute.funcType && (oldIconMark = mark, !0)), oldIconMark && (dealWithIcon(iconConfig, oldIconMark), oldIconMark.name = iconConfig.name);
33210
+ traverseObject(oldSortCell, "children", mark => "sort" === mark.attribute.funcType && (oldIconMark = mark, !0)), oldIconMark && (dealWithIcon(iconConfig, oldIconMark), oldIconMark.name = iconConfig.name);
33206
33211
  }
33207
33212
  }
33208
33213
  function checkSameCell(col1, row1, col2, row2, table) {
@@ -33210,8 +33215,18 @@
33210
33215
  range2 = table.getCellRange(col2, row2);
33211
33216
  return range1.start.col === range2.start.col && range1.start.row === range2.start.row && range1.end.col === range2.end.col && range1.end.row === range2.end.row;
33212
33217
  }
33213
- function updateSortIcon(col, row, iconMark, order, oldSortCol, oldSortRow, oldIconMark, scene) {
33214
- const icon = scene.table.internalProps.headerHelper.getSortIcon(order, scene.table, col, row);
33218
+ function updateSortIcon(options) {
33219
+ const {
33220
+ col: col,
33221
+ row: row,
33222
+ iconMark: iconMark,
33223
+ order: order,
33224
+ oldSortCol: oldSortCol,
33225
+ oldSortRow: oldSortRow,
33226
+ oldIconMark: oldIconMark,
33227
+ scene: scene
33228
+ } = options,
33229
+ icon = scene.table.internalProps.headerHelper.getSortIcon(order, scene.table, col, row);
33215
33230
  if (iconMark && updateIcon(iconMark, icon, col, row, scene), !checkSameCell(col, row, oldSortCol, oldSortRow, scene.table)) {
33216
33231
  const oldIcon = scene.table.internalProps.headerHelper.getSortIcon("normal", scene.table, oldSortCol, oldSortRow);
33217
33232
  oldIconMark ? updateIcon(oldIconMark, oldIcon, oldSortCol, oldSortRow, scene) : resetSortIcon(oldSortCol, oldSortRow, oldIcon, scene);
@@ -33686,8 +33701,26 @@
33686
33701
  setIconHoverStyle(icon, col, row, cellGroup) {
33687
33702
  setIconHoverStyle(icon, col, row, cellGroup, this);
33688
33703
  }
33689
- updateSortIcon(col, row, iconMark, order, oldSortCol, oldSortRow, oldIconMark) {
33690
- updateSortIcon(col, row, iconMark, order, oldSortCol, oldSortRow, oldIconMark, this);
33704
+ updateSortIcon(options) {
33705
+ const {
33706
+ col: col,
33707
+ row: row,
33708
+ iconMark: iconMark,
33709
+ order: order,
33710
+ oldSortCol: oldSortCol,
33711
+ oldSortRow: oldSortRow,
33712
+ oldIconMark: oldIconMark
33713
+ } = options;
33714
+ updateSortIcon({
33715
+ col: col,
33716
+ row: row,
33717
+ iconMark: iconMark,
33718
+ order: order,
33719
+ oldSortCol: oldSortCol,
33720
+ oldSortRow: oldSortRow,
33721
+ oldIconMark: oldIconMark,
33722
+ scene: this
33723
+ });
33691
33724
  }
33692
33725
  updateFrozenIcon(col, oldFrozenCol) {
33693
33726
  updateFrozenIcon(this);
@@ -34310,17 +34343,26 @@
34310
34343
  order: "normal"
34311
34344
  }), tableState.event = event;
34312
34345
  if (table.fireListeners(TABLE_EVENT_TYPE.SORT_CLICK, tableState).includes(!1)) return;
34313
- table.internalProps.sortState = tableState, table.stateManager.setSortState(tableState), (null == headerC ? void 0 : headerC.sort) && executeSort(tableState, table, headerC), table.internalProps.useOneRowHeightFillAll = !1, table.internalProps.layoutMap.clearCellRangeMap(), table.scenegraph.sortCell();
34346
+ let isArraySortState = !1,
34347
+ sortState = table.internalProps.sortState ? Array.isArray(table.internalProps.sortState) && (isArraySortState = !0) ? table.internalProps.sortState : [table.internalProps.sortState] : [];
34348
+ if (Array.isArray(sortState)) {
34349
+ const index = sortState.findIndex(item => item.field === tableState.field);
34350
+ index >= 0 ? sortState[index] = tableState : sortState.push(tableState);
34351
+ }
34352
+ sortState = sortState.filter(item => "normal" !== item.order), sortState = table.internalProps.multipleSort && (isArraySortState = !0) ? sortState : sortState.splice(-1), sortState = isArraySortState && sortState.length ? sortState : sortState[0], table.internalProps.sortState = sortState, table.stateManager.setSortState(sortState), (null == headerC ? void 0 : headerC.sort) && executeSort(sortState, table), table.internalProps.useOneRowHeightFillAll = !1, table.internalProps.layoutMap.clearCellRangeMap(), table.scenegraph.sortCell();
34314
34353
  const isHasSelected = !!(null === (_a = table.stateManager.select.ranges) || void 0 === _a ? void 0 : _a.length);
34315
34354
  table.stateManager.updateSelectPos(-1, -1), table.stateManager.endSelectCells(!0, isHasSelected);
34316
34355
  }
34317
34356
  function executeSort(newState, table, headerDefine) {
34318
- const hd = table.internalProps.layoutMap.headerObjects.find(col => col && col.field === newState.field);
34319
- if (!hd) return;
34320
- const {
34321
- field: field
34322
- } = hd;
34323
- null !== field && ("function" == typeof headerDefine.sort ? table.dataSource.sort(field, newState.order || "asc", headerDefine.sort) : table.dataSource.sort(field, newState.order || "asc", defaultOrderFn));
34357
+ newState = Array.isArray(newState) || !newState ? newState : [newState], table.dataSource.sort((newState || []).map(item => {
34358
+ var _a, _b;
34359
+ const hd = table.internalProps.layoutMap.headerObjects.find(col => col && col.field === item.field);
34360
+ return {
34361
+ field: item.field,
34362
+ order: item.order || "asc",
34363
+ orderFn: "function" == typeof (null === (_a = null == hd ? void 0 : hd.define) || void 0 === _a ? void 0 : _a.sort) ? null === (_b = null == hd ? void 0 : hd.define) || void 0 === _b ? void 0 : _b.sort : defaultOrderFn
34364
+ };
34365
+ }));
34324
34366
  }
34325
34367
  function isTarget(col, row, range1Col, range1Row, table) {
34326
34368
  return table._getLayoutCellId(col, row) === table._getLayoutCellId(range1Col, range1Row);
@@ -35108,11 +35150,11 @@
35108
35150
  bounds: new Bounds(),
35109
35151
  highlightIndex: -1,
35110
35152
  dropDownMenuHighlight: []
35111
- }, this.sort = {
35153
+ }, this.sort = [{
35112
35154
  col: -1,
35113
35155
  row: -1,
35114
35156
  order: "normal"
35115
- }, this.frozen = {
35157
+ }], this.frozen = {
35116
35158
  col: -1
35117
35159
  }, this.tablePosition = {
35118
35160
  absoluteX: 0,
@@ -35172,11 +35214,11 @@
35172
35214
  bounds: new Bounds(),
35173
35215
  highlightIndex: -1,
35174
35216
  dropDownMenuHighlight: []
35175
- }, this.sort = {
35217
+ }, this.sort = [{
35176
35218
  col: -1,
35177
35219
  row: -1,
35178
35220
  order: "normal"
35179
- }, this.frozen = {
35221
+ }], this.frozen = {
35180
35222
  col: -1
35181
35223
  }, this.scroll = {
35182
35224
  horizontalBarPos: 0,
@@ -35227,7 +35269,29 @@
35227
35269
  }), seled;
35228
35270
  }
35229
35271
  setSortState(sortState) {
35230
- this.sort.field = null == sortState ? void 0 : sortState.field, this.sort.order = null == sortState ? void 0 : sortState.order;
35272
+ const sort = (sortState = !sortState || Array.isArray(sortState) ? sortState : [sortState]) && sortState.reduce((prev, item) => {
35273
+ var _a;
35274
+ const column = null === (_a = function (columns) {
35275
+ const result = [];
35276
+ return function flatten(cols) {
35277
+ let parentStartIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
35278
+ cols.forEach(col => {
35279
+ var _a;
35280
+ const startIndex = null !== (_a = col.startInTotal) && void 0 !== _a ? _a : parentStartIndex;
35281
+ col.columns ? flatten(col.columns, startIndex) : result.push(Object.assign(Object.assign({}, col), {
35282
+ startIndex: startIndex
35283
+ }));
35284
+ });
35285
+ }(columns), result;
35286
+ }(this.table.internalProps.columns)) || void 0 === _a ? void 0 : _a.find(column => (null == column ? void 0 : column.field) === (null == item ? void 0 : item.field));
35287
+ return prev.push({
35288
+ field: item.field,
35289
+ order: item.order,
35290
+ col: column.startInTotal,
35291
+ row: column.level
35292
+ }), prev;
35293
+ }, []);
35294
+ this.sort = sort || [];
35231
35295
  }
35232
35296
  setFrozenState() {
35233
35297
  this.frozen.col = this.table.frozenColCount - 1;
@@ -35599,20 +35663,72 @@
35599
35663
  event: event
35600
35664
  });
35601
35665
  }
35602
- const oldSortCol = this.sort.col,
35603
- oldSortRow = this.sort.row;
35604
- dealSort(col, row, this.table, event), this.sort.col = col, this.sort.row = row, this.table.scenegraph.updateSortIcon(this.sort.col, this.sort.row, iconMark, this.sort.order, oldSortCol, oldSortRow, this.sort.icon), this.sort.icon = iconMark;
35666
+ const previousSort = [...this.sort],
35667
+ previousSortItem = this.table.internalProps.multipleSort || !previousSort.length ? null : this.sort[this.sort.length - 1];
35668
+ dealSort(col, row, this.table, event);
35669
+ const currentSortItem = this.sort.find(item => item.col === col && item.row === row),
35670
+ oldSortCol = this.table.internalProps.multipleSort || !previousSortItem ? null : previousSortItem.col,
35671
+ oldSortRow = this.table.internalProps.multipleSort || !previousSortItem ? null : previousSortItem.row,
35672
+ currentSortItemIndex = previousSort.findIndex(item => item.col === col && item.row === row);
35673
+ currentSortItemIndex >= 0 && previousSort.splice(currentSortItemIndex, 1), this.table.scenegraph.updateSortIcon({
35674
+ col: col,
35675
+ row: row,
35676
+ iconMark: iconMark,
35677
+ order: null == currentSortItem ? void 0 : currentSortItem.order,
35678
+ oldSortCol: oldSortCol,
35679
+ oldSortRow: oldSortRow,
35680
+ oldIconMark: null == previousSortItem ? void 0 : previousSortItem.icon
35681
+ }), currentSortItem && (currentSortItem.icon = iconMark), this.table.internalProps.multipleSort || previousSort.forEach(sortItem => {
35682
+ this.table.scenegraph.updateSortIcon({
35683
+ col: null,
35684
+ row: null,
35685
+ iconMark: null,
35686
+ order: "normal",
35687
+ oldSortCol: sortItem.col,
35688
+ oldSortRow: sortItem.row,
35689
+ oldIconMark: null
35690
+ });
35691
+ });
35605
35692
  }
35606
35693
  updateSortState(sortState) {
35607
- if (sortState.field === this.sort.field && sortState.order === this.sort.order) return;
35608
- const oldSortCol = this.sort.col,
35609
- oldSortRow = this.sort.row,
35610
- name = "asc" === this.sort.order ? "sort_downward" : "desc" === this.sort.order ? "sort_upward" : "sort_normal";
35611
- this.setSortState(sortState);
35612
- const cellAddress = this.table.internalProps.layoutMap.getHeaderCellAddressByField(sortState.field);
35613
- this.sort.col = cellAddress.col, this.sort.row = cellAddress.row;
35614
- const iconMark = this.table.scenegraph.getCell(this.sort.col, this.sort.row).getChildByName(name, !0);
35615
- this.table.scenegraph.updateSortIcon(this.sort.col, this.sort.row, iconMark, this.sort.order, oldSortCol, oldSortRow, this.sort.icon);
35694
+ var _a, _b, _c, _d, _e, _f, _g;
35695
+ sortState = Array.isArray(sortState) ? sortState : [sortState];
35696
+ for (let index = 0; index < sortState.length; index++) {
35697
+ if (sortState[index].field === (null === (_a = this.sort[index]) || void 0 === _a ? void 0 : _a.field) && sortState[sortState.length - 1].order === (null === (_b = this.sort[index]) || void 0 === _b ? void 0 : _b.order)) return;
35698
+ const oldSortCol = this.table.internalProps.multipleSort ? null : (null === (_c = this.sort[index]) || void 0 === _c ? void 0 : _c.col) || null,
35699
+ oldSortRow = this.table.internalProps.multipleSort ? null : (null === (_d = this.sort[index]) || void 0 === _d ? void 0 : _d.row) || null;
35700
+ "asc" === (null === (_e = this.sort[index]) || void 0 === _e ? void 0 : _e.order) || null === (_f = this.sort[index]) || void 0 === _f || _f.order;
35701
+ this.setSortState(sortState);
35702
+ const cellAddress = this.table.internalProps.layoutMap.getHeaderCellAddressByField(sortState[index].field);
35703
+ this.sort[index].col = cellAddress.col, this.sort[index].row = cellAddress.row;
35704
+ const cellGroup = this.table.scenegraph.getCell(this.sort[index].col, this.sort[index].row);
35705
+ let iconMark;
35706
+ traverseObject(cellGroup, "children", mark => "sort" === mark.attribute.funcType && (iconMark = mark, !0)), this.table.scenegraph.updateSortIcon({
35707
+ col: this.sort[index].col,
35708
+ row: this.sort[index].row,
35709
+ iconMark: iconMark,
35710
+ order: this.sort[index].order,
35711
+ oldSortCol: oldSortCol,
35712
+ oldSortRow: oldSortRow,
35713
+ oldIconMark: null === (_g = this.sort[index]) || void 0 === _g ? void 0 : _g.icon
35714
+ });
35715
+ }
35716
+ const normalHeaders = [];
35717
+ this.table.internalProps.layoutMap.columnTree.tree.children.forEach(item => {
35718
+ sortState.some(state => state.field === item.field) || normalHeaders.push(item);
35719
+ });
35720
+ for (let index = 0; index < normalHeaders.length; index++) {
35721
+ const column = normalHeaders[index];
35722
+ this.table.scenegraph.updateSortIcon({
35723
+ col: null,
35724
+ row: null,
35725
+ iconMark: null,
35726
+ order: null,
35727
+ oldSortCol: column.startInTotal,
35728
+ oldSortRow: column.level,
35729
+ oldIconMark: null
35730
+ });
35731
+ }
35616
35732
  }
35617
35733
  triggerFreeze(col, row, iconMark) {
35618
35734
  this.table.isPivotTable() || this.table.transpose || (dealFreeze(col, row, this.table), this.frozen.icon = iconMark);
@@ -35769,6 +35885,7 @@
35769
35885
 
35770
35886
  function handleWhell(event, state) {
35771
35887
  let isWheelEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !0;
35888
+ var _a;
35772
35889
  let {
35773
35890
  deltaX: deltaX,
35774
35891
  deltaY: deltaY
@@ -35778,7 +35895,7 @@
35778
35895
  horizontal: 1,
35779
35896
  vertical: 1
35780
35897
  });
35781
- (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(), event.nativeEvent.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();
35898
+ (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();
35782
35899
  }
35783
35900
  function optimizeScrollXY(x, y, ratio) {
35784
35901
  var _a, _b;
@@ -35845,7 +35962,7 @@
35845
35962
  const table = eventManager.table,
35846
35963
  stateManager = table.stateManager;
35847
35964
  table.scenegraph.tableGroup.addEventListener("pointermove", e => {
35848
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
35965
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
35849
35966
  const lastX = null !== (_b = null === (_a = table.eventManager.LastPointerXY) || void 0 === _a ? void 0 : _a.x) && void 0 !== _b ? _b : e.x,
35850
35967
  lastY = null !== (_d = null === (_c = table.eventManager.LastPointerXY) || void 0 === _c ? void 0 : _c.y) && void 0 !== _d ? _d : e.y;
35851
35968
  table.eventManager.LastPointerXY = {
@@ -35854,7 +35971,7 @@
35854
35971
  }, eventManager.touchSetTimeout && (clearTimeout(eventManager.touchSetTimeout), eventManager.touchSetTimeout = void 0);
35855
35972
  const eventArgsSet = getCellEventArgsSet(e);
35856
35973
  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))));
35857
- table.eventManager.isDraging && stateManager.isSelecting() && !(null === (_g = table.editorManager) || void 0 === _g ? void 0 : _g.editingEditor) && eventManager.dealTableSelect(eventArgsSet, !0);
35974
+ !(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);
35858
35975
  const cellGoup = e.path.find(node => "cell" === node.role);
35859
35976
  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, {
35860
35977
  col: table.stateManager.hover.cellPos.col,
@@ -35865,8 +35982,8 @@
35865
35982
  }),
35866
35983
  scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
35867
35984
  event: e.nativeEvent,
35868
- target: null === (_h = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _h ? void 0 : _h.target
35869
- })), 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 === (_j = table.stateManager.hover.cellPosContainHeader) || void 0 === _j ? void 0 : _j.col) && cellGoup.row === (null === (_k = table.stateManager.hover.cellPosContainHeader) || void 0 === _k ? void 0 : _k.row) || table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {
35985
+ target: null === (_j = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _j ? void 0 : _j.target
35986
+ })), 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, {
35870
35987
  col: cellGoup.col,
35871
35988
  row: cellGoup.row,
35872
35989
  cellRange: table.getCellRangeRelativeRect({
@@ -35875,12 +35992,12 @@
35875
35992
  }),
35876
35993
  scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
35877
35994
  event: e.nativeEvent,
35878
- target: null === (_l = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _l ? void 0 : _l.target,
35879
- mergeCellInfo: null === (_m = eventArgsSet.eventArgs) || void 0 === _m ? void 0 : _m.mergeInfo
35995
+ target: null === (_m = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _m ? void 0 : _m.target,
35996
+ mergeCellInfo: null === (_o = eventArgsSet.eventArgs) || void 0 === _o ? void 0 : _o.mergeInfo
35880
35997
  })), eventManager.dealIconHover(eventArgsSet), eventManager.dealTableHover(eventArgsSet), eventArgsSet.eventArgs && table.hasListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {
35881
35998
  let icon, position;
35882
- if (null === (_o = eventArgsSet.eventArgs) || void 0 === _o ? void 0 : _o.target) {
35883
- const iconInfo = getIconAndPositionFromTarget(null === (_p = eventArgsSet.eventArgs) || void 0 === _p ? void 0 : _p.target);
35999
+ if (null === (_p = eventArgsSet.eventArgs) || void 0 === _p ? void 0 : _p.target) {
36000
+ const iconInfo = getIconAndPositionFromTarget(null === (_q = eventArgsSet.eventArgs) || void 0 === _q ? void 0 : _q.target);
35884
36001
  iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
35885
36002
  }
35886
36003
  table.fireListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {
@@ -35894,8 +36011,8 @@
35894
36011
  position: position,
35895
36012
  funcType: icon.attribute.funcType
35896
36013
  } : void 0,
35897
- target: null === (_q = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _q ? void 0 : _q.target,
35898
- mergeCellInfo: null === (_r = eventArgsSet.eventArgs) || void 0 === _r ? void 0 : _r.mergeInfo
36014
+ target: null === (_r = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _r ? void 0 : _r.target,
36015
+ mergeCellInfo: null === (_s = eventArgsSet.eventArgs) || void 0 === _s ? void 0 : _s.mergeInfo
35899
36016
  });
35900
36017
  }
35901
36018
  }), table.scenegraph.tableGroup.addEventListener("pointerout", e => {
@@ -35954,7 +36071,7 @@
35954
36071
  event: e.nativeEvent
35955
36072
  });
35956
36073
  }), table.scenegraph.tableGroup.addEventListener("pointerupoutside", e => {
35957
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
36074
+ var _a, _b, _c, _d, _e, _f, _g, _h;
35958
36075
  const eventArgsSet = getCellEventArgsSet(e);
35959
36076
  if (stateManager.menu.isShow && (null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) !== (null === (_b = stateManager.residentHoverIcon) || void 0 === _b ? void 0 : _b.icon) && setTimeout(() => {
35960
36077
  table.internalProps.menuHandler.pointInMenuElement(e.client.x, e.client.y) || stateManager.menu.isShow && stateManager.hideMenu();
@@ -35984,16 +36101,27 @@
35984
36101
  cellsEvent.cells = table.getSelectedCellInfos(), table.fireListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);
35985
36102
  }
35986
36103
  }
35987
- const isCompleteEdit = null === (_j = table.editorManager) || void 0 === _j ? void 0 : _j.completeEdit(e.nativeEvent);
35988
- getPromiseValue(isCompleteEdit, isCompleteEdit => {
35989
- var _a, _b;
35990
- if (!1 !== isCompleteEdit && (stateManager.updateInteractionState(InteractionState.default), eventManager.dealTableHover(), null === (_a = table.options.select) || void 0 === _a ? void 0 : _a.outsideClickDeselect)) {
35991
- const isHasSelected = !!(null === (_b = stateManager.select.ranges) || void 0 === _b ? void 0 : _b.length);
35992
- eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected);
35993
- }
35994
- });
35995
- }), table.scenegraph.tableGroup.addEventListener("pointerdown", e => {
35996
- var _a, _b, _c, _d;
36104
+ });
36105
+ const globalPointerupCallback = e => {
36106
+ var _a;
36107
+ const target = e.target;
36108
+ if (!table.getElement().contains(target)) {
36109
+ const isCompleteEdit = null === (_a = table.editorManager) || void 0 === _a ? void 0 : _a.completeEdit(e);
36110
+ getPromiseValue(isCompleteEdit, isCompleteEdit => {
36111
+ var _a, _b;
36112
+ if (!1 !== isCompleteEdit && (stateManager.updateInteractionState(InteractionState.default), eventManager.dealTableHover(), null === (_a = table.options.select) || void 0 === _a ? void 0 : _a.outsideClickDeselect)) {
36113
+ const isHasSelected = !!(null === (_b = stateManager.select.ranges) || void 0 === _b ? void 0 : _b.length);
36114
+ eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected);
36115
+ }
36116
+ });
36117
+ }
36118
+ };
36119
+ eventManager.globalEventListeners.push({
36120
+ name: "pointerup",
36121
+ env: "document",
36122
+ callback: globalPointerupCallback
36123
+ }), vglobal.addEventListener("pointerup", globalPointerupCallback), table.scenegraph.tableGroup.addEventListener("pointerdown", e => {
36124
+ var _a, _b, _c, _d, _e;
35997
36125
  if (table.hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
35998
36126
  event: e.nativeEvent
35999
36127
  }), table.eventManager.isDown = !0, table.eventManager.LastBodyPointerXY = {
@@ -36005,8 +36133,8 @@
36005
36133
  }, 0 !== e.button) return;
36006
36134
  const eventArgsSet = getCellEventArgsSet(e);
36007
36135
  if (eventManager.downIcon = void 0, stateManager.interactionState !== InteractionState.default) return;
36008
- 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();
36009
- const isCompleteEdit = null === (_d = table.editorManager) || void 0 === _d ? void 0 : _d.completeEdit(e.nativeEvent);
36136
+ 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;
36137
+ const isCompleteEdit = null === (_e = table.editorManager) || void 0 === _e ? void 0 : _e.completeEdit(e.nativeEvent);
36010
36138
  getPromiseValue(isCompleteEdit, isCompleteEdit => {
36011
36139
  var _a, _b, _c, _d, _e;
36012
36140
  if (!1 === isCompleteEdit) return;
@@ -37222,7 +37350,7 @@
37222
37350
  var _a, _b;
37223
37351
  if (void 0 !== iconOpt[k]) {
37224
37352
  const f = this._table.getFieldData(iconOpt[k], col, row);
37225
- null != f ? retIcon[k] = f : (null === (_b = (_a = this._table)._hasField) || void 0 === _b ? void 0 : _b.call(_a, iconOpt[k], col, row)) || (retIcon[k] = iconOpt[k]);
37353
+ isValid$1(f) ? retIcon[k] = f : (null === (_b = (_a = this._table)._hasField) || void 0 === _b ? void 0 : _b.call(_a, iconOpt[k], col, row)) || (retIcon[k] = iconOpt[k]);
37226
37354
  }
37227
37355
  }), retIcon;
37228
37356
  }
@@ -38615,7 +38743,7 @@
38615
38743
  constructor(container) {
38616
38744
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
38617
38745
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
38618
- if (super(), this.showFrozenIcon = !0, this.version = "1.7.5-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");
38746
+ if (super(), this.showFrozenIcon = !0, this.version = "1.7.5", 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");
38619
38747
  const {
38620
38748
  frozenColCount = 0,
38621
38749
  frozenRowCount: frozenRowCount,
@@ -39789,7 +39917,7 @@
39789
39917
  }
39790
39918
  _hasField(field, col, row) {
39791
39919
  var _a;
39792
- if (null == field) return !1;
39920
+ if (null === field) return !1;
39793
39921
  if (this.internalProps.layoutMap.isHeader(col, row)) return !1;
39794
39922
  const index = this.getRecordShowIndexByCell(col, row);
39795
39923
  return null === (_a = this.internalProps.dataSource) || void 0 === _a ? void 0 : _a.hasField(index, field);
@@ -39852,15 +39980,17 @@
39852
39980
  return !1;
39853
39981
  }
39854
39982
  getCellIcons(col, row) {
39855
- var _a, _b;
39983
+ var _a, _b, _c;
39856
39984
  let icons;
39857
39985
  if (this.isHeader(col, row)) icons = this.internalProps.headerHelper.getIcons(col, row);else if (this.internalProps.layoutMap.isSeriesNumber(col, row)) {
39858
- (null === (_b = null === (_a = this.internalProps.layoutMap.getSeriesNumberBody(col, row)) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.dragOrder) && (icons = this.internalProps.rowSeriesNumberHelper.getIcons(col, row));
39986
+ if (!this.options.groupBy || !(null === (_a = this.getCellRawRecord(col, row)) || void 0 === _a ? void 0 : _a.vtableMerge)) {
39987
+ (null === (_c = null === (_b = this.internalProps.layoutMap.getSeriesNumberBody(col, row)) || void 0 === _b ? void 0 : _b.define) || void 0 === _c ? void 0 : _c.dragOrder) && (icons = this.internalProps.rowSeriesNumberHelper.getIcons(col, row));
39988
+ }
39859
39989
  const cellValue = this.getCellValue(col, row),
39860
39990
  dataValue = this.getCellOriginValue(col, row),
39861
39991
  ctx = this.internalProps.context,
39862
39992
  cellIcon = this.internalProps.bodyHelper.getIcons(col, row, cellValue, dataValue, ctx);
39863
- (null == icons ? void 0 : icons.length) > 0 ? icons = icons.concat() : (null == cellIcon ? void 0 : cellIcon.length) > 0 && (icons = cellIcon);
39993
+ (null == icons ? void 0 : icons.length) > 0 ? icons = icons.concat(cellIcon) : (null == cellIcon ? void 0 : cellIcon.length) > 0 && (icons = cellIcon);
39864
39994
  } else {
39865
39995
  const cellValue = this.getCellValue(col, row),
39866
39996
  dataValue = this.getCellOriginValue(col, row),
@@ -41681,25 +41811,15 @@
41681
41811
  return cellUpdateType;
41682
41812
  }
41683
41813
  function sortRecords(table) {
41684
- var _a;
41685
- if (table.sortState) {
41686
- let order, field;
41687
- if (Array.isArray(table.sortState) ? 0 !== table.sortState.length && ({
41688
- order: order,
41689
- field: field
41690
- } = null === (_a = table.sortState) || void 0 === _a ? void 0 : _a[0]) : ({
41691
- order: order,
41692
- field: field
41693
- } = table.sortState), order && field && "normal" !== order) {
41694
- const sortFunc = table._getSortFuncFromHeaderOption(void 0, field),
41695
- hd = table.internalProps.layoutMap.headerObjects.find(col => col && col.field === field);
41696
- hd && table.dataSource.sort(hd.field, order, null != sortFunc ? sortFunc : defaultOrderFn);
41697
- }
41698
- }
41814
+ let sortState = table.sortState;
41815
+ sortState = !sortState || Array.isArray(sortState) ? sortState : [sortState], sortState && (sortState = sortState.map(item => {
41816
+ var _a;
41817
+ return item.orderFn = null !== (_a = table._getSortFuncFromHeaderOption(void 0, item.field)) && void 0 !== _a ? _a : defaultOrderFn, item;
41818
+ }), table.dataSource.sort(sortState));
41699
41819
  }
41700
41820
  function listTableAddRecord(record, recordIndex, table) {
41701
41821
  var _a, _b;
41702
- if (table.options.groupBy) null === (_b = (_a = table.dataSource).addRecordsForGroup) || void 0 === _b || _b.call(_a, [record]), table.refreshRowColCount(), table.internalProps.layoutMap.clearCellRangeMap(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else if (table.sortState) table.dataSource.addRecordForSorted(record), sortRecords(table), table.refreshRowColCount(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else {
41822
+ if (table.options.groupBy) null === (_b = (_a = table.dataSource).addRecordsForGroup) || void 0 === _b || _b.call(_a, [record], recordIndex), table.refreshRowColCount(), table.internalProps.layoutMap.clearCellRangeMap(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else if (table.sortState) table.dataSource.addRecordForSorted(record), sortRecords(table), table.refreshRowColCount(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else {
41703
41823
  (void 0 === recordIndex || recordIndex > table.dataSource.sourceLength) && (recordIndex = table.dataSource.sourceLength);
41704
41824
  const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;
41705
41825
  table.dataSource.addRecord(record, recordIndex);
@@ -41751,7 +41871,7 @@
41751
41871
  }
41752
41872
  function listTableAddRecords(records, recordIndex, table) {
41753
41873
  var _a, _b;
41754
- if (table.options.groupBy) null === (_b = (_a = table.dataSource).addRecordsForGroup) || void 0 === _b || _b.call(_a, records), table.refreshRowColCount(), table.internalProps.layoutMap.clearCellRangeMap(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else if (table.sortState) table.dataSource.addRecordsForSorted(records), sortRecords(table), table.refreshRowColCount(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else {
41874
+ if (table.options.groupBy) null === (_b = (_a = table.dataSource).addRecordsForGroup) || void 0 === _b || _b.call(_a, records, recordIndex), table.refreshRowColCount(), table.internalProps.layoutMap.clearCellRangeMap(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else if (table.sortState) table.dataSource.addRecordsForSorted(records), sortRecords(table), table.refreshRowColCount(), table.scenegraph.clearCells(), table.scenegraph.createSceneGraph();else {
41755
41875
  void 0 === recordIndex || recordIndex > table.dataSource.sourceLength ? recordIndex = table.dataSource.sourceLength : recordIndex < 0 && (recordIndex = 0);
41756
41876
  const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;
41757
41877
  table.dataSource.addRecords(records, recordIndex);
@@ -41908,7 +42028,7 @@
41908
42028
  var _a, _b, _c, _d;
41909
42029
  "node" === Env.mode ? (options = container, container = null) : container instanceof HTMLElement || (options = container, container = container.container ? container.container : null), super(container, options), this.showHeader = !0;
41910
42030
  const internalProps = this.internalProps;
41911
- if (internalProps.frozenColDragHeaderMode = options.frozenColDragHeaderMode, this.pagination = options.pagination, internalProps.sortState = options.sortState, internalProps.dataConfig = options.groupBy ? getGroupByDataConfig(options.groupBy) : {}, internalProps.columns = options.columns ? cloneDeepSpec(options.columns, ["children"]) : options.header ? cloneDeepSpec(options.header, ["children"]) : [], internalProps.enableTreeNodeMerge = null !== (_b = null !== (_a = options.enableTreeNodeMerge) && void 0 !== _a ? _a : isValid$1(options.groupBy)) && void 0 !== _b && _b, this.internalProps.headerHelper.setTableColumnsEditor(), this.showHeader = null === (_c = options.showHeader) || void 0 === _c || _c, this.transpose = null !== (_d = options.transpose) && void 0 !== _d && _d, "node" !== Env.mode && (this.editorManager = new EditManeger(this)), this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, options.dataSource ? _setDataSource(this, options.dataSource) : options.records ? this.setRecords(options.records, {
42031
+ if (internalProps.frozenColDragHeaderMode = options.frozenColDragHeaderMode, this.pagination = options.pagination, internalProps.sortState = options.sortState, internalProps.multipleSort = !!options.multipleSort, internalProps.dataConfig = options.groupBy ? getGroupByDataConfig(options.groupBy) : {}, internalProps.columns = options.columns ? cloneDeepSpec(options.columns, ["children"]) : options.header ? cloneDeepSpec(options.header, ["children"]) : [], internalProps.enableTreeNodeMerge = null !== (_b = null !== (_a = options.enableTreeNodeMerge) && void 0 !== _a ? _a : isValid$1(options.groupBy)) && void 0 !== _b && _b, this.internalProps.headerHelper.setTableColumnsEditor(), this.showHeader = null === (_c = options.showHeader) || void 0 === _c || _c, this.transpose = null !== (_d = options.transpose) && void 0 !== _d && _d, "node" !== Env.mode && (this.editorManager = new EditManeger(this)), this.refreshHeader(), this.internalProps.useOneRowHeightFillAll = !1, options.dataSource ? _setDataSource(this, options.dataSource) : options.records ? this.setRecords(options.records, {
41912
42032
  sortState: internalProps.sortState
41913
42033
  }) : this.setRecords([]), options.title) {
41914
42034
  const Title = Factory.getComponent("title");
@@ -41982,6 +42102,14 @@
41982
42102
  } = table.internalProps.layoutMap.getSeriesNumberHeader(col, row);
41983
42103
  return title;
41984
42104
  }
42105
+ if (this.options.groupBy) {
42106
+ const {
42107
+ vtableMerge: vtableMerge
42108
+ } = table.getCellRawRecord(col, row);
42109
+ if (vtableMerge) return "";
42110
+ const indexs = this.dataSource.currentIndexedData[row - this.columnHeaderLevelCount];
42111
+ return indexs[indexs.length - 1] + 1;
42112
+ }
41985
42113
  const {
41986
42114
  format: format
41987
42115
  } = table.internalProps.layoutMap.getSeriesNumberBody(col, row);
@@ -42279,20 +42407,17 @@
42279
42407
  }
42280
42408
  updateSortState(sortState) {
42281
42409
  let executeSort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
42282
- var _a, _b, _c;
42283
- let order, field;
42284
- if (sortState ? this.internalProps.sortState = sortState : this.internalProps.sortState && (Array.isArray(this.internalProps.sortState) ? (sortState = null === (_a = this.internalProps.sortState) || void 0 === _a ? void 0 : _a[0]) && (sortState.order = "normal") : (this.internalProps.sortState.order = "normal", sortState = this.internalProps.sortState)), Array.isArray(this.internalProps.sortState) ? (null === (_b = this.internalProps.sortState) || void 0 === _b ? void 0 : _b[0]) && ({
42285
- order: order,
42286
- field: field
42287
- } = null === (_c = this.internalProps.sortState) || void 0 === _c ? void 0 : _c[0]) : this.internalProps.sortState && ({
42288
- order: order,
42289
- field: field
42290
- } = this.internalProps.sortState), field && executeSort) {
42291
- const sortFunc = this._getSortFuncFromHeaderOption(this.internalProps.columns, field),
42292
- hd = this.internalProps.layoutMap.headerObjects.find(col => col && col.field === field);
42293
- hd && !1 !== hd.define.sort && (this.dataSource.sort(hd.field, order, sortFunc), this.internalProps.layoutMap.clearCellRangeMap(), this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.sortCell());
42294
- }
42295
- sortState && this.stateManager.updateSortState(sortState);
42410
+ var _a;
42411
+ if (sortState) this.internalProps.sortState = sortState;else if (this.internalProps.sortState) if (Array.isArray(this.internalProps.sortState)) for (let i = 0; i < this.internalProps.sortState.length; i++) (sortState = null === (_a = this.internalProps.sortState) || void 0 === _a ? void 0 : _a[i]) && (sortState.order = "normal");else this.internalProps.sortState.order = "normal", sortState = this.internalProps.sortState;
42412
+ (sortState = Array.isArray(sortState) ? sortState : [sortState]).some(item => item.field) && executeSort && this.internalProps.layoutMap.headerObjects.some(item => !1 !== item.define.sort) && (this.dataSource.sort(sortState.map(item => {
42413
+ const sortFunc = this._getSortFuncFromHeaderOption(this.internalProps.columns, item.field);
42414
+ this.internalProps.layoutMap.headerObjects.find(col => col && col.field === item.field);
42415
+ return {
42416
+ field: item.field,
42417
+ order: item.order,
42418
+ orderFn: sortFunc
42419
+ };
42420
+ })), this.internalProps.layoutMap.clearCellRangeMap(), this.internalProps.useOneRowHeightFillAll = !1, this.scenegraph.sortCell()), sortState.length && this.stateManager.updateSortState(sortState);
42296
42421
  }
42297
42422
  updateFilterRules(filterRules) {
42298
42423
  this.scenegraph.clearCells(), this.sortState ? (this.dataSource.updateFilterRulesForSorted(filterRules), sortRecords(this)) : this.dataSource.updateFilterRules(filterRules), this.refreshRowColCount(), this.scenegraph.createSceneGraph();
@@ -42327,7 +42452,7 @@
42327
42452
  setCellRadioState(col, row, index, this);
42328
42453
  }
42329
42454
  setRecords(records, option) {
42330
- var _a, _b, _c;
42455
+ var _a, _b;
42331
42456
  let sort;
42332
42457
  null === (_a = this.internalProps.dataSource) || void 0 === _a || _a.release(), this.internalProps.releaseList = null === (_b = this.internalProps.releaseList) || void 0 === _b ? void 0 : _b.filter(item => !item.dataSourceObj), this.internalProps.dataSource = null, Array.isArray(option) || (null == option ? void 0 : option.order) ? sort = option : option ? sort = option.sortState : null === option && (sort = null);
42333
42458
  "undefined" != typeof window && window.performance.now();
@@ -42335,20 +42460,18 @@
42335
42460
  col: this.stateManager.hover.cellPos.col,
42336
42461
  row: this.stateManager.hover.cellPos.row
42337
42462
  };
42338
- if (this.scenegraph.clearCells(), void 0 !== sort && (this.internalProps.sortState = sort, this.stateManager.setSortState(this.sortState)), records) {
42463
+ if (this.scenegraph.clearCells(), void 0 !== sort && (this.internalProps.sortState = this.internalProps.multipleSort ? Array.isArray(sort) ? sort : [sort] : sort, this.stateManager.setSortState(this.sortState)), records) {
42339
42464
  if (_setRecords(this, records), this.sortState) {
42340
- let order, field;
42341
- if (Array.isArray(this.sortState) ? 0 !== this.sortState.length && ({
42342
- order: order,
42343
- field: field
42344
- } = null === (_c = this.sortState) || void 0 === _c ? void 0 : _c[0]) : ({
42345
- order: order,
42346
- field: field
42347
- } = this.sortState), order && field && "normal" !== order) {
42348
- const sortFunc = this._getSortFuncFromHeaderOption(void 0, field),
42349
- hd = this.internalProps.layoutMap.headerObjectsIncludeHided.find(col => col && col.field === field);
42350
- hd && !1 !== hd.define.sort && this.dataSource.sort(hd.field, order, null != sortFunc ? sortFunc : defaultOrderFn);
42351
- }
42465
+ const sortState = Array.isArray(this.sortState) ? this.sortState : [this.sortState];
42466
+ sortState.some(item => item.order && item.field && "normal" !== item.order) && this.internalProps.layoutMap.headerObjectsIncludeHided.some(item => !1 !== item.define.sort) && this.dataSource.sort(sortState.map(item => {
42467
+ const sortFunc = this._getSortFuncFromHeaderOption(void 0, item.field);
42468
+ this.internalProps.layoutMap.headerObjectsIncludeHided.find(col => col && col.field === item.field);
42469
+ return {
42470
+ field: item.field,
42471
+ order: item.order || "asc",
42472
+ orderFn: null != sortFunc ? sortFunc : defaultOrderFn
42473
+ };
42474
+ }));
42352
42475
  }
42353
42476
  this.refreshRowColCount();
42354
42477
  } else _setRecords(this, records);
@@ -43580,6 +43703,7 @@
43580
43703
  isDown = false;
43581
43704
  isDraging = false;
43582
43705
  lastDragPointerXYOnWindow;
43706
+ globalEventListeners = [];
43583
43707
  constructor(gantt) {
43584
43708
  this._gantt = gantt;
43585
43709
  this._eventHandler = new EventHandler();
@@ -43587,6 +43711,18 @@
43587
43711
  }
43588
43712
  release() {
43589
43713
  this._eventHandler.release();
43714
+ this.globalEventListeners.forEach(item => {
43715
+ if (item.env === 'document') {
43716
+ document.removeEventListener(item.name, item.callback);
43717
+ }
43718
+ else if (item.env === 'body') {
43719
+ document.body.removeEventListener(item.name, item.callback);
43720
+ }
43721
+ else if (item.env === 'window') {
43722
+ window.removeEventListener(item.name, item.callback);
43723
+ }
43724
+ });
43725
+ this.globalEventListeners = [];
43590
43726
  }
43591
43727
  bindEvent() {
43592
43728
  bindTableGroupListener(this);
@@ -43717,10 +43853,16 @@
43717
43853
  gantt.verticalSplitResizeLine.childNodes[1].style.opacity = '0';
43718
43854
  });
43719
43855
  }
43720
- vglobal.addEventListener('mousedown', (e) => {
43856
+ const globalMousedownCallback = (e) => {
43721
43857
  gantt.eventManager.lastDragPointerXYOnWindow = { x: e.x, y: e.y };
43858
+ };
43859
+ eventManager.globalEventListeners.push({
43860
+ name: 'mousedown',
43861
+ env: 'document',
43862
+ callback: globalMousedownCallback
43722
43863
  });
43723
- vglobal.addEventListener('mousemove', (e) => {
43864
+ vglobal.addEventListener('mousedown', globalMousedownCallback);
43865
+ const globalMousemoveCallback = (e) => {
43724
43866
  if (stateManager.interactionState === InteractionState$1.grabing) {
43725
43867
  const lastX = gantt.eventManager.lastDragPointerXYOnWindow?.x ?? e.x;
43726
43868
  if (Math.abs(lastX - e.x) >= 1) {
@@ -43736,8 +43878,14 @@
43736
43878
  gantt.eventManager.lastDragPointerXYOnWindow = { x: e.x, y: e.y };
43737
43879
  }
43738
43880
  }
43881
+ };
43882
+ eventManager.globalEventListeners.push({
43883
+ name: 'mousemove',
43884
+ env: 'document',
43885
+ callback: globalMousemoveCallback
43739
43886
  });
43740
- vglobal.addEventListener('mouseup', (e) => {
43887
+ vglobal.addEventListener('mousemove', globalMousemoveCallback);
43888
+ const globalMouseupCallback = (e) => {
43741
43889
  if (stateManager.interactionState === 'grabing') {
43742
43890
  stateManager.updateInteractionState(InteractionState$1.default);
43743
43891
  if (stateManager.isResizingTableWidth()) {
@@ -43750,7 +43898,13 @@
43750
43898
  stateManager.endResizeTaskBar(e.x);
43751
43899
  }
43752
43900
  }
43901
+ };
43902
+ eventManager.globalEventListeners.push({
43903
+ name: 'mouseup',
43904
+ env: 'document',
43905
+ callback: globalMouseupCallback
43753
43906
  });
43907
+ vglobal.addEventListener('mouseup', globalMouseupCallback);
43754
43908
  }
43755
43909
 
43756
43910
  function syncScrollStateToTable(gantt) {
@@ -44530,9 +44684,12 @@
44530
44684
  this.tableNoFrameHeight = Math.floor(heightP);
44531
44685
  if (this.parsedOptions.outerFrameStyle) {
44532
44686
  const lineWidth = this.parsedOptions.outerFrameStyle?.borderLineWidth;
44533
- this.tableX = this.taskListTableInstance ? this.parsedOptions.verticalSplitLine.lineWidth ?? 0 : lineWidth;
44687
+ this.tableX =
44688
+ this.taskTableColumns.length >= 1 || this.options?.rowSeriesNumber
44689
+ ? this.parsedOptions.verticalSplitLine.lineWidth ?? 0
44690
+ : lineWidth;
44534
44691
  this.tableY = lineWidth;
44535
- this.tableNoFrameWidth = width - lineWidth - this.parsedOptions.verticalSplitLine.lineWidth;
44692
+ this.tableNoFrameWidth = Math.min(width - lineWidth - this.tableX, this._getAllColsWidth());
44536
44693
  this.tableNoFrameHeight = height - lineWidth * 2;
44537
44694
  }
44538
44695
  }
@@ -44679,6 +44836,20 @@
44679
44836
  }, this.options.taskListTable?.theme?.columnResize)
44680
44837
  };
44681
44838
  }
44839
+ if (listTable_options.theme.bodyStyle.frameStyle) {
44840
+ listTable_options.theme.bodyStyle.frameStyle.borderLineWidth = [
44841
+ this.parsedOptions.horizontalSplitLine?.lineWidth ?? 0,
44842
+ 0,
44843
+ 0,
44844
+ 0
44845
+ ];
44846
+ }
44847
+ else {
44848
+ listTable_options.theme.bodyStyle.frameStyle = {
44849
+ borderLineWidth: [this.parsedOptions.horizontalSplitLine?.lineWidth ?? 0, 0, 0, 0],
44850
+ borderColor: this.parsedOptions.horizontalSplitLine?.lineColor
44851
+ };
44852
+ }
44682
44853
  listTable_options.canvasWidth = this.taskTableWidth;
44683
44854
  listTable_options.canvasHeight = this.canvas.height;
44684
44855
  listTable_options.defaultHeaderRowHeight = this.getAllHeaderRowsHeight();
@@ -44844,7 +45015,7 @@
44844
45015
  }
44845
45016
  _resize() {
44846
45017
  this._updateSize();
44847
- this.taskListTableInstance.setCanvasSize(this.taskTableWidth, this.tableNoFrameHeight + this.parsedOptions.outerFrameStyle.borderLineWidth * 2);
45018
+ this.taskListTableInstance?.setCanvasSize(this.taskTableWidth, this.tableNoFrameHeight + this.parsedOptions.outerFrameStyle.borderLineWidth * 2);
44848
45019
  this._syncPropsFromTable();
44849
45020
  this.scenegraph.resize();
44850
45021
  updateSplitLineAndResizeLine(this);
@@ -44925,7 +45096,7 @@
44925
45096
  getWeekday: getWeekday
44926
45097
  });
44927
45098
 
44928
- const version = "1.7.5-alpha.0";
45099
+ const version = "1.7.5";
44929
45100
 
44930
45101
  exports.Gantt = Gantt;
44931
45102
  exports.TYPES = index$1;