@visactor/vtable-calendar 1.22.10 → 1.22.11-alpha.0

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.
@@ -34616,6 +34616,24 @@
34616
34616
  }, delay));
34617
34617
  };
34618
34618
  }
34619
+ function cancellableThrottle(func, delay) {
34620
+ let timer = null,
34621
+ lastArgs = null,
34622
+ context = null;
34623
+ return {
34624
+ throttled: function (...args) {
34625
+ lastArgs = args, context = this, timer || (timer = setTimeout(() => {
34626
+ lastArgs && func.apply(context, lastArgs), timer = null, lastArgs = null, context = null;
34627
+ }, delay));
34628
+ },
34629
+ cancel: () => {
34630
+ timer && (clearTimeout(timer), timer = null, lastArgs = null, context = null);
34631
+ },
34632
+ flush: () => {
34633
+ timer && lastArgs && (clearTimeout(timer), func.apply(context, lastArgs), timer = null, lastArgs = null, context = null);
34634
+ }
34635
+ };
34636
+ }
34619
34637
  function pad(num, totalChars) {
34620
34638
  for (num = `${num}`; num.length < totalChars;) num = "0" + num;
34621
34639
  return num;
@@ -43749,48 +43767,26 @@
43749
43767
  const cellGroup = table.scenegraph.getCell(col, i),
43750
43768
  chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
43751
43769
  chartNode.addUpdateShapeAndBoundsTag(), chartInstanceListColumnByColumnDirection[col][i] || isValid$1(chartNode) && (chartNode.activeChartInstance || chartNode.activate(table), chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance), setTimeout(() => {
43752
- var _a, _b, _c, _d, _e, _f;
43770
+ var _a, _b, _c, _d;
43753
43771
  if (null === (_a = chartInstanceListColumnByColumnDirection[col]) || void 0 === _a ? void 0 : _a[i]) {
43754
43772
  const chartDimensionLinkage = table.options.chartDimensionLinkage;
43755
43773
  let isShowTooltip = !isScatter;
43756
- if (!isScatter && "object" == typeof chartDimensionLinkage) if (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b, i === rowEnd && isShowTooltip) {
43757
- const heightLimitToShowTooltipForEdgeRow = null !== (_c = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow) && void 0 !== _c ? _c : 0,
43758
- {
43759
- rowEnd: rowEnd1
43760
- } = table.getBodyVisibleRowRange(0, -heightLimitToShowTooltipForEdgeRow);
43761
- if (rowEnd1 === rowEnd) isShowTooltip = !0;else {
43762
- const {
43763
- rowEnd: rowEnd2
43764
- } = table.getBodyVisibleRowRange(0, 5);
43765
- isShowTooltip = rowEnd2 !== rowEnd;
43766
- }
43767
- } else if (i === rowStart && isShowTooltip) {
43768
- const heightLimitToShowTooltipForEdgeRow = null !== (_d = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow) && void 0 !== _d ? _d : 0,
43769
- {
43770
- rowStart: rowStart1
43771
- } = table.getBodyVisibleRowRange(heightLimitToShowTooltipForEdgeRow, 0);
43772
- if (rowStart1 === rowStart) isShowTooltip = !0;else {
43773
- const {
43774
- rowStart: rowStart2
43775
- } = table.getBodyVisibleRowRange(0, -5);
43776
- isShowTooltip = rowStart2 !== rowStart;
43777
- }
43778
- }
43779
- if (isScatter) table.stateManager.hover.cellPos.col === col && table.stateManager.hover.cellPos.row === i || null === (_f = (_e = chartInstanceListColumnByColumnDirection[col][i]).showCrosshair) || void 0 === _f || _f.call(_e, axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue);else {
43780
- const bodyBoundryTop = table.frozenRowCount ? table.getCellRelativeRect(col, table.frozenRowCount - 1).bottom : 0,
43774
+ if (isScatter || "object" != typeof chartDimensionLinkage || (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b, isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeRow(i, table)), isScatter) table.stateManager.hover.cellPos.col === col && table.stateManager.hover.cellPos.row === i || null === (_d = (_c = chartInstanceListColumnByColumnDirection[col][i]).showCrosshair) || void 0 === _d || _d.call(_c, axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue);else {
43775
+ const cellBoundry = table.getCellRelativeRect(col, i),
43776
+ bodyBoundryTop = table.frozenRowCount ? table.getCellRelativeRect(col, table.frozenRowCount - 1).bottom : 0,
43781
43777
  absolutePositionTop = Math.max(bodyBoundryTop, table.getCellRelativeRect(col, i).top);
43782
43778
  hideTooltip ? (table.stateManager.hover.cellPos.col === col && table.stateManager.hover.cellPos.row === i || chartInstanceListColumnByColumnDirection[col][i].hideTooltip(), chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {
43783
43779
  tooltip: !1,
43784
43780
  showTooltipOption: {
43785
- x: canvasXY.x,
43786
- y: absolutePositionTop,
43781
+ x: canvasXY.x - cellBoundry.left,
43782
+ y: absolutePositionTop - cellBoundry.top,
43787
43783
  activeType: "dimension"
43788
43784
  }
43789
43785
  })) : chartInstanceListColumnByColumnDirection[col][i].setDimensionIndex(dimensionValueOrXValue, {
43790
43786
  tooltip: isShowTooltip,
43791
43787
  showTooltipOption: {
43792
- x: canvasXY.x,
43793
- y: absolutePositionTop,
43788
+ x: canvasXY.x - cellBoundry.left,
43789
+ y: absolutePositionTop - cellBoundry.top,
43794
43790
  activeType: "dimension"
43795
43791
  }
43796
43792
  });
@@ -43831,44 +43827,22 @@
43831
43827
  if (null === (_a = chartInstanceListRowByRowDirection[row]) || void 0 === _a ? void 0 : _a[i]) {
43832
43828
  const chartDimensionLinkage = table.options.chartDimensionLinkage;
43833
43829
  let isShowTooltip = !isScatter;
43834
- if (!isScatter && "object" == typeof chartDimensionLinkage) if (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b, i === colEnd && isShowTooltip) {
43835
- const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn,
43836
- {
43837
- colEnd: colEnd1
43838
- } = table.getBodyVisibleColRange(0, -widthLimitToShowTooltipForEdgeColumn);
43839
- if (colEnd1 === colEnd) isShowTooltip = !0;else {
43840
- const {
43841
- colEnd: colEnd2
43842
- } = table.getBodyVisibleColRange(0, 5);
43843
- isShowTooltip = colEnd2 !== colEnd;
43844
- }
43845
- } else if (i === colStart && isShowTooltip) {
43846
- const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn,
43847
- {
43848
- colStart: colStart1
43849
- } = table.getBodyVisibleColRange(widthLimitToShowTooltipForEdgeColumn, 0);
43850
- if (colStart1 === colStart) isShowTooltip = !0;else {
43851
- const {
43852
- colStart: colStart2
43853
- } = table.getBodyVisibleColRange(0, -5);
43854
- isShowTooltip = colStart2 !== colStart;
43855
- }
43856
- }
43857
- if (isScatter) table.stateManager.hover.cellPos.col === i && table.stateManager.hover.cellPos.row === row || null === (_d = (_c = chartInstanceListRowByRowDirection[row][i]).showCrosshair) || void 0 === _d || _d.call(_c, axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue);else {
43858
- const bodyBoundryLeft = table.frozenColCount ? table.getCellRelativeRect(table.frozenColCount - 1, row).right : 0,
43830
+ if (isScatter || "object" != typeof chartDimensionLinkage || (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b, isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeColumn(i, table)), isScatter) table.stateManager.hover.cellPos.col === i && table.stateManager.hover.cellPos.row === row || null === (_d = (_c = chartInstanceListRowByRowDirection[row][i]).showCrosshair) || void 0 === _d || _d.call(_c, axis => "left" === axis.layoutOrient ? positionValueOrYValue : dimensionValueOrXValue);else {
43831
+ const cellBoundry = table.getCellRelativeRect(i, row),
43832
+ bodyBoundryLeft = table.frozenColCount ? table.getCellRelativeRect(table.frozenColCount - 1, row).right : 0,
43859
43833
  absolutePositionLeft = Math.max(bodyBoundryLeft, table.getCellRelativeRect(i, row).left);
43860
43834
  hideTooltip ? (table.stateManager.hover.cellPos.col === i && table.stateManager.hover.cellPos.row === row || chartInstanceListRowByRowDirection[row][i].hideTooltip(), chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {
43861
43835
  tooltip: !1,
43862
43836
  showTooltipOption: {
43863
- x: absolutePositionLeft,
43864
- y: canvasXY.y,
43837
+ x: absolutePositionLeft - cellBoundry.left,
43838
+ y: canvasXY.y - cellBoundry.top,
43865
43839
  activeType: "dimension"
43866
43840
  }
43867
43841
  })) : chartInstanceListRowByRowDirection[row][i].setDimensionIndex(dimensionValueOrXValue, {
43868
43842
  tooltip: isShowTooltip,
43869
43843
  showTooltipOption: {
43870
- x: absolutePositionLeft,
43871
- y: canvasXY.y,
43844
+ x: absolutePositionLeft - cellBoundry.left,
43845
+ y: canvasXY.y - cellBoundry.top,
43872
43846
  activeType: "dimension"
43873
43847
  }
43874
43848
  });
@@ -43877,6 +43851,103 @@
43877
43851
  }, 0), table.scenegraph.updateNextFrame();
43878
43852
  }
43879
43853
  }
43854
+ function generateChartInstanceListByViewRange(datum, table, deactivate = !1) {
43855
+ var _a;
43856
+ const {
43857
+ rowStart: rowStart
43858
+ } = table.getBodyVisibleRowRange();
43859
+ let rowEnd = table.getBodyVisibleRowRange().rowEnd;
43860
+ rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);
43861
+ const {
43862
+ colStart: colStart
43863
+ } = table.getBodyVisibleColRange();
43864
+ let colEnd = table.getBodyVisibleColRange().colEnd;
43865
+ colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);
43866
+ for (let col = colStart; col <= colEnd; col++) {
43867
+ isValid$1(chartInstanceListColumnByColumnDirection[col]) || (chartInstanceListColumnByColumnDirection[col] = {});
43868
+ for (let i = rowStart; i <= rowEnd; i++) {
43869
+ const cellGroup = table.scenegraph.getCell(col, i),
43870
+ chartNode = null === (_a = null == cellGroup ? void 0 : cellGroup.getChildren()) || void 0 === _a ? void 0 : _a[0];
43871
+ chartNode.addUpdateShapeAndBoundsTag(), chartInstanceListColumnByColumnDirection[col][i] || isValid$1(chartNode) && (chartNode.activeChartInstance ? chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance : "pie" === chartNode.attribute.spec.type && (chartNode.activate(table), chartInstanceListColumnByColumnDirection[col][i] = chartNode.activeChartInstance)), setTimeout(() => {
43872
+ var _a, _b;
43873
+ if (null === (_a = chartInstanceListColumnByColumnDirection[col]) || void 0 === _a ? void 0 : _a[i]) {
43874
+ const chartDimensionLinkage = table.options.chartDimensionLinkage;
43875
+ let isShowTooltip = !0;
43876
+ "object" == typeof chartDimensionLinkage && (deactivate ? (chartInstanceListColumnByColumnDirection[col][i].setHovered(), chartInstanceListColumnByColumnDirection[col][i].hideTooltip()) : (isShowTooltip = null === (_b = chartDimensionLinkage.showTooltip) || void 0 === _b || _b, isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeRow(i, table), isShowTooltip = isShowTooltip && checkIsShowTooltipForEdgeColumn(col, table), chartInstanceListColumnByColumnDirection[col][i].setHovered(datum), isShowTooltip && chartInstanceListColumnByColumnDirection[col][i].showTooltip(datum, {
43877
+ activeType: "mark"
43878
+ })));
43879
+ }
43880
+ }, 0), table.scenegraph.updateNextFrame();
43881
+ }
43882
+ }
43883
+ }
43884
+ function checkIsShowTooltipForEdgeRow(row, table) {
43885
+ var _a, _b;
43886
+ let isShowTooltip = !0;
43887
+ const {
43888
+ rowStart: rowStart
43889
+ } = table.getBodyVisibleRowRange();
43890
+ let rowEnd = table.getBodyVisibleRowRange().rowEnd;
43891
+ rowEnd = Math.min(table.rowCount - 1 - table.bottomFrozenRowCount, rowEnd);
43892
+ const chartDimensionLinkage = table.options.chartDimensionLinkage;
43893
+ if (row === rowEnd && isShowTooltip) {
43894
+ const heightLimitToShowTooltipForEdgeRow = null !== (_a = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow) && void 0 !== _a ? _a : 0,
43895
+ {
43896
+ rowEnd: rowEnd1
43897
+ } = table.getBodyVisibleRowRange(0, -heightLimitToShowTooltipForEdgeRow);
43898
+ if (rowEnd1 === rowEnd) isShowTooltip = !0;else {
43899
+ const {
43900
+ rowEnd: rowEnd2
43901
+ } = table.getBodyVisibleRowRange(0, 5);
43902
+ isShowTooltip = rowEnd2 !== rowEnd;
43903
+ }
43904
+ } else if (row === rowStart && isShowTooltip) {
43905
+ const heightLimitToShowTooltipForEdgeRow = null !== (_b = chartDimensionLinkage.heightLimitToShowTooltipForEdgeRow) && void 0 !== _b ? _b : 0,
43906
+ {
43907
+ rowStart: rowStart1
43908
+ } = table.getBodyVisibleRowRange(heightLimitToShowTooltipForEdgeRow, 0);
43909
+ if (rowStart1 === rowStart) isShowTooltip = !0;else {
43910
+ const {
43911
+ rowStart: rowStart2
43912
+ } = table.getBodyVisibleRowRange(0, -5);
43913
+ isShowTooltip = rowStart2 !== rowStart;
43914
+ }
43915
+ }
43916
+ return isShowTooltip;
43917
+ }
43918
+ function checkIsShowTooltipForEdgeColumn(col, table) {
43919
+ let isShowTooltip = !0;
43920
+ const {
43921
+ colStart: colStart
43922
+ } = table.getBodyVisibleColRange();
43923
+ let colEnd = table.getBodyVisibleColRange().colEnd;
43924
+ colEnd = Math.min(table.colCount - 1 - table.rightFrozenColCount, colEnd);
43925
+ const chartDimensionLinkage = table.options.chartDimensionLinkage;
43926
+ if (col === colEnd && isShowTooltip) {
43927
+ const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn,
43928
+ {
43929
+ colEnd: colEnd1
43930
+ } = table.getBodyVisibleColRange(0, -widthLimitToShowTooltipForEdgeColumn);
43931
+ if (colEnd1 === colEnd) isShowTooltip = !0;else {
43932
+ const {
43933
+ colEnd: colEnd2
43934
+ } = table.getBodyVisibleColRange(0, 5);
43935
+ isShowTooltip = colEnd2 !== colEnd;
43936
+ }
43937
+ } else if (col === colStart && isShowTooltip) {
43938
+ const widthLimitToShowTooltipForEdgeColumn = chartDimensionLinkage.widthLimitToShowTooltipForEdgeColumn,
43939
+ {
43940
+ colStart: colStart1
43941
+ } = table.getBodyVisibleColRange(widthLimitToShowTooltipForEdgeColumn, 0);
43942
+ if (colStart1 === colStart) isShowTooltip = !0;else {
43943
+ const {
43944
+ colStart: colStart2
43945
+ } = table.getBodyVisibleColRange(0, -5);
43946
+ isShowTooltip = colStart2 !== colStart;
43947
+ }
43948
+ }
43949
+ return isShowTooltip;
43950
+ }
43880
43951
  function clearChartInstanceListByRowDirection(row, excludedCol, table) {
43881
43952
  var _a;
43882
43953
  if (isValid$1(chartInstanceListRowByRowDirection[row])) for (const i in chartInstanceListRowByRowDirection[row]) {
@@ -43891,6 +43962,10 @@
43891
43962
  }
43892
43963
  delete chartInstanceListRowByRowDirection[row];
43893
43964
  }
43965
+ function clearAllChartInstanceList(table) {
43966
+ for (const col in chartInstanceListColumnByColumnDirection) clearChartInstanceListByColumnDirection(Number(col), void 0, table);
43967
+ for (const row in chartInstanceListRowByRowDirection) clearChartInstanceListByRowDirection(Number(row), void 0, table);
43968
+ }
43894
43969
 
43895
43970
  function isValidAlignDomain(domain) {
43896
43971
  return 2 === domain.length && isValidNumber$1(domain[0]) && isValidNumber$1(domain[1]) && domain[1] >= domain[0];
@@ -44524,7 +44599,7 @@
44524
44599
  const CHART_NUMBER_TYPE = genNumberType();
44525
44600
  class Chart extends Rect$1 {
44526
44601
  constructor(isShareChartSpec, params) {
44527
- if (super(params), this.type = "chart", this.activeChartInstanceHoverOnMark = null, this.justShowMarkTooltip = void 0, this.justShowMarkTooltipTimer = Date.now(), this.delayRunDimensionHoverTimer = void 0, this.numberType = CHART_NUMBER_TYPE, this.isShareChartSpec = isShareChartSpec, params.chartInstance) this.chartInstance = params.chartInstance;else {
44602
+ if (super(params), this.type = "chart", this.activeChartInstanceLastViewBox = null, this.activeChartInstanceHoverOnMark = null, this.justShowMarkTooltip = void 0, this.justShowMarkTooltipTimer = Date.now(), this.delayRunDimensionHoverTimer = void 0, this.numberType = CHART_NUMBER_TYPE, this.isShareChartSpec = isShareChartSpec, params.chartInstance) this.chartInstance = params.chartInstance;else {
44528
44603
  const chartInstance = this.chartInstance = new params.ClassType(params.spec, merge({}, this.attribute.tableChartOption, {
44529
44604
  renderCanvas: params.canvas,
44530
44605
  mode: "node" === this.attribute.mode ? "node" : "desktop-browser",
@@ -44545,7 +44620,7 @@
44545
44620
  }
44546
44621
  }
44547
44622
  activate(table) {
44548
- var _a, _b, _c, _d, _e;
44623
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
44549
44624
  if (this.activeChartInstance) return;
44550
44625
  const {
44551
44626
  col: col,
@@ -44598,7 +44673,7 @@
44598
44673
  layer.main && drawParams.clear && hoverColor && (context.beginPath(), context.fillStyle = hoverColor, context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1), context.fill());
44599
44674
  }
44600
44675
  },
44601
- componentShowContent: table.options.chartDimensionLinkage && "scatter" !== this.attribute.spec.type ? {
44676
+ componentShowContent: (null === (_b = table.options.chartDimensionLinkage) || void 0 === _b ? void 0 : _b.showTooltip) && "scatter" !== this.attribute.spec.type ? {
44602
44677
  tooltip: {
44603
44678
  dimension: !1,
44604
44679
  mark: !0
@@ -44609,15 +44684,37 @@
44609
44684
  const chartStage = this.activeChartInstance.getStage(),
44610
44685
  matrix = this.globalTransMatrix.clone(),
44611
44686
  stageMatrix = this.stage.window.getViewBoxTransform();
44612
- matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f), chartStage.window.setViewBoxTransform && chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f), this.activeChartInstance.renderSync(), null === (_c = null === (_b = table.internalProps.layoutMap) || void 0 === _b ? void 0 : _b.updateDataStateToActiveChartInstance) || void 0 === _c || _c.call(_b, this.activeChartInstance), this.activeChartInstance.on("click", params => {
44687
+ let brushChangeThrottle;
44688
+ matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f), chartStage.window.setViewBoxTransform && chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f), this.activeChartInstance.renderSync(), null === (_d = null === (_c = table.internalProps.layoutMap) || void 0 === _c ? void 0 : _c.updateDataStateToActiveChartInstance) || void 0 === _d || _d.call(_c, this.activeChartInstance), this.activeChartInstance.on("click", params => {
44613
44689
  var _a;
44614
- !1 === (null === (_a = this.attribute.spec.select) || void 0 === _a ? void 0 : _a.enable) ? table.scenegraph.updateChartState(null) : Chart.temp && table.scenegraph.updateChartState(null == params ? void 0 : params.datum);
44615
- }), this.activeChartInstance.on("brushEnd", params => {
44690
+ !1 === (null === (_a = this.attribute.spec.select) || void 0 === _a ? void 0 : _a.enable) ? table.scenegraph.updateChartState(null, void 0) : Chart.temp && table.scenegraph.updateChartState(null == params ? void 0 : params.datum, "click");
44691
+ }), (null === (_e = table.options.chartDimensionLinkage) || void 0 === _e ? void 0 : _e.listenBrushChange) && (brushChangeThrottle = cancellableThrottle(table.scenegraph.updateChartState.bind(table.scenegraph), null !== (_g = null === (_f = table.options.chartDimensionLinkage) || void 0 === _f ? void 0 : _f.brushChangeDelay) && void 0 !== _g ? _g : 100), this.activeChartInstance.on("brushChange", params => {
44616
44692
  var _a;
44617
- table.scenegraph.updateChartState(null === (_a = null == params ? void 0 : params.value) || void 0 === _a ? void 0 : _a.inBrushData), Chart.temp = 0, setTimeout(() => {
44693
+ brushChangeThrottle.throttled(null === (_a = null == params ? void 0 : params.value) || void 0 === _a ? void 0 : _a.inBrushData, "brush");
44694
+ })), this.activeChartInstance.on("brushEnd", params => {
44695
+ var _a;
44696
+ null == brushChangeThrottle || brushChangeThrottle.cancel(), table.scenegraph.updateChartState(null === (_a = null == params ? void 0 : params.value) || void 0 === _a ? void 0 : _a.inBrushData, "brush"), Chart.temp = 0, setTimeout(() => {
44618
44697
  Chart.temp = 1;
44619
44698
  }, 0);
44620
- }), table.options.chartDimensionLinkage && this.activeChartInstance.on("dimensionHover", params => {
44699
+ }), (null === (_h = table.options.chartDimensionLinkage) || void 0 === _h ? void 0 : _h.showTooltip) && ("pie" === this.attribute.spec.type && (this.activeChartInstance.on("pointerover", {
44700
+ markName: "pie"
44701
+ }, params => {
44702
+ var _a;
44703
+ const categoryField = this.attribute.spec.categoryField,
44704
+ datum = {
44705
+ [categoryField]: null === (_a = null == params ? void 0 : params.datum) || void 0 === _a ? void 0 : _a[categoryField]
44706
+ };
44707
+ generateChartInstanceListByViewRange(datum, table, !1);
44708
+ }), this.activeChartInstance.on("pointerout", {
44709
+ markName: "pie"
44710
+ }, params => {
44711
+ var _a;
44712
+ const categoryField = this.attribute.spec.categoryField,
44713
+ datum = {
44714
+ [categoryField]: null === (_a = null == params ? void 0 : params.datum) || void 0 === _a ? void 0 : _a[categoryField]
44715
+ };
44716
+ generateChartInstanceListByViewRange(datum, table, !0);
44717
+ })), this.activeChartInstance.on("dimensionHover", params => {
44621
44718
  var _a, _b;
44622
44719
  const dimensionInfo = null == params ? void 0 : params.dimensionInfo[0],
44623
44720
  canvasXY = null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.canvas,
@@ -44680,12 +44777,13 @@
44680
44777
  }
44681
44778
  }
44682
44779
  }
44683
- }), null === (_e = (_d = table)._bindChartEvent) || void 0 === _e || _e.call(_d, this.activeChartInstance);
44780
+ })), null === (_k = (_j = table)._bindChartEvent) || void 0 === _k || _k.call(_j, this.activeChartInstance);
44684
44781
  }
44685
44782
  deactivate(table, {
44686
44783
  releaseChartInstance = !0,
44687
44784
  releaseColumnChartInstance = !0,
44688
- releaseRowChartInstance = !0
44785
+ releaseRowChartInstance = !0,
44786
+ releaseAllChartInstance = !1
44689
44787
  } = {}) {
44690
44788
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
44691
44789
  if (this.activeChartInstanceHoverOnMark = null, this.justShowMarkTooltip = void 0, this.justShowMarkTooltipTimer = Date.now(), clearTimeout(this.delayRunDimensionHoverTimer), this.delayRunDimensionHoverTimer = void 0, releaseChartInstance) {
@@ -44707,7 +44805,7 @@
44707
44805
  } = this.parent;
44708
44806
  releaseColumnChartInstance && table.internalProps.layoutMap.isAxisCell(col, table.rowCount - table.bottomFrozenRowCount) && (null === (_h = null === (_g = table.scenegraph.getCell(col, table.rowCount - table.bottomFrozenRowCount).firstChild) || void 0 === _g ? void 0 : _g.hideLabelHoverOnAxis) || void 0 === _h || _h.call(_g)), releaseRowChartInstance && table.internalProps.layoutMap.isAxisCell(table.rowHeaderLevelCount - 1, row) && (null === (_k = null === (_j = table.scenegraph.getCell(table.rowHeaderLevelCount - 1, row).firstChild) || void 0 === _j ? void 0 : _j.hideLabelHoverOnAxis) || void 0 === _k || _k.call(_j));
44709
44807
  }
44710
- releaseColumnChartInstance && clearChartInstanceListByColumnDirection(this.parent.col, "scatter" === this.attribute.spec.type ? this.parent.row : void 0, table), releaseRowChartInstance && clearChartInstanceListByRowDirection(this.parent.row, "scatter" === this.attribute.spec.type ? this.parent.col : void 0, table);
44808
+ releaseAllChartInstance ? clearAllChartInstanceList(table) : (releaseColumnChartInstance && clearChartInstanceListByColumnDirection(this.parent.col, "scatter" === this.attribute.spec.type ? this.parent.row : void 0, table), releaseRowChartInstance && clearChartInstanceListByRowDirection(this.parent.row, "scatter" === this.attribute.spec.type ? this.parent.col : void 0, table));
44711
44809
  }
44712
44810
  updateData(data) {
44713
44811
  this.attribute.data = data;
@@ -44722,13 +44820,14 @@
44722
44820
  y1: y1,
44723
44821
  x2: x2,
44724
44822
  y2: y2
44725
- } = cellGroup.globalAABBBounds;
44726
- return {
44727
- x1: Math.ceil(x1 + padding[3] + table.scrollLeft + (null !== (_b = null === (_a = table.options.viewBox) || void 0 === _a ? void 0 : _a.x1) && void 0 !== _b ? _b : 0)),
44728
- x2: Math.ceil(x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft + (null !== (_d = null === (_c = table.options.viewBox) || void 0 === _c ? void 0 : _c.x1) && void 0 !== _d ? _d : 0)),
44729
- y1: Math.ceil(y1 + padding[0] + table.scrollTop + (null !== (_f = null === (_e = table.options.viewBox) || void 0 === _e ? void 0 : _e.y1) && void 0 !== _f ? _f : 0)),
44730
- y2: Math.ceil(y1 + cellGroup.attribute.height - padding[2] + table.scrollTop + (null !== (_h = null === (_g = table.options.viewBox) || void 0 === _g ? void 0 : _g.y1) && void 0 !== _h ? _h : 0))
44731
- };
44823
+ } = cellGroup.globalAABBBounds,
44824
+ viewBox = {
44825
+ x1: Math.ceil(x1 + padding[3] + table.scrollLeft + (null !== (_b = null === (_a = table.options.viewBox) || void 0 === _a ? void 0 : _a.x1) && void 0 !== _b ? _b : 0)),
44826
+ x2: Math.ceil(x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft + (null !== (_d = null === (_c = table.options.viewBox) || void 0 === _c ? void 0 : _c.x1) && void 0 !== _d ? _d : 0)),
44827
+ y1: Math.ceil(y1 + padding[0] + table.scrollTop + (null !== (_f = null === (_e = table.options.viewBox) || void 0 === _e ? void 0 : _e.y1) && void 0 !== _f ? _f : 0)),
44828
+ y2: Math.ceil(y1 + cellGroup.attribute.height - padding[2] + table.scrollTop + (null !== (_h = null === (_g = table.options.viewBox) || void 0 === _g ? void 0 : _g.y1) && void 0 !== _h ? _h : 0))
44829
+ };
44830
+ return this.activeChartInstance ? this.activeChartInstanceLastViewBox = viewBox : this.activeChartInstanceLastViewBox = null, viewBox;
44732
44831
  }
44733
44832
  }
44734
44833
  function getTableBounds(col, row, table) {
@@ -44943,7 +45042,7 @@
44943
45042
  {
44944
45043
  width = groupAttribute.width,
44945
45044
  height = groupAttribute.height
44946
- } = (chart.getViewBox(), chart.attribute),
45045
+ } = chart.attribute,
44947
45046
  {
44948
45047
  table: table
44949
45048
  } = chart.getRootNode(),
@@ -44971,8 +45070,9 @@
44971
45070
  });
44972
45071
  }
44973
45072
  }
44974
- const viewBox = chart.getViewBox();
44975
- activeChartInstance.updateViewBox({
45073
+ const lastViewBox = chart.activeChartInstanceLastViewBox,
45074
+ viewBox = chart.getViewBox();
45075
+ lastViewBox && viewBox.x1 === lastViewBox.x1 && viewBox.x2 === lastViewBox.x2 && viewBox.y1 === lastViewBox.y1 && viewBox.y2 === lastViewBox.y2 || activeChartInstance.updateViewBox({
44976
45076
  x1: 0,
44977
45077
  x2: viewBox.x2 - viewBox.x1,
44978
45078
  y1: 0,
@@ -48490,9 +48590,10 @@
48490
48590
  });
48491
48591
  }
48492
48592
  }
48493
- function updateChartState(scenegraph, datum) {
48593
+ function updateChartState(scenegraph, datum, selectedDataMode) {
48494
48594
  const table = scenegraph.table;
48495
48595
  if (table.isPivotChart()) {
48596
+ table._selectedDataMode = selectedDataMode;
48496
48597
  const preSelectItemsCount = table._selectedDataItemsInChart.length;
48497
48598
  if ((null == datum || 0 === (null == datum ? void 0 : datum.length) || 0 === Object.keys(datum).length) && 0 === preSelectItemsCount) return;
48498
48599
  const newSelectedDataItemsInChart = [];
@@ -49240,16 +49341,22 @@
49240
49341
  resetResidentHoverIcon(col, row) {
49241
49342
  resetResidentHoverIcon(col, row, this);
49242
49343
  }
49243
- deactivateChart(col, row) {
49244
- var _a, _b, _c;
49344
+ deactivateChart(col, row, forceRelease = !1) {
49345
+ var _a, _b, _c, _d, _e, _f;
49245
49346
  if (-1 === col || -1 === row) return;
49246
49347
  const cellGroup = this.getCell(col, row);
49247
49348
  if (null === (_a = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _a ? void 0 : _a.deactivate) {
49349
+ if (forceRelease) return void (null === (_c = null === (_b = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _b ? void 0 : _b.deactivate) || void 0 === _c || _c.call(_b, this.table, {
49350
+ releaseChartInstance: !0,
49351
+ releaseColumnChartInstance: !0,
49352
+ releaseRowChartInstance: !0,
49353
+ releaseAllChartInstance: !0
49354
+ }));
49248
49355
  const chartType = (null == cellGroup ? void 0 : cellGroup.firstChild).attribute.spec.type;
49249
- null === (_c = null === (_b = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _b ? void 0 : _b.deactivate) || void 0 === _c || _c.call(_b, this.table, this.table.options.chartDimensionLinkage ? {
49250
- releaseChartInstance: "scatter" === chartType ? col !== this.table.stateManager.hover.cellPos.col && row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount : this.table.options.indicatorsAsCol ? row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount : col !== this.table.stateManager.hover.cellPos.col || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount,
49251
- releaseColumnChartInstance: col !== this.table.stateManager.hover.cellPos.col || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount,
49252
- releaseRowChartInstance: row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount
49356
+ null === (_e = null === (_d = null == cellGroup ? void 0 : cellGroup.firstChild) || void 0 === _d ? void 0 : _d.deactivate) || void 0 === _e || _e.call(_d, this.table, (null === (_f = this.table.options.chartDimensionLinkage) || void 0 === _f ? void 0 : _f.showTooltip) ? {
49357
+ releaseChartInstance: "pie" !== chartType && ("scatter" === chartType ? col !== this.table.stateManager.hover.cellPos.col && row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount : this.table.options.indicatorsAsCol ? row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount : col !== this.table.stateManager.hover.cellPos.col || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount),
49358
+ releaseColumnChartInstance: "pie" !== chartType && (col !== this.table.stateManager.hover.cellPos.col || this.table.stateManager.hover.cellPos.row < this.table.frozenRowCount || this.table.stateManager.hover.cellPos.row > this.table.rowCount - 1 - this.table.bottomFrozenRowCount),
49359
+ releaseRowChartInstance: "pie" !== chartType && (row !== this.table.stateManager.hover.cellPos.row || this.table.stateManager.hover.cellPos.col < this.table.frozenColCount || this.table.stateManager.hover.cellPos.col > this.table.colCount - 1 - this.table.rightFrozenColCount)
49253
49360
  } : void 0);
49254
49361
  }
49255
49362
  }
@@ -49297,8 +49404,8 @@
49297
49404
  updateChartSizeForResizeRowHeight(row) {
49298
49405
  updateChartSizeForResizeRowHeight(this, row);
49299
49406
  }
49300
- updateChartState(datum) {
49301
- this.table.isPivotChart() && updateChartState(this, datum);
49407
+ updateChartState(datum, selectedDataMode) {
49408
+ this.table.isPivotChart() && updateChartState(this, datum, selectedDataMode);
49302
49409
  }
49303
49410
  updateCheckboxCellState(col, row, checked) {
49304
49411
  var _a, _b;
@@ -52325,7 +52432,7 @@
52325
52432
  }, 0 !== e.button) return;
52326
52433
  const eventArgsSet = getCellEventArgsSet(e);
52327
52434
  if (eventManager.downIcon = void 0, stateManager.interactionState !== InteractionState.default) return;
52328
- 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;
52435
+ if (table.isPivotChart() && "chart" !== (null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target.type) && table.scenegraph.updateChartState(null, void 0), (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;
52329
52436
  const isCompleteEdit = null === (_e = table.editorManager) || void 0 === _e ? void 0 : _e.completeEdit(e.nativeEvent);
52330
52437
  getPromiseValue(isCompleteEdit, isCompleteEdit => {
52331
52438
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
@@ -52353,7 +52460,7 @@
52353
52460
  }
52354
52461
  eventManager.dealTableHover(eventArgsSet);
52355
52462
  } else {
52356
- if (!eventManager.checkCellFillhandle(eventArgsSet) && (eventManager.checkColumnResize(eventArgsSet, !0) || eventManager.checkRowResize(eventArgsSet, !0))) return table.scenegraph.updateChartState(null), void stateManager.updateInteractionState(InteractionState.grabing);
52463
+ if (!eventManager.checkCellFillhandle(eventArgsSet) && (eventManager.checkColumnResize(eventArgsSet, !0) || eventManager.checkRowResize(eventArgsSet, !0))) return table.scenegraph.updateChartState(null, void 0), void stateManager.updateInteractionState(InteractionState.grabing);
52357
52464
  if (eventManager.checkColumnMover(eventArgsSet)) return void stateManager.updateInteractionState(InteractionState.grabing);
52358
52465
  if (eventManager.checkCellFillhandle(eventArgsSet, !0) && eventManager.dealFillSelect(eventArgsSet)) return void stateManager.updateInteractionState(InteractionState.grabing);
52359
52466
  eventManager.dealTableSelect(eventArgsSet) && stateManager.updateInteractionState(InteractionState.grabing);
@@ -52505,7 +52612,7 @@
52505
52612
  if (!(null === (_a = table.options.customConfig) || void 0 === _a ? void 0 : _a.selectCellWhenCellEditorNotExists) && !1 === isCompleteEdit) return;
52506
52613
  const hitIcon = (null === (_b = e.target.role) || void 0 === _b ? void 0 : _b.startsWith("icon")) ? e.target : void 0;
52507
52614
  if (eventManager.downIcon = hitIcon, "touch" === e.pointerType || hitIcon || eventManager.checkCellFillhandle(eventArgsSet) || stateManager.columnResize.resizing || !eventManager.checkColumnResize(eventArgsSet, !0)) ;else {
52508
- table.scenegraph.updateChartState(null), stateManager.updateInteractionState(InteractionState.grabing);
52615
+ table.scenegraph.updateChartState(null, void 0), stateManager.updateInteractionState(InteractionState.grabing);
52509
52616
  const {
52510
52617
  eventArgs: eventArgs
52511
52618
  } = eventArgsSet;
@@ -52524,7 +52631,7 @@
52524
52631
  if (table.eventManager.isDraging || !target || !target.isDescendantsOf(table.scenegraph.stage) && target.stage !== target || target.isDescendantsOf(table.scenegraph.tableGroup)) table.eventManager.isDraging && stateManager.isSelecting() && stateManager.endSelectCells();else {
52525
52632
  stateManager.updateInteractionState(InteractionState.default), eventManager.dealTableHover();
52526
52633
  const isHasSelected = !!(null === (_a = stateManager.select.ranges) || void 0 === _a ? void 0 : _a.length);
52527
- (null === (_b = table.options.customConfig) || void 0 === _b ? void 0 : _b.cancelSelectCellHook) ? (null === (_c = table.options.customConfig) || void 0 === _c ? void 0 : _c.cancelSelectCellHook(e)) && eventManager.dealTableSelect() : (null === (_e = null === (_d = table.options.select) || void 0 === _d ? void 0 : _d.blankAreaClickDeselect) || void 0 === _e || _e) && eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected), stateManager.updateCursor(), table.scenegraph.updateChartState(null);
52634
+ (null === (_b = table.options.customConfig) || void 0 === _b ? void 0 : _b.cancelSelectCellHook) ? (null === (_c = table.options.customConfig) || void 0 === _c ? void 0 : _c.cancelSelectCellHook(e)) && eventManager.dealTableSelect() : (null === (_e = null === (_d = table.options.select) || void 0 === _d ? void 0 : _d.blankAreaClickDeselect) || void 0 === _e || _e) && eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected), stateManager.updateCursor(), table.scenegraph.updateChartState(null, void 0);
52528
52635
  }
52529
52636
  }), table.scenegraph.stage.addEventListener("pointermove", e => {
52530
52637
  var _a, _b, _c;
@@ -52642,7 +52749,15 @@
52642
52749
  table.stateManager.setCheckedState(col, row, cellInfo.field, e.detail.checked), table.fireListeners(TABLE_EVENT_TYPE.SWITCH_STATE_CHANGE, cellsEvent), table.scenegraph.updateNextFrame();
52643
52750
  }), table.scenegraph.stage.addEventListener("wheel", e => {
52644
52751
  var _a;
52645
- e.path.find(node => "legend" === node.name) || (null === (_a = table.editorManager) || void 0 === _a || _a.completeEdit(), table.eventManager._enableTableScroll && handleWhell(e, stateManager));
52752
+ if (!e.path.find(node => "legend" === node.name)) {
52753
+ null === (_a = table.editorManager) || void 0 === _a || _a.completeEdit();
52754
+ const {
52755
+ cellPos: cellPos
52756
+ } = table.stateManager.hover,
52757
+ prevHoverCellCol = cellPos.col,
52758
+ prevHoverCellRow = cellPos.row;
52759
+ table.scenegraph.deactivateChart(prevHoverCellCol, prevHoverCellRow, !0), table.eventManager._enableTableScroll && handleWhell(e, stateManager);
52760
+ }
52646
52761
  });
52647
52762
  }
52648
52763
  function bindGesture(eventManager) {
@@ -56054,7 +56169,7 @@
56054
56169
  }
56055
56170
  constructor(container, options = {}) {
56056
56171
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
56057
- if (super(), this.showFrozenIcon = !0, this.version = "1.22.10", this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200), "node" === Env.mode ? (options = container, container = null) : container instanceof HTMLElement || (options = container, container = container.container ? container.container : null), !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
56172
+ if (super(), this.showFrozenIcon = !0, this.version = "1.22.11-alpha.0", this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200), "node" === Env.mode ? (options = container, container = null) : container instanceof HTMLElement || (options = container, container = container.container ? container.container : null), !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
56058
56173
  this.pluginManager = new PluginManager(this, options), this.fireListeners(TABLE_EVENT_TYPE.BEFORE_INIT, {
56059
56174
  options: options,
56060
56175
  container: container