@progress/kendo-charts 2.3.0-dev.202404170829 → 2.3.0-dev.202404191639
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/dist/cdn/js/kendo-charts.js +1 -1
- package/dist/cdn/main.js +1 -1
- package/dist/es/sankey/utils.js +48 -0
- package/dist/es/sankey.js +1 -0
- package/dist/es2015/sankey/utils.js +43 -0
- package/dist/es2015/sankey.js +1 -0
- package/dist/npm/main.js +51 -1
- package/dist/npm/sankey.d.ts +49 -0
- package/dist/systemjs/kendo-charts.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export var createSankeyData = function (data, dimensions, measure) {
|
|
2
|
+
var nodes = new Set();
|
|
3
|
+
var links = new Map();
|
|
4
|
+
var linksMap = new Map();
|
|
5
|
+
|
|
6
|
+
data.forEach(function (row) {
|
|
7
|
+
dimensions.forEach(function (dimension) {
|
|
8
|
+
nodes.add(dimension.value(row));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
for (var i = 0; i < dimensions.length - 1; i++) {
|
|
12
|
+
var source = dimensions[i].value(row);
|
|
13
|
+
var target = dimensions[i + 1].value(row);
|
|
14
|
+
var key = source + "_" + target;
|
|
15
|
+
var value = measure.value(row);
|
|
16
|
+
var existingValue = links.get(key);
|
|
17
|
+
|
|
18
|
+
if (existingValue !== undefined) {
|
|
19
|
+
links.set(key, existingValue + value);
|
|
20
|
+
} else {
|
|
21
|
+
links.set(key, value);
|
|
22
|
+
linksMap.set(key, { source: source, target: target });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var nodesId = new Map();
|
|
28
|
+
var nodesArray = Array.from(nodes).map(function (node, index) {
|
|
29
|
+
nodesId.set(node, index);
|
|
30
|
+
return { id: index, label: { text: String(node) } };
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
var linksArray = Array.from(links).map(function (ref) {
|
|
34
|
+
var key = ref[0];
|
|
35
|
+
var value = ref[1];
|
|
36
|
+
|
|
37
|
+
var ref$1 = linksMap.get(key);
|
|
38
|
+
var source = ref$1.source;
|
|
39
|
+
var target = ref$1.target;
|
|
40
|
+
return {
|
|
41
|
+
sourceId: nodesId.get(source),
|
|
42
|
+
targetId: nodesId.get(target),
|
|
43
|
+
value: value
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
return { nodes: nodesArray, links: linksArray };
|
|
48
|
+
};
|
package/dist/es/sankey.js
CHANGED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const createSankeyData = (data, dimensions, measure) => {
|
|
2
|
+
const nodes = new Set();
|
|
3
|
+
const links = new Map();
|
|
4
|
+
const linksMap = new Map();
|
|
5
|
+
|
|
6
|
+
data.forEach((row) => {
|
|
7
|
+
dimensions.forEach((dimension) => {
|
|
8
|
+
nodes.add(dimension.value(row));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
for (let i = 0; i < dimensions.length - 1; i++) {
|
|
12
|
+
const source = dimensions[i].value(row);
|
|
13
|
+
const target = dimensions[i + 1].value(row);
|
|
14
|
+
const key = `${source}_${target}`;
|
|
15
|
+
const value = measure.value(row);
|
|
16
|
+
const existingValue = links.get(key);
|
|
17
|
+
|
|
18
|
+
if (existingValue !== undefined) {
|
|
19
|
+
links.set(key, existingValue + value);
|
|
20
|
+
} else {
|
|
21
|
+
links.set(key, value);
|
|
22
|
+
linksMap.set(key, { source, target });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const nodesId = new Map();
|
|
28
|
+
const nodesArray = Array.from(nodes).map((node, index) => {
|
|
29
|
+
nodesId.set(node, index);
|
|
30
|
+
return { id: index, label: { text: String(node) } };
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const linksArray = Array.from(links).map(([key, value]) => {
|
|
34
|
+
const { source, target } = linksMap.get(key);
|
|
35
|
+
return {
|
|
36
|
+
sourceId: nodesId.get(source),
|
|
37
|
+
targetId: nodesId.get(target),
|
|
38
|
+
value
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
return { nodes: nodesArray, links: linksArray };
|
|
43
|
+
};
|
package/dist/es2015/sankey.js
CHANGED