@visactor/vchart 1.11.6-alpha.5 → 1.11.6

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 (69) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +210 -153
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart.js +6 -4
  6. package/cjs/chart/base/base-chart.js.map +1 -1
  7. package/cjs/chart/stack.js +2 -1
  8. package/cjs/compile/grammar-item.js +1 -2
  9. package/cjs/component/label/util.d.ts +0 -9
  10. package/cjs/component/label/util.js +8 -35
  11. package/cjs/component/label/util.js.map +1 -1
  12. package/cjs/component/tooltip/interface/theme.d.ts +2 -2
  13. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  14. package/cjs/core/index.d.ts +1 -1
  15. package/cjs/core/index.js +1 -1
  16. package/cjs/core/index.js.map +1 -1
  17. package/cjs/core/vchart.js +1 -1
  18. package/cjs/core/vchart.js.map +1 -1
  19. package/cjs/series/sankey/sankey.d.ts +2 -6
  20. package/cjs/series/sankey/sankey.js +143 -40
  21. package/cjs/series/sankey/sankey.js.map +1 -1
  22. package/cjs/theme/interface.d.ts +2 -2
  23. package/cjs/theme/interface.js.map +1 -1
  24. package/cjs/typings/spec/common.d.ts +2 -2
  25. package/cjs/typings/spec/common.js.map +1 -1
  26. package/cjs/typings/visual.d.ts +2 -2
  27. package/cjs/typings/visual.js.map +1 -1
  28. package/cjs/util/spec/index.d.ts +0 -1
  29. package/cjs/util/spec/index.js +1 -1
  30. package/cjs/util/spec/index.js.map +1 -1
  31. package/esm/chart/base/base-chart.js +8 -6
  32. package/esm/chart/base/base-chart.js.map +1 -1
  33. package/esm/chart/stack.js +2 -1
  34. package/esm/compile/grammar-item.js +1 -2
  35. package/esm/component/label/util.d.ts +0 -9
  36. package/esm/component/label/util.js +5 -34
  37. package/esm/component/label/util.js.map +1 -1
  38. package/esm/component/tooltip/interface/theme.d.ts +2 -2
  39. package/esm/component/tooltip/interface/theme.js.map +1 -1
  40. package/esm/core/index.d.ts +1 -1
  41. package/esm/core/index.js +1 -1
  42. package/esm/core/index.js.map +1 -1
  43. package/esm/core/vchart.js +2 -2
  44. package/esm/core/vchart.js.map +1 -1
  45. package/esm/series/sankey/sankey.d.ts +2 -6
  46. package/esm/series/sankey/sankey.js +140 -43
  47. package/esm/series/sankey/sankey.js.map +1 -1
  48. package/esm/theme/interface.d.ts +2 -2
  49. package/esm/theme/interface.js.map +1 -1
  50. package/esm/typings/spec/common.d.ts +2 -2
  51. package/esm/typings/spec/common.js.map +1 -1
  52. package/esm/typings/visual.d.ts +2 -2
  53. package/esm/typings/visual.js.map +1 -1
  54. package/esm/util/spec/index.d.ts +0 -1
  55. package/esm/util/spec/index.js +0 -2
  56. package/esm/util/spec/index.js.map +1 -1
  57. package/package.json +2 -2
  58. package/cjs/series/sankey/sankey-transformer.d.ts +0 -5
  59. package/cjs/series/sankey/sankey-transformer.js +0 -16
  60. package/cjs/series/sankey/sankey-transformer.js.map +0 -1
  61. package/cjs/util/spec/background.d.ts +0 -4
  62. package/cjs/util/spec/background.js +0 -21
  63. package/cjs/util/spec/background.js.map +0 -1
  64. package/esm/series/sankey/sankey-transformer.d.ts +0 -5
  65. package/esm/series/sankey/sankey-transformer.js +0 -8
  66. package/esm/series/sankey/sankey-transformer.js.map +0 -1
  67. package/esm/util/spec/background.d.ts +0 -4
  68. package/esm/util/spec/background.js +0 -13
  69. package/esm/util/spec/background.js.map +0 -1
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerSankeySeries = exports.SankeySeries = void 0;
6
6
 
7
- const cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), vgrammar_sankey_1 = require("@visactor/vgrammar-sankey"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), register_1 = require("../../data/register"), sankey_1 = require("../../data/transforms/sankey"), sankey_nodes_1 = require("../../data/transforms/sankey-nodes"), sankey_links_1 = require("../../data/transforms/sankey-links"), interface_1 = require("../../compile/mark/interface"), vdataset_1 = require("@visactor/vdataset"), constant_1 = require("../../constant"), series_data_1 = require("../base/series-data"), tooltip_helper_1 = require("./tooltip-helper"), vutils_1 = require("@visactor/vutils"), animation_1 = require("./animation"), color_ordinal_scale_1 = require("../../scale/color-ordinal-scale"), rect_1 = require("../../mark/rect"), text_1 = require("../../mark/text"), link_path_1 = require("../../mark/link-path"), constant_2 = require("./constant"), flatten_1 = require("../../data/transforms/flatten"), factory_1 = require("../../core/factory"), initialize_1 = require("../../data/initialize"), data_key_1 = require("../../data/transforms/data-key"), sankey_transformer_1 = require("./sankey-transformer"), util_1 = require("../../component/util");
7
+ const cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), vgrammar_sankey_1 = require("@visactor/vgrammar-sankey"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), register_1 = require("../../data/register"), sankey_1 = require("../../data/transforms/sankey"), sankey_nodes_1 = require("../../data/transforms/sankey-nodes"), sankey_links_1 = require("../../data/transforms/sankey-links"), interface_1 = require("../../compile/mark/interface"), vdataset_1 = require("@visactor/vdataset"), constant_1 = require("../../constant"), series_data_1 = require("../base/series-data"), tooltip_helper_1 = require("./tooltip-helper"), vutils_1 = require("@visactor/vutils"), animation_1 = require("./animation"), color_ordinal_scale_1 = require("../../scale/color-ordinal-scale"), rect_1 = require("../../mark/rect"), text_1 = require("../../mark/text"), link_path_1 = require("../../mark/link-path"), constant_2 = require("./constant"), flatten_1 = require("../../data/transforms/flatten"), factory_1 = require("../../core/factory"), initialize_1 = require("../../data/initialize"), data_key_1 = require("../../data/transforms/data-key");
8
8
 
9
9
  class SankeySeries extends cartesian_1.CartesianSeries {
10
10
  constructor() {
11
- super(...arguments), this.type = type_1.SeriesTypeEnum.sankey, this.transformerConstructor = sankey_transformer_1.SankeySeriesSpecTransformer,
12
- this._nodeLayoutZIndex = constant_1.LayoutZIndex.Node, this._labelLayoutZIndex = constant_1.LayoutZIndex.Label,
13
- this._viewBox = new vutils_1.Bounds, this._fillByNode = datum => {
11
+ super(...arguments), this.type = type_1.SeriesTypeEnum.sankey, this._nodeLayoutZIndex = constant_1.LayoutZIndex.Node,
12
+ this._labelLayoutZIndex = constant_1.LayoutZIndex.Label, this._viewBox = new vutils_1.Bounds,
13
+ this._fillByNode = datum => {
14
14
  var _a, _b, _c, _d, _e;
15
15
  if (datum && datum.sourceRect && datum.targetRect) return this._fillByLink(datum);
16
16
  const fill = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill;
@@ -35,16 +35,20 @@ class SankeySeries extends cartesian_1.CartesianSeries {
35
35
  const emphasisSpec = null !== (_a = this._spec.emphasis) && void 0 !== _a ? _a : {}, element = params.item;
36
36
  "adjacency" === emphasisSpec.effect ? element && element.mark.id().includes("node") ? this._handleNodeAdjacencyClick(element) : element && element.mark.id().includes("link") ? this._handleLinkAdjacencyClick(element) : this._handleClearEmpty() : "related" === emphasisSpec.effect && (element && element.mark.id().includes("node") ? this._handleNodeRelatedClick(element) : element && element.mark.id().includes("link") ? this._handleLinkRelatedClick(element) : this._handleClearEmpty());
37
37
  }, this._handleClearEmpty = () => {
38
- var _a, _b;
38
+ var _a, _b, _c;
39
39
  const allNodeElements = null === (_a = this._nodeMark) || void 0 === _a ? void 0 : _a.getProductElements();
40
40
  if (!allNodeElements || !allNodeElements.length) return;
41
41
  const allLinkElements = null === (_b = this._linkMark) || void 0 === _b ? void 0 : _b.getProductElements();
42
42
  if (!allLinkElements || !allLinkElements.length) return;
43
+ const allLabelElements = null === (_c = this._labelMark) || void 0 === _c ? void 0 : _c.getProductElements();
44
+ if (!allLabelElements || !allLabelElements.length) return;
43
45
  const states = [ interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE ];
44
46
  allNodeElements.forEach((el => {
45
47
  el.removeState(states);
46
48
  })), allLinkElements.forEach((el => {
47
49
  el.removeState(states);
50
+ })), allLabelElements.forEach((el => {
51
+ el.removeState(states);
48
52
  }));
49
53
  }, this._handleNodeAdjacencyClick = element => {
50
54
  const nodeDatum = element.getDatum(), highlightNodes = [ nodeDatum.key ];
@@ -69,7 +73,8 @@ class SankeySeries extends cartesian_1.CartesianSeries {
69
73
  linkEl.addState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE));
70
74
  }));
71
75
  }
72
- this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
76
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
77
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
73
78
  }, this._handleLinkAdjacencyClick = element => {
74
79
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ];
75
80
  if (this._linkMark) {
@@ -82,7 +87,8 @@ class SankeySeries extends cartesian_1.CartesianSeries {
82
87
  })) : (linkEl.removeState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS), linkEl.addState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE));
83
88
  }));
84
89
  }
85
- this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
90
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
91
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
86
92
  }, this._handleNodeRelatedClick = element => {
87
93
  var _a;
88
94
  const nodeDatum = element.getDatum(), allNodeElements = this._nodeMark.getProductElements();
@@ -140,7 +146,8 @@ class SankeySeries extends cartesian_1.CartesianSeries {
140
146
  linkEl.addState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE));
141
147
  }));
142
148
  }
143
- this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
149
+ this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
150
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
144
151
  } else {
145
152
  const highlightNodes = [ nodeDatum.key ], upstreamLinks = nodeDatum.targetLinks.reduce(((res, link) => ((0,
146
153
  vutils_1.array)(link.datum).forEach((dividedLink => {
@@ -172,7 +179,8 @@ class SankeySeries extends cartesian_1.CartesianSeries {
172
179
  ratio: upSelectedLink.value / linkDatum.value
173
180
  });
174
181
  linkEl.removeState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS), linkEl.addState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
175
- })), this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes);
182
+ })), this._nodeMark && this._highLightElements(this._nodeMark.getProductElements(), highlightNodes),
183
+ this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
176
184
  }
177
185
  }, this._handleLinkRelatedClick = element => {
178
186
  var _a;
@@ -182,11 +190,17 @@ class SankeySeries extends cartesian_1.CartesianSeries {
182
190
  if (!allLinkElements || !allLinkElements.length) return;
183
191
  if ("source" === ((null === (_a = element.getDatum()) || void 0 === _a ? void 0 : _a.parents) ? "parents" : "source")) {
184
192
  const states = [ interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE ];
185
- this._linkMark && allLinkElements.forEach((linkEl => {
193
+ if (this._linkMark && allLinkElements.forEach((linkEl => {
186
194
  linkEl.removeState(states);
187
195
  })), this._nodeMark && allNodeElements.forEach((el => {
188
196
  el.removeState(states);
189
- }));
197
+ })), this._labelMark) {
198
+ const allLabelElements = this._labelMark.getProductElements();
199
+ if (!allLabelElements || !allLabelElements.length) return;
200
+ allLabelElements.forEach((el => {
201
+ el.removeState(states);
202
+ }));
203
+ }
190
204
  } else {
191
205
  const curLinkDatum = element.getDatum(), highlightNodes = [ curLinkDatum.source, curLinkDatum.target ], upstreamLinks = [];
192
206
  (0, vutils_1.array)(curLinkDatum.datum).forEach((dividedLink => {
@@ -233,14 +247,10 @@ class SankeySeries extends cartesian_1.CartesianSeries {
233
247
  ratio: upSelectedLink.value / linkDatum.value
234
248
  });
235
249
  linkEl.removeState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS), linkEl.addState(interface_1.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
236
- })), this._highLightElements(allNodeElements, highlightNodes);
250
+ })), this._highLightElements(allNodeElements, highlightNodes), this._labelMark && this._highLightElements(this._labelMark.getProductElements(), highlightNodes);
237
251
  }
238
252
  };
239
253
  }
240
- get direction() {
241
- var _a;
242
- return null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal";
243
- }
244
254
  getCategoryField() {
245
255
  return this._categoryField;
246
256
  }
@@ -280,7 +290,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
280
290
  sourceField: this._spec.sourceField,
281
291
  targetField: this._spec.targetField,
282
292
  valueField: this._spec.valueField,
283
- direction: this.direction,
293
+ direction: this._spec.direction,
284
294
  nodeAlign: null !== (_a = this._spec.nodeAlign) && void 0 !== _a ? _a : "justify",
285
295
  nodeGap: null !== (_b = this._spec.nodeGap) && void 0 !== _b ? _b : 8,
286
296
  nodeWidth: null !== (_c = this._spec.nodeWidth) && void 0 !== _c ? _c : 10,
@@ -362,7 +372,13 @@ class SankeySeries extends cartesian_1.CartesianSeries {
362
372
  customShape: null === (_c = this._spec.link) || void 0 === _c ? void 0 : _c.customShape,
363
373
  stateSort: null === (_d = this._spec.link) || void 0 === _d ? void 0 : _d.stateSort
364
374
  });
365
- linkMark && (this._linkMark = linkMark);
375
+ if (linkMark && (this._linkMark = linkMark), this._spec.label && this._spec.label.visible) {
376
+ const labelMark = this._createMark(SankeySeries.mark.label, {
377
+ dataView: this._nodesSeriesData.getDataView(),
378
+ dataProductId: this._nodesSeriesData.getProductId()
379
+ });
380
+ labelMark && (this._labelMark = labelMark);
381
+ }
366
382
  }
367
383
  _buildMarkAttributeContext() {
368
384
  super._buildMarkAttributeContext(), this._markAttributeContext.valueToNode = this.valueToNode.bind(this),
@@ -385,7 +401,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
385
401
  return null == node ? void 0 : node.y0;
386
402
  }
387
403
  initMarkStyle() {
388
- this._initNodeMarkStyle(), this._initLinkMarkStyle();
404
+ this._initNodeMarkStyle(), this._initLinkMarkStyle(), this._initLabelMarkStyle();
389
405
  }
390
406
  _initNodeMarkStyle() {
391
407
  const nodeMark = this._nodeMark;
@@ -398,6 +414,7 @@ class SankeySeries extends cartesian_1.CartesianSeries {
398
414
  }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Mark);
399
415
  }
400
416
  _initLinkMarkStyle() {
417
+ var _a;
401
418
  const linkMark = this._linkMark;
402
419
  linkMark && this.setMarkStyle(linkMark, {
403
420
  x0: datum => datum.x0,
@@ -406,36 +423,120 @@ class SankeySeries extends cartesian_1.CartesianSeries {
406
423
  y1: datum => datum.y1,
407
424
  thickness: datum => datum.thickness,
408
425
  fill: this._fillByLink,
409
- direction: this.direction
426
+ direction: null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal"
410
427
  }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series);
411
428
  }
412
- initLabelMarkStyle(textMark) {
413
- if (!textMark) return;
414
- const position = this._spec.label.position;
415
- position && position.includes("inside") ? this.setMarkStyle(textMark, {
429
+ _initLabelMarkStyle() {
430
+ this._labelMark && ("vertical" === this._spec.direction ? "inside-start" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
431
+ x: datum => datum.x0,
432
+ y: datum => (datum.y0 + datum.y1) / 2,
416
433
  fill: "#ffffff",
417
434
  text: datum => this._createText(datum),
418
- maxLineWidth: datum => {
435
+ limit: datum => {
419
436
  var _a;
420
437
  return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
421
- }
422
- }) : this.setMarkStyle(textMark, {
438
+ },
439
+ textAlign: "left",
440
+ textBaseline: "middle"
441
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : "inside-middle" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
442
+ x: datum => (datum.x0 + datum.x1) / 2,
443
+ y: datum => (datum.y0 + datum.y1) / 2,
444
+ fill: "#ffffff",
445
+ text: datum => this._createText(datum),
446
+ limit: datum => {
447
+ var _a;
448
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
449
+ },
450
+ textAlign: "center",
451
+ textBaseline: "middle"
452
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : "inside-end" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
453
+ x: datum => datum.x1,
454
+ y: datum => (datum.y0 + datum.y1) / 2,
455
+ fill: "#ffffff",
456
+ text: datum => this._createText(datum),
457
+ limit: datum => {
458
+ var _a;
459
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
460
+ },
461
+ textAlign: "right",
462
+ textBaseline: "middle"
463
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : this.setMarkStyle(this._labelMark, {
464
+ x: datum => (datum.x0 + datum.x1) / 2,
465
+ y: datum => datum.y1 >= this._viewBox.y2 ? datum.y0 : datum.y1,
423
466
  fill: this._fillByNode,
424
467
  text: datum => this._createText(datum),
425
- maxLineWidth: this._labelLimit
426
- }), textMark.setZIndex(this._labelLayoutZIndex);
468
+ limit: this._labelLimit,
469
+ textAlign: "center",
470
+ textBaseline: datum => datum.y1 >= this._viewBox.y2 ? "bottom" : "top"
471
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : "inside-start" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
472
+ x: datum => datum.x0,
473
+ y: datum => (datum.y0 + datum.y1) / 2,
474
+ fill: "#ffffff",
475
+ text: datum => this._createText(datum),
476
+ limit: datum => {
477
+ var _a;
478
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
479
+ },
480
+ textAlign: "left",
481
+ textBaseline: "middle"
482
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : "inside-middle" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
483
+ x: datum => (datum.x0 + datum.x1) / 2,
484
+ y: datum => (datum.y0 + datum.y1) / 2,
485
+ fill: "#ffffff",
486
+ text: datum => this._createText(datum),
487
+ limit: datum => {
488
+ var _a;
489
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
490
+ },
491
+ textAlign: "center",
492
+ textBaseline: "middle"
493
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : "inside-end" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
494
+ x: datum => datum.x1,
495
+ y: datum => (datum.y0 + datum.y1) / 2,
496
+ fill: "#ffffff",
497
+ text: datum => this._createText(datum),
498
+ limit: datum => {
499
+ var _a;
500
+ return null !== (_a = this._spec.label.limit) && void 0 !== _a ? _a : datum.x1 - datum.x0;
501
+ },
502
+ textAlign: "right",
503
+ textBaseline: "middle"
504
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : "left" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
505
+ x: datum => datum.x0,
506
+ y: datum => (datum.y0 + datum.y1) / 2,
507
+ fill: this._fillByNode,
508
+ text: datum => this._createText(datum),
509
+ limit: this._labelLimit,
510
+ textAlign: "right",
511
+ textBaseline: "middle"
512
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : "right" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
513
+ x: datum => datum.x1,
514
+ y: datum => (datum.y0 + datum.y1) / 2,
515
+ fill: this._fillByNode,
516
+ text: datum => this._createText(datum),
517
+ limit: this._labelLimit,
518
+ textAlign: "left",
519
+ textBaseline: "middle"
520
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series) : this.setMarkStyle(this._labelMark, {
521
+ x: datum => datum.x1 >= this._viewBox.x2 ? datum.x0 : datum.x1,
522
+ y: datum => (datum.y0 + datum.y1) / 2,
523
+ fill: this._fillByNode,
524
+ text: datum => this._createText(datum),
525
+ limit: this._labelLimit,
526
+ textAlign: datum => datum.x1 >= this._viewBox.x2 ? "right" : "left",
527
+ textBaseline: "middle"
528
+ }, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series),
529
+ this._labelMark.setZIndex(this._labelLayoutZIndex));
427
530
  }
428
531
  _createText(datum) {
532
+ var _a;
429
533
  if ((0, vutils_1.isNil)(datum) || (0, vutils_1.isNil)(datum.datum)) return "";
430
534
  let text = datum.datum[this._spec.categoryField] || "";
431
- const {formatMethod: formatMethod, formatter: formatter} = this._spec.label || {}, {formatFunc: formatFunc, args: args} = (0,
432
- util_1.getFormatFunction)(formatMethod, formatter, text, datum.datum);
433
- return formatFunc && (text = formatFunc(...args, {
434
- series: this
435
- })), text;
535
+ return (null === (_a = this._spec.label) || void 0 === _a ? void 0 : _a.formatMethod) && (text = this._spec.label.formatMethod(text, datum.datum)),
536
+ text;
436
537
  }
437
538
  initAnimation() {
438
- var _a, _b, _c, _d;
539
+ var _a, _b, _c, _d, _e;
439
540
  const animationParams = {
440
541
  direction: this.direction,
441
542
  growFrom: () => {
@@ -446,7 +547,9 @@ class SankeySeries extends cartesian_1.CartesianSeries {
446
547
  this._nodeMark && this._nodeMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_c = factory_1.Factory.getAnimationInKey("sankeyNode")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), (0,
447
548
  utils_1.userAnimationConfig)("node", this._spec, this._markAttributeContext))),
448
549
  this._linkMark && this._linkMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_d = factory_1.Factory.getAnimationInKey("sankeyLinkPath")) || void 0 === _d ? void 0 : _d(animationParams, appearPreset), (0,
449
- utils_1.userAnimationConfig)("link", this._spec, this._markAttributeContext)));
550
+ utils_1.userAnimationConfig)("link", this._spec, this._markAttributeContext))),
551
+ this._labelMark && this._labelMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_e = factory_1.Factory.getAnimationInKey("fadeInOut")) || void 0 === _e ? void 0 : _e(), (0,
552
+ utils_1.userAnimationConfig)("label", this._spec, this._markAttributeContext)));
450
553
  }
451
554
  initEvent() {
452
555
  var _a, _b, _c;
@@ -474,7 +577,8 @@ class SankeySeries extends cartesian_1.CartesianSeries {
474
577
  }
475
578
  initTooltip() {
476
579
  this._tooltipHelper = new tooltip_helper_1.SankeySeriesTooltipHelper(this), this._nodeMark && this._tooltipHelper.activeTriggerSet.mark.add(this._nodeMark),
477
- this._linkMark && this._tooltipHelper.activeTriggerSet.mark.add(this._linkMark);
580
+ this._linkMark && this._tooltipHelper.activeTriggerSet.mark.add(this._linkMark),
581
+ this._labelMark && this._tooltipHelper.activeTriggerSet.mark.add(this._labelMark);
478
582
  }
479
583
  _setNodeOrdinalColorScale() {
480
584
  var _a, _b, _c, _d, _e;
@@ -489,9 +593,9 @@ class SankeySeries extends cartesian_1.CartesianSeries {
489
593
  this._colorScale = ordinalScale;
490
594
  }
491
595
  getNodeList() {
492
- var _a, _b;
596
+ var _a;
493
597
  if (this._nodeList) return this._nodeList;
494
- const data = this._rawData.latestData[0], nodeList = (null == data ? void 0 : data.nodes) ? (null === (_a = data.nodes[0]) || void 0 === _a ? void 0 : _a.children) ? Array.from(this.extractNamesFromTree(data.nodes, this._spec.categoryField)) : data.nodes.map(((datum, index) => datum[this._spec.categoryField])) : (null == data ? void 0 : data.links) ? Array.from(this.extractNamesFromLink(data.links)) : null === (_b = null == data ? void 0 : data.values) || void 0 === _b ? void 0 : _b.map(((datum, index) => datum[this._spec.categoryField]));
598
+ const data = this._rawData.latestData[0], nodeList = (null == data ? void 0 : data.nodes) ? (null === (_a = data.nodes[0]) || void 0 === _a ? void 0 : _a.children) ? Array.from(this.extractNamesFromTree(data.nodes, this._spec.categoryField)) : data.nodes.map(((datum, index) => datum[this._spec.categoryField])) : (null == data ? void 0 : data.links) ? Array.from(this.extractNamesFromLink(data.links)) : null == data ? void 0 : data.values.map(((datum, index) => datum[this._spec.categoryField]));
495
599
  return this._nodeList = nodeList, nodeList;
496
600
  }
497
601
  _getNodeNameFromData(datum) {
@@ -555,7 +659,6 @@ class SankeySeries extends cartesian_1.CartesianSeries {
555
659
  }
556
660
 
557
661
  exports.SankeySeries = SankeySeries, SankeySeries.type = type_1.SeriesTypeEnum.sankey,
558
- SankeySeries.transformerConstructor = sankey_transformer_1.SankeySeriesSpecTransformer,
559
662
  SankeySeries.mark = constant_2.sankeySeriesMark;
560
663
 
561
664
  const registerSankeySeries = () => {