@visactor/vchart 1.6.2 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +1169 -821
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/config.js +1 -0
  6. package/cjs/animation/config.js.map +1 -1
  7. package/cjs/animation/utils.js +13 -13
  8. package/cjs/animation/utils.js.map +1 -1
  9. package/cjs/compile/compilable-base.js +2 -1
  10. package/cjs/compile/compiler.js +1 -1
  11. package/cjs/compile/compiler.js.map +1 -1
  12. package/cjs/compile/mark/compilable-mark.d.ts +1 -2
  13. package/cjs/compile/mark/compilable-mark.js +4 -7
  14. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  15. package/cjs/component/axis/cartesian/axis.d.ts +3 -0
  16. package/cjs/component/axis/cartesian/axis.js +12 -5
  17. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  18. package/cjs/component/data-zoom/data-filter-base-component.js +4 -3
  19. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  20. package/cjs/component/data-zoom/data-zoom/data-zoom.js +9 -5
  21. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  22. package/cjs/component/tooltip/handler/dom/model/content-column-model.js +12 -10
  23. package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  24. package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +1 -0
  25. package/cjs/component/tooltip/handler/dom/model/shape-model.js +4 -4
  26. package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  27. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  28. package/cjs/constant/polar.js +1 -2
  29. package/cjs/constant/scroll-bar.js +2 -1
  30. package/cjs/core/factory.js +1 -2
  31. package/cjs/core/index.d.ts +1 -1
  32. package/cjs/core/index.js +1 -1
  33. package/cjs/core/index.js.map +1 -1
  34. package/cjs/core/vchart.d.ts +1 -0
  35. package/cjs/core/vchart.js +9 -6
  36. package/cjs/core/vchart.js.map +1 -1
  37. package/cjs/data/transforms/sankey.d.ts +3 -6
  38. package/cjs/data/transforms/sankey.js +40 -23
  39. package/cjs/data/transforms/sankey.js.map +1 -1
  40. package/cjs/event/event.js +2 -1
  41. package/cjs/interaction/interaction.js +1 -2
  42. package/cjs/mark/arc.js +2 -2
  43. package/cjs/mark/arc.js.map +1 -1
  44. package/cjs/mark/base/base-mark.d.ts +3 -3
  45. package/cjs/mark/base/base-mark.js +32 -72
  46. package/cjs/mark/base/base-mark.js.map +1 -1
  47. package/cjs/series/cartesian/cartesian.js +6 -3
  48. package/cjs/series/cartesian/cartesian.js.map +1 -1
  49. package/cjs/series/sankey/sankey.d.ts +8 -2
  50. package/cjs/series/sankey/sankey.js +67 -66
  51. package/cjs/series/sankey/sankey.js.map +1 -1
  52. package/cjs/util/type.js +1 -1
  53. package/cjs/util/type.js.map +1 -1
  54. package/esm/animation/config.js +1 -0
  55. package/esm/animation/config.js.map +1 -1
  56. package/esm/animation/utils.js +13 -13
  57. package/esm/animation/utils.js.map +1 -1
  58. package/esm/compile/compilable-base.js +2 -1
  59. package/esm/compile/compiler.js +1 -1
  60. package/esm/compile/compiler.js.map +1 -1
  61. package/esm/compile/mark/compilable-mark.d.ts +1 -2
  62. package/esm/compile/mark/compilable-mark.js +3 -7
  63. package/esm/compile/mark/compilable-mark.js.map +1 -1
  64. package/esm/component/axis/cartesian/axis.d.ts +3 -0
  65. package/esm/component/axis/cartesian/axis.js +12 -5
  66. package/esm/component/axis/cartesian/axis.js.map +1 -1
  67. package/esm/component/data-zoom/data-filter-base-component.js +4 -3
  68. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  69. package/esm/component/data-zoom/data-zoom/data-zoom.js +9 -5
  70. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  71. package/esm/component/tooltip/handler/dom/model/content-column-model.js +13 -9
  72. package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
  73. package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +1 -0
  74. package/esm/component/tooltip/handler/dom/model/shape-model.js +4 -4
  75. package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
  76. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  77. package/esm/constant/polar.js +1 -2
  78. package/esm/constant/scroll-bar.js +2 -1
  79. package/esm/core/factory.js +1 -2
  80. package/esm/core/index.d.ts +1 -1
  81. package/esm/core/index.js +1 -1
  82. package/esm/core/index.js.map +1 -1
  83. package/esm/core/vchart.d.ts +1 -0
  84. package/esm/core/vchart.js +9 -6
  85. package/esm/core/vchart.js.map +1 -1
  86. package/esm/data/transforms/sankey.d.ts +3 -6
  87. package/esm/data/transforms/sankey.js +36 -22
  88. package/esm/data/transforms/sankey.js.map +1 -1
  89. package/esm/event/event.js +2 -1
  90. package/esm/interaction/interaction.js +1 -2
  91. package/esm/mark/arc.js +2 -2
  92. package/esm/mark/arc.js.map +1 -1
  93. package/esm/mark/base/base-mark.d.ts +3 -3
  94. package/esm/mark/base/base-mark.js +30 -69
  95. package/esm/mark/base/base-mark.js.map +1 -1
  96. package/esm/series/cartesian/cartesian.js +4 -1
  97. package/esm/series/cartesian/cartesian.js.map +1 -1
  98. package/esm/series/sankey/sankey.d.ts +8 -2
  99. package/esm/series/sankey/sankey.js +68 -69
  100. package/esm/series/sankey/sankey.js.map +1 -1
  101. package/esm/util/type.js +1 -1
  102. package/esm/util/type.js.map +1 -1
  103. package/package.json +18 -18
@@ -8,9 +8,9 @@ import { animationConfig, userAnimationConfig } from "../../animation/utils";
8
8
 
9
9
  import { registerFadeInOutAnimation } from "../../animation/config";
10
10
 
11
- import { registerDataSetInstanceTransform, registerDataSetInstanceParser } from "../../data/register";
11
+ import { registerDataSetInstanceTransform } from "../../data/register";
12
12
 
13
- import { sankey } from "../../data/transforms/sankey";
13
+ import { sankeyFormat, sankeyLayout, collectHierarchyField } from "../../data/transforms/sankey";
14
14
 
15
15
  import { sankeyNodes } from "../../data/transforms/sankey-nodes";
16
16
 
@@ -18,16 +18,12 @@ import { sankeyLinks } from "../../data/transforms/sankey-links";
18
18
 
19
19
  import { STATE_VALUE_ENUM } from "../../compile/mark/interface";
20
20
 
21
- import { DataView, DataSet, dataViewParser } from "@visactor/vdataset";
21
+ import { DataView } from "@visactor/vdataset";
22
22
 
23
- import { DEFAULT_DATA_INDEX, LayoutZIndex, AttributeLevel, Event_Bubble_Level, ChartEvent } from "../../constant";
23
+ import { LayoutZIndex, AttributeLevel, Event_Bubble_Level, DEFAULT_DATA_INDEX } from "../../constant";
24
24
 
25
25
  import { SeriesData } from "../base/series-data";
26
26
 
27
- import { addVChartProperty } from "../../data/transforms/add-property";
28
-
29
- import { addDataKey, initKeyMap } from "../../data/transforms/data-key";
30
-
31
27
  import { SankeySeriesTooltipHelper } from "./tooltip-helper";
32
28
 
33
29
  import { Bounds, array, isNil } from "@visactor/vutils";
@@ -50,6 +46,8 @@ import { Factory } from "../../core/factory";
50
46
 
51
47
  import { TransformLevel } from "../../data/initialize";
52
48
 
49
+ import { addDataKey, initKeyMap } from "../../data/transforms/data-key";
50
+
53
51
  export class SankeySeries extends CartesianSeries {
54
52
  constructor() {
55
53
  super(...arguments), this.type = SeriesTypeEnum.sankey, this._nodeLayoutZIndex = LayoutZIndex.Node,
@@ -355,10 +353,15 @@ export class SankeySeries extends CartesianSeries {
355
353
  this._labelLimit = null !== (_c = null === (_b = this._spec.label) || void 0 === _b ? void 0 : _b.limit) && void 0 !== _c ? _c : 100;
356
354
  }
357
355
  initData() {
358
- var _a, _b, _c, _d, _e, _f;
359
- if (super.initData(), this.getViewData()) {
360
- registerDataSetInstanceTransform(this._dataSet, "sankey", sankey), this.addViewDataFilter({
361
- type: "sankey",
356
+ var _a, _b, _c, _d;
357
+ super.initData();
358
+ const viewData = this.getViewData(), rawData = this.getRawData();
359
+ if (rawData && viewData) {
360
+ registerDataSetInstanceTransform(this._dataSet, "sankeyLayout", sankeyLayout), registerDataSetInstanceTransform(this._dataSet, "sankeyFormat", sankeyFormat),
361
+ rawData.transform({
362
+ type: "sankeyFormat"
363
+ }, !1), viewData.transform({
364
+ type: "sankeyLayout",
362
365
  options: {
363
366
  view: () => ({
364
367
  x0: this._viewBox.x1,
@@ -385,11 +388,9 @@ export class SankeySeries extends CartesianSeries {
385
388
  },
386
389
  level: TransformLevel.sankeyLayout
387
390
  });
388
- const nodesDataSet = new DataSet;
389
- registerDataSetInstanceParser(nodesDataSet, "dataview", dataViewParser), registerDataSetInstanceTransform(nodesDataSet, "sankeyNodes", sankeyNodes),
390
- registerDataSetInstanceTransform(nodesDataSet, "addVChartProperty", addVChartProperty),
391
- registerDataSetInstanceTransform(nodesDataSet, "flatten", flatten);
392
- const nodesDataView = new DataView(nodesDataSet, {
391
+ const {dataSet: dataSet} = this._option;
392
+ registerDataSetInstanceTransform(dataSet, "sankeyNodes", sankeyNodes), registerDataSetInstanceTransform(dataSet, "flatten", flatten);
393
+ const nodesDataView = new DataView(dataSet, {
393
394
  name: `sankey-node-${this.id}-data`
394
395
  });
395
396
  nodesDataView.parse([ this.getViewData() ], {
@@ -407,18 +408,14 @@ export class SankeySeries extends CartesianSeries {
407
408
  return node;
408
409
  }
409
410
  }
410
- }), nodesDataView.transform({
411
+ }, !1), nodesDataView.transform({
411
412
  type: "addVChartProperty",
412
413
  options: {
413
414
  beforeCall: initKeyMap.bind(this),
414
415
  call: addDataKey
415
416
  }
416
- }, !1), null === (_e = this._data) || void 0 === _e || _e.getDataView().target.addListener("change", nodesDataView.reRunAllTransform),
417
- this._nodesSeriesData = new SeriesData(this._option, nodesDataView);
418
- const linksDataSet = new DataSet;
419
- registerDataSetInstanceParser(linksDataSet, "dataview", dataViewParser), registerDataSetInstanceTransform(linksDataSet, "sankeyLinks", sankeyLinks),
420
- registerDataSetInstanceTransform(linksDataSet, "addVChartProperty", addVChartProperty);
421
- const linksDataView = new DataView(linksDataSet, {
417
+ }, !1), this._nodesSeriesData = new SeriesData(this._option, nodesDataView), registerDataSetInstanceTransform(dataSet, "sankeyLinks", sankeyLinks);
418
+ const linksDataView = new DataView(dataSet, {
422
419
  name: `sankey-link-${this.id}-data`
423
420
  });
424
421
  linksDataView.parse([ this.getViewData() ], {
@@ -431,8 +428,7 @@ export class SankeySeries extends CartesianSeries {
431
428
  beforeCall: initKeyMap.bind(this),
432
429
  call: addDataKey
433
430
  }
434
- }, !1), null === (_f = this._data) || void 0 === _f || _f.getDataView().target.addListener("change", linksDataView.reRunAllTransform),
435
- this._linksSeriesData = new SeriesData(this._option, linksDataView);
431
+ }, !1), this._linksSeriesData = new SeriesData(this._option, linksDataView);
436
432
  }
437
433
  }
438
434
  initMark() {
@@ -469,8 +465,8 @@ export class SankeySeries extends CartesianSeries {
469
465
  y: datum => datum.y0,
470
466
  y1: datum => datum.y1,
471
467
  fill: datum => {
472
- var _a, _b, _c;
473
- return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(this._getNodeNameFromData(datum));
468
+ var _a, _b, _c, _d;
469
+ return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
474
470
  }
475
471
  }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Mark), this._trigger.registerMark(nodeMark));
476
472
  }
@@ -485,8 +481,10 @@ export class SankeySeries extends CartesianSeries {
485
481
  thickness: datum => datum.thickness,
486
482
  fill: datum => {
487
483
  var _a, _b, _c, _d, _e, _f, _g;
488
- const sourceName = (null === (_a = this._spec) || void 0 === _a ? void 0 : _a.nodeKey) || (null === (_d = null === (_c = null === (_b = this._rawData.latestData[0]) || void 0 === _b ? void 0 : _b.nodes) || void 0 === _c ? void 0 : _c[0]) || void 0 === _d ? void 0 : _d.children) ? datum.source : this.getNodeList()[datum.source];
489
- return null !== (_g = null === (_f = null === (_e = this._spec.link) || void 0 === _e ? void 0 : _e.style) || void 0 === _f ? void 0 : _f.fill) && void 0 !== _g ? _g : this.getNodeOrdinalColorScale(sourceName);
484
+ const fill = null === (_b = null === (_a = this._spec.link) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill;
485
+ if (fill) return fill;
486
+ const sourceName = (null === (_c = this._spec) || void 0 === _c ? void 0 : _c.nodeKey) || (null === (_f = null === (_e = null === (_d = this._rawData.latestData[0]) || void 0 === _d ? void 0 : _d.nodes) || void 0 === _e ? void 0 : _e[0]) || void 0 === _f ? void 0 : _f.children) ? datum.source : this.getNodeList()[datum.source];
487
+ return null === (_g = this._colorScale) || void 0 === _g ? void 0 : _g.scale(sourceName);
490
488
  },
491
489
  direction: null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal"
492
490
  }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series), this._trigger.registerMark(linkMark));
@@ -529,8 +527,8 @@ export class SankeySeries extends CartesianSeries {
529
527
  x: datum => (datum.x0 + datum.x1) / 2,
530
528
  y: datum => datum.y1 >= this._viewBox.y2 ? datum.y0 : datum.y1,
531
529
  fill: datum => {
532
- var _a, _b, _c;
533
- return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(this._getNodeNameFromData(datum));
530
+ var _a, _b, _c, _d;
531
+ return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
534
532
  },
535
533
  text: datum => this._createText(datum),
536
534
  limit: this._labelLimit,
@@ -573,8 +571,8 @@ export class SankeySeries extends CartesianSeries {
573
571
  x: datum => datum.x0,
574
572
  y: datum => (datum.y0 + datum.y1) / 2,
575
573
  fill: datum => {
576
- var _a, _b, _c;
577
- return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(this._getNodeNameFromData(datum));
574
+ var _a, _b, _c, _d;
575
+ return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
578
576
  },
579
577
  text: datum => this._createText(datum),
580
578
  limit: this._labelLimit,
@@ -584,8 +582,8 @@ export class SankeySeries extends CartesianSeries {
584
582
  x: datum => datum.x1,
585
583
  y: datum => (datum.y0 + datum.y1) / 2,
586
584
  fill: datum => {
587
- var _a, _b, _c;
588
- return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(this._getNodeNameFromData(datum));
585
+ var _a, _b, _c, _d;
586
+ return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
589
587
  },
590
588
  text: datum => this._createText(datum),
591
589
  limit: this._labelLimit,
@@ -595,8 +593,8 @@ export class SankeySeries extends CartesianSeries {
595
593
  x: datum => datum.x1 >= this._viewBox.x2 ? datum.x0 : datum.x1,
596
594
  y: datum => (datum.y0 + datum.y1) / 2,
597
595
  fill: datum => {
598
- var _a, _b, _c;
599
- return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this.getNodeOrdinalColorScale(this._getNodeNameFromData(datum));
596
+ var _a, _b, _c, _d;
597
+ return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
600
598
  },
601
599
  text: datum => this._createText(datum),
602
600
  limit: this._labelLimit,
@@ -640,35 +638,27 @@ export class SankeySeries extends CartesianSeries {
640
638
  }, this._handleRelatedClick));
641
639
  }
642
640
  nodesSeriesDataUpdate() {
643
- this.event.emit(ChartEvent.legendFilter, {
644
- model: this
645
- }), this._nodesSeriesData.updateData();
641
+ this._nodesSeriesData.updateData(), this._setNodeOrdinalColorScale();
646
642
  }
647
643
  linksSeriesDataUpdate() {
648
- this.event.emit(ChartEvent.legendFilter, {
649
- model: this
650
- }), this._linksSeriesData.updateData();
644
+ this._linksSeriesData.updateData();
651
645
  }
652
646
  initTooltip() {
653
647
  this._tooltipHelper = new SankeySeriesTooltipHelper(this), this._nodeMark && this._tooltipHelper.activeTriggerSet.mark.add(this._nodeMark),
654
648
  this._linkMark && this._tooltipHelper.activeTriggerSet.mark.add(this._linkMark),
655
649
  this._labelMark && this._tooltipHelper.activeTriggerSet.mark.add(this._labelMark);
656
650
  }
657
- getNodeOrdinalColorScale(item) {
658
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
659
- if (!isNil(null === (_c = null === (_b = null === (_a = this._option) || void 0 === _a ? void 0 : _a.globalScale) || void 0 === _b ? void 0 : _b.getScale("color")) || void 0 === _c ? void 0 : _c._specified)) {
660
- const specified = this._option.globalScale.getScale("color")._specified, colorDomain = [], colorRange = [];
661
- for (const key in specified) colorDomain.push(key), colorRange.push(specified[key]);
662
- const ordinalScale = new ColorOrdinalScale;
663
- return null === (_e = (_d = ordinalScale.domain(colorDomain)).range) || void 0 === _e || _e.call(_d, colorRange),
664
- ordinalScale.scale(item);
665
- }
666
- const colorDomain = isNil(null === (_g = null === (_f = this._option.globalScale.getScale("color")) || void 0 === _f ? void 0 : _f.domain()) || void 0 === _g ? void 0 : _g[0]) ? this.getNodeList() : this._option.globalScale.getScale("color").domain();
667
- let colorRange = null !== (_j = null === (_h = this._option.globalScale.getScale("color")) || void 0 === _h ? void 0 : _h.range()) && void 0 !== _j ? _j : this._getDataScheme();
668
- (0 === (null === (_k = this._option.globalScale.getScale("color")) || void 0 === _k ? void 0 : _k.domain().length) || isNil(this._option.globalScale.getScale("color").domain()[0])) && colorDomain.length > 10 && (colorRange = null === (_l = this._getDataScheme()[1]) || void 0 === _l ? void 0 : _l.scheme);
651
+ _setNodeOrdinalColorScale() {
652
+ var _a, _b, _c, _d, _e;
653
+ const colorScale = null === (_b = null === (_a = this._option) || void 0 === _a ? void 0 : _a.globalScale) || void 0 === _b ? void 0 : _b.getScale("color");
654
+ if (null == colorScale ? void 0 : colorScale._specified) return void (this._colorScale = colorScale);
655
+ let colorDomain, colorRange;
656
+ colorScale && (colorDomain = colorScale.domain(), colorRange = colorScale.range()),
657
+ colorRange || (colorRange = this._getDataScheme()), colorDomain && !isNil(colorDomain[0]) || (colorDomain = this.getNodeList(),
658
+ colorDomain.length > 10 && (colorRange = null === (_c = this._getDataScheme()[1]) || void 0 === _c ? void 0 : _c.scheme));
669
659
  const ordinalScale = new ColorOrdinalScale;
670
- return null === (_o = (_m = ordinalScale.domain(colorDomain)).range) || void 0 === _o || _o.call(_m, colorRange),
671
- ordinalScale.scale(item);
660
+ null === (_e = (_d = ordinalScale.domain(colorDomain)).range) || void 0 === _e || _e.call(_d, colorRange),
661
+ this._colorScale = ordinalScale;
672
662
  }
673
663
  getNodeList() {
674
664
  var _a, _b, _c;
@@ -691,21 +681,30 @@ export class SankeySeries extends CartesianSeries {
691
681
  getMeasureField() {
692
682
  return [ this._valueField ];
693
683
  }
694
- getSeriesKeys() {
695
- var _a, _b;
696
- if (this._seriesField) {
697
- const keyArray = [];
698
- return null === (_b = null === (_a = this._nodesSeriesData) || void 0 === _a ? void 0 : _a.getDataView()) || void 0 === _b || _b.latestData.forEach((datum => {
699
- var _a;
700
- keyArray.push(null !== (_a = datum[this._seriesField]) && void 0 !== _a ? _a : datum.datum[this._seriesField]);
701
- })), keyArray;
684
+ getRawDataStatisticsByField(field, isNumeric) {
685
+ var _a;
686
+ if (this._rawStatisticsCache || (this._rawStatisticsCache = {}), !this._rawStatisticsCache[field]) {
687
+ this._viewDataStatistics && this.getViewData().transformsArr.length <= 1 && (null === (_a = this._viewDataStatistics.latestData) || void 0 === _a ? void 0 : _a[field]) ? this._rawStatisticsCache[field] = this._viewDataStatistics.latestData[field] : this._rawData && (this._rawStatisticsCache[field] = {
688
+ values: this._collectByField(field)
689
+ });
702
690
  }
703
- return [];
691
+ return this._rawStatisticsCache[field];
692
+ }
693
+ _collectByField(field) {
694
+ var _a, _b, _c;
695
+ const keyArray = [], rawData = null === (_b = null === (_a = this.getRawData()) || void 0 === _a ? void 0 : _a.latestData) || void 0 === _b ? void 0 : _b[0];
696
+ if (!rawData) return [];
697
+ if (rawData.links) (null === (_c = rawData.nodes) || void 0 === _c ? void 0 : _c.length) && rawData.nodes.forEach((node => {
698
+ node[this._seriesField] && keyArray.push(node[this._seriesField]);
699
+ })); else if (rawData.nodes) {
700
+ const set = new Set;
701
+ return collectHierarchyField(set, rawData.nodes, this._seriesField), Array.from(set);
702
+ }
703
+ return keyArray;
704
704
  }
705
705
  onLayoutEnd(ctx) {
706
706
  super.onLayoutEnd(ctx), this._viewBox.set(0, 0, this._region.getLayoutRect().width, this._region.getLayoutRect().height),
707
- this._rawData.reRunAllTransform(), this.getViewData().reRunAllTransform(), this._nodesSeriesData.updateData(),
708
- this._linksSeriesData.updateData();
707
+ this.getViewData().reRunAllTransform(), this._nodesSeriesData.updateData(), this._linksSeriesData.updateData();
709
708
  }
710
709
  getDefaultShapeType() {
711
710
  return "square";