@visactor/vchart 2.0.3-alpha.2 → 2.0.3
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.es.js +462 -500
- package/build/index.js +461 -500
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/index.d.ts +2 -2
- package/cjs/chart/index.js +2 -7
- package/cjs/chart/index.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/interface.js +1 -1
- package/cjs/core/util.js +1 -1
- package/cjs/data/initialize.js +1 -1
- package/cjs/data/register.js +1 -1
- package/cjs/mark/base/base-mark.js +2 -1
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +10 -10
- package/cjs/series/sankey/sankey.js +194 -199
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/esm/chart/index.d.ts +2 -2
- package/esm/chart/index.js +2 -2
- package/esm/chart/index.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/interface.js +1 -1
- package/esm/core/util.js +1 -1
- package/esm/data/initialize.js +1 -1
- package/esm/data/register.js +1 -1
- package/esm/mark/base/base-mark.js +2 -1
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +10 -10
- package/esm/series/sankey/sankey.js +187 -192
- package/esm/series/sankey/sankey.js.map +1 -1
- package/package.json +12 -12
package/build/index.es.js
CHANGED
|
@@ -16371,10 +16371,14 @@ class Glyph extends Graphic {
|
|
|
16371
16371
|
attrs && (Object.assign(stateAttrs, attrs.attributes), (null === (_a = attrs.subAttributes) || void 0 === _a ? void 0 : _a.length) && subAttrs.forEach((subAttrs, index) => {
|
|
16372
16372
|
Object.assign(subAttrs, attrs.subAttributes[index]);
|
|
16373
16373
|
}));
|
|
16374
|
+
}), this.subGraphic.forEach((graphic, index) => {
|
|
16375
|
+
graphic.updateNormalAttrs(subAttrs[index]), graphic.applyStateAttrs(subAttrs[index], states, hasAnimation);
|
|
16374
16376
|
}), this.updateNormalAttrs(stateAttrs), this.currentStates = states, this.applyStateAttrs(stateAttrs, states, hasAnimation);
|
|
16375
16377
|
}
|
|
16376
16378
|
clearStates(hasAnimation) {
|
|
16377
|
-
this.stopStateAnimates(), this.hasState() && this.normalAttrs ? (this.currentStates = [], this.
|
|
16379
|
+
this.stopStateAnimates(), this.hasState() && this.normalAttrs ? (this.currentStates = [], this.subGraphic.forEach(graphic => {
|
|
16380
|
+
graphic.applyStateAttrs(graphic.normalAttrs, this.currentStates, hasAnimation, !0), graphic.normalAttrs = null;
|
|
16381
|
+
}), this.applyStateAttrs(this.normalAttrs, this.currentStates, hasAnimation, !0)) : this.currentStates = [], this.normalAttrs = null;
|
|
16378
16382
|
}
|
|
16379
16383
|
clone() {
|
|
16380
16384
|
const glyph = new Glyph(Object.assign({}, this.attribute));
|
|
@@ -33690,7 +33694,7 @@ class GrowAngleBase extends ACustomAnimate {
|
|
|
33690
33694
|
}
|
|
33691
33695
|
class GrowAngleIn extends GrowAngleBase {
|
|
33692
33696
|
onBind() {
|
|
33693
|
-
var _a, _b
|
|
33697
|
+
var _a, _b;
|
|
33694
33698
|
super.onBind();
|
|
33695
33699
|
const {
|
|
33696
33700
|
from: from,
|
|
@@ -33699,7 +33703,7 @@ class GrowAngleIn extends GrowAngleBase {
|
|
|
33699
33703
|
fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
|
|
33700
33704
|
this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
|
|
33701
33705
|
const finalAttribute = this.target.getFinalAttribute();
|
|
33702
|
-
finalAttribute && this.target.setAttributes(finalAttribute),
|
|
33706
|
+
finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs), this.determineUpdateFunction();
|
|
33703
33707
|
}
|
|
33704
33708
|
}
|
|
33705
33709
|
class GrowAngleOut extends GrowAngleBase {
|
|
@@ -34307,7 +34311,7 @@ class GrowPointsBase extends ACustomAnimate {
|
|
|
34307
34311
|
}
|
|
34308
34312
|
class GrowRadiusIn extends GrowPointsBase {
|
|
34309
34313
|
onBind() {
|
|
34310
|
-
var _a, _b
|
|
34314
|
+
var _a, _b;
|
|
34311
34315
|
super.onBind();
|
|
34312
34316
|
const {
|
|
34313
34317
|
from: from,
|
|
@@ -34316,7 +34320,7 @@ class GrowRadiusIn extends GrowPointsBase {
|
|
|
34316
34320
|
fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
|
|
34317
34321
|
this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
|
|
34318
34322
|
const finalAttribute = this.target.getFinalAttribute();
|
|
34319
|
-
finalAttribute && this.target.setAttributes(finalAttribute),
|
|
34323
|
+
finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs);
|
|
34320
34324
|
}
|
|
34321
34325
|
}
|
|
34322
34326
|
class GrowRadiusOut extends GrowPointsBase {
|
|
@@ -34431,7 +34435,7 @@ class GrowWidthIn extends ACustomAnimate {
|
|
|
34431
34435
|
super(from, to, duration, easing, params);
|
|
34432
34436
|
}
|
|
34433
34437
|
onBind() {
|
|
34434
|
-
var _a, _b
|
|
34438
|
+
var _a, _b;
|
|
34435
34439
|
super.onBind();
|
|
34436
34440
|
const {
|
|
34437
34441
|
from: from,
|
|
@@ -34440,7 +34444,7 @@ class GrowWidthIn extends ACustomAnimate {
|
|
|
34440
34444
|
fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
|
|
34441
34445
|
this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
|
|
34442
34446
|
const finalAttribute = this.target.getFinalAttribute();
|
|
34443
|
-
finalAttribute && this.target.setAttributes(finalAttribute),
|
|
34447
|
+
finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs);
|
|
34444
34448
|
}
|
|
34445
34449
|
onEnd(cb) {
|
|
34446
34450
|
super.onEnd(cb);
|
|
@@ -37338,9 +37342,7 @@ class BandScale extends OrdinalScale {
|
|
|
37338
37342
|
space = bandSpace(n, this._paddingInner, this._paddingOuter);
|
|
37339
37343
|
return this._step = (stop - start) / Math.max(1, space || 1), this._round && (this._step = Math.floor(this._step)), start += (stop - start - this._step * (n - this._paddingInner)) * this._align, this.isBandwidthFixed() || (this._bandwidth = this._step * (1 - this._paddingInner)), this._round && (start = Math.round(start), this.isBandwidthFixed() || (this._bandwidth = Math.round(this._bandwidth))), this._bandRangeState = {
|
|
37340
37344
|
reverse: reverse,
|
|
37341
|
-
start: reverse ?
|
|
37342
|
-
min: reverse ? wholeRange[1] : wholeRange[0],
|
|
37343
|
-
max: stop,
|
|
37345
|
+
start: reverse ? start + this._step * (n - 1) : start,
|
|
37344
37346
|
count: n
|
|
37345
37347
|
}, this.generateFishEyeTransform(), this;
|
|
37346
37348
|
}
|
|
@@ -37357,12 +37359,10 @@ class BandScale extends OrdinalScale {
|
|
|
37357
37359
|
const {
|
|
37358
37360
|
count: count,
|
|
37359
37361
|
start: start,
|
|
37360
|
-
reverse: reverse
|
|
37361
|
-
min: min,
|
|
37362
|
-
max: max
|
|
37362
|
+
reverse: reverse
|
|
37363
37363
|
} = this._bandRangeState,
|
|
37364
37364
|
output = start + (reverse ? -1 : 1) * ((i - 1) % count) * this._step;
|
|
37365
|
-
return
|
|
37365
|
+
return this._fishEyeTransform ? this._fishEyeTransform(output) : output;
|
|
37366
37366
|
}
|
|
37367
37367
|
_calculateWholeRange(range, changeProperty) {
|
|
37368
37368
|
if (this._wholeRange) return this._wholeRange;
|
|
@@ -54027,11 +54027,11 @@ class BaseMark extends GrammarItem {
|
|
|
54027
54027
|
item.animation.customParameters = g.context;
|
|
54028
54028
|
});
|
|
54029
54029
|
const stateArray = [state];
|
|
54030
|
-
if (state === 'enter' && animationConfig.normal) {
|
|
54031
|
-
shouldRunNormal = true;
|
|
54032
|
-
}
|
|
54033
54030
|
g.applyAnimationState(stateArray, [configList.length === 1 ? configList[0] : configList]);
|
|
54034
54031
|
}
|
|
54032
|
+
if (state === 'enter' && animationConfig.normal) {
|
|
54033
|
+
shouldRunNormal = true;
|
|
54034
|
+
}
|
|
54035
54035
|
});
|
|
54036
54036
|
if (shouldRunNormal && this._product && ((_b = animationConfig.normal) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
54037
54037
|
this._product.stopAnimationState('normal', 'start');
|
|
@@ -56926,7 +56926,7 @@ const lookup = (data, opt) => {
|
|
|
56926
56926
|
});
|
|
56927
56927
|
};
|
|
56928
56928
|
|
|
56929
|
-
const version = "2.0.3
|
|
56929
|
+
const version = "2.0.3";
|
|
56930
56930
|
|
|
56931
56931
|
const addVChartProperty = (data, op) => {
|
|
56932
56932
|
const context = op.beforeCall();
|
|
@@ -76942,72 +76942,6 @@ const calculateNodeValue = subTree => {
|
|
|
76942
76942
|
isNil$1(node.value) && ((null === (_a = node.children) || void 0 === _a ? void 0 : _a.length) ? node.value = calculateNodeValue(node.children) : node.value = 0), sum += Math.abs(node.value);
|
|
76943
76943
|
}), sum;
|
|
76944
76944
|
};
|
|
76945
|
-
function makeHierarchicNodes(originalNodes, nodeKeyFunc, nodes = [], nodeMap = {}, originalLinks) {
|
|
76946
|
-
calculateNodeValue(originalNodes);
|
|
76947
|
-
const doSubTree = (subTree, depth, parents) => {
|
|
76948
|
-
subTree.forEach((node, index) => {
|
|
76949
|
-
const nodeKey = nodeKeyFunc ? nodeKeyFunc(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`,
|
|
76950
|
-
nodeValue = isNil$1(node.value) ? 0 : toValidNumber$1(node.value);
|
|
76951
|
-
if (nodeMap[nodeKey]) nodeMap[nodeKey].value = void 0;else {
|
|
76952
|
-
const nodeElement = {
|
|
76953
|
-
depth: depth,
|
|
76954
|
-
datum: node,
|
|
76955
|
-
index: index,
|
|
76956
|
-
key: nodeKey,
|
|
76957
|
-
value: nodeValue,
|
|
76958
|
-
sourceLinks: [],
|
|
76959
|
-
targetLinks: []
|
|
76960
|
-
};
|
|
76961
|
-
nodeMap[nodeKey] = nodeElement, nodes.push(nodeElement);
|
|
76962
|
-
}
|
|
76963
|
-
parents && originalLinks && originalLinks.push({
|
|
76964
|
-
source: parents[parents.length - 1].key,
|
|
76965
|
-
target: nodeKey,
|
|
76966
|
-
value: nodeValue,
|
|
76967
|
-
parents: parents
|
|
76968
|
-
}), node.children && node.children.length && doSubTree(node.children, depth + 1, parents ? parents.concat([nodeMap[nodeKey]]) : [nodeMap[nodeKey]]);
|
|
76969
|
-
});
|
|
76970
|
-
};
|
|
76971
|
-
return doSubTree(originalNodes, 0, null), nodes;
|
|
76972
|
-
}
|
|
76973
|
-
function computeHierarchicNodeLinks(originalNodes, nodeKeyFunc) {
|
|
76974
|
-
const nodes = [],
|
|
76975
|
-
links = [],
|
|
76976
|
-
nodeMap = {},
|
|
76977
|
-
linkMap = {},
|
|
76978
|
-
originalLinks = [];
|
|
76979
|
-
return makeHierarchicNodes(originalNodes, nodeKeyFunc, nodes, nodeMap, originalLinks), originalLinks.forEach((link, index) => {
|
|
76980
|
-
const key = `${link.source}-${link.target}`,
|
|
76981
|
-
linkDatum = pickWithout(link, ["parents"]);
|
|
76982
|
-
if (linkDatum.parents = link.parents.map(node => pickWithout(node, ["sourceLinks", "targetLinks"])), linkMap[key]) return linkMap[key].value += toValidNumber$1(link.value), void linkMap[key].datum.push(linkDatum);
|
|
76983
|
-
const linkElement = {
|
|
76984
|
-
index: index,
|
|
76985
|
-
key: `${link.source}-${link.target}`,
|
|
76986
|
-
source: link.source,
|
|
76987
|
-
target: link.target,
|
|
76988
|
-
datum: [linkDatum],
|
|
76989
|
-
value: link.value,
|
|
76990
|
-
parents: link.parents.map(parent => parent.key)
|
|
76991
|
-
};
|
|
76992
|
-
links.push(linkElement), nodeMap[link.source].sourceLinks.push(linkElement), nodeMap[link.target].targetLinks.push(linkElement), linkMap[key] = linkElement;
|
|
76993
|
-
}), {
|
|
76994
|
-
nodes: nodes,
|
|
76995
|
-
links: links,
|
|
76996
|
-
nodeMap: nodeMap
|
|
76997
|
-
};
|
|
76998
|
-
}
|
|
76999
|
-
function computeNodeValues(nodes) {
|
|
77000
|
-
for (let i = 0, len = nodes.length; i < len; i++) {
|
|
77001
|
-
const node = nodes[i];
|
|
77002
|
-
node.value = Math.max(isNil$1(node.value) ? 0 : toValidNumber$1(node.value), node.sourceLinks.reduce((sum, link) => {
|
|
77003
|
-
var _a;
|
|
77004
|
-
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77005
|
-
}, 0), node.targetLinks.reduce((sum, link) => {
|
|
77006
|
-
var _a;
|
|
77007
|
-
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77008
|
-
}, 0));
|
|
77009
|
-
}
|
|
77010
|
-
}
|
|
77011
76945
|
|
|
77012
76946
|
function left(node) {
|
|
77013
76947
|
return node.depth;
|
|
@@ -77141,7 +77075,55 @@ class SankeyLayout {
|
|
|
77141
77075
|
};
|
|
77142
77076
|
}
|
|
77143
77077
|
computeHierarchicNodeLinks(originalNodes) {
|
|
77144
|
-
|
|
77078
|
+
const nodes = [],
|
|
77079
|
+
links = [],
|
|
77080
|
+
nodeMap = {},
|
|
77081
|
+
linkMap = {},
|
|
77082
|
+
originalLinks = [];
|
|
77083
|
+
calculateNodeValue(originalNodes);
|
|
77084
|
+
const doSubTree = (subTree, depth, parents) => {
|
|
77085
|
+
subTree.forEach((node, index) => {
|
|
77086
|
+
const nodeKey = this._getNodeKey ? this._getNodeKey(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`,
|
|
77087
|
+
nodeValue = isNil$1(node.value) ? 0 : toValidNumber$1(node.value);
|
|
77088
|
+
if (nodeMap[nodeKey]) nodeMap[nodeKey].value = void 0;else {
|
|
77089
|
+
const nodeElement = {
|
|
77090
|
+
depth: depth,
|
|
77091
|
+
datum: node,
|
|
77092
|
+
index: index,
|
|
77093
|
+
key: nodeKey,
|
|
77094
|
+
value: nodeValue,
|
|
77095
|
+
sourceLinks: [],
|
|
77096
|
+
targetLinks: []
|
|
77097
|
+
};
|
|
77098
|
+
nodeMap[nodeKey] = nodeElement, nodes.push(nodeElement);
|
|
77099
|
+
}
|
|
77100
|
+
parents && originalLinks.push({
|
|
77101
|
+
source: parents[parents.length - 1].key,
|
|
77102
|
+
target: nodeKey,
|
|
77103
|
+
value: nodeValue,
|
|
77104
|
+
parents: parents
|
|
77105
|
+
}), node.children && node.children.length && doSubTree(node.children, depth + 1, parents ? parents.concat([nodeMap[nodeKey]]) : [nodeMap[nodeKey]]);
|
|
77106
|
+
});
|
|
77107
|
+
};
|
|
77108
|
+
return doSubTree(originalNodes, 0, null), originalLinks.forEach((link, index) => {
|
|
77109
|
+
const key = `${link.source}-${link.target}`,
|
|
77110
|
+
linkDatum = pickWithout(link, ["parents"]);
|
|
77111
|
+
if (linkDatum.parents = link.parents.map(node => pickWithout(node, ["sourceLinks", "targetLinks"])), linkMap[key]) return linkMap[key].value += toValidNumber$1(link.value), void linkMap[key].datum.push(linkDatum);
|
|
77112
|
+
const linkElement = {
|
|
77113
|
+
index: index,
|
|
77114
|
+
key: `${link.source}-${link.target}`,
|
|
77115
|
+
source: link.source,
|
|
77116
|
+
target: link.target,
|
|
77117
|
+
datum: [linkDatum],
|
|
77118
|
+
value: link.value,
|
|
77119
|
+
parents: link.parents.map(parent => parent.key)
|
|
77120
|
+
};
|
|
77121
|
+
links.push(linkElement), nodeMap[link.source].sourceLinks.push(linkElement), nodeMap[link.target].targetLinks.push(linkElement), linkMap[key] = linkElement;
|
|
77122
|
+
}), {
|
|
77123
|
+
nodes: nodes,
|
|
77124
|
+
links: links,
|
|
77125
|
+
nodeMap: nodeMap
|
|
77126
|
+
};
|
|
77145
77127
|
}
|
|
77146
77128
|
computeSourceTargetNodeLinks(data) {
|
|
77147
77129
|
const nodes = [],
|
|
@@ -77211,7 +77193,16 @@ class SankeyLayout {
|
|
|
77211
77193
|
};
|
|
77212
77194
|
}
|
|
77213
77195
|
computeNodeValues(nodes) {
|
|
77214
|
-
|
|
77196
|
+
for (let i = 0, len = nodes.length; i < len; i++) {
|
|
77197
|
+
const node = nodes[i];
|
|
77198
|
+
node.value = Math.max(isNil$1(node.value) ? 0 : toValidNumber$1(node.value), node.sourceLinks.reduce((sum, link) => {
|
|
77199
|
+
var _a;
|
|
77200
|
+
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77201
|
+
}, 0), node.targetLinks.reduce((sum, link) => {
|
|
77202
|
+
var _a;
|
|
77203
|
+
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77204
|
+
}, 0));
|
|
77205
|
+
}
|
|
77215
77206
|
}
|
|
77216
77207
|
computeNodeDepths(nodes) {
|
|
77217
77208
|
var _a;
|
|
@@ -78276,7 +78267,7 @@ function normalizeSolution(solution, orientation, orientationOrder) {
|
|
|
78276
78267
|
return ret;
|
|
78277
78268
|
}
|
|
78278
78269
|
|
|
78279
|
-
function scaleSolution(solution, width, height, x0, y0
|
|
78270
|
+
function scaleSolution(solution, width, height, x0, y0) {
|
|
78280
78271
|
width = Math.max(width, 1), height = Math.max(height, 1);
|
|
78281
78272
|
const circles = [],
|
|
78282
78273
|
setIds = [];
|
|
@@ -78286,20 +78277,9 @@ function scaleSolution(solution, width, height, x0, y0, hasEmptySet = !1) {
|
|
|
78286
78277
|
yRange = bounds.yRange;
|
|
78287
78278
|
if (xRange.max === xRange.min || yRange.max === yRange.min) return console.log("not scaling solution: zero size detected"), solution;
|
|
78288
78279
|
const xScaling = width / (xRange.max - xRange.min),
|
|
78289
|
-
yScaling = height / (yRange.max - yRange.min)
|
|
78290
|
-
|
|
78291
|
-
|
|
78292
|
-
const containerRadius = Math.min(width, height) / 2,
|
|
78293
|
-
centerX = (xRange.min + xRange.max) / 2,
|
|
78294
|
-
centerY = (yRange.min + yRange.max) / 2;
|
|
78295
|
-
let diagramRadius = 0;
|
|
78296
|
-
for (const circle of circles) {
|
|
78297
|
-
const maxDistanceForThisCircle = Math.sqrt(Math.pow(circle.x - centerX, 2) + Math.pow(circle.y - centerY, 2)) + circle.radius;
|
|
78298
|
-
diagramRadius = Math.max(diagramRadius, maxDistanceForThisCircle);
|
|
78299
|
-
}
|
|
78300
|
-
scaling = containerRadius / diagramRadius;
|
|
78301
|
-
} else scaling = Math.min(yScaling, xScaling);
|
|
78302
|
-
const xOffset = (width - (xRange.max - xRange.min) * scaling) / 2,
|
|
78280
|
+
yScaling = height / (yRange.max - yRange.min),
|
|
78281
|
+
scaling = Math.min(yScaling, xScaling),
|
|
78282
|
+
xOffset = (width - (xRange.max - xRange.min) * scaling) / 2,
|
|
78303
78283
|
yOffset = (height - (yRange.max - yRange.min) * scaling) / 2,
|
|
78304
78284
|
scaled = {};
|
|
78305
78285
|
for (let i = 0; i < circles.length; ++i) {
|
|
@@ -78514,39 +78494,21 @@ const transform$2 = (options, upstreamData) => {
|
|
|
78514
78494
|
setField = "sets",
|
|
78515
78495
|
valueField = "size",
|
|
78516
78496
|
orientation = Math.PI / 2,
|
|
78517
|
-
orientationOrder = null
|
|
78518
|
-
emptySetKey: emptySetKey
|
|
78497
|
+
orientationOrder = null
|
|
78519
78498
|
} = options;
|
|
78520
78499
|
let circles = {},
|
|
78521
78500
|
textCenters = {};
|
|
78522
|
-
|
|
78523
|
-
|
|
78524
|
-
return !sets || 0 === sets.length;
|
|
78525
|
-
}),
|
|
78526
|
-
nonEmptyData = hasEmptySet ? upstreamData.filter(area => !isEmpty(array(area[setField]))) : upstreamData;
|
|
78527
|
-
if (nonEmptyData.length > 0) {
|
|
78528
|
-
const vennData = nonEmptyData.map(area => ({
|
|
78501
|
+
if (upstreamData.length > 0) {
|
|
78502
|
+
const vennData = upstreamData.map(area => ({
|
|
78529
78503
|
sets: array(area[setField]),
|
|
78530
78504
|
size: area[valueField]
|
|
78531
78505
|
}));
|
|
78532
78506
|
let solution = venn$1(vennData, options);
|
|
78533
|
-
solution = normalizeSolution(solution, orientation, orientationOrder), circles = scaleSolution(solution, x1 - x0, y1 - y0, x0, y0
|
|
78507
|
+
solution = normalizeSolution(solution, orientation, orientationOrder), circles = scaleSolution(solution, x1 - x0, y1 - y0, x0, y0), textCenters = computeTextCenters(circles, vennData);
|
|
78534
78508
|
}
|
|
78535
78509
|
return upstreamData.map(area => {
|
|
78536
|
-
const sets = array(area[setField])
|
|
78537
|
-
|
|
78538
|
-
datum: area,
|
|
78539
|
-
sets: sets,
|
|
78540
|
-
key: emptySetKey || "others",
|
|
78541
|
-
size: area[valueField],
|
|
78542
|
-
labelX: void 0,
|
|
78543
|
-
labelY: void 0,
|
|
78544
|
-
type: "circle",
|
|
78545
|
-
x: x0 + (x1 - x0) / 2,
|
|
78546
|
-
y: y0 + (y1 - y0) / 2,
|
|
78547
|
-
radius: Math.min(x1 - x0, y1 - y0) / 2
|
|
78548
|
-
});
|
|
78549
|
-
const key = sets.toString(),
|
|
78510
|
+
const sets = array(area[setField]),
|
|
78511
|
+
key = sets.toString(),
|
|
78550
78512
|
textCenter = textCenters[key],
|
|
78551
78513
|
basicDatum = Object.assign(Object.assign({}, area), {
|
|
78552
78514
|
datum: area,
|
|
@@ -82930,6 +82892,380 @@ class SankeySeries extends CartesianSeries {
|
|
|
82930
82892
|
}
|
|
82931
82893
|
}
|
|
82932
82894
|
};
|
|
82895
|
+
this._handleClearEmpty = () => {
|
|
82896
|
+
var _a, _b;
|
|
82897
|
+
if (!this._needClear) {
|
|
82898
|
+
return;
|
|
82899
|
+
}
|
|
82900
|
+
const allNodeElements = (_a = this._nodeMark) === null || _a === void 0 ? void 0 : _a.getGraphics();
|
|
82901
|
+
if (!allNodeElements || !allNodeElements.length) {
|
|
82902
|
+
return;
|
|
82903
|
+
}
|
|
82904
|
+
const allLinkElements = (_b = this._linkMark) === null || _b === void 0 ? void 0 : _b.getGraphics();
|
|
82905
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82906
|
+
return;
|
|
82907
|
+
}
|
|
82908
|
+
allNodeElements.forEach(el => {
|
|
82909
|
+
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82910
|
+
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82911
|
+
});
|
|
82912
|
+
allLinkElements.forEach(el => {
|
|
82913
|
+
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82914
|
+
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82915
|
+
});
|
|
82916
|
+
this._needClear = false;
|
|
82917
|
+
};
|
|
82918
|
+
this._handleNodeAdjacencyClick = (graphic) => {
|
|
82919
|
+
const nodeDatum = getDatumOfGraphic(graphic);
|
|
82920
|
+
const highlightNodes = [nodeDatum.key];
|
|
82921
|
+
if (this._linkMark) {
|
|
82922
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
82923
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82924
|
+
return;
|
|
82925
|
+
}
|
|
82926
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
82927
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
82928
|
+
if (linkDatum.source === nodeDatum.key) {
|
|
82929
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
82930
|
+
highlightNodes.push(linkDatum.target);
|
|
82931
|
+
}
|
|
82932
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82933
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
82934
|
+
}
|
|
82935
|
+
else if (linkDatum.target === nodeDatum.key) {
|
|
82936
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
82937
|
+
highlightNodes.push(linkDatum.source);
|
|
82938
|
+
}
|
|
82939
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82940
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
82941
|
+
}
|
|
82942
|
+
else {
|
|
82943
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82944
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
82945
|
+
}
|
|
82946
|
+
});
|
|
82947
|
+
}
|
|
82948
|
+
if (this._nodeMark) {
|
|
82949
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
82950
|
+
}
|
|
82951
|
+
this._needClear = true;
|
|
82952
|
+
};
|
|
82953
|
+
this._handleLinkAdjacencyClick = (graphic) => {
|
|
82954
|
+
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
82955
|
+
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
82956
|
+
if (this._linkMark) {
|
|
82957
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
82958
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82959
|
+
return;
|
|
82960
|
+
}
|
|
82961
|
+
allLinkElements.forEach(linkEl => {
|
|
82962
|
+
if (linkEl === graphic) {
|
|
82963
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82964
|
+
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
82965
|
+
}
|
|
82966
|
+
else {
|
|
82967
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82968
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
82969
|
+
}
|
|
82970
|
+
});
|
|
82971
|
+
}
|
|
82972
|
+
if (this._nodeMark) {
|
|
82973
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
82974
|
+
}
|
|
82975
|
+
this._needClear = true;
|
|
82976
|
+
};
|
|
82977
|
+
this._handleNodeRelatedClick = (graphic) => {
|
|
82978
|
+
var _a;
|
|
82979
|
+
const nodeDatum = getDatumOfGraphic(graphic);
|
|
82980
|
+
const allNodeElements = this._nodeMark.getGraphics();
|
|
82981
|
+
if (!allNodeElements || !allNodeElements.length) {
|
|
82982
|
+
return;
|
|
82983
|
+
}
|
|
82984
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
82985
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82986
|
+
return;
|
|
82987
|
+
}
|
|
82988
|
+
const father = ((_a = getDatumOfGraphic(allLinkElements[0])) === null || _a === void 0 ? void 0 : _a.parents) ? 'parents' : 'source';
|
|
82989
|
+
if (father === 'source') {
|
|
82990
|
+
const highlightNodes = [nodeDatum.key];
|
|
82991
|
+
const highlightLinks = [];
|
|
82992
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
82993
|
+
var _a, _b, _c, _d;
|
|
82994
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
82995
|
+
const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
|
|
82996
|
+
if (array(linkDatum[father]).includes(nodeDatum.key)) {
|
|
82997
|
+
if (!highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
82998
|
+
highlightLinks.push((_b = linkDatum.key) !== null && _b !== void 0 ? _b : linkDatum.index);
|
|
82999
|
+
}
|
|
83000
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83001
|
+
highlightNodes.push(linkDatum.source);
|
|
83002
|
+
}
|
|
83003
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83004
|
+
highlightNodes.push(linkDatum.target);
|
|
83005
|
+
const targetNode = allNodeElements.find(nodeElement => {
|
|
83006
|
+
return nodeElement.data[0].key === linkDatum.target;
|
|
83007
|
+
});
|
|
83008
|
+
let targetNodeSourceLinks = targetNode.data[0].sourceLinks;
|
|
83009
|
+
while ((targetNodeSourceLinks === null || targetNodeSourceLinks === void 0 ? void 0 : targetNodeSourceLinks.length) > 0) {
|
|
83010
|
+
const newTargetNodeSourceLinks = [];
|
|
83011
|
+
targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum) => {
|
|
83012
|
+
var _a, _b;
|
|
83013
|
+
if (!highlightLinks.includes((_a = targetNodeSourceLinkDatum.key) !== null && _a !== void 0 ? _a : targetNodeSourceLinkDatum.index)) {
|
|
83014
|
+
highlightLinks.push((_b = targetNodeSourceLinkDatum.key) !== null && _b !== void 0 ? _b : targetNodeSourceLinkDatum.index);
|
|
83015
|
+
if (!highlightNodes.includes(targetNodeSourceLinkDatum.target)) {
|
|
83016
|
+
highlightNodes.push(targetNodeSourceLinkDatum.target);
|
|
83017
|
+
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83018
|
+
return nodeElement.data[0].key === targetNodeSourceLinkDatum.target;
|
|
83019
|
+
});
|
|
83020
|
+
newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83021
|
+
}
|
|
83022
|
+
else {
|
|
83023
|
+
return;
|
|
83024
|
+
}
|
|
83025
|
+
}
|
|
83026
|
+
else {
|
|
83027
|
+
return;
|
|
83028
|
+
}
|
|
83029
|
+
});
|
|
83030
|
+
targetNodeSourceLinks = newTargetNodeSourceLinks;
|
|
83031
|
+
return;
|
|
83032
|
+
}
|
|
83033
|
+
}
|
|
83034
|
+
}
|
|
83035
|
+
else if (linkDatum.target === nodeDatum.key) {
|
|
83036
|
+
if (!highlightLinks.includes((_c = linkDatum.key) !== null && _c !== void 0 ? _c : linkDatum.index)) {
|
|
83037
|
+
highlightLinks.push((_d = linkDatum.key) !== null && _d !== void 0 ? _d : linkDatum.index);
|
|
83038
|
+
}
|
|
83039
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83040
|
+
highlightNodes.push(linkDatum.source);
|
|
83041
|
+
const sourceNode = allNodeElements.find(nodeElement => {
|
|
83042
|
+
return nodeElement.data[0].key === linkDatum.source;
|
|
83043
|
+
});
|
|
83044
|
+
let sourceNodeTargetLinks = sourceNode.data[0].targetLinks;
|
|
83045
|
+
while ((sourceNodeTargetLinks === null || sourceNodeTargetLinks === void 0 ? void 0 : sourceNodeTargetLinks.length) > 0) {
|
|
83046
|
+
const newSourceNodeTargetLinks = [];
|
|
83047
|
+
sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum) => {
|
|
83048
|
+
var _a, _b;
|
|
83049
|
+
if (!highlightLinks.includes((_a = sourceNodeTargetLinkDatum.key) !== null && _a !== void 0 ? _a : sourceNodeTargetLinkDatum.index)) {
|
|
83050
|
+
highlightLinks.push((_b = sourceNodeTargetLinkDatum.key) !== null && _b !== void 0 ? _b : sourceNodeTargetLinkDatum.index);
|
|
83051
|
+
if (!highlightNodes.includes(sourceNodeTargetLinkDatum.source)) {
|
|
83052
|
+
highlightNodes.push(sourceNodeTargetLinkDatum.source);
|
|
83053
|
+
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83054
|
+
return nodeElement.data[0].key === sourceNodeTargetLinkDatum.source;
|
|
83055
|
+
});
|
|
83056
|
+
newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83057
|
+
}
|
|
83058
|
+
else {
|
|
83059
|
+
return;
|
|
83060
|
+
}
|
|
83061
|
+
}
|
|
83062
|
+
else {
|
|
83063
|
+
return;
|
|
83064
|
+
}
|
|
83065
|
+
});
|
|
83066
|
+
sourceNodeTargetLinks = newSourceNodeTargetLinks;
|
|
83067
|
+
return;
|
|
83068
|
+
}
|
|
83069
|
+
}
|
|
83070
|
+
}
|
|
83071
|
+
});
|
|
83072
|
+
if (this._linkMark) {
|
|
83073
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
83074
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
83075
|
+
return;
|
|
83076
|
+
}
|
|
83077
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
83078
|
+
var _a;
|
|
83079
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83080
|
+
if (highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
83081
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83082
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83083
|
+
}
|
|
83084
|
+
else {
|
|
83085
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83086
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83087
|
+
}
|
|
83088
|
+
});
|
|
83089
|
+
}
|
|
83090
|
+
if (this._nodeMark) {
|
|
83091
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83092
|
+
}
|
|
83093
|
+
}
|
|
83094
|
+
else {
|
|
83095
|
+
const highlightNodes = [nodeDatum.key];
|
|
83096
|
+
const upstreamLinks = nodeDatum.targetLinks.reduce((res, link) => {
|
|
83097
|
+
const dividedLinks = array(link.datum);
|
|
83098
|
+
dividedLinks.forEach(dividedLink => {
|
|
83099
|
+
const parents = dividedLink.parents;
|
|
83100
|
+
const len = parents.length;
|
|
83101
|
+
for (let i = 0; i < len; i++) {
|
|
83102
|
+
const source = parents[i].key;
|
|
83103
|
+
const target = parents[i + 1] ? parents[i + 1].key : nodeDatum.key;
|
|
83104
|
+
const value = dividedLink.value;
|
|
83105
|
+
const existingItem = res.find(item => item.source === source && item.target === target);
|
|
83106
|
+
if (existingItem) {
|
|
83107
|
+
existingItem.value += value;
|
|
83108
|
+
}
|
|
83109
|
+
else {
|
|
83110
|
+
res.push({ source, target, value });
|
|
83111
|
+
}
|
|
83112
|
+
}
|
|
83113
|
+
});
|
|
83114
|
+
return res;
|
|
83115
|
+
}, []);
|
|
83116
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
83117
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83118
|
+
const originalDatum = linkDatum.datum;
|
|
83119
|
+
const selectedDatum = originalDatum
|
|
83120
|
+
? originalDatum.filter((entry) => entry[father].some((par) => par.key === nodeDatum.key))
|
|
83121
|
+
: null;
|
|
83122
|
+
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83123
|
+
if (selectedDatum && selectedDatum.length) {
|
|
83124
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83125
|
+
highlightNodes.push(linkDatum.source);
|
|
83126
|
+
}
|
|
83127
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83128
|
+
highlightNodes.push(linkDatum.target);
|
|
83129
|
+
}
|
|
83130
|
+
const val = selectedDatum.reduce((sum, d) => {
|
|
83131
|
+
return (sum += d.value);
|
|
83132
|
+
}, 0);
|
|
83133
|
+
const ratio = val / linkDatum.value;
|
|
83134
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83135
|
+
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83136
|
+
return;
|
|
83137
|
+
}
|
|
83138
|
+
if (upSelectedLink) {
|
|
83139
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83140
|
+
highlightNodes.push(linkDatum.source);
|
|
83141
|
+
}
|
|
83142
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83143
|
+
highlightNodes.push(linkDatum.target);
|
|
83144
|
+
}
|
|
83145
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83146
|
+
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83147
|
+
ratio: upSelectedLink.value / linkDatum.value
|
|
83148
|
+
});
|
|
83149
|
+
return;
|
|
83150
|
+
}
|
|
83151
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83152
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83153
|
+
return;
|
|
83154
|
+
});
|
|
83155
|
+
if (this._nodeMark) {
|
|
83156
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83157
|
+
}
|
|
83158
|
+
}
|
|
83159
|
+
this._needClear = true;
|
|
83160
|
+
};
|
|
83161
|
+
this._handleLinkRelatedClick = (graphic) => {
|
|
83162
|
+
const allNodeElements = this._nodeMark.getGraphics();
|
|
83163
|
+
if (!allNodeElements || !allNodeElements.length) {
|
|
83164
|
+
return;
|
|
83165
|
+
}
|
|
83166
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
83167
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
83168
|
+
return;
|
|
83169
|
+
}
|
|
83170
|
+
const father = getDatumOfGraphic(graphic) ? 'parents' : 'source';
|
|
83171
|
+
if (father === 'source') {
|
|
83172
|
+
if (this._linkMark) {
|
|
83173
|
+
allLinkElements.forEach(linkEl => {
|
|
83174
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83175
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83176
|
+
});
|
|
83177
|
+
}
|
|
83178
|
+
if (this._nodeMark) {
|
|
83179
|
+
allNodeElements.forEach(el => {
|
|
83180
|
+
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83181
|
+
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83182
|
+
});
|
|
83183
|
+
}
|
|
83184
|
+
}
|
|
83185
|
+
else {
|
|
83186
|
+
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
83187
|
+
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
83188
|
+
const upstreamLinks = [];
|
|
83189
|
+
const dividedLinks = array(curLinkDatum.datum);
|
|
83190
|
+
dividedLinks.forEach(dividedLink => {
|
|
83191
|
+
const parents = dividedLink.parents;
|
|
83192
|
+
const len = parents.length;
|
|
83193
|
+
for (let i = 0; i < len - 1; i++) {
|
|
83194
|
+
const source = parents[i].key;
|
|
83195
|
+
const target = parents[i + 1].key;
|
|
83196
|
+
const value = dividedLink.value;
|
|
83197
|
+
const existingItem = upstreamLinks.find(item => item.source === source && item.target === target);
|
|
83198
|
+
upstreamLinks.push({
|
|
83199
|
+
source: parents[i].key,
|
|
83200
|
+
target: parents[i + 1].key,
|
|
83201
|
+
value: dividedLink.value
|
|
83202
|
+
});
|
|
83203
|
+
if (existingItem) {
|
|
83204
|
+
existingItem.value += value;
|
|
83205
|
+
}
|
|
83206
|
+
else {
|
|
83207
|
+
upstreamLinks.push({ source, target, value });
|
|
83208
|
+
}
|
|
83209
|
+
}
|
|
83210
|
+
});
|
|
83211
|
+
allLinkElements.forEach(linkEl => {
|
|
83212
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83213
|
+
const originalDatum = linkDatum.datum;
|
|
83214
|
+
if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) {
|
|
83215
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83216
|
+
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
83217
|
+
return;
|
|
83218
|
+
}
|
|
83219
|
+
const selectedDatum = originalDatum
|
|
83220
|
+
? originalDatum.filter((entry) => {
|
|
83221
|
+
const parentKeysList = entry.parents.map((item) => item.key);
|
|
83222
|
+
return parentKeysList.includes(curLinkDatum.source) && parentKeysList.includes(curLinkDatum.target);
|
|
83223
|
+
})
|
|
83224
|
+
: null;
|
|
83225
|
+
if (selectedDatum && selectedDatum.length) {
|
|
83226
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83227
|
+
highlightNodes.push(linkDatum.source);
|
|
83228
|
+
}
|
|
83229
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83230
|
+
highlightNodes.push(linkDatum.target);
|
|
83231
|
+
}
|
|
83232
|
+
const val = selectedDatum
|
|
83233
|
+
.filter((entry) => {
|
|
83234
|
+
return entry.parents.some((par, index) => {
|
|
83235
|
+
var _a;
|
|
83236
|
+
return par.key === curLinkDatum.source && ((_a = entry.parents[index + 1]) === null || _a === void 0 ? void 0 : _a.key) === curLinkDatum.target;
|
|
83237
|
+
});
|
|
83238
|
+
})
|
|
83239
|
+
.reduce((sum, d) => {
|
|
83240
|
+
return (sum += d.value);
|
|
83241
|
+
}, 0);
|
|
83242
|
+
const ratio = val / linkDatum.value;
|
|
83243
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83244
|
+
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83245
|
+
return;
|
|
83246
|
+
}
|
|
83247
|
+
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83248
|
+
if (upSelectedLink) {
|
|
83249
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83250
|
+
highlightNodes.push(linkDatum.source);
|
|
83251
|
+
}
|
|
83252
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83253
|
+
highlightNodes.push(linkDatum.target);
|
|
83254
|
+
}
|
|
83255
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83256
|
+
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83257
|
+
ratio: upSelectedLink.value / linkDatum.value
|
|
83258
|
+
});
|
|
83259
|
+
return;
|
|
83260
|
+
}
|
|
83261
|
+
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83262
|
+
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83263
|
+
return;
|
|
83264
|
+
});
|
|
83265
|
+
this._highLightElements(allNodeElements, highlightNodes);
|
|
83266
|
+
}
|
|
83267
|
+
this._needClear = true;
|
|
83268
|
+
};
|
|
82933
83269
|
}
|
|
82934
83270
|
get direction() {
|
|
82935
83271
|
var _a;
|
|
@@ -83219,380 +83555,6 @@ class SankeySeries extends CartesianSeries {
|
|
|
83219
83555
|
linksSeriesDataUpdate() {
|
|
83220
83556
|
this._linkMark.getData().updateData();
|
|
83221
83557
|
}
|
|
83222
|
-
_handleClearEmpty() {
|
|
83223
|
-
var _a, _b;
|
|
83224
|
-
if (!this._needClear) {
|
|
83225
|
-
return;
|
|
83226
|
-
}
|
|
83227
|
-
const allNodeElements = (_a = this._nodeMark) === null || _a === void 0 ? void 0 : _a.getGraphics();
|
|
83228
|
-
if (!allNodeElements || !allNodeElements.length) {
|
|
83229
|
-
return;
|
|
83230
|
-
}
|
|
83231
|
-
const allLinkElements = (_b = this._linkMark) === null || _b === void 0 ? void 0 : _b.getGraphics();
|
|
83232
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83233
|
-
return;
|
|
83234
|
-
}
|
|
83235
|
-
allNodeElements.forEach(el => {
|
|
83236
|
-
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83237
|
-
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83238
|
-
});
|
|
83239
|
-
allLinkElements.forEach(el => {
|
|
83240
|
-
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83241
|
-
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83242
|
-
});
|
|
83243
|
-
this._needClear = false;
|
|
83244
|
-
}
|
|
83245
|
-
_handleNodeAdjacencyClick(graphic) {
|
|
83246
|
-
const nodeDatum = getDatumOfGraphic(graphic);
|
|
83247
|
-
const highlightNodes = [nodeDatum.key];
|
|
83248
|
-
if (this._linkMark) {
|
|
83249
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83250
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83251
|
-
return;
|
|
83252
|
-
}
|
|
83253
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83254
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83255
|
-
if (linkDatum.source === nodeDatum.key) {
|
|
83256
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83257
|
-
highlightNodes.push(linkDatum.target);
|
|
83258
|
-
}
|
|
83259
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83260
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83261
|
-
}
|
|
83262
|
-
else if (linkDatum.target === nodeDatum.key) {
|
|
83263
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83264
|
-
highlightNodes.push(linkDatum.source);
|
|
83265
|
-
}
|
|
83266
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83267
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83268
|
-
}
|
|
83269
|
-
else {
|
|
83270
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83271
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83272
|
-
}
|
|
83273
|
-
});
|
|
83274
|
-
}
|
|
83275
|
-
if (this._nodeMark) {
|
|
83276
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83277
|
-
}
|
|
83278
|
-
this._needClear = true;
|
|
83279
|
-
}
|
|
83280
|
-
_handleLinkAdjacencyClick(graphic) {
|
|
83281
|
-
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
83282
|
-
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
83283
|
-
if (this._linkMark) {
|
|
83284
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83285
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83286
|
-
return;
|
|
83287
|
-
}
|
|
83288
|
-
allLinkElements.forEach(linkEl => {
|
|
83289
|
-
if (linkEl === graphic) {
|
|
83290
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83291
|
-
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
83292
|
-
}
|
|
83293
|
-
else {
|
|
83294
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83295
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83296
|
-
}
|
|
83297
|
-
});
|
|
83298
|
-
}
|
|
83299
|
-
if (this._nodeMark) {
|
|
83300
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83301
|
-
}
|
|
83302
|
-
this._needClear = true;
|
|
83303
|
-
}
|
|
83304
|
-
_handleNodeRelatedClick(graphic) {
|
|
83305
|
-
var _a;
|
|
83306
|
-
const nodeDatum = getDatumOfGraphic(graphic);
|
|
83307
|
-
const allNodeElements = this._nodeMark.getGraphics();
|
|
83308
|
-
if (!allNodeElements || !allNodeElements.length) {
|
|
83309
|
-
return;
|
|
83310
|
-
}
|
|
83311
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83312
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83313
|
-
return;
|
|
83314
|
-
}
|
|
83315
|
-
const father = ((_a = getDatumOfGraphic(allLinkElements[0])) === null || _a === void 0 ? void 0 : _a.parents) ? 'parents' : 'source';
|
|
83316
|
-
if (father === 'source') {
|
|
83317
|
-
const highlightNodes = [nodeDatum.key];
|
|
83318
|
-
const highlightLinks = [];
|
|
83319
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83320
|
-
var _a, _b, _c, _d;
|
|
83321
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83322
|
-
const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
|
|
83323
|
-
if (array(linkDatum[father]).includes(nodeDatum.key)) {
|
|
83324
|
-
if (!highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
83325
|
-
highlightLinks.push((_b = linkDatum.key) !== null && _b !== void 0 ? _b : linkDatum.index);
|
|
83326
|
-
}
|
|
83327
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83328
|
-
highlightNodes.push(linkDatum.source);
|
|
83329
|
-
}
|
|
83330
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83331
|
-
highlightNodes.push(linkDatum.target);
|
|
83332
|
-
const targetNode = allNodeElements.find(nodeElement => {
|
|
83333
|
-
return nodeElement.data[0].key === linkDatum.target;
|
|
83334
|
-
});
|
|
83335
|
-
let targetNodeSourceLinks = targetNode.data[0].sourceLinks;
|
|
83336
|
-
while ((targetNodeSourceLinks === null || targetNodeSourceLinks === void 0 ? void 0 : targetNodeSourceLinks.length) > 0) {
|
|
83337
|
-
const newTargetNodeSourceLinks = [];
|
|
83338
|
-
targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum) => {
|
|
83339
|
-
var _a, _b;
|
|
83340
|
-
if (!highlightLinks.includes((_a = targetNodeSourceLinkDatum.key) !== null && _a !== void 0 ? _a : targetNodeSourceLinkDatum.index)) {
|
|
83341
|
-
highlightLinks.push((_b = targetNodeSourceLinkDatum.key) !== null && _b !== void 0 ? _b : targetNodeSourceLinkDatum.index);
|
|
83342
|
-
if (!highlightNodes.includes(targetNodeSourceLinkDatum.target)) {
|
|
83343
|
-
highlightNodes.push(targetNodeSourceLinkDatum.target);
|
|
83344
|
-
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83345
|
-
return nodeElement.data[0].key === targetNodeSourceLinkDatum.target;
|
|
83346
|
-
});
|
|
83347
|
-
newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83348
|
-
}
|
|
83349
|
-
else {
|
|
83350
|
-
return;
|
|
83351
|
-
}
|
|
83352
|
-
}
|
|
83353
|
-
else {
|
|
83354
|
-
return;
|
|
83355
|
-
}
|
|
83356
|
-
});
|
|
83357
|
-
targetNodeSourceLinks = newTargetNodeSourceLinks;
|
|
83358
|
-
return;
|
|
83359
|
-
}
|
|
83360
|
-
}
|
|
83361
|
-
}
|
|
83362
|
-
else if (linkDatum.target === nodeDatum.key) {
|
|
83363
|
-
if (!highlightLinks.includes((_c = linkDatum.key) !== null && _c !== void 0 ? _c : linkDatum.index)) {
|
|
83364
|
-
highlightLinks.push((_d = linkDatum.key) !== null && _d !== void 0 ? _d : linkDatum.index);
|
|
83365
|
-
}
|
|
83366
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83367
|
-
highlightNodes.push(linkDatum.source);
|
|
83368
|
-
const sourceNode = allNodeElements.find(nodeElement => {
|
|
83369
|
-
return nodeElement.data[0].key === linkDatum.source;
|
|
83370
|
-
});
|
|
83371
|
-
let sourceNodeTargetLinks = sourceNode.data[0].targetLinks;
|
|
83372
|
-
while ((sourceNodeTargetLinks === null || sourceNodeTargetLinks === void 0 ? void 0 : sourceNodeTargetLinks.length) > 0) {
|
|
83373
|
-
const newSourceNodeTargetLinks = [];
|
|
83374
|
-
sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum) => {
|
|
83375
|
-
var _a, _b;
|
|
83376
|
-
if (!highlightLinks.includes((_a = sourceNodeTargetLinkDatum.key) !== null && _a !== void 0 ? _a : sourceNodeTargetLinkDatum.index)) {
|
|
83377
|
-
highlightLinks.push((_b = sourceNodeTargetLinkDatum.key) !== null && _b !== void 0 ? _b : sourceNodeTargetLinkDatum.index);
|
|
83378
|
-
if (!highlightNodes.includes(sourceNodeTargetLinkDatum.source)) {
|
|
83379
|
-
highlightNodes.push(sourceNodeTargetLinkDatum.source);
|
|
83380
|
-
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83381
|
-
return nodeElement.data[0].key === sourceNodeTargetLinkDatum.source;
|
|
83382
|
-
});
|
|
83383
|
-
newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83384
|
-
}
|
|
83385
|
-
else {
|
|
83386
|
-
return;
|
|
83387
|
-
}
|
|
83388
|
-
}
|
|
83389
|
-
else {
|
|
83390
|
-
return;
|
|
83391
|
-
}
|
|
83392
|
-
});
|
|
83393
|
-
sourceNodeTargetLinks = newSourceNodeTargetLinks;
|
|
83394
|
-
return;
|
|
83395
|
-
}
|
|
83396
|
-
}
|
|
83397
|
-
}
|
|
83398
|
-
});
|
|
83399
|
-
if (this._linkMark) {
|
|
83400
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83401
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83402
|
-
return;
|
|
83403
|
-
}
|
|
83404
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83405
|
-
var _a;
|
|
83406
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83407
|
-
if (highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
83408
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83409
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83410
|
-
}
|
|
83411
|
-
else {
|
|
83412
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83413
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83414
|
-
}
|
|
83415
|
-
});
|
|
83416
|
-
}
|
|
83417
|
-
if (this._nodeMark) {
|
|
83418
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83419
|
-
}
|
|
83420
|
-
}
|
|
83421
|
-
else {
|
|
83422
|
-
const highlightNodes = [nodeDatum.key];
|
|
83423
|
-
const upstreamLinks = nodeDatum.targetLinks.reduce((res, link) => {
|
|
83424
|
-
const dividedLinks = array(link.datum);
|
|
83425
|
-
dividedLinks.forEach(dividedLink => {
|
|
83426
|
-
const parents = dividedLink.parents;
|
|
83427
|
-
const len = parents.length;
|
|
83428
|
-
for (let i = 0; i < len; i++) {
|
|
83429
|
-
const source = parents[i].key;
|
|
83430
|
-
const target = parents[i + 1] ? parents[i + 1].key : nodeDatum.key;
|
|
83431
|
-
const value = dividedLink.value;
|
|
83432
|
-
const existingItem = res.find(item => item.source === source && item.target === target);
|
|
83433
|
-
if (existingItem) {
|
|
83434
|
-
existingItem.value += value;
|
|
83435
|
-
}
|
|
83436
|
-
else {
|
|
83437
|
-
res.push({ source, target, value });
|
|
83438
|
-
}
|
|
83439
|
-
}
|
|
83440
|
-
});
|
|
83441
|
-
return res;
|
|
83442
|
-
}, []);
|
|
83443
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83444
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83445
|
-
const originalDatum = linkDatum.datum;
|
|
83446
|
-
const selectedDatum = originalDatum
|
|
83447
|
-
? originalDatum.filter((entry) => entry[father].some((par) => par.key === nodeDatum.key))
|
|
83448
|
-
: null;
|
|
83449
|
-
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83450
|
-
if (selectedDatum && selectedDatum.length) {
|
|
83451
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83452
|
-
highlightNodes.push(linkDatum.source);
|
|
83453
|
-
}
|
|
83454
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83455
|
-
highlightNodes.push(linkDatum.target);
|
|
83456
|
-
}
|
|
83457
|
-
const val = selectedDatum.reduce((sum, d) => {
|
|
83458
|
-
return (sum += d.value);
|
|
83459
|
-
}, 0);
|
|
83460
|
-
const ratio = val / linkDatum.value;
|
|
83461
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83462
|
-
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83463
|
-
return;
|
|
83464
|
-
}
|
|
83465
|
-
if (upSelectedLink) {
|
|
83466
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83467
|
-
highlightNodes.push(linkDatum.source);
|
|
83468
|
-
}
|
|
83469
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83470
|
-
highlightNodes.push(linkDatum.target);
|
|
83471
|
-
}
|
|
83472
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83473
|
-
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83474
|
-
ratio: upSelectedLink.value / linkDatum.value
|
|
83475
|
-
});
|
|
83476
|
-
return;
|
|
83477
|
-
}
|
|
83478
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83479
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83480
|
-
return;
|
|
83481
|
-
});
|
|
83482
|
-
if (this._nodeMark) {
|
|
83483
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83484
|
-
}
|
|
83485
|
-
}
|
|
83486
|
-
this._needClear = true;
|
|
83487
|
-
}
|
|
83488
|
-
_handleLinkRelatedClick(graphic) {
|
|
83489
|
-
const allNodeElements = this._nodeMark.getGraphics();
|
|
83490
|
-
if (!allNodeElements || !allNodeElements.length) {
|
|
83491
|
-
return;
|
|
83492
|
-
}
|
|
83493
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83494
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83495
|
-
return;
|
|
83496
|
-
}
|
|
83497
|
-
const father = getDatumOfGraphic(graphic) ? 'parents' : 'source';
|
|
83498
|
-
if (father === 'source') {
|
|
83499
|
-
if (this._linkMark) {
|
|
83500
|
-
allLinkElements.forEach(linkEl => {
|
|
83501
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83502
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83503
|
-
});
|
|
83504
|
-
}
|
|
83505
|
-
if (this._nodeMark) {
|
|
83506
|
-
allNodeElements.forEach(el => {
|
|
83507
|
-
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83508
|
-
el.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83509
|
-
});
|
|
83510
|
-
}
|
|
83511
|
-
}
|
|
83512
|
-
else {
|
|
83513
|
-
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
83514
|
-
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
83515
|
-
const upstreamLinks = [];
|
|
83516
|
-
const dividedLinks = array(curLinkDatum.datum);
|
|
83517
|
-
dividedLinks.forEach(dividedLink => {
|
|
83518
|
-
const parents = dividedLink.parents;
|
|
83519
|
-
const len = parents.length;
|
|
83520
|
-
for (let i = 0; i < len - 1; i++) {
|
|
83521
|
-
const source = parents[i].key;
|
|
83522
|
-
const target = parents[i + 1].key;
|
|
83523
|
-
const value = dividedLink.value;
|
|
83524
|
-
const existingItem = upstreamLinks.find(item => item.source === source && item.target === target);
|
|
83525
|
-
upstreamLinks.push({
|
|
83526
|
-
source: parents[i].key,
|
|
83527
|
-
target: parents[i + 1].key,
|
|
83528
|
-
value: dividedLink.value
|
|
83529
|
-
});
|
|
83530
|
-
if (existingItem) {
|
|
83531
|
-
existingItem.value += value;
|
|
83532
|
-
}
|
|
83533
|
-
else {
|
|
83534
|
-
upstreamLinks.push({ source, target, value });
|
|
83535
|
-
}
|
|
83536
|
-
}
|
|
83537
|
-
});
|
|
83538
|
-
allLinkElements.forEach(linkEl => {
|
|
83539
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83540
|
-
const originalDatum = linkDatum.datum;
|
|
83541
|
-
if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) {
|
|
83542
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83543
|
-
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
83544
|
-
return;
|
|
83545
|
-
}
|
|
83546
|
-
const selectedDatum = originalDatum
|
|
83547
|
-
? originalDatum.filter((entry) => {
|
|
83548
|
-
const parentKeysList = entry.parents.map((item) => item.key);
|
|
83549
|
-
return parentKeysList.includes(curLinkDatum.source) && parentKeysList.includes(curLinkDatum.target);
|
|
83550
|
-
})
|
|
83551
|
-
: null;
|
|
83552
|
-
if (selectedDatum && selectedDatum.length) {
|
|
83553
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83554
|
-
highlightNodes.push(linkDatum.source);
|
|
83555
|
-
}
|
|
83556
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83557
|
-
highlightNodes.push(linkDatum.target);
|
|
83558
|
-
}
|
|
83559
|
-
const val = selectedDatum
|
|
83560
|
-
.filter((entry) => {
|
|
83561
|
-
return entry.parents.some((par, index) => {
|
|
83562
|
-
var _a;
|
|
83563
|
-
return par.key === curLinkDatum.source && ((_a = entry.parents[index + 1]) === null || _a === void 0 ? void 0 : _a.key) === curLinkDatum.target;
|
|
83564
|
-
});
|
|
83565
|
-
})
|
|
83566
|
-
.reduce((sum, d) => {
|
|
83567
|
-
return (sum += d.value);
|
|
83568
|
-
}, 0);
|
|
83569
|
-
const ratio = val / linkDatum.value;
|
|
83570
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83571
|
-
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83572
|
-
return;
|
|
83573
|
-
}
|
|
83574
|
-
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83575
|
-
if (upSelectedLink) {
|
|
83576
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83577
|
-
highlightNodes.push(linkDatum.source);
|
|
83578
|
-
}
|
|
83579
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83580
|
-
highlightNodes.push(linkDatum.target);
|
|
83581
|
-
}
|
|
83582
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83583
|
-
addRuntimeState(linkEl, STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83584
|
-
ratio: upSelectedLink.value / linkDatum.value
|
|
83585
|
-
});
|
|
83586
|
-
return;
|
|
83587
|
-
}
|
|
83588
|
-
linkEl.removeState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83589
|
-
linkEl.addState(STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83590
|
-
return;
|
|
83591
|
-
});
|
|
83592
|
-
this._highLightElements(allNodeElements, highlightNodes);
|
|
83593
|
-
}
|
|
83594
|
-
this._needClear = true;
|
|
83595
|
-
}
|
|
83596
83558
|
_highLightElements(graphics, highlightNodes) {
|
|
83597
83559
|
if (!graphics || !graphics.length) {
|
|
83598
83560
|
return;
|
|
@@ -100270,4 +100232,4 @@ function registerSequentialAnimate() {
|
|
|
100270
100232
|
mixin(BaseMark, SequentialAnimate);
|
|
100271
100233
|
}
|
|
100272
100234
|
|
|
100273
|
-
export { ArcMark, AreaChart, AreaMark, AreaSeries, AttributeLevel, AxisSyncPlugin, BandAxisMixin, BarChart, BarChartSpecTransformer, BarSeries, BarSeriesSpecTransformer, BaseArcMark, BaseChart, BaseChartSpecTransformer, BaseComponent, BaseComponentSpecTransformer, BaseHistogramChart, BaseMark, BasePieChart, BasePieChartSpecTransformer, BasePieSeries, BasePlugin, BasePolygonMark, BaseSeries, BaseSeriesSpecTransformer, BaseSeriesTooltipHelper, BaseWordCloudChart, BaseWordCloudChartSpecTransformer, BaseWordCloudSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, ChartEvent, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, CompilableData, ComponentMark, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_ANIMATION_CONFIG, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CLOSE_STROKE_JOIN, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_KEY, DEFAULT_LAYOUT_RECT_LEVEL, DEFAULT_LAYOUT_RECT_LEVEL_MIN, DEFAULT_LINEAR_INTERPOLATE, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DEFAULT_SMOOTH_INTERPOLATE, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, Direction, DiscreteLegend, DomTooltipHandler, DotSeries, ElementHighlight, ElementSelect, Event$1 as Event, Factory, FormatterPlugin, FunnelChart, FunnelChartSpecTransformer, FunnelSeries, FunnelSeriesSpecTransformer, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GeoSeries, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, HistogramChart, HistogramChartSpecTransformer, ImageMark, Indicator, Label, Layout$1 as Layout, LayoutLevel, LayoutZIndex, LineChart, LineMark, LineSeries, LinearAxisMixin, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, ManualTicker, MapChart, MapSeries, MarkTypeEnum, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PieChart, PieSeries, PieSeriesSpecTransformer, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, PositionEnum, ProgressLikeSeries, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumnChart, RangeColumnSeries, RangeColumnSeriesSpecTransformer, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, STATE_VALUE_ENUM, SankeyChart,
|
|
100235
|
+
export { ArcMark, AreaChart, AreaMark, AreaSeries, AttributeLevel, AxisSyncPlugin, BandAxisMixin, BarChart, BarChartSpecTransformer, BarSeries, BarSeriesSpecTransformer, BaseArcMark, BaseChart, BaseChartSpecTransformer, BaseComponent, BaseComponentSpecTransformer, BaseHistogramChart, BaseMark, BasePieChart, BasePieChartSpecTransformer, BasePieSeries, BasePlugin, BasePolygonMark, BaseSeries, BaseSeriesSpecTransformer, BaseSeriesTooltipHelper, BaseWordCloudChart, BaseWordCloudChartSpecTransformer, BaseWordCloudSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, ChartEvent, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, CompilableData, ComponentMark, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_ANIMATION_CONFIG, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CLOSE_STROKE_JOIN, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_KEY, DEFAULT_LAYOUT_RECT_LEVEL, DEFAULT_LAYOUT_RECT_LEVEL_MIN, DEFAULT_LINEAR_INTERPOLATE, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DEFAULT_SMOOTH_INTERPOLATE, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, Direction, DiscreteLegend, DomTooltipHandler, DotSeries, ElementHighlight, ElementSelect, Event$1 as Event, Factory, FormatterPlugin, FunnelChart, FunnelChartSpecTransformer, FunnelSeries, FunnelSeriesSpecTransformer, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GeoSeries, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, HistogramChart, HistogramChartSpecTransformer, ImageMark, Indicator, Label, Layout$1 as Layout, LayoutLevel, LayoutZIndex, LineChart, LineMark, LineSeries, LinearAxisMixin, LinearProgressChart, LinearProgressSeries, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, ManualTicker, MapChart, MapSeries, MarkTypeEnum, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PieChart, PieSeries, PieSeriesSpecTransformer, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, PositionEnum, ProgressLikeSeries, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumnChart, RangeColumnSeries, RangeColumnSeriesSpecTransformer, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, STATE_VALUE_ENUM, SankeyChart, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, StreamLight, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TransformLevel, TreemapChart, TreemapSeries, USER_LAYOUT_RECT_LEVEL, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloudChart, WordCloudSeries, alternatingWave, animationConfig, barGrowIn, barGrowOut, barPresetAnimation, baseSeriesMark, boundsInRect, builtinThemes, calcLayoutNumber, calcPadding, centerToCorner, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeActualDataScheme, convertPoint, cornerToCenter, createArc, createArea, createGroup, createLine, createRect, createRichText, createSymbol, createText, darkTheme, dataScheme, VChart as default, defaultThemeName, diagonalCenterToEdge, diagonalTopLeftToBottomRight, findMarkGraphic, functionTransform, getActualColor, getActualNumValue, getCartesianCrosshairRect, getCartesianDimensionInfo, getColorSchemeBySeries, getCombinedSizeOfRegions, getDataScheme, getDatumOfGraphic, getDiffAttributesOfGraphic, getDimensionInfoByValue, getFieldAlias, getFunnelTheme, getMergedTheme, getPolarDimensionInfo, getRegionStackGroup, getSpecInfo, getTheme, hasThemeMerged, isCollectionMark, isColorKey, isPercent, isPercentOffset, isProgressiveDataColorScheme, isTokenKey, isValidOrient, isXAxis, isYAxis, isZAxis, lightTheme, lookup, measureText, mergeFields, normalizeLayoutPaddingSpec, particleEffect, pieDisappear, pieEnter, pieExit, piePresetAnimation, pulseWave, queryColorFromColorScheme, queryToken, randomOpacity, registerAllEnv, registerAllMarks, registerAnimate, registerArcAnimation, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomAnimate, registerCustomMark, registerDataSetInstanceParser, registerDataSetInstanceTransform, registerDataZoom, registerDimensionEvents, registerDimensionHover, registerDimensionTooltipProcessor, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerElementActive, registerElementActiveByLegend, registerElementHighlight, registerElementHighlightByGroup, registerElementHighlightByKey, registerElementHighlightByLegend, registerElementHighlightByName, registerElementSelect, registerFormatPlugin, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerGroupTooltipProcessor, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapSeries, registerMarkArea, registerMarkFilterTransform, registerMarkLine, registerMarkMapTransform, registerMarkPoint, registerMarkTooltipProcessor, registerMediaQuery, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonAnimation, registerPolygonMark, registerPoptip, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRectAnimation, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSequentialAnimate, registerStateTransition, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerAnimate$1 as registerVRenderAnimate, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, rippleEffect, rotationScan, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, shouldMarkDoMorph, snakeWave, sortStackValueGroup, specTransform, spiralEffect, stack, stackGroup, stackMosaic, stackMosaicTotal, stackOffsetSilhouette, stackTotal, themeExist, themes, token, transformColorSchemeToStandardStruct, transformToGraphic, userAnimationConfig, version, vglobal, warn };
|