@visactor/vchart 1.11.0-alpha.3 → 1.11.1-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.
Files changed (107) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +245 -138
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart.d.ts +3 -0
  6. package/cjs/chart/base/base-chart.js +11 -0
  7. package/cjs/chart/base/base-chart.js.map +1 -1
  8. package/cjs/chart/interface/chart.d.ts +3 -0
  9. package/cjs/chart/interface/chart.js.map +1 -1
  10. package/cjs/chart/sankey/sankey-transformer.js +5 -0
  11. package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
  12. package/cjs/chart/sankey/sankey.d.ts +5 -0
  13. package/cjs/chart/sankey/sankey.js +23 -1
  14. package/cjs/chart/sankey/sankey.js.map +1 -1
  15. package/cjs/compile/compiler.d.ts +4 -3
  16. package/cjs/compile/compiler.js +12 -7
  17. package/cjs/compile/compiler.js.map +1 -1
  18. package/cjs/compile/mark/interface.d.ts +3 -1
  19. package/cjs/compile/mark/interface.js +2 -1
  20. package/cjs/compile/mark/interface.js.map +1 -1
  21. package/cjs/component/axis/interface/spec.js.map +1 -1
  22. package/cjs/component/tooltip/tooltip.d.ts +1 -5
  23. package/cjs/component/tooltip/tooltip.js.map +1 -1
  24. package/cjs/component/tooltip/utils/compose.d.ts +2 -2
  25. package/cjs/component/tooltip/utils/compose.js +2 -2
  26. package/cjs/component/tooltip/utils/compose.js.map +1 -1
  27. package/cjs/component/tooltip/utils/get-spec.js +6 -6
  28. package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
  29. package/cjs/core/index.d.ts +1 -1
  30. package/cjs/core/index.js +1 -1
  31. package/cjs/core/index.js.map +1 -1
  32. package/cjs/core/interface.d.ts +3 -0
  33. package/cjs/core/interface.js.map +1 -1
  34. package/cjs/core/vchart.d.ts +3 -0
  35. package/cjs/core/vchart.js +9 -0
  36. package/cjs/core/vchart.js.map +1 -1
  37. package/cjs/data/transforms/sankey.js +1 -14
  38. package/cjs/data/transforms/sankey.js.map +1 -1
  39. package/cjs/plugin/chart/formatter/formatter.js +3 -3
  40. package/cjs/plugin/chart/formatter/formatter.js.map +1 -1
  41. package/cjs/plugin/components/register.js +2 -2
  42. package/cjs/plugin/components/register.js.map +1 -1
  43. package/cjs/series/base/base-series.js +4 -4
  44. package/cjs/series/base/base-series.js.map +1 -1
  45. package/cjs/series/sankey/interface.d.ts +5 -0
  46. package/cjs/series/sankey/interface.js.map +1 -1
  47. package/cjs/series/sankey/sankey.d.ts +8 -3
  48. package/cjs/series/sankey/sankey.js +85 -49
  49. package/cjs/series/sankey/sankey.js.map +1 -1
  50. package/cjs/series/sankey/tooltip-helper.js +1 -1
  51. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  52. package/cjs/series/scatter/scatter.js +1 -1
  53. package/cjs/series/scatter/scatter.js.map +1 -1
  54. package/cjs/typings/tooltip/line.d.ts +4 -0
  55. package/cjs/typings/tooltip/line.js.map +1 -1
  56. package/esm/chart/base/base-chart.d.ts +3 -0
  57. package/esm/chart/base/base-chart.js +11 -0
  58. package/esm/chart/base/base-chart.js.map +1 -1
  59. package/esm/chart/interface/chart.d.ts +3 -0
  60. package/esm/chart/interface/chart.js.map +1 -1
  61. package/esm/chart/sankey/sankey-transformer.js +5 -0
  62. package/esm/chart/sankey/sankey-transformer.js.map +1 -1
  63. package/esm/chart/sankey/sankey.d.ts +5 -0
  64. package/esm/chart/sankey/sankey.js +24 -0
  65. package/esm/chart/sankey/sankey.js.map +1 -1
  66. package/esm/compile/compiler.d.ts +4 -3
  67. package/esm/compile/compiler.js +13 -8
  68. package/esm/compile/compiler.js.map +1 -1
  69. package/esm/compile/mark/interface.d.ts +3 -1
  70. package/esm/compile/mark/interface.js +2 -1
  71. package/esm/compile/mark/interface.js.map +1 -1
  72. package/esm/component/axis/interface/spec.js.map +1 -1
  73. package/esm/component/tooltip/tooltip.d.ts +1 -5
  74. package/esm/component/tooltip/tooltip.js.map +1 -1
  75. package/esm/component/tooltip/utils/compose.d.ts +2 -2
  76. package/esm/component/tooltip/utils/compose.js +1 -1
  77. package/esm/component/tooltip/utils/compose.js.map +1 -1
  78. package/esm/component/tooltip/utils/get-spec.js +1 -1
  79. package/esm/component/tooltip/utils/get-spec.js.map +1 -1
  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/interface.d.ts +3 -0
  84. package/esm/core/interface.js.map +1 -1
  85. package/esm/core/vchart.d.ts +3 -0
  86. package/esm/core/vchart.js +9 -0
  87. package/esm/core/vchart.js.map +1 -1
  88. package/esm/data/transforms/sankey.js +1 -16
  89. package/esm/data/transforms/sankey.js.map +1 -1
  90. package/esm/plugin/chart/formatter/formatter.js +3 -1
  91. package/esm/plugin/chart/formatter/formatter.js.map +1 -1
  92. package/esm/plugin/components/register.js +1 -1
  93. package/esm/plugin/components/register.js.map +1 -1
  94. package/esm/series/base/base-series.js +3 -4
  95. package/esm/series/base/base-series.js.map +1 -1
  96. package/esm/series/sankey/interface.d.ts +5 -0
  97. package/esm/series/sankey/interface.js.map +1 -1
  98. package/esm/series/sankey/sankey.d.ts +8 -3
  99. package/esm/series/sankey/sankey.js +85 -50
  100. package/esm/series/sankey/sankey.js.map +1 -1
  101. package/esm/series/sankey/tooltip-helper.js +1 -1
  102. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  103. package/esm/series/scatter/scatter.js +1 -1
  104. package/esm/series/scatter/scatter.js.map +1 -1
  105. package/esm/typings/tooltip/line.d.ts +4 -0
  106. package/esm/typings/tooltip/line.js.map +1 -1
  107. package/package.json +13 -13
package/build/index.js CHANGED
@@ -947,6 +947,10 @@
947
947
  return isValidNumber$1(value) ? value : 0;
948
948
  }
949
949
 
950
+ function seedRandom(seed) {
951
+ return parseFloat("0." + Math.sin(seed).toString().substring(6));
952
+ }
953
+
950
954
  const epsilon$1 = 1e-12;
951
955
  const pi$1 = Math.PI;
952
956
  const halfPi$2 = pi$1 / 2;
@@ -56322,6 +56326,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
56322
56326
  this._canvasListeners = new Map();
56323
56327
  this.isInited = false;
56324
56328
  this._isRunning = false;
56329
+ this._released = false;
56325
56330
  this._model = {
56326
56331
  [GrammarType.signal]: {},
56327
56332
  [GrammarType.data]: {},
@@ -56349,6 +56354,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
56349
56354
  }
56350
56355
  initView() {
56351
56356
  var _a, _b, _c, _d;
56357
+ if (this._released) {
56358
+ return;
56359
+ }
56352
56360
  this.isInited = true;
56353
56361
  if (this._view) {
56354
56362
  return;
@@ -56423,6 +56431,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
56423
56431
  }
56424
56432
  }
56425
56433
  compile(ctx, option) {
56434
+ if (this._released) {
56435
+ return;
56436
+ }
56426
56437
  const { chart } = ctx;
56427
56438
  this._compileChart = chart;
56428
56439
  this.initView();
@@ -56440,17 +56451,23 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
56440
56451
  this.releaseGrammar(removeGraphicItems);
56441
56452
  }
56442
56453
  renderNextTick(morphConfig) {
56454
+ if (this._released) {
56455
+ return;
56456
+ }
56443
56457
  if (!this._nextRafId) {
56444
- this._nextRafId = VChart.vglobal.getRequestAnimationFrame()(() => {
56458
+ this._nextRafId = vglobal.getRequestAnimationFrame()(() => {
56445
56459
  this._nextRafId = null;
56446
56460
  this.render(morphConfig);
56447
56461
  });
56448
56462
  }
56449
56463
  }
56450
56464
  render(morphConfig) {
56451
- var _a;
56465
+ var _a, _b;
56466
+ if (this._released) {
56467
+ return;
56468
+ }
56452
56469
  if (this._nextRafId) {
56453
- VChart.vglobal.getCancelAnimationFrame()(this._nextRafId);
56470
+ vglobal.getCancelAnimationFrame()(this._nextRafId);
56454
56471
  this._nextRafId = null;
56455
56472
  }
56456
56473
  if (this._isRunning) {
@@ -56463,6 +56480,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
56463
56480
  this._isRunning = true;
56464
56481
  (_a = this._view) === null || _a === void 0 ? void 0 : _a.run(morphConfig);
56465
56482
  this._isRunning = false;
56483
+ if (this._nextRafId) {
56484
+ vglobal.getCancelAnimationFrame()(this._nextRafId);
56485
+ this._nextRafId = null;
56486
+ this._isRunning = true;
56487
+ (_b = this._view) === null || _b === void 0 ? void 0 : _b.run(morphConfig);
56488
+ this._isRunning = false;
56489
+ }
56466
56490
  }
56467
56491
  updateViewBox(viewBox, reRender = true) {
56468
56492
  if (!this._view) {
@@ -56609,6 +56633,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
56609
56633
  this._view = null;
56610
56634
  this.isInited = false;
56611
56635
  this._compileChart = null;
56636
+ this._released = true;
56612
56637
  }
56613
56638
  releaseGrammar(removeGraphicItems = false) {
56614
56639
  var _a, _b;
@@ -56825,6 +56850,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
56825
56850
  STATE_VALUE_ENUM["STATE_DIMENSION_HOVER_REVERSE"] = "dimension_hover_reverse";
56826
56851
  STATE_VALUE_ENUM["STATE_SELECTED"] = "selected";
56827
56852
  STATE_VALUE_ENUM["STATE_SELECTED_REVERSE"] = "selected_reverse";
56853
+ STATE_VALUE_ENUM["STATE_SANKEY_EMPHASIS"] = "selected";
56854
+ STATE_VALUE_ENUM["STATE_SANKEY_EMPHASIS_REVERSE"] = "blur";
56828
56855
  })(STATE_VALUE_ENUM || (STATE_VALUE_ENUM = {}));
56829
56856
  var STATE_VALUE_ENUM_REVERSE;
56830
56857
  (function (STATE_VALUE_ENUM_REVERSE) {
@@ -61238,6 +61265,24 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
61238
61265
  }
61239
61266
  this._chart.setHovered(datum, filter, region);
61240
61267
  }
61268
+ clearState(state) {
61269
+ if (!this._chart) {
61270
+ return;
61271
+ }
61272
+ this._chart.clearState(state);
61273
+ }
61274
+ clearSelected() {
61275
+ if (!this._chart) {
61276
+ return;
61277
+ }
61278
+ this._chart.clearSelected();
61279
+ }
61280
+ clearHovered() {
61281
+ if (!this._chart) {
61282
+ return;
61283
+ }
61284
+ this._chart.clearHovered();
61285
+ }
61241
61286
  _updateCurrentTheme(nextThemeName) {
61242
61287
  var _a, _b;
61243
61288
  const optionTheme = this._option.theme;
@@ -65964,7 +66009,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
65964
66009
  registerComponentPlugin(CanvasTooltipHandler);
65965
66010
  };
65966
66011
 
65967
- const version = "1.11.0-alpha.3";
66012
+ const version = "1.11.1-alpha.0";
65968
66013
 
65969
66014
  const addVChartProperty = (data, op) => {
65970
66015
  const context = op.beforeCall();
@@ -67026,7 +67071,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
67026
67071
  return selector;
67027
67072
  }
67028
67073
  _parseDefaultInteractionConfig(mainMarks) {
67029
- var _a;
67030
67074
  if (!(mainMarks === null || mainMarks === void 0 ? void 0 : mainMarks.length)) {
67031
67075
  return [];
67032
67076
  }
@@ -67066,6 +67110,12 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
67066
67110
  }
67067
67111
  if (finalSelectSpec.enable) {
67068
67112
  const selector = this._parseSelectorOfInteraction(finalSelectSpec, mainMarks);
67113
+ const isMultiple = finalSelectSpec.mode === 'multiple';
67114
+ const triggerOff = isValid$3(finalSelectSpec.triggerOff)
67115
+ ? finalSelectSpec.triggerOff
67116
+ : isMultiple
67117
+ ? ['empty']
67118
+ : ['empty', finalSelectSpec.trigger];
67069
67119
  selector.length &&
67070
67120
  res.push({
67071
67121
  type: 'element-select',
@@ -67073,10 +67123,10 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
67073
67123
  regionId: this._region.id,
67074
67124
  selector,
67075
67125
  trigger: finalSelectSpec.trigger,
67076
- triggerOff: ((_a = finalSelectSpec.triggerOff) !== null && _a !== void 0 ? _a : 'empty'),
67126
+ triggerOff: triggerOff,
67077
67127
  reverseState: STATE_VALUE_ENUM.STATE_SELECTED_REVERSE,
67078
67128
  state: STATE_VALUE_ENUM.STATE_SELECTED,
67079
- isMultiple: finalSelectSpec.mode === 'multiple'
67129
+ isMultiple
67080
67130
  });
67081
67131
  }
67082
67132
  return res;
@@ -71876,6 +71926,19 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
71876
71926
  setHovered(datum, filter, region) {
71877
71927
  this._setStateInDatum(STATE_VALUE_ENUM.STATE_HOVER, true, datum, filter, region);
71878
71928
  }
71929
+ clearState(state) {
71930
+ this.getAllRegions().forEach(r => {
71931
+ r.interaction.clearEventElement(state, true);
71932
+ r.interaction.resetInteraction(state, null);
71933
+ return;
71934
+ });
71935
+ }
71936
+ clearSelected() {
71937
+ this.clearState(STATE_VALUE_ENUM.STATE_SELECTED);
71938
+ }
71939
+ clearHovered() {
71940
+ this.clearState(STATE_VALUE_ENUM.STATE_HOVER);
71941
+ }
71879
71942
  _initEvent() {
71880
71943
  [exports.ChartEvent.dataZoomChange, exports.ChartEvent.scrollBarChange].forEach(event => {
71881
71944
  this._event.on(event, ({ value }) => {
@@ -73835,6 +73898,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
73835
73898
  else {
73836
73899
  this.setMarkStyle(this._symbolMark, { visible: this._getInvalidDefined.bind(this) }, 'normal', exports.AttributeLevel.Series);
73837
73900
  }
73901
+ if (this._symbolMark.getProduct()) {
73902
+ this._symbolMark.compileEncode();
73903
+ }
73838
73904
  }
73839
73905
  initLabelMarkStyle(labelMark) {
73840
73906
  if (!labelMark) {
@@ -81214,9 +81280,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
81214
81280
  return d;
81215
81281
  };
81216
81282
  }
81217
- function seedRandom(seed) {
81218
- return parseFloat("0." + Math.sin(seed).toString().substring(6));
81219
- }
81220
81283
 
81221
81284
  class BaseLayout {
81222
81285
  constructor(options) {
@@ -85665,15 +85728,15 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
85665
85728
  calculateNodeValue(originalNodes);
85666
85729
  const doSubTree = (subTree, depth, parents) => {
85667
85730
  subTree.forEach((node, index) => {
85668
- var _a, _b;
85669
- const nodeKey = this._getNodeKey ? this._getNodeKey(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`;
85731
+ const nodeKey = this._getNodeKey ? this._getNodeKey(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`,
85732
+ nodeValue = isNil$3(node.value) ? 0 : toValidNumber$1(node.value);
85670
85733
  if (nodeMap[nodeKey]) nodeMap[nodeKey].value = void 0;else {
85671
85734
  const nodeElement = {
85672
85735
  depth: depth,
85673
85736
  datum: node,
85674
85737
  index: index,
85675
85738
  key: nodeKey,
85676
- value: null !== (_a = node.value) && void 0 !== _a ? _a : 0,
85739
+ value: nodeValue,
85677
85740
  sourceLinks: [],
85678
85741
  targetLinks: []
85679
85742
  };
@@ -85682,14 +85745,14 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
85682
85745
  parents && originalLinks.push({
85683
85746
  source: parents[parents.length - 1].key,
85684
85747
  target: nodeKey,
85685
- value: null !== (_b = node.value) && void 0 !== _b ? _b : 0,
85748
+ value: nodeValue,
85686
85749
  parents: parents
85687
85750
  }), node.children && node.children.length && doSubTree(node.children, depth + 1, parents ? parents.concat([nodeMap[nodeKey]]) : [nodeMap[nodeKey]]);
85688
85751
  });
85689
85752
  };
85690
85753
  return doSubTree(originalNodes, 0, null), originalLinks.forEach((link, index) => {
85691
85754
  const key = `${link.source}-${link.target}`;
85692
- if (linkMap[key]) return linkMap[key].value += link.value, void linkMap[key].datum.push(link);
85755
+ if (linkMap[key]) return linkMap[key].value += toValidNumber$1(link.value), void linkMap[key].datum.push(link);
85693
85756
  const linkElement = {
85694
85757
  index: index,
85695
85758
  key: `${link.source}-${link.target}`,
@@ -85776,12 +85839,12 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
85776
85839
  computeNodeValues(nodes) {
85777
85840
  for (let i = 0, len = nodes.length; i < len; i++) {
85778
85841
  const node = nodes[i];
85779
- node.value = Math.max(isNil$3(node.value) ? 0 : node.value, node.sourceLinks.reduce((sum, link) => {
85842
+ node.value = Math.max(isNil$3(node.value) ? 0 : toValidNumber$1(node.value), node.sourceLinks.reduce((sum, link) => {
85780
85843
  var _a;
85781
- return sum + (null !== (_a = link.value) && void 0 !== _a ? _a : 0);
85844
+ return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
85782
85845
  }, 0), node.targetLinks.reduce((sum, link) => {
85783
85846
  var _a;
85784
- return sum + (null !== (_a = link.value) && void 0 !== _a ? _a : 0);
85847
+ return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
85785
85848
  }, 0));
85786
85849
  }
85787
85850
  }
@@ -86116,14 +86179,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86116
86179
  }
86117
86180
  });
86118
86181
  };
86119
- const convertValuesToNumbers = (data) => {
86120
- data.forEach((obj) => {
86121
- obj.value = isString$1(obj.value) ? +obj.value : obj.value;
86122
- if (obj.children && obj.children.length > 0) {
86123
- convertValuesToNumbers(obj.children);
86124
- }
86125
- });
86126
- };
86127
86182
  const sankeyFormat = (data) => {
86128
86183
  var _a;
86129
86184
  if (!data || !isArray$3(data)) {
@@ -86147,7 +86202,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86147
86202
  return data;
86148
86203
  };
86149
86204
  const sankeyLayout = (data, op) => {
86150
- var _a, _b;
86151
86205
  if (!data || !(op === null || op === void 0 ? void 0 : op.view) || !data.length) {
86152
86206
  return [];
86153
86207
  }
@@ -86185,25 +86239,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86185
86239
  originalData.links = updatedData;
86186
86240
  }
86187
86241
  }
86188
- if (originalData.links) {
86189
- const updatedData = [];
86190
- originalData.links.forEach((datum) => {
86191
- const updatedDatum = {};
86192
- for (const key in datum) {
86193
- if (key === 'value') {
86194
- updatedDatum.value = isString$1(datum.value) ? +datum.value : datum.value;
86195
- }
86196
- else {
86197
- updatedDatum[key] = datum[key];
86198
- }
86199
- }
86200
- updatedData.push(updatedDatum);
86201
- });
86202
- originalData.links = updatedData;
86203
- }
86204
- else if ((_b = (_a = originalData.nodes) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.children) {
86205
- convertValuesToNumbers(originalData.nodes);
86206
- }
86207
86242
  const layout = new SankeyLayout(op);
86208
86243
  const result = [];
86209
86244
  result.push(layout.layout(originalData, view));
@@ -86249,7 +86284,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86249
86284
  }
86250
86285
  return datum.source + ' => ' + datum.target;
86251
86286
  }
86252
- return datum.datum[this.series.getSpec().categoryField];
86287
+ return datum.datum ? datum.datum[this.series.getSpec().categoryField] : datum.key;
86253
86288
  },
86254
86289
  hasShape: false
86255
86290
  },
@@ -86383,28 +86418,31 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86383
86418
  this._nodeLayoutZIndex = exports.LayoutZIndex.Node;
86384
86419
  this._labelLayoutZIndex = exports.LayoutZIndex.Label;
86385
86420
  this._viewBox = new Bounds();
86386
- this._handleAdjacencyClick = (params) => {
86387
- const element = params.item;
86388
- if (element && element.mark.id().includes('node')) {
86389
- this._handleNodeAdjacencyClick(element);
86390
- }
86391
- else if (element && element.mark.id().includes('link')) {
86392
- this._handleLinkAdjacencyClick(element);
86393
- }
86394
- else {
86395
- this._handleClearEmpty();
86396
- }
86397
- };
86398
- this._handleRelatedClick = (params) => {
86421
+ this._handleEmphasisElement = (params) => {
86422
+ var _a;
86423
+ const emphasisSpec = (_a = this._spec.emphasis) !== null && _a !== void 0 ? _a : {};
86399
86424
  const element = params.item;
86400
- if (element && element.mark.id().includes('node')) {
86401
- this._handleNodeRelatedClick(element);
86402
- }
86403
- else if (element && element.mark.id().includes('link')) {
86404
- this._handleLinkRelatedClick(element);
86425
+ if (emphasisSpec.effect === 'adjacency') {
86426
+ if (element && element.mark.id().includes('node')) {
86427
+ this._handleNodeAdjacencyClick(element);
86428
+ }
86429
+ else if (element && element.mark.id().includes('link')) {
86430
+ this._handleLinkAdjacencyClick(element);
86431
+ }
86432
+ else {
86433
+ this._handleClearEmpty();
86434
+ }
86405
86435
  }
86406
- else {
86407
- this._handleClearEmpty();
86436
+ else if (emphasisSpec.effect === 'related') {
86437
+ if (element && element.mark.id().includes('node')) {
86438
+ this._handleNodeRelatedClick(element);
86439
+ }
86440
+ else if (element && element.mark.id().includes('link')) {
86441
+ this._handleLinkRelatedClick(element);
86442
+ }
86443
+ else {
86444
+ this._handleClearEmpty();
86445
+ }
86408
86446
  }
86409
86447
  };
86410
86448
  this._handleClearEmpty = () => {
@@ -86421,14 +86459,15 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86421
86459
  if (!allLabelElements || !allLabelElements.length) {
86422
86460
  return;
86423
86461
  }
86462
+ const states = [STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE];
86424
86463
  allNodeElements.forEach(el => {
86425
- el.clearStates();
86464
+ el.removeState(states);
86426
86465
  });
86427
86466
  allLinkElements.forEach(el => {
86428
- el.clearStates();
86467
+ el.removeState(states);
86429
86468
  });
86430
86469
  allLabelElements.forEach(el => {
86431
- el.clearStates();
86470
+ el.removeState(states);
86432
86471
  });
86433
86472
  };
86434
86473
  this._handleNodeAdjacencyClick = (element) => {
@@ -86440,7 +86479,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86440
86479
  return;
86441
86480
  }
86442
86481
  allLinkElements.forEach((linkEl, i) => {
86443
- linkEl.clearStates();
86444
86482
  const linkDatum = linkEl.getDatum();
86445
86483
  const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
86446
86484
  if (array(linkDatum[father]).includes(nodeDatum.key)) {
@@ -86462,7 +86500,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86462
86500
  : 0;
86463
86501
  ratio = val / linkDatum.value;
86464
86502
  }
86465
- linkEl.addState('selected', { ratio });
86503
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86504
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86505
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
86466
86506
  }
86467
86507
  else if (linkDatum.target === nodeDatum.key) {
86468
86508
  if (!highlightNodes.includes(linkDatum.source)) {
@@ -86470,7 +86510,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86470
86510
  }
86471
86511
  }
86472
86512
  else {
86473
- linkEl.useStates(['blur']);
86513
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86514
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86474
86515
  }
86475
86516
  });
86476
86517
  }
@@ -86490,12 +86531,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86490
86531
  return;
86491
86532
  }
86492
86533
  allLinkElements.forEach(linkEl => {
86493
- linkEl.clearStates();
86494
86534
  if (linkEl === element) {
86495
- linkEl.addState('selected', { ratio: 1 });
86535
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86536
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
86496
86537
  }
86497
86538
  else {
86498
- linkEl.useStates(['blur']);
86539
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86540
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86499
86541
  }
86500
86542
  });
86501
86543
  }
@@ -86523,7 +86565,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86523
86565
  const highlightLinks = [];
86524
86566
  allLinkElements.forEach((linkEl, i) => {
86525
86567
  var _a, _b, _c, _d;
86526
- linkEl.clearStates();
86527
86568
  const linkDatum = linkEl.getDatum();
86528
86569
  const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
86529
86570
  if (array(linkDatum[father]).includes(nodeDatum.key)) {
@@ -86609,12 +86650,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86609
86650
  }
86610
86651
  allLinkElements.forEach((linkEl, i) => {
86611
86652
  var _a;
86612
- linkEl.clearStates();
86613
86653
  if (highlightLinks.includes((_a = linkEl.getDatum().key) !== null && _a !== void 0 ? _a : linkEl.getDatum().index)) {
86614
- linkEl.useStates(['selected']);
86654
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86655
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86615
86656
  }
86616
86657
  else {
86617
- linkEl.useStates(['blur']);
86658
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86659
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86618
86660
  }
86619
86661
  });
86620
86662
  }
@@ -86648,7 +86690,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86648
86690
  return res;
86649
86691
  }, []);
86650
86692
  allLinkElements.forEach((linkEl, i) => {
86651
- linkEl.clearStates();
86652
86693
  const linkDatum = linkEl.getDatum();
86653
86694
  const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
86654
86695
  const originalDatum = linkDatum.datum;
@@ -86667,8 +86708,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86667
86708
  return (sum += d.value);
86668
86709
  }, 0);
86669
86710
  const ratio = val / linkDatum.value;
86670
- linkEl.useStates(['selected']);
86671
- linkEl.addState('selected', { ratio });
86711
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86712
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86713
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
86672
86714
  return;
86673
86715
  }
86674
86716
  if (upSelectedLink) {
@@ -86678,11 +86720,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86678
86720
  if (!highlightNodes.includes(linkDatum.target)) {
86679
86721
  highlightNodes.push(linkDatum.target);
86680
86722
  }
86681
- linkEl.useStates(['selected']);
86682
- linkEl.addState('selected', { ratio: upSelectedLink.value / linkDatum.value });
86723
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86724
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86725
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: upSelectedLink.value / linkDatum.value });
86683
86726
  return;
86684
86727
  }
86685
- linkEl.useStates(['blur']);
86728
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86729
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86686
86730
  return;
86687
86731
  });
86688
86732
  if (this._nodeMark) {
@@ -86705,14 +86749,15 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86705
86749
  }
86706
86750
  const father = ((_a = element.getDatum()) === null || _a === void 0 ? void 0 : _a.parents) ? 'parents' : 'source';
86707
86751
  if (father === 'source') {
86752
+ const states = [STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE];
86708
86753
  if (this._linkMark) {
86709
86754
  allLinkElements.forEach(linkEl => {
86710
- linkEl.clearStates();
86755
+ linkEl.removeState(states);
86711
86756
  });
86712
86757
  }
86713
86758
  if (this._nodeMark) {
86714
86759
  allNodeElements.forEach(el => {
86715
- el.clearStates();
86760
+ el.removeState(states);
86716
86761
  });
86717
86762
  }
86718
86763
  if (this._labelMark) {
@@ -86721,7 +86766,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86721
86766
  return;
86722
86767
  }
86723
86768
  allLabelElements.forEach(el => {
86724
- el.clearStates();
86769
+ el.removeState(states);
86725
86770
  });
86726
86771
  }
86727
86772
  }
@@ -86752,12 +86797,11 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86752
86797
  }
86753
86798
  });
86754
86799
  allLinkElements.forEach(linkEl => {
86755
- linkEl.clearStates();
86756
86800
  const linkDatum = linkEl.getDatum();
86757
86801
  const originalDatum = linkDatum.datum;
86758
86802
  if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) {
86759
- linkEl.useStates(['selected']);
86760
- linkEl.addState('selected', { ratio: 1 });
86803
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86804
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
86761
86805
  return;
86762
86806
  }
86763
86807
  const selectedDatum = originalDatum
@@ -86784,8 +86828,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86784
86828
  return (sum += d.value);
86785
86829
  }, 0);
86786
86830
  const ratio = val / linkDatum.value;
86787
- linkEl.useStates(['selected']);
86788
- linkEl.addState('selected', { ratio });
86831
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86832
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86833
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
86789
86834
  return;
86790
86835
  }
86791
86836
  const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
@@ -86796,11 +86841,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86796
86841
  if (!highlightNodes.includes(linkDatum.target)) {
86797
86842
  highlightNodes.push(linkDatum.target);
86798
86843
  }
86799
- linkEl.useStates(['selected']);
86800
- linkEl.addState('selected', { ratio: upSelectedLink.value / linkDatum.value });
86844
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86845
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86846
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: upSelectedLink.value / linkDatum.value });
86801
86847
  return;
86802
86848
  }
86803
- linkEl.useStates(['blur']);
86849
+ linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
86850
+ linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
86804
86851
  return;
86805
86852
  });
86806
86853
  this._highLightElements(allNodeElements, highlightNodes);
@@ -86869,7 +86916,12 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86869
86916
  nodeKey: this._spec.nodeKey,
86870
86917
  linkSortBy: this._spec.linkSortBy,
86871
86918
  nodeSortBy: this._spec.nodeSortBy,
86872
- setNodeLayer: this._spec.setNodeLayer
86919
+ setNodeLayer: this._spec.setNodeLayer,
86920
+ dropIsolatedNode: this._spec.dropIsolatedNode,
86921
+ nodeHeight: this._spec.nodeHeight,
86922
+ linkHeight: this._spec.linkHeight,
86923
+ equalNodeHeight: this._spec.equalNodeHeight,
86924
+ linkOverlap: this._spec.linkOverlap
86873
86925
  },
86874
86926
  level: TransformLevel.sankeyLayout
86875
86927
  });
@@ -86953,6 +87005,30 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86953
87005
  }
86954
87006
  }
86955
87007
  }
87008
+ _buildMarkAttributeContext() {
87009
+ super._buildMarkAttributeContext();
87010
+ this._markAttributeContext.valueToNode = this.valueToNode.bind(this);
87011
+ this._markAttributeContext.valueToLink = this.valueToLink.bind(this);
87012
+ }
87013
+ valueToNode(value) {
87014
+ const nodes = this._nodesSeriesData.getLatestData();
87015
+ const specifyValue = array(value)[0];
87016
+ return nodes && nodes.find((node) => node.key === specifyValue);
87017
+ }
87018
+ valueToLink(value) {
87019
+ const links = this._linksSeriesData.getLatestData();
87020
+ const specifyValue = array(value);
87021
+ return (links &&
87022
+ links.find((link) => link && link.source === specifyValue[0] && link.target === specifyValue[1]));
87023
+ }
87024
+ valueToPositionX(value) {
87025
+ const node = this.valueToNode(value);
87026
+ return node.x0;
87027
+ }
87028
+ valueToPositionY(value) {
87029
+ const node = this.valueToNode(value);
87030
+ return node.y0;
87031
+ }
86956
87032
  initMarkStyle() {
86957
87033
  this._initNodeMarkStyle();
86958
87034
  this._initLinkMarkStyle();
@@ -86989,15 +87065,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
86989
87065
  y1: (datum) => datum.y1,
86990
87066
  thickness: (datum) => datum.thickness,
86991
87067
  fill: (datum) => {
86992
- var _a, _b, _c, _d, _e, _f;
87068
+ var _a, _b, _c;
86993
87069
  const fill = (_b = (_a = this._spec.link) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.fill;
86994
87070
  if (fill) {
86995
87071
  return fill;
86996
87072
  }
86997
- const sourceName = this._spec.nodeKey || ((_e = (_d = (_c = this._rawData.latestData[0]) === null || _c === void 0 ? void 0 : _c.nodes) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.children)
86998
- ? datum.source
86999
- : this.getNodeList()[datum.source];
87000
- return (_f = this._colorScale) === null || _f === void 0 ? void 0 : _f.scale(sourceName);
87073
+ const sourceName = isNumber$3(datum.source) ? this.getNodeList()[datum.source] : datum.source;
87074
+ return (_c = this._colorScale) === null || _c === void 0 ? void 0 : _c.scale(sourceName);
87001
87075
  },
87002
87076
  direction: (_a = this._spec.direction) !== null && _a !== void 0 ? _a : 'horizontal'
87003
87077
  }, STATE_VALUE_ENUM.STATE_NORMAL, exports.AttributeLevel.Series);
@@ -87194,21 +87268,9 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
87194
87268
  (_b = this._linksSeriesData.getDataView()) === null || _b === void 0 ? void 0 : _b.target.addListener('change', this.linksSeriesDataUpdate.bind(this));
87195
87269
  const emphasisSpec = (_c = this._spec.emphasis) !== null && _c !== void 0 ? _c : {};
87196
87270
  if (this._option.disableTriggerEvent !== true) {
87197
- if (emphasisSpec.enable && emphasisSpec.effect === 'adjacency') {
87198
- if (emphasisSpec.trigger === 'hover') {
87199
- this.event.on('pointerover', { level: exports.Event_Bubble_Level.chart }, this._handleAdjacencyClick);
87200
- }
87201
- else {
87202
- this.event.on('pointerdown', { level: exports.Event_Bubble_Level.chart }, this._handleAdjacencyClick);
87203
- }
87204
- }
87205
- if (emphasisSpec.enable && emphasisSpec.effect === 'related') {
87206
- if (emphasisSpec.trigger === 'hover') {
87207
- this.event.on('pointerover', { level: exports.Event_Bubble_Level.chart }, this._handleRelatedClick);
87208
- }
87209
- else {
87210
- this.event.on('pointerdown', { level: exports.Event_Bubble_Level.chart }, this._handleRelatedClick);
87211
- }
87271
+ if (emphasisSpec.enable && (emphasisSpec.effect === 'adjacency' || emphasisSpec.effect === 'related')) {
87272
+ const event = emphasisSpec.trigger === 'hover' ? 'pointerover' : 'pointerdown';
87273
+ this.event.on(event, { level: exports.Event_Bubble_Level.chart }, this._handleEmphasisElement);
87212
87274
  }
87213
87275
  }
87214
87276
  }
@@ -87224,10 +87286,10 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
87224
87286
  return;
87225
87287
  }
87226
87288
  vGrammarElements.forEach(el => {
87227
- el.clearStates();
87289
+ el.removeState([STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS]);
87228
87290
  if (highlightNodes.includes(el.getDatum().key)) ;
87229
87291
  else {
87230
- el.useStates(['blur']);
87292
+ el.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
87231
87293
  }
87232
87294
  });
87233
87295
  }
@@ -87265,20 +87327,24 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
87265
87327
  return;
87266
87328
  }
87267
87329
  getNodeList() {
87268
- var _a, _b, _c;
87269
- const nodeList = ((_a = this._rawData.latestData[0]) === null || _a === void 0 ? void 0 : _a.nodes)
87270
- ? ((_b = this._rawData.latestData[0].nodes[0]) === null || _b === void 0 ? void 0 : _b.children)
87271
- ? Array.from(this.extractNamesFromTree(this._rawData.latestData[0].nodes, this._spec.categoryField))
87272
- : this._rawData.latestData[0].nodes.map((datum, index) => {
87330
+ var _a;
87331
+ const data = this._rawData.latestData[0];
87332
+ const nodeList = (data === null || data === void 0 ? void 0 : data.nodes)
87333
+ ? ((_a = data.nodes[0]) === null || _a === void 0 ? void 0 : _a.children)
87334
+ ? Array.from(this.extractNamesFromTree(data.nodes, this._spec.categoryField))
87335
+ : data.nodes.map((datum, index) => {
87273
87336
  return datum[this._spec.categoryField];
87274
87337
  })
87275
- : (_c = this._rawData.latestData[0]) === null || _c === void 0 ? void 0 : _c.values.map((datum, index) => {
87276
- return datum[this._spec.categoryField];
87277
- });
87338
+ : (data === null || data === void 0 ? void 0 : data.links)
87339
+ ? Array.from(this.extractNamesFromLink(data.links))
87340
+ : data === null || data === void 0 ? void 0 : data.values.map((datum, index) => {
87341
+ return datum[this._spec.categoryField];
87342
+ });
87278
87343
  return nodeList;
87279
87344
  }
87280
87345
  _getNodeNameFromData(datum) {
87281
- return (datum === null || datum === void 0 ? void 0 : datum.datum) ? datum === null || datum === void 0 ? void 0 : datum.datum[this._spec.categoryField] : datum[this._spec.categoryField];
87346
+ var _a;
87347
+ return (datum === null || datum === void 0 ? void 0 : datum.datum) ? datum.datum[this._spec.categoryField] : (_a = datum.key) !== null && _a !== void 0 ? _a : datum[this._spec.categoryField];
87282
87348
  }
87283
87349
  extractNamesFromTree(tree, categoryName) {
87284
87350
  const uniqueNames = new Set();
@@ -87291,6 +87357,15 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
87291
87357
  });
87292
87358
  return uniqueNames;
87293
87359
  }
87360
+ extractNamesFromLink(links) {
87361
+ const uniqueNames = new Set();
87362
+ const { sourceField, targetField } = this._spec;
87363
+ links.forEach((link) => {
87364
+ isValid$3(link[sourceField]) && uniqueNames.add(link[sourceField]);
87365
+ isValid$3(link[targetField]) && uniqueNames.add(link[targetField]);
87366
+ });
87367
+ return uniqueNames;
87368
+ }
87294
87369
  getDimensionField() {
87295
87370
  return [this._spec.categoryField];
87296
87371
  }
@@ -87342,8 +87417,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
87342
87417
  super.onLayoutEnd(ctx);
87343
87418
  this._viewBox.set(0, 0, this._region.getLayoutRect().width, this._region.getLayoutRect().height);
87344
87419
  this.getViewData().reRunAllTransform();
87345
- this._nodesSeriesData.updateData();
87346
- this._linksSeriesData.updateData();
87347
87420
  }
87348
87421
  getDefaultShapeType() {
87349
87422
  return 'square';
@@ -89249,17 +89322,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
89249
89322
  let distances = matrices.distances;
89250
89323
  const constraints = matrices.constraints,
89251
89324
  norm = norm2(distances.map(norm2)) / distances.length;
89252
- distances = distances.map(function (row) {
89253
- return row.map(function (value) {
89254
- return value / norm;
89255
- });
89256
- });
89325
+ distances = distances.map(row => row.map(value => value / norm));
89257
89326
  const obj = function (x, fxPrime) {
89258
89327
  return constrainedMDSGradient(x, fxPrime, distances, constraints);
89259
89328
  };
89260
89329
  let best, current;
89261
89330
  for (i = 0; i < restarts; ++i) {
89262
- const initial = zeros(2 * distances.length).map(Math.random);
89331
+ const initial = zeros(2 * distances.length).map((entry, i) => seedRandom(i));
89263
89332
  current = conjugateGradient(obj, initial, params), (!best || current.fx < best.fx) && (best = current);
89264
89333
  }
89265
89334
  const positions = best.x,
@@ -91633,7 +91702,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
91633
91702
 
91634
91703
  class SankeyChartSpecTransformer extends BaseChartSpecTransformer {
91635
91704
  _getDefaultSeriesSpec(spec) {
91636
- const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { categoryField: spec.categoryField, valueField: spec.valueField, sourceField: spec.sourceField, targetField: spec.targetField, direction: spec.direction, nodeAlign: spec.nodeAlign, nodeGap: spec.nodeGap, nodeWidth: spec.nodeWidth, linkWidth: spec.linkWidth, minStepWidth: spec.minStepWidth, minNodeHeight: spec.minNodeHeight, minLinkHeight: spec.minLinkHeight, iterations: spec.iterations, nodeKey: spec.nodeKey, linkSortBy: spec.linkSortBy, nodeSortBy: spec.nodeSortBy, setNodeLayer: spec.setNodeLayer, node: spec.node, link: spec.link, label: spec.label, emphasis: spec.emphasis });
91705
+ const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), { categoryField: spec.categoryField, valueField: spec.valueField, sourceField: spec.sourceField, targetField: spec.targetField, direction: spec.direction, nodeAlign: spec.nodeAlign, nodeGap: spec.nodeGap, nodeWidth: spec.nodeWidth, linkWidth: spec.linkWidth, minStepWidth: spec.minStepWidth, minNodeHeight: spec.minNodeHeight, minLinkHeight: spec.minLinkHeight, dropIsolatedNode: spec.dropIsolatedNode, nodeHeight: spec.nodeHeight, linkHeight: spec.linkHeight, equalNodeHeight: spec.equalNodeHeight, linkOverlap: spec.linkOverlap, iterations: spec.iterations, nodeKey: spec.nodeKey, linkSortBy: spec.linkSortBy, nodeSortBy: spec.nodeSortBy, setNodeLayer: spec.setNodeLayer, node: spec.node, link: spec.link, label: spec.label, emphasis: spec.emphasis });
91637
91706
  const seriesType = this.seriesType;
91638
91707
  if (seriesType) {
91639
91708
  series.type = seriesType;
@@ -91654,6 +91723,44 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
91654
91723
  this.type = "sankey";
91655
91724
  this.seriesType = exports.SeriesTypeEnum.sankey;
91656
91725
  }
91726
+ _setStateInDatum(stateKey, checkReverse, datum, filter, region) {
91727
+ const activeDatum = isArray$3(datum) ? datum[0] : datum;
91728
+ const keys = !activeDatum ? null : Object.keys(activeDatum);
91729
+ this.getRegionsInQuerier(region).forEach(r => {
91730
+ if (!activeDatum) {
91731
+ r.interaction.clearEventElement(stateKey, true);
91732
+ return;
91733
+ }
91734
+ let hasPick = false;
91735
+ r.getSeries().forEach(s => {
91736
+ var _a, _b;
91737
+ let activeNodeOrLink = null;
91738
+ s.getMarks().forEach(m => {
91739
+ let pickElement = null;
91740
+ const mark = m.getProduct();
91741
+ if (!mark) {
91742
+ return;
91743
+ }
91744
+ if (!filter || (isFunction$1(filter) && filter(s, m))) {
91745
+ pickElement = mark.elements.find((e) => keys.every(k => { var _a, _b; return activeDatum[k] == ((_b = (_a = e.getDatum()) === null || _a === void 0 ? void 0 : _a.datum) === null || _b === void 0 ? void 0 : _b[k]); }));
91746
+ }
91747
+ if (pickElement) {
91748
+ hasPick = true;
91749
+ r.interaction.startInteraction(stateKey, pickElement);
91750
+ if (mark.id().includes('node') || mark.id().includes('link')) {
91751
+ activeNodeOrLink = pickElement;
91752
+ }
91753
+ }
91754
+ });
91755
+ if (activeNodeOrLink) {
91756
+ (_b = (_a = s)._handleEmphasisElement) === null || _b === void 0 ? void 0 : _b.call(_a, { item: activeNodeOrLink });
91757
+ }
91758
+ });
91759
+ if (checkReverse && hasPick) {
91760
+ r.interaction.reverseEventElement(stateKey);
91761
+ }
91762
+ });
91763
+ }
91657
91764
  }
91658
91765
  SankeyChart.type = "sankey";
91659
91766
  SankeyChart.seriesType = exports.SeriesTypeEnum.sankey;