@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.js
CHANGED
|
@@ -16377,10 +16377,14 @@
|
|
|
16377
16377
|
attrs && (Object.assign(stateAttrs, attrs.attributes), (null === (_a = attrs.subAttributes) || void 0 === _a ? void 0 : _a.length) && subAttrs.forEach((subAttrs, index) => {
|
|
16378
16378
|
Object.assign(subAttrs, attrs.subAttributes[index]);
|
|
16379
16379
|
}));
|
|
16380
|
+
}), this.subGraphic.forEach((graphic, index) => {
|
|
16381
|
+
graphic.updateNormalAttrs(subAttrs[index]), graphic.applyStateAttrs(subAttrs[index], states, hasAnimation);
|
|
16380
16382
|
}), this.updateNormalAttrs(stateAttrs), this.currentStates = states, this.applyStateAttrs(stateAttrs, states, hasAnimation);
|
|
16381
16383
|
}
|
|
16382
16384
|
clearStates(hasAnimation) {
|
|
16383
|
-
this.stopStateAnimates(), this.hasState() && this.normalAttrs ? (this.currentStates = [], this.
|
|
16385
|
+
this.stopStateAnimates(), this.hasState() && this.normalAttrs ? (this.currentStates = [], this.subGraphic.forEach(graphic => {
|
|
16386
|
+
graphic.applyStateAttrs(graphic.normalAttrs, this.currentStates, hasAnimation, !0), graphic.normalAttrs = null;
|
|
16387
|
+
}), this.applyStateAttrs(this.normalAttrs, this.currentStates, hasAnimation, !0)) : this.currentStates = [], this.normalAttrs = null;
|
|
16384
16388
|
}
|
|
16385
16389
|
clone() {
|
|
16386
16390
|
const glyph = new Glyph(Object.assign({}, this.attribute));
|
|
@@ -33696,7 +33700,7 @@
|
|
|
33696
33700
|
}
|
|
33697
33701
|
class GrowAngleIn extends GrowAngleBase {
|
|
33698
33702
|
onBind() {
|
|
33699
|
-
var _a, _b
|
|
33703
|
+
var _a, _b;
|
|
33700
33704
|
super.onBind();
|
|
33701
33705
|
const {
|
|
33702
33706
|
from: from,
|
|
@@ -33705,7 +33709,7 @@
|
|
|
33705
33709
|
fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
|
|
33706
33710
|
this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
|
|
33707
33711
|
const finalAttribute = this.target.getFinalAttribute();
|
|
33708
|
-
finalAttribute && this.target.setAttributes(finalAttribute),
|
|
33712
|
+
finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs), this.determineUpdateFunction();
|
|
33709
33713
|
}
|
|
33710
33714
|
}
|
|
33711
33715
|
class GrowAngleOut extends GrowAngleBase {
|
|
@@ -34313,7 +34317,7 @@
|
|
|
34313
34317
|
}
|
|
34314
34318
|
class GrowRadiusIn extends GrowPointsBase {
|
|
34315
34319
|
onBind() {
|
|
34316
|
-
var _a, _b
|
|
34320
|
+
var _a, _b;
|
|
34317
34321
|
super.onBind();
|
|
34318
34322
|
const {
|
|
34319
34323
|
from: from,
|
|
@@ -34322,7 +34326,7 @@
|
|
|
34322
34326
|
fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
|
|
34323
34327
|
this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
|
|
34324
34328
|
const finalAttribute = this.target.getFinalAttribute();
|
|
34325
|
-
finalAttribute && this.target.setAttributes(finalAttribute),
|
|
34329
|
+
finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs);
|
|
34326
34330
|
}
|
|
34327
34331
|
}
|
|
34328
34332
|
class GrowRadiusOut extends GrowPointsBase {
|
|
@@ -34437,7 +34441,7 @@
|
|
|
34437
34441
|
super(from, to, duration, easing, params);
|
|
34438
34442
|
}
|
|
34439
34443
|
onBind() {
|
|
34440
|
-
var _a, _b
|
|
34444
|
+
var _a, _b;
|
|
34441
34445
|
super.onBind();
|
|
34442
34446
|
const {
|
|
34443
34447
|
from: from,
|
|
@@ -34446,7 +34450,7 @@
|
|
|
34446
34450
|
fromAttrs = null !== (_b = null === (_a = this.target.context) || void 0 === _a ? void 0 : _a.lastAttrs) && void 0 !== _b ? _b : from;
|
|
34447
34451
|
this.props = to, this.propKeys = Object.keys(to).filter(key => null != to[key]), this.from = fromAttrs, this.to = to;
|
|
34448
34452
|
const finalAttribute = this.target.getFinalAttribute();
|
|
34449
|
-
finalAttribute && this.target.setAttributes(finalAttribute),
|
|
34453
|
+
finalAttribute && this.target.setAttributes(finalAttribute), this.target.setAttributes(fromAttrs);
|
|
34450
34454
|
}
|
|
34451
34455
|
onEnd(cb) {
|
|
34452
34456
|
super.onEnd(cb);
|
|
@@ -37344,9 +37348,7 @@
|
|
|
37344
37348
|
space = bandSpace(n, this._paddingInner, this._paddingOuter);
|
|
37345
37349
|
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 = {
|
|
37346
37350
|
reverse: reverse,
|
|
37347
|
-
start: reverse ?
|
|
37348
|
-
min: reverse ? wholeRange[1] : wholeRange[0],
|
|
37349
|
-
max: stop,
|
|
37351
|
+
start: reverse ? start + this._step * (n - 1) : start,
|
|
37350
37352
|
count: n
|
|
37351
37353
|
}, this.generateFishEyeTransform(), this;
|
|
37352
37354
|
}
|
|
@@ -37363,12 +37365,10 @@
|
|
|
37363
37365
|
const {
|
|
37364
37366
|
count: count,
|
|
37365
37367
|
start: start,
|
|
37366
|
-
reverse: reverse
|
|
37367
|
-
min: min,
|
|
37368
|
-
max: max
|
|
37368
|
+
reverse: reverse
|
|
37369
37369
|
} = this._bandRangeState,
|
|
37370
37370
|
output = start + (reverse ? -1 : 1) * ((i - 1) % count) * this._step;
|
|
37371
|
-
return
|
|
37371
|
+
return this._fishEyeTransform ? this._fishEyeTransform(output) : output;
|
|
37372
37372
|
}
|
|
37373
37373
|
_calculateWholeRange(range, changeProperty) {
|
|
37374
37374
|
if (this._wholeRange) return this._wholeRange;
|
|
@@ -54033,11 +54033,11 @@
|
|
|
54033
54033
|
item.animation.customParameters = g.context;
|
|
54034
54034
|
});
|
|
54035
54035
|
const stateArray = [state];
|
|
54036
|
-
if (state === 'enter' && animationConfig.normal) {
|
|
54037
|
-
shouldRunNormal = true;
|
|
54038
|
-
}
|
|
54039
54036
|
g.applyAnimationState(stateArray, [configList.length === 1 ? configList[0] : configList]);
|
|
54040
54037
|
}
|
|
54038
|
+
if (state === 'enter' && animationConfig.normal) {
|
|
54039
|
+
shouldRunNormal = true;
|
|
54040
|
+
}
|
|
54041
54041
|
});
|
|
54042
54042
|
if (shouldRunNormal && this._product && ((_b = animationConfig.normal) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
54043
54043
|
this._product.stopAnimationState('normal', 'start');
|
|
@@ -56932,7 +56932,7 @@
|
|
|
56932
56932
|
});
|
|
56933
56933
|
};
|
|
56934
56934
|
|
|
56935
|
-
const version = "2.0.3
|
|
56935
|
+
const version = "2.0.3";
|
|
56936
56936
|
|
|
56937
56937
|
const addVChartProperty = (data, op) => {
|
|
56938
56938
|
const context = op.beforeCall();
|
|
@@ -76948,72 +76948,6 @@
|
|
|
76948
76948
|
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);
|
|
76949
76949
|
}), sum;
|
|
76950
76950
|
};
|
|
76951
|
-
function makeHierarchicNodes(originalNodes, nodeKeyFunc, nodes = [], nodeMap = {}, originalLinks) {
|
|
76952
|
-
calculateNodeValue(originalNodes);
|
|
76953
|
-
const doSubTree = (subTree, depth, parents) => {
|
|
76954
|
-
subTree.forEach((node, index) => {
|
|
76955
|
-
const nodeKey = nodeKeyFunc ? nodeKeyFunc(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`,
|
|
76956
|
-
nodeValue = isNil$1(node.value) ? 0 : toValidNumber$1(node.value);
|
|
76957
|
-
if (nodeMap[nodeKey]) nodeMap[nodeKey].value = void 0;else {
|
|
76958
|
-
const nodeElement = {
|
|
76959
|
-
depth: depth,
|
|
76960
|
-
datum: node,
|
|
76961
|
-
index: index,
|
|
76962
|
-
key: nodeKey,
|
|
76963
|
-
value: nodeValue,
|
|
76964
|
-
sourceLinks: [],
|
|
76965
|
-
targetLinks: []
|
|
76966
|
-
};
|
|
76967
|
-
nodeMap[nodeKey] = nodeElement, nodes.push(nodeElement);
|
|
76968
|
-
}
|
|
76969
|
-
parents && originalLinks && originalLinks.push({
|
|
76970
|
-
source: parents[parents.length - 1].key,
|
|
76971
|
-
target: nodeKey,
|
|
76972
|
-
value: nodeValue,
|
|
76973
|
-
parents: parents
|
|
76974
|
-
}), node.children && node.children.length && doSubTree(node.children, depth + 1, parents ? parents.concat([nodeMap[nodeKey]]) : [nodeMap[nodeKey]]);
|
|
76975
|
-
});
|
|
76976
|
-
};
|
|
76977
|
-
return doSubTree(originalNodes, 0, null), nodes;
|
|
76978
|
-
}
|
|
76979
|
-
function computeHierarchicNodeLinks(originalNodes, nodeKeyFunc) {
|
|
76980
|
-
const nodes = [],
|
|
76981
|
-
links = [],
|
|
76982
|
-
nodeMap = {},
|
|
76983
|
-
linkMap = {},
|
|
76984
|
-
originalLinks = [];
|
|
76985
|
-
return makeHierarchicNodes(originalNodes, nodeKeyFunc, nodes, nodeMap, originalLinks), originalLinks.forEach((link, index) => {
|
|
76986
|
-
const key = `${link.source}-${link.target}`,
|
|
76987
|
-
linkDatum = pickWithout(link, ["parents"]);
|
|
76988
|
-
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);
|
|
76989
|
-
const linkElement = {
|
|
76990
|
-
index: index,
|
|
76991
|
-
key: `${link.source}-${link.target}`,
|
|
76992
|
-
source: link.source,
|
|
76993
|
-
target: link.target,
|
|
76994
|
-
datum: [linkDatum],
|
|
76995
|
-
value: link.value,
|
|
76996
|
-
parents: link.parents.map(parent => parent.key)
|
|
76997
|
-
};
|
|
76998
|
-
links.push(linkElement), nodeMap[link.source].sourceLinks.push(linkElement), nodeMap[link.target].targetLinks.push(linkElement), linkMap[key] = linkElement;
|
|
76999
|
-
}), {
|
|
77000
|
-
nodes: nodes,
|
|
77001
|
-
links: links,
|
|
77002
|
-
nodeMap: nodeMap
|
|
77003
|
-
};
|
|
77004
|
-
}
|
|
77005
|
-
function computeNodeValues(nodes) {
|
|
77006
|
-
for (let i = 0, len = nodes.length; i < len; i++) {
|
|
77007
|
-
const node = nodes[i];
|
|
77008
|
-
node.value = Math.max(isNil$1(node.value) ? 0 : toValidNumber$1(node.value), node.sourceLinks.reduce((sum, link) => {
|
|
77009
|
-
var _a;
|
|
77010
|
-
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77011
|
-
}, 0), node.targetLinks.reduce((sum, link) => {
|
|
77012
|
-
var _a;
|
|
77013
|
-
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77014
|
-
}, 0));
|
|
77015
|
-
}
|
|
77016
|
-
}
|
|
77017
76951
|
|
|
77018
76952
|
function left(node) {
|
|
77019
76953
|
return node.depth;
|
|
@@ -77147,7 +77081,55 @@
|
|
|
77147
77081
|
};
|
|
77148
77082
|
}
|
|
77149
77083
|
computeHierarchicNodeLinks(originalNodes) {
|
|
77150
|
-
|
|
77084
|
+
const nodes = [],
|
|
77085
|
+
links = [],
|
|
77086
|
+
nodeMap = {},
|
|
77087
|
+
linkMap = {},
|
|
77088
|
+
originalLinks = [];
|
|
77089
|
+
calculateNodeValue(originalNodes);
|
|
77090
|
+
const doSubTree = (subTree, depth, parents) => {
|
|
77091
|
+
subTree.forEach((node, index) => {
|
|
77092
|
+
const nodeKey = this._getNodeKey ? this._getNodeKey(node) : parents ? `${parents[parents.length - 1].key}-${index}` : `${depth}-${index}`,
|
|
77093
|
+
nodeValue = isNil$1(node.value) ? 0 : toValidNumber$1(node.value);
|
|
77094
|
+
if (nodeMap[nodeKey]) nodeMap[nodeKey].value = void 0;else {
|
|
77095
|
+
const nodeElement = {
|
|
77096
|
+
depth: depth,
|
|
77097
|
+
datum: node,
|
|
77098
|
+
index: index,
|
|
77099
|
+
key: nodeKey,
|
|
77100
|
+
value: nodeValue,
|
|
77101
|
+
sourceLinks: [],
|
|
77102
|
+
targetLinks: []
|
|
77103
|
+
};
|
|
77104
|
+
nodeMap[nodeKey] = nodeElement, nodes.push(nodeElement);
|
|
77105
|
+
}
|
|
77106
|
+
parents && originalLinks.push({
|
|
77107
|
+
source: parents[parents.length - 1].key,
|
|
77108
|
+
target: nodeKey,
|
|
77109
|
+
value: nodeValue,
|
|
77110
|
+
parents: parents
|
|
77111
|
+
}), node.children && node.children.length && doSubTree(node.children, depth + 1, parents ? parents.concat([nodeMap[nodeKey]]) : [nodeMap[nodeKey]]);
|
|
77112
|
+
});
|
|
77113
|
+
};
|
|
77114
|
+
return doSubTree(originalNodes, 0, null), originalLinks.forEach((link, index) => {
|
|
77115
|
+
const key = `${link.source}-${link.target}`,
|
|
77116
|
+
linkDatum = pickWithout(link, ["parents"]);
|
|
77117
|
+
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);
|
|
77118
|
+
const linkElement = {
|
|
77119
|
+
index: index,
|
|
77120
|
+
key: `${link.source}-${link.target}`,
|
|
77121
|
+
source: link.source,
|
|
77122
|
+
target: link.target,
|
|
77123
|
+
datum: [linkDatum],
|
|
77124
|
+
value: link.value,
|
|
77125
|
+
parents: link.parents.map(parent => parent.key)
|
|
77126
|
+
};
|
|
77127
|
+
links.push(linkElement), nodeMap[link.source].sourceLinks.push(linkElement), nodeMap[link.target].targetLinks.push(linkElement), linkMap[key] = linkElement;
|
|
77128
|
+
}), {
|
|
77129
|
+
nodes: nodes,
|
|
77130
|
+
links: links,
|
|
77131
|
+
nodeMap: nodeMap
|
|
77132
|
+
};
|
|
77151
77133
|
}
|
|
77152
77134
|
computeSourceTargetNodeLinks(data) {
|
|
77153
77135
|
const nodes = [],
|
|
@@ -77217,7 +77199,16 @@
|
|
|
77217
77199
|
};
|
|
77218
77200
|
}
|
|
77219
77201
|
computeNodeValues(nodes) {
|
|
77220
|
-
|
|
77202
|
+
for (let i = 0, len = nodes.length; i < len; i++) {
|
|
77203
|
+
const node = nodes[i];
|
|
77204
|
+
node.value = Math.max(isNil$1(node.value) ? 0 : toValidNumber$1(node.value), node.sourceLinks.reduce((sum, link) => {
|
|
77205
|
+
var _a;
|
|
77206
|
+
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77207
|
+
}, 0), node.targetLinks.reduce((sum, link) => {
|
|
77208
|
+
var _a;
|
|
77209
|
+
return sum + (null !== (_a = toValidNumber$1(link.value)) && void 0 !== _a ? _a : 0);
|
|
77210
|
+
}, 0));
|
|
77211
|
+
}
|
|
77221
77212
|
}
|
|
77222
77213
|
computeNodeDepths(nodes) {
|
|
77223
77214
|
var _a;
|
|
@@ -78282,7 +78273,7 @@
|
|
|
78282
78273
|
return ret;
|
|
78283
78274
|
}
|
|
78284
78275
|
|
|
78285
|
-
function scaleSolution(solution, width, height, x0, y0
|
|
78276
|
+
function scaleSolution(solution, width, height, x0, y0) {
|
|
78286
78277
|
width = Math.max(width, 1), height = Math.max(height, 1);
|
|
78287
78278
|
const circles = [],
|
|
78288
78279
|
setIds = [];
|
|
@@ -78292,20 +78283,9 @@
|
|
|
78292
78283
|
yRange = bounds.yRange;
|
|
78293
78284
|
if (xRange.max === xRange.min || yRange.max === yRange.min) return console.log("not scaling solution: zero size detected"), solution;
|
|
78294
78285
|
const xScaling = width / (xRange.max - xRange.min),
|
|
78295
|
-
yScaling = height / (yRange.max - yRange.min)
|
|
78296
|
-
|
|
78297
|
-
|
|
78298
|
-
const containerRadius = Math.min(width, height) / 2,
|
|
78299
|
-
centerX = (xRange.min + xRange.max) / 2,
|
|
78300
|
-
centerY = (yRange.min + yRange.max) / 2;
|
|
78301
|
-
let diagramRadius = 0;
|
|
78302
|
-
for (const circle of circles) {
|
|
78303
|
-
const maxDistanceForThisCircle = Math.sqrt(Math.pow(circle.x - centerX, 2) + Math.pow(circle.y - centerY, 2)) + circle.radius;
|
|
78304
|
-
diagramRadius = Math.max(diagramRadius, maxDistanceForThisCircle);
|
|
78305
|
-
}
|
|
78306
|
-
scaling = containerRadius / diagramRadius;
|
|
78307
|
-
} else scaling = Math.min(yScaling, xScaling);
|
|
78308
|
-
const xOffset = (width - (xRange.max - xRange.min) * scaling) / 2,
|
|
78286
|
+
yScaling = height / (yRange.max - yRange.min),
|
|
78287
|
+
scaling = Math.min(yScaling, xScaling),
|
|
78288
|
+
xOffset = (width - (xRange.max - xRange.min) * scaling) / 2,
|
|
78309
78289
|
yOffset = (height - (yRange.max - yRange.min) * scaling) / 2,
|
|
78310
78290
|
scaled = {};
|
|
78311
78291
|
for (let i = 0; i < circles.length; ++i) {
|
|
@@ -78520,39 +78500,21 @@
|
|
|
78520
78500
|
setField = "sets",
|
|
78521
78501
|
valueField = "size",
|
|
78522
78502
|
orientation = Math.PI / 2,
|
|
78523
|
-
orientationOrder = null
|
|
78524
|
-
emptySetKey: emptySetKey
|
|
78503
|
+
orientationOrder = null
|
|
78525
78504
|
} = options;
|
|
78526
78505
|
let circles = {},
|
|
78527
78506
|
textCenters = {};
|
|
78528
|
-
|
|
78529
|
-
|
|
78530
|
-
return !sets || 0 === sets.length;
|
|
78531
|
-
}),
|
|
78532
|
-
nonEmptyData = hasEmptySet ? upstreamData.filter(area => !isEmpty(array(area[setField]))) : upstreamData;
|
|
78533
|
-
if (nonEmptyData.length > 0) {
|
|
78534
|
-
const vennData = nonEmptyData.map(area => ({
|
|
78507
|
+
if (upstreamData.length > 0) {
|
|
78508
|
+
const vennData = upstreamData.map(area => ({
|
|
78535
78509
|
sets: array(area[setField]),
|
|
78536
78510
|
size: area[valueField]
|
|
78537
78511
|
}));
|
|
78538
78512
|
let solution = venn$1(vennData, options);
|
|
78539
|
-
solution = normalizeSolution(solution, orientation, orientationOrder), circles = scaleSolution(solution, x1 - x0, y1 - y0, x0, y0
|
|
78513
|
+
solution = normalizeSolution(solution, orientation, orientationOrder), circles = scaleSolution(solution, x1 - x0, y1 - y0, x0, y0), textCenters = computeTextCenters(circles, vennData);
|
|
78540
78514
|
}
|
|
78541
78515
|
return upstreamData.map(area => {
|
|
78542
|
-
const sets = array(area[setField])
|
|
78543
|
-
|
|
78544
|
-
datum: area,
|
|
78545
|
-
sets: sets,
|
|
78546
|
-
key: emptySetKey || "others",
|
|
78547
|
-
size: area[valueField],
|
|
78548
|
-
labelX: void 0,
|
|
78549
|
-
labelY: void 0,
|
|
78550
|
-
type: "circle",
|
|
78551
|
-
x: x0 + (x1 - x0) / 2,
|
|
78552
|
-
y: y0 + (y1 - y0) / 2,
|
|
78553
|
-
radius: Math.min(x1 - x0, y1 - y0) / 2
|
|
78554
|
-
});
|
|
78555
|
-
const key = sets.toString(),
|
|
78516
|
+
const sets = array(area[setField]),
|
|
78517
|
+
key = sets.toString(),
|
|
78556
78518
|
textCenter = textCenters[key],
|
|
78557
78519
|
basicDatum = Object.assign(Object.assign({}, area), {
|
|
78558
78520
|
datum: area,
|
|
@@ -82936,6 +82898,380 @@
|
|
|
82936
82898
|
}
|
|
82937
82899
|
}
|
|
82938
82900
|
};
|
|
82901
|
+
this._handleClearEmpty = () => {
|
|
82902
|
+
var _a, _b;
|
|
82903
|
+
if (!this._needClear) {
|
|
82904
|
+
return;
|
|
82905
|
+
}
|
|
82906
|
+
const allNodeElements = (_a = this._nodeMark) === null || _a === void 0 ? void 0 : _a.getGraphics();
|
|
82907
|
+
if (!allNodeElements || !allNodeElements.length) {
|
|
82908
|
+
return;
|
|
82909
|
+
}
|
|
82910
|
+
const allLinkElements = (_b = this._linkMark) === null || _b === void 0 ? void 0 : _b.getGraphics();
|
|
82911
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82912
|
+
return;
|
|
82913
|
+
}
|
|
82914
|
+
allNodeElements.forEach(el => {
|
|
82915
|
+
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82916
|
+
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82917
|
+
});
|
|
82918
|
+
allLinkElements.forEach(el => {
|
|
82919
|
+
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82920
|
+
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82921
|
+
});
|
|
82922
|
+
this._needClear = false;
|
|
82923
|
+
};
|
|
82924
|
+
this._handleNodeAdjacencyClick = (graphic) => {
|
|
82925
|
+
const nodeDatum = getDatumOfGraphic(graphic);
|
|
82926
|
+
const highlightNodes = [nodeDatum.key];
|
|
82927
|
+
if (this._linkMark) {
|
|
82928
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
82929
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82930
|
+
return;
|
|
82931
|
+
}
|
|
82932
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
82933
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
82934
|
+
if (linkDatum.source === nodeDatum.key) {
|
|
82935
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
82936
|
+
highlightNodes.push(linkDatum.target);
|
|
82937
|
+
}
|
|
82938
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82939
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
82940
|
+
}
|
|
82941
|
+
else if (linkDatum.target === nodeDatum.key) {
|
|
82942
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
82943
|
+
highlightNodes.push(linkDatum.source);
|
|
82944
|
+
}
|
|
82945
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82946
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
82947
|
+
}
|
|
82948
|
+
else {
|
|
82949
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82950
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
82951
|
+
}
|
|
82952
|
+
});
|
|
82953
|
+
}
|
|
82954
|
+
if (this._nodeMark) {
|
|
82955
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
82956
|
+
}
|
|
82957
|
+
this._needClear = true;
|
|
82958
|
+
};
|
|
82959
|
+
this._handleLinkAdjacencyClick = (graphic) => {
|
|
82960
|
+
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
82961
|
+
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
82962
|
+
if (this._linkMark) {
|
|
82963
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
82964
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82965
|
+
return;
|
|
82966
|
+
}
|
|
82967
|
+
allLinkElements.forEach(linkEl => {
|
|
82968
|
+
if (linkEl === graphic) {
|
|
82969
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
82970
|
+
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
82971
|
+
}
|
|
82972
|
+
else {
|
|
82973
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
82974
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
82975
|
+
}
|
|
82976
|
+
});
|
|
82977
|
+
}
|
|
82978
|
+
if (this._nodeMark) {
|
|
82979
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
82980
|
+
}
|
|
82981
|
+
this._needClear = true;
|
|
82982
|
+
};
|
|
82983
|
+
this._handleNodeRelatedClick = (graphic) => {
|
|
82984
|
+
var _a;
|
|
82985
|
+
const nodeDatum = getDatumOfGraphic(graphic);
|
|
82986
|
+
const allNodeElements = this._nodeMark.getGraphics();
|
|
82987
|
+
if (!allNodeElements || !allNodeElements.length) {
|
|
82988
|
+
return;
|
|
82989
|
+
}
|
|
82990
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
82991
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
82992
|
+
return;
|
|
82993
|
+
}
|
|
82994
|
+
const father = ((_a = getDatumOfGraphic(allLinkElements[0])) === null || _a === void 0 ? void 0 : _a.parents) ? 'parents' : 'source';
|
|
82995
|
+
if (father === 'source') {
|
|
82996
|
+
const highlightNodes = [nodeDatum.key];
|
|
82997
|
+
const highlightLinks = [];
|
|
82998
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
82999
|
+
var _a, _b, _c, _d;
|
|
83000
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83001
|
+
const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
|
|
83002
|
+
if (array(linkDatum[father]).includes(nodeDatum.key)) {
|
|
83003
|
+
if (!highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
83004
|
+
highlightLinks.push((_b = linkDatum.key) !== null && _b !== void 0 ? _b : linkDatum.index);
|
|
83005
|
+
}
|
|
83006
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83007
|
+
highlightNodes.push(linkDatum.source);
|
|
83008
|
+
}
|
|
83009
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83010
|
+
highlightNodes.push(linkDatum.target);
|
|
83011
|
+
const targetNode = allNodeElements.find(nodeElement => {
|
|
83012
|
+
return nodeElement.data[0].key === linkDatum.target;
|
|
83013
|
+
});
|
|
83014
|
+
let targetNodeSourceLinks = targetNode.data[0].sourceLinks;
|
|
83015
|
+
while ((targetNodeSourceLinks === null || targetNodeSourceLinks === void 0 ? void 0 : targetNodeSourceLinks.length) > 0) {
|
|
83016
|
+
const newTargetNodeSourceLinks = [];
|
|
83017
|
+
targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum) => {
|
|
83018
|
+
var _a, _b;
|
|
83019
|
+
if (!highlightLinks.includes((_a = targetNodeSourceLinkDatum.key) !== null && _a !== void 0 ? _a : targetNodeSourceLinkDatum.index)) {
|
|
83020
|
+
highlightLinks.push((_b = targetNodeSourceLinkDatum.key) !== null && _b !== void 0 ? _b : targetNodeSourceLinkDatum.index);
|
|
83021
|
+
if (!highlightNodes.includes(targetNodeSourceLinkDatum.target)) {
|
|
83022
|
+
highlightNodes.push(targetNodeSourceLinkDatum.target);
|
|
83023
|
+
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83024
|
+
return nodeElement.data[0].key === targetNodeSourceLinkDatum.target;
|
|
83025
|
+
});
|
|
83026
|
+
newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83027
|
+
}
|
|
83028
|
+
else {
|
|
83029
|
+
return;
|
|
83030
|
+
}
|
|
83031
|
+
}
|
|
83032
|
+
else {
|
|
83033
|
+
return;
|
|
83034
|
+
}
|
|
83035
|
+
});
|
|
83036
|
+
targetNodeSourceLinks = newTargetNodeSourceLinks;
|
|
83037
|
+
return;
|
|
83038
|
+
}
|
|
83039
|
+
}
|
|
83040
|
+
}
|
|
83041
|
+
else if (linkDatum.target === nodeDatum.key) {
|
|
83042
|
+
if (!highlightLinks.includes((_c = linkDatum.key) !== null && _c !== void 0 ? _c : linkDatum.index)) {
|
|
83043
|
+
highlightLinks.push((_d = linkDatum.key) !== null && _d !== void 0 ? _d : linkDatum.index);
|
|
83044
|
+
}
|
|
83045
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83046
|
+
highlightNodes.push(linkDatum.source);
|
|
83047
|
+
const sourceNode = allNodeElements.find(nodeElement => {
|
|
83048
|
+
return nodeElement.data[0].key === linkDatum.source;
|
|
83049
|
+
});
|
|
83050
|
+
let sourceNodeTargetLinks = sourceNode.data[0].targetLinks;
|
|
83051
|
+
while ((sourceNodeTargetLinks === null || sourceNodeTargetLinks === void 0 ? void 0 : sourceNodeTargetLinks.length) > 0) {
|
|
83052
|
+
const newSourceNodeTargetLinks = [];
|
|
83053
|
+
sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum) => {
|
|
83054
|
+
var _a, _b;
|
|
83055
|
+
if (!highlightLinks.includes((_a = sourceNodeTargetLinkDatum.key) !== null && _a !== void 0 ? _a : sourceNodeTargetLinkDatum.index)) {
|
|
83056
|
+
highlightLinks.push((_b = sourceNodeTargetLinkDatum.key) !== null && _b !== void 0 ? _b : sourceNodeTargetLinkDatum.index);
|
|
83057
|
+
if (!highlightNodes.includes(sourceNodeTargetLinkDatum.source)) {
|
|
83058
|
+
highlightNodes.push(sourceNodeTargetLinkDatum.source);
|
|
83059
|
+
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83060
|
+
return nodeElement.data[0].key === sourceNodeTargetLinkDatum.source;
|
|
83061
|
+
});
|
|
83062
|
+
newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83063
|
+
}
|
|
83064
|
+
else {
|
|
83065
|
+
return;
|
|
83066
|
+
}
|
|
83067
|
+
}
|
|
83068
|
+
else {
|
|
83069
|
+
return;
|
|
83070
|
+
}
|
|
83071
|
+
});
|
|
83072
|
+
sourceNodeTargetLinks = newSourceNodeTargetLinks;
|
|
83073
|
+
return;
|
|
83074
|
+
}
|
|
83075
|
+
}
|
|
83076
|
+
}
|
|
83077
|
+
});
|
|
83078
|
+
if (this._linkMark) {
|
|
83079
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
83080
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
83081
|
+
return;
|
|
83082
|
+
}
|
|
83083
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
83084
|
+
var _a;
|
|
83085
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83086
|
+
if (highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
83087
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83088
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83089
|
+
}
|
|
83090
|
+
else {
|
|
83091
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83092
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83093
|
+
}
|
|
83094
|
+
});
|
|
83095
|
+
}
|
|
83096
|
+
if (this._nodeMark) {
|
|
83097
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83098
|
+
}
|
|
83099
|
+
}
|
|
83100
|
+
else {
|
|
83101
|
+
const highlightNodes = [nodeDatum.key];
|
|
83102
|
+
const upstreamLinks = nodeDatum.targetLinks.reduce((res, link) => {
|
|
83103
|
+
const dividedLinks = array(link.datum);
|
|
83104
|
+
dividedLinks.forEach(dividedLink => {
|
|
83105
|
+
const parents = dividedLink.parents;
|
|
83106
|
+
const len = parents.length;
|
|
83107
|
+
for (let i = 0; i < len; i++) {
|
|
83108
|
+
const source = parents[i].key;
|
|
83109
|
+
const target = parents[i + 1] ? parents[i + 1].key : nodeDatum.key;
|
|
83110
|
+
const value = dividedLink.value;
|
|
83111
|
+
const existingItem = res.find(item => item.source === source && item.target === target);
|
|
83112
|
+
if (existingItem) {
|
|
83113
|
+
existingItem.value += value;
|
|
83114
|
+
}
|
|
83115
|
+
else {
|
|
83116
|
+
res.push({ source, target, value });
|
|
83117
|
+
}
|
|
83118
|
+
}
|
|
83119
|
+
});
|
|
83120
|
+
return res;
|
|
83121
|
+
}, []);
|
|
83122
|
+
allLinkElements.forEach((linkEl, i) => {
|
|
83123
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83124
|
+
const originalDatum = linkDatum.datum;
|
|
83125
|
+
const selectedDatum = originalDatum
|
|
83126
|
+
? originalDatum.filter((entry) => entry[father].some((par) => par.key === nodeDatum.key))
|
|
83127
|
+
: null;
|
|
83128
|
+
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83129
|
+
if (selectedDatum && selectedDatum.length) {
|
|
83130
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83131
|
+
highlightNodes.push(linkDatum.source);
|
|
83132
|
+
}
|
|
83133
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83134
|
+
highlightNodes.push(linkDatum.target);
|
|
83135
|
+
}
|
|
83136
|
+
const val = selectedDatum.reduce((sum, d) => {
|
|
83137
|
+
return (sum += d.value);
|
|
83138
|
+
}, 0);
|
|
83139
|
+
const ratio = val / linkDatum.value;
|
|
83140
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83141
|
+
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83142
|
+
return;
|
|
83143
|
+
}
|
|
83144
|
+
if (upSelectedLink) {
|
|
83145
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83146
|
+
highlightNodes.push(linkDatum.source);
|
|
83147
|
+
}
|
|
83148
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83149
|
+
highlightNodes.push(linkDatum.target);
|
|
83150
|
+
}
|
|
83151
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83152
|
+
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83153
|
+
ratio: upSelectedLink.value / linkDatum.value
|
|
83154
|
+
});
|
|
83155
|
+
return;
|
|
83156
|
+
}
|
|
83157
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83158
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83159
|
+
return;
|
|
83160
|
+
});
|
|
83161
|
+
if (this._nodeMark) {
|
|
83162
|
+
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83163
|
+
}
|
|
83164
|
+
}
|
|
83165
|
+
this._needClear = true;
|
|
83166
|
+
};
|
|
83167
|
+
this._handleLinkRelatedClick = (graphic) => {
|
|
83168
|
+
const allNodeElements = this._nodeMark.getGraphics();
|
|
83169
|
+
if (!allNodeElements || !allNodeElements.length) {
|
|
83170
|
+
return;
|
|
83171
|
+
}
|
|
83172
|
+
const allLinkElements = this._linkMark.getGraphics();
|
|
83173
|
+
if (!allLinkElements || !allLinkElements.length) {
|
|
83174
|
+
return;
|
|
83175
|
+
}
|
|
83176
|
+
const father = getDatumOfGraphic(graphic) ? 'parents' : 'source';
|
|
83177
|
+
if (father === 'source') {
|
|
83178
|
+
if (this._linkMark) {
|
|
83179
|
+
allLinkElements.forEach(linkEl => {
|
|
83180
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83181
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83182
|
+
});
|
|
83183
|
+
}
|
|
83184
|
+
if (this._nodeMark) {
|
|
83185
|
+
allNodeElements.forEach(el => {
|
|
83186
|
+
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83187
|
+
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83188
|
+
});
|
|
83189
|
+
}
|
|
83190
|
+
}
|
|
83191
|
+
else {
|
|
83192
|
+
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
83193
|
+
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
83194
|
+
const upstreamLinks = [];
|
|
83195
|
+
const dividedLinks = array(curLinkDatum.datum);
|
|
83196
|
+
dividedLinks.forEach(dividedLink => {
|
|
83197
|
+
const parents = dividedLink.parents;
|
|
83198
|
+
const len = parents.length;
|
|
83199
|
+
for (let i = 0; i < len - 1; i++) {
|
|
83200
|
+
const source = parents[i].key;
|
|
83201
|
+
const target = parents[i + 1].key;
|
|
83202
|
+
const value = dividedLink.value;
|
|
83203
|
+
const existingItem = upstreamLinks.find(item => item.source === source && item.target === target);
|
|
83204
|
+
upstreamLinks.push({
|
|
83205
|
+
source: parents[i].key,
|
|
83206
|
+
target: parents[i + 1].key,
|
|
83207
|
+
value: dividedLink.value
|
|
83208
|
+
});
|
|
83209
|
+
if (existingItem) {
|
|
83210
|
+
existingItem.value += value;
|
|
83211
|
+
}
|
|
83212
|
+
else {
|
|
83213
|
+
upstreamLinks.push({ source, target, value });
|
|
83214
|
+
}
|
|
83215
|
+
}
|
|
83216
|
+
});
|
|
83217
|
+
allLinkElements.forEach(linkEl => {
|
|
83218
|
+
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83219
|
+
const originalDatum = linkDatum.datum;
|
|
83220
|
+
if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) {
|
|
83221
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83222
|
+
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
83223
|
+
return;
|
|
83224
|
+
}
|
|
83225
|
+
const selectedDatum = originalDatum
|
|
83226
|
+
? originalDatum.filter((entry) => {
|
|
83227
|
+
const parentKeysList = entry.parents.map((item) => item.key);
|
|
83228
|
+
return parentKeysList.includes(curLinkDatum.source) && parentKeysList.includes(curLinkDatum.target);
|
|
83229
|
+
})
|
|
83230
|
+
: null;
|
|
83231
|
+
if (selectedDatum && selectedDatum.length) {
|
|
83232
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83233
|
+
highlightNodes.push(linkDatum.source);
|
|
83234
|
+
}
|
|
83235
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83236
|
+
highlightNodes.push(linkDatum.target);
|
|
83237
|
+
}
|
|
83238
|
+
const val = selectedDatum
|
|
83239
|
+
.filter((entry) => {
|
|
83240
|
+
return entry.parents.some((par, index) => {
|
|
83241
|
+
var _a;
|
|
83242
|
+
return par.key === curLinkDatum.source && ((_a = entry.parents[index + 1]) === null || _a === void 0 ? void 0 : _a.key) === curLinkDatum.target;
|
|
83243
|
+
});
|
|
83244
|
+
})
|
|
83245
|
+
.reduce((sum, d) => {
|
|
83246
|
+
return (sum += d.value);
|
|
83247
|
+
}, 0);
|
|
83248
|
+
const ratio = val / linkDatum.value;
|
|
83249
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83250
|
+
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83251
|
+
return;
|
|
83252
|
+
}
|
|
83253
|
+
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83254
|
+
if (upSelectedLink) {
|
|
83255
|
+
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83256
|
+
highlightNodes.push(linkDatum.source);
|
|
83257
|
+
}
|
|
83258
|
+
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83259
|
+
highlightNodes.push(linkDatum.target);
|
|
83260
|
+
}
|
|
83261
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83262
|
+
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83263
|
+
ratio: upSelectedLink.value / linkDatum.value
|
|
83264
|
+
});
|
|
83265
|
+
return;
|
|
83266
|
+
}
|
|
83267
|
+
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83268
|
+
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83269
|
+
return;
|
|
83270
|
+
});
|
|
83271
|
+
this._highLightElements(allNodeElements, highlightNodes);
|
|
83272
|
+
}
|
|
83273
|
+
this._needClear = true;
|
|
83274
|
+
};
|
|
82939
83275
|
}
|
|
82940
83276
|
get direction() {
|
|
82941
83277
|
var _a;
|
|
@@ -83225,380 +83561,6 @@
|
|
|
83225
83561
|
linksSeriesDataUpdate() {
|
|
83226
83562
|
this._linkMark.getData().updateData();
|
|
83227
83563
|
}
|
|
83228
|
-
_handleClearEmpty() {
|
|
83229
|
-
var _a, _b;
|
|
83230
|
-
if (!this._needClear) {
|
|
83231
|
-
return;
|
|
83232
|
-
}
|
|
83233
|
-
const allNodeElements = (_a = this._nodeMark) === null || _a === void 0 ? void 0 : _a.getGraphics();
|
|
83234
|
-
if (!allNodeElements || !allNodeElements.length) {
|
|
83235
|
-
return;
|
|
83236
|
-
}
|
|
83237
|
-
const allLinkElements = (_b = this._linkMark) === null || _b === void 0 ? void 0 : _b.getGraphics();
|
|
83238
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83239
|
-
return;
|
|
83240
|
-
}
|
|
83241
|
-
allNodeElements.forEach(el => {
|
|
83242
|
-
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83243
|
-
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83244
|
-
});
|
|
83245
|
-
allLinkElements.forEach(el => {
|
|
83246
|
-
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83247
|
-
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83248
|
-
});
|
|
83249
|
-
this._needClear = false;
|
|
83250
|
-
}
|
|
83251
|
-
_handleNodeAdjacencyClick(graphic) {
|
|
83252
|
-
const nodeDatum = getDatumOfGraphic(graphic);
|
|
83253
|
-
const highlightNodes = [nodeDatum.key];
|
|
83254
|
-
if (this._linkMark) {
|
|
83255
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83256
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83257
|
-
return;
|
|
83258
|
-
}
|
|
83259
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83260
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83261
|
-
if (linkDatum.source === nodeDatum.key) {
|
|
83262
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83263
|
-
highlightNodes.push(linkDatum.target);
|
|
83264
|
-
}
|
|
83265
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83266
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83267
|
-
}
|
|
83268
|
-
else if (linkDatum.target === nodeDatum.key) {
|
|
83269
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83270
|
-
highlightNodes.push(linkDatum.source);
|
|
83271
|
-
}
|
|
83272
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83273
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83274
|
-
}
|
|
83275
|
-
else {
|
|
83276
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83277
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83278
|
-
}
|
|
83279
|
-
});
|
|
83280
|
-
}
|
|
83281
|
-
if (this._nodeMark) {
|
|
83282
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83283
|
-
}
|
|
83284
|
-
this._needClear = true;
|
|
83285
|
-
}
|
|
83286
|
-
_handleLinkAdjacencyClick(graphic) {
|
|
83287
|
-
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
83288
|
-
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
83289
|
-
if (this._linkMark) {
|
|
83290
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83291
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83292
|
-
return;
|
|
83293
|
-
}
|
|
83294
|
-
allLinkElements.forEach(linkEl => {
|
|
83295
|
-
if (linkEl === graphic) {
|
|
83296
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83297
|
-
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
83298
|
-
}
|
|
83299
|
-
else {
|
|
83300
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83301
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83302
|
-
}
|
|
83303
|
-
});
|
|
83304
|
-
}
|
|
83305
|
-
if (this._nodeMark) {
|
|
83306
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83307
|
-
}
|
|
83308
|
-
this._needClear = true;
|
|
83309
|
-
}
|
|
83310
|
-
_handleNodeRelatedClick(graphic) {
|
|
83311
|
-
var _a;
|
|
83312
|
-
const nodeDatum = getDatumOfGraphic(graphic);
|
|
83313
|
-
const allNodeElements = this._nodeMark.getGraphics();
|
|
83314
|
-
if (!allNodeElements || !allNodeElements.length) {
|
|
83315
|
-
return;
|
|
83316
|
-
}
|
|
83317
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83318
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83319
|
-
return;
|
|
83320
|
-
}
|
|
83321
|
-
const father = ((_a = getDatumOfGraphic(allLinkElements[0])) === null || _a === void 0 ? void 0 : _a.parents) ? 'parents' : 'source';
|
|
83322
|
-
if (father === 'source') {
|
|
83323
|
-
const highlightNodes = [nodeDatum.key];
|
|
83324
|
-
const highlightLinks = [];
|
|
83325
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83326
|
-
var _a, _b, _c, _d;
|
|
83327
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83328
|
-
const father = (linkDatum === null || linkDatum === void 0 ? void 0 : linkDatum.parents) ? 'parents' : 'source';
|
|
83329
|
-
if (array(linkDatum[father]).includes(nodeDatum.key)) {
|
|
83330
|
-
if (!highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
83331
|
-
highlightLinks.push((_b = linkDatum.key) !== null && _b !== void 0 ? _b : linkDatum.index);
|
|
83332
|
-
}
|
|
83333
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83334
|
-
highlightNodes.push(linkDatum.source);
|
|
83335
|
-
}
|
|
83336
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83337
|
-
highlightNodes.push(linkDatum.target);
|
|
83338
|
-
const targetNode = allNodeElements.find(nodeElement => {
|
|
83339
|
-
return nodeElement.data[0].key === linkDatum.target;
|
|
83340
|
-
});
|
|
83341
|
-
let targetNodeSourceLinks = targetNode.data[0].sourceLinks;
|
|
83342
|
-
while ((targetNodeSourceLinks === null || targetNodeSourceLinks === void 0 ? void 0 : targetNodeSourceLinks.length) > 0) {
|
|
83343
|
-
const newTargetNodeSourceLinks = [];
|
|
83344
|
-
targetNodeSourceLinks.forEach((targetNodeSourceLinkDatum) => {
|
|
83345
|
-
var _a, _b;
|
|
83346
|
-
if (!highlightLinks.includes((_a = targetNodeSourceLinkDatum.key) !== null && _a !== void 0 ? _a : targetNodeSourceLinkDatum.index)) {
|
|
83347
|
-
highlightLinks.push((_b = targetNodeSourceLinkDatum.key) !== null && _b !== void 0 ? _b : targetNodeSourceLinkDatum.index);
|
|
83348
|
-
if (!highlightNodes.includes(targetNodeSourceLinkDatum.target)) {
|
|
83349
|
-
highlightNodes.push(targetNodeSourceLinkDatum.target);
|
|
83350
|
-
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83351
|
-
return nodeElement.data[0].key === targetNodeSourceLinkDatum.target;
|
|
83352
|
-
});
|
|
83353
|
-
newTargetNodeSourceLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83354
|
-
}
|
|
83355
|
-
else {
|
|
83356
|
-
return;
|
|
83357
|
-
}
|
|
83358
|
-
}
|
|
83359
|
-
else {
|
|
83360
|
-
return;
|
|
83361
|
-
}
|
|
83362
|
-
});
|
|
83363
|
-
targetNodeSourceLinks = newTargetNodeSourceLinks;
|
|
83364
|
-
return;
|
|
83365
|
-
}
|
|
83366
|
-
}
|
|
83367
|
-
}
|
|
83368
|
-
else if (linkDatum.target === nodeDatum.key) {
|
|
83369
|
-
if (!highlightLinks.includes((_c = linkDatum.key) !== null && _c !== void 0 ? _c : linkDatum.index)) {
|
|
83370
|
-
highlightLinks.push((_d = linkDatum.key) !== null && _d !== void 0 ? _d : linkDatum.index);
|
|
83371
|
-
}
|
|
83372
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83373
|
-
highlightNodes.push(linkDatum.source);
|
|
83374
|
-
const sourceNode = allNodeElements.find(nodeElement => {
|
|
83375
|
-
return nodeElement.data[0].key === linkDatum.source;
|
|
83376
|
-
});
|
|
83377
|
-
let sourceNodeTargetLinks = sourceNode.data[0].targetLinks;
|
|
83378
|
-
while ((sourceNodeTargetLinks === null || sourceNodeTargetLinks === void 0 ? void 0 : sourceNodeTargetLinks.length) > 0) {
|
|
83379
|
-
const newSourceNodeTargetLinks = [];
|
|
83380
|
-
sourceNodeTargetLinks.forEach((sourceNodeTargetLinkDatum) => {
|
|
83381
|
-
var _a, _b;
|
|
83382
|
-
if (!highlightLinks.includes((_a = sourceNodeTargetLinkDatum.key) !== null && _a !== void 0 ? _a : sourceNodeTargetLinkDatum.index)) {
|
|
83383
|
-
highlightLinks.push((_b = sourceNodeTargetLinkDatum.key) !== null && _b !== void 0 ? _b : sourceNodeTargetLinkDatum.index);
|
|
83384
|
-
if (!highlightNodes.includes(sourceNodeTargetLinkDatum.source)) {
|
|
83385
|
-
highlightNodes.push(sourceNodeTargetLinkDatum.source);
|
|
83386
|
-
const sourceNodeTemp = allNodeElements.find(nodeElement => {
|
|
83387
|
-
return nodeElement.data[0].key === sourceNodeTargetLinkDatum.source;
|
|
83388
|
-
});
|
|
83389
|
-
newSourceNodeTargetLinks.push(sourceNodeTemp.data[0].targetLinks);
|
|
83390
|
-
}
|
|
83391
|
-
else {
|
|
83392
|
-
return;
|
|
83393
|
-
}
|
|
83394
|
-
}
|
|
83395
|
-
else {
|
|
83396
|
-
return;
|
|
83397
|
-
}
|
|
83398
|
-
});
|
|
83399
|
-
sourceNodeTargetLinks = newSourceNodeTargetLinks;
|
|
83400
|
-
return;
|
|
83401
|
-
}
|
|
83402
|
-
}
|
|
83403
|
-
}
|
|
83404
|
-
});
|
|
83405
|
-
if (this._linkMark) {
|
|
83406
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83407
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83408
|
-
return;
|
|
83409
|
-
}
|
|
83410
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83411
|
-
var _a;
|
|
83412
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83413
|
-
if (highlightLinks.includes((_a = linkDatum.key) !== null && _a !== void 0 ? _a : linkDatum.index)) {
|
|
83414
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83415
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, true);
|
|
83416
|
-
}
|
|
83417
|
-
else {
|
|
83418
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83419
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83420
|
-
}
|
|
83421
|
-
});
|
|
83422
|
-
}
|
|
83423
|
-
if (this._nodeMark) {
|
|
83424
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83425
|
-
}
|
|
83426
|
-
}
|
|
83427
|
-
else {
|
|
83428
|
-
const highlightNodes = [nodeDatum.key];
|
|
83429
|
-
const upstreamLinks = nodeDatum.targetLinks.reduce((res, link) => {
|
|
83430
|
-
const dividedLinks = array(link.datum);
|
|
83431
|
-
dividedLinks.forEach(dividedLink => {
|
|
83432
|
-
const parents = dividedLink.parents;
|
|
83433
|
-
const len = parents.length;
|
|
83434
|
-
for (let i = 0; i < len; i++) {
|
|
83435
|
-
const source = parents[i].key;
|
|
83436
|
-
const target = parents[i + 1] ? parents[i + 1].key : nodeDatum.key;
|
|
83437
|
-
const value = dividedLink.value;
|
|
83438
|
-
const existingItem = res.find(item => item.source === source && item.target === target);
|
|
83439
|
-
if (existingItem) {
|
|
83440
|
-
existingItem.value += value;
|
|
83441
|
-
}
|
|
83442
|
-
else {
|
|
83443
|
-
res.push({ source, target, value });
|
|
83444
|
-
}
|
|
83445
|
-
}
|
|
83446
|
-
});
|
|
83447
|
-
return res;
|
|
83448
|
-
}, []);
|
|
83449
|
-
allLinkElements.forEach((linkEl, i) => {
|
|
83450
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83451
|
-
const originalDatum = linkDatum.datum;
|
|
83452
|
-
const selectedDatum = originalDatum
|
|
83453
|
-
? originalDatum.filter((entry) => entry[father].some((par) => par.key === nodeDatum.key))
|
|
83454
|
-
: null;
|
|
83455
|
-
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83456
|
-
if (selectedDatum && selectedDatum.length) {
|
|
83457
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83458
|
-
highlightNodes.push(linkDatum.source);
|
|
83459
|
-
}
|
|
83460
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83461
|
-
highlightNodes.push(linkDatum.target);
|
|
83462
|
-
}
|
|
83463
|
-
const val = selectedDatum.reduce((sum, d) => {
|
|
83464
|
-
return (sum += d.value);
|
|
83465
|
-
}, 0);
|
|
83466
|
-
const ratio = val / linkDatum.value;
|
|
83467
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83468
|
-
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83469
|
-
return;
|
|
83470
|
-
}
|
|
83471
|
-
if (upSelectedLink) {
|
|
83472
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83473
|
-
highlightNodes.push(linkDatum.source);
|
|
83474
|
-
}
|
|
83475
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83476
|
-
highlightNodes.push(linkDatum.target);
|
|
83477
|
-
}
|
|
83478
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83479
|
-
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83480
|
-
ratio: upSelectedLink.value / linkDatum.value
|
|
83481
|
-
});
|
|
83482
|
-
return;
|
|
83483
|
-
}
|
|
83484
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83485
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83486
|
-
return;
|
|
83487
|
-
});
|
|
83488
|
-
if (this._nodeMark) {
|
|
83489
|
-
this._highLightElements(this._nodeMark.getGraphics(), highlightNodes);
|
|
83490
|
-
}
|
|
83491
|
-
}
|
|
83492
|
-
this._needClear = true;
|
|
83493
|
-
}
|
|
83494
|
-
_handleLinkRelatedClick(graphic) {
|
|
83495
|
-
const allNodeElements = this._nodeMark.getGraphics();
|
|
83496
|
-
if (!allNodeElements || !allNodeElements.length) {
|
|
83497
|
-
return;
|
|
83498
|
-
}
|
|
83499
|
-
const allLinkElements = this._linkMark.getGraphics();
|
|
83500
|
-
if (!allLinkElements || !allLinkElements.length) {
|
|
83501
|
-
return;
|
|
83502
|
-
}
|
|
83503
|
-
const father = getDatumOfGraphic(graphic) ? 'parents' : 'source';
|
|
83504
|
-
if (father === 'source') {
|
|
83505
|
-
if (this._linkMark) {
|
|
83506
|
-
allLinkElements.forEach(linkEl => {
|
|
83507
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83508
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83509
|
-
});
|
|
83510
|
-
}
|
|
83511
|
-
if (this._nodeMark) {
|
|
83512
|
-
allNodeElements.forEach(el => {
|
|
83513
|
-
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83514
|
-
el.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83515
|
-
});
|
|
83516
|
-
}
|
|
83517
|
-
}
|
|
83518
|
-
else {
|
|
83519
|
-
const curLinkDatum = getDatumOfGraphic(graphic);
|
|
83520
|
-
const highlightNodes = [curLinkDatum.source, curLinkDatum.target];
|
|
83521
|
-
const upstreamLinks = [];
|
|
83522
|
-
const dividedLinks = array(curLinkDatum.datum);
|
|
83523
|
-
dividedLinks.forEach(dividedLink => {
|
|
83524
|
-
const parents = dividedLink.parents;
|
|
83525
|
-
const len = parents.length;
|
|
83526
|
-
for (let i = 0; i < len - 1; i++) {
|
|
83527
|
-
const source = parents[i].key;
|
|
83528
|
-
const target = parents[i + 1].key;
|
|
83529
|
-
const value = dividedLink.value;
|
|
83530
|
-
const existingItem = upstreamLinks.find(item => item.source === source && item.target === target);
|
|
83531
|
-
upstreamLinks.push({
|
|
83532
|
-
source: parents[i].key,
|
|
83533
|
-
target: parents[i + 1].key,
|
|
83534
|
-
value: dividedLink.value
|
|
83535
|
-
});
|
|
83536
|
-
if (existingItem) {
|
|
83537
|
-
existingItem.value += value;
|
|
83538
|
-
}
|
|
83539
|
-
else {
|
|
83540
|
-
upstreamLinks.push({ source, target, value });
|
|
83541
|
-
}
|
|
83542
|
-
}
|
|
83543
|
-
});
|
|
83544
|
-
allLinkElements.forEach(linkEl => {
|
|
83545
|
-
const linkDatum = getDatumOfGraphic(linkEl);
|
|
83546
|
-
const originalDatum = linkDatum.datum;
|
|
83547
|
-
if (linkDatum.source === curLinkDatum.source && linkDatum.target === curLinkDatum.target) {
|
|
83548
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83549
|
-
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio: 1 });
|
|
83550
|
-
return;
|
|
83551
|
-
}
|
|
83552
|
-
const selectedDatum = originalDatum
|
|
83553
|
-
? originalDatum.filter((entry) => {
|
|
83554
|
-
const parentKeysList = entry.parents.map((item) => item.key);
|
|
83555
|
-
return parentKeysList.includes(curLinkDatum.source) && parentKeysList.includes(curLinkDatum.target);
|
|
83556
|
-
})
|
|
83557
|
-
: null;
|
|
83558
|
-
if (selectedDatum && selectedDatum.length) {
|
|
83559
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83560
|
-
highlightNodes.push(linkDatum.source);
|
|
83561
|
-
}
|
|
83562
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83563
|
-
highlightNodes.push(linkDatum.target);
|
|
83564
|
-
}
|
|
83565
|
-
const val = selectedDatum
|
|
83566
|
-
.filter((entry) => {
|
|
83567
|
-
return entry.parents.some((par, index) => {
|
|
83568
|
-
var _a;
|
|
83569
|
-
return par.key === curLinkDatum.source && ((_a = entry.parents[index + 1]) === null || _a === void 0 ? void 0 : _a.key) === curLinkDatum.target;
|
|
83570
|
-
});
|
|
83571
|
-
})
|
|
83572
|
-
.reduce((sum, d) => {
|
|
83573
|
-
return (sum += d.value);
|
|
83574
|
-
}, 0);
|
|
83575
|
-
const ratio = val / linkDatum.value;
|
|
83576
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83577
|
-
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, { ratio });
|
|
83578
|
-
return;
|
|
83579
|
-
}
|
|
83580
|
-
const upSelectedLink = upstreamLinks.find((upLink) => upLink.source === linkDatum.source && upLink.target === linkDatum.target);
|
|
83581
|
-
if (upSelectedLink) {
|
|
83582
|
-
if (!highlightNodes.includes(linkDatum.source)) {
|
|
83583
|
-
highlightNodes.push(linkDatum.source);
|
|
83584
|
-
}
|
|
83585
|
-
if (!highlightNodes.includes(linkDatum.target)) {
|
|
83586
|
-
highlightNodes.push(linkDatum.target);
|
|
83587
|
-
}
|
|
83588
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE);
|
|
83589
|
-
addRuntimeState(linkEl, exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS, {
|
|
83590
|
-
ratio: upSelectedLink.value / linkDatum.value
|
|
83591
|
-
});
|
|
83592
|
-
return;
|
|
83593
|
-
}
|
|
83594
|
-
linkEl.removeState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS);
|
|
83595
|
-
linkEl.addState(exports.STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS_REVERSE, true);
|
|
83596
|
-
return;
|
|
83597
|
-
});
|
|
83598
|
-
this._highLightElements(allNodeElements, highlightNodes);
|
|
83599
|
-
}
|
|
83600
|
-
this._needClear = true;
|
|
83601
|
-
}
|
|
83602
83564
|
_highLightElements(graphics, highlightNodes) {
|
|
83603
83565
|
if (!graphics || !graphics.length) {
|
|
83604
83566
|
return;
|
|
@@ -100439,7 +100401,6 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
|
|
|
100439
100401
|
exports.STACK_FIELD_TOTAL_PERCENT = STACK_FIELD_TOTAL_PERCENT;
|
|
100440
100402
|
exports.STACK_FIELD_TOTAL_TOP = STACK_FIELD_TOTAL_TOP;
|
|
100441
100403
|
exports.SankeyChart = SankeyChart;
|
|
100442
|
-
exports.SankeyChartSpecTransformer = SankeyChartSpecTransformer;
|
|
100443
100404
|
exports.SankeySeries = SankeySeries;
|
|
100444
100405
|
exports.ScatterChart = ScatterChart;
|
|
100445
100406
|
exports.ScatterSeries = ScatterSeries;
|