@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.
- package/build/es5/index.js +1 -1
- package/build/index.js +210 -153
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base/base-chart.js +6 -4
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/stack.js +2 -1
- package/cjs/compile/grammar-item.js +1 -2
- package/cjs/component/label/util.d.ts +0 -9
- package/cjs/component/label/util.js +8 -35
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +2 -2
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +1 -1
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -6
- package/cjs/series/sankey/sankey.js +143 -40
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/theme/interface.d.ts +2 -2
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +2 -2
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/visual.d.ts +2 -2
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/spec/index.d.ts +0 -1
- package/cjs/util/spec/index.js +1 -1
- package/cjs/util/spec/index.js.map +1 -1
- package/esm/chart/base/base-chart.js +8 -6
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/stack.js +2 -1
- package/esm/compile/grammar-item.js +1 -2
- package/esm/component/label/util.d.ts +0 -9
- package/esm/component/label/util.js +5 -34
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +2 -2
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +2 -2
- package/esm/core/vchart.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -6
- package/esm/series/sankey/sankey.js +140 -43
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/theme/interface.d.ts +2 -2
- package/esm/theme/interface.js.map +1 -1
- package/esm/typings/spec/common.d.ts +2 -2
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/visual.d.ts +2 -2
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/spec/index.d.ts +0 -1
- package/esm/util/spec/index.js +0 -2
- package/esm/util/spec/index.js.map +1 -1
- package/package.json +2 -2
- package/cjs/series/sankey/sankey-transformer.d.ts +0 -5
- package/cjs/series/sankey/sankey-transformer.js +0 -16
- package/cjs/series/sankey/sankey-transformer.js.map +0 -1
- package/cjs/util/spec/background.d.ts +0 -4
- package/cjs/util/spec/background.js +0 -21
- package/cjs/util/spec/background.js.map +0 -1
- package/esm/series/sankey/sankey-transformer.d.ts +0 -5
- package/esm/series/sankey/sankey-transformer.js +0 -8
- package/esm/series/sankey/sankey-transformer.js.map +0 -1
- package/esm/util/spec/background.d.ts +0 -4
- package/esm/util/spec/background.js +0 -13
- 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")
|
|
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.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
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
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
426
|
-
|
|
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
|
-
|
|
432
|
-
|
|
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
|
|
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
|
|
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 = () => {
|