@amcharts/amcharts5 5.16.1 → 5.17.0
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/.internal/charts/hierarchy/Hierarchy.d.ts +21 -0
- package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +60 -3
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +1 -0
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +1 -0
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.js +9 -9
- package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/Tree.d.ts +20 -0
- package/.internal/charts/hierarchy/Tree.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Tree.js +11 -1
- package/.internal/charts/hierarchy/Tree.js.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.js +3 -0
- package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
- package/.internal/charts/map/MapSankeyNodes.d.ts +155 -0
- package/.internal/charts/map/MapSankeyNodes.d.ts.map +1 -0
- package/.internal/charts/map/MapSankeyNodes.js +151 -0
- package/.internal/charts/map/MapSankeyNodes.js.map +1 -0
- package/.internal/charts/map/MapSankeySeries.d.ts +383 -0
- package/.internal/charts/map/MapSankeySeries.d.ts.map +1 -0
- package/.internal/charts/map/MapSankeySeries.js +794 -0
- package/.internal/charts/map/MapSankeySeries.js.map +1 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts +15 -2
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +102 -79
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +1 -1
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Classes.d.ts +6 -0
- package/.internal/core/Classes.d.ts.map +1 -1
- package/.internal/core/Classes.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +6 -0
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/Math.d.ts +132 -49
- package/.internal/core/util/Math.d.ts.map +1 -1
- package/.internal/core/util/Math.js +151 -50
- package/.internal/core/util/Math.js.map +1 -1
- package/.internal/core/util/Object.d.ts +24 -1
- package/.internal/core/util/Object.d.ts.map +1 -1
- package/.internal/core/util/Object.js +24 -1
- package/.internal/core/util/Object.js.map +1 -1
- package/.internal/core/util/PopulateString.d.ts +23 -1
- package/.internal/core/util/PopulateString.d.ts.map +1 -1
- package/.internal/core/util/PopulateString.js +19 -5
- package/.internal/core/util/PopulateString.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +69 -3
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +72 -18
- package/.internal/core/util/Utils.js.map +1 -1
- package/.internal/plugins/json/Classes-script.d.ts +6 -0
- package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
- package/.internal/plugins/json/Classes-script.js +3 -0
- package/.internal/plugins/json/Classes-script.js.map +1 -1
- package/.internal/plugins/json/Classes.d.ts +6 -0
- package/.internal/plugins/json/Classes.d.ts.map +1 -1
- package/.internal/plugins/json/Classes.js +3 -0
- package/.internal/plugins/json/Classes.js.map +1 -1
- package/CHANGELOG.md +30 -6
- package/README.md +12 -0
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gantt/package.json +1 -1
- package/examples/javascript/gantt-multilevel/package.json +1 -1
- package/examples/javascript/gantt-simple/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-sankey/README.md +6 -0
- package/examples/javascript/map-sankey/index.css +11 -0
- package/examples/javascript/map-sankey/index.html +13 -0
- package/examples/javascript/map-sankey/index.js +368 -0
- package/examples/javascript/map-sankey/package.json +17 -0
- package/examples/javascript/map-sankey/webpack.config.js +38 -0
- package/examples/javascript/map-sankey-waypoints/README.md +6 -0
- package/examples/javascript/map-sankey-waypoints/index.css +11 -0
- package/examples/javascript/map-sankey-waypoints/index.html +13 -0
- package/examples/javascript/map-sankey-waypoints/index.js +394 -0
- package/examples/javascript/map-sankey-waypoints/package.json +17 -0
- package/examples/javascript/map-sankey-waypoints/webpack.config.js +38 -0
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-spiral-chart/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gantt/package.json +1 -1
- package/examples/typescript/gantt-multilevel/package.json +1 -1
- package/examples/typescript/gantt-simple/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-sankey/README.md +6 -0
- package/examples/typescript/map-sankey/index.css +11 -0
- package/examples/typescript/map-sankey/index.html +13 -0
- package/examples/typescript/map-sankey/index.ts +368 -0
- package/examples/typescript/map-sankey/package.json +19 -0
- package/examples/typescript/map-sankey/tsconfig.json +12 -0
- package/examples/typescript/map-sankey/webpack.config.js +45 -0
- package/examples/typescript/map-sankey-waypoints/README.md +6 -0
- package/examples/typescript/map-sankey-waypoints/index.css +11 -0
- package/examples/typescript/map-sankey-waypoints/index.html +13 -0
- package/examples/typescript/map-sankey-waypoints/index.ts +394 -0
- package/examples/typescript/map-sankey-waypoints/package.json +19 -0
- package/examples/typescript/map-sankey-waypoints/tsconfig.json +12 -0
- package/examples/typescript/map-sankey-waypoints/webpack.config.js +45 -0
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-spiral-chart/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/map.d.ts +2 -0
- package/map.d.ts.map +1 -1
- package/map.js +2 -0
- package/map.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedHierarchy.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/LinkedHierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,KAAK,WAAW,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAK5C;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAEnE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAEpD;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAE3C;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,aAAa,CAAC;IAE1B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAE5B;;OAEG;IACH,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACH,eAAe,EAAE,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAEnE;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAEvB;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;CACjE;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;CAC/D;AAED;;GAEG;
|
|
1
|
+
{"version":3,"file":"LinkedHierarchy.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/LinkedHierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,16 +97,23 @@ export class LinkedHierarchy extends Hierarchy {
|
|
|
97
97
|
dataItem.setRaw("childLinks", []);
|
|
98
98
|
dataItem.setRaw("links", []);
|
|
99
99
|
super.processDataItem(dataItem);
|
|
100
|
+
// Run updateLinkWith once after the entire tree is processed, not per-node
|
|
101
|
+
if (!dataItem.get("parent")) {
|
|
102
|
+
this.updateLinkWith(this.dataItems);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
addChildData(dataItem, data) {
|
|
106
|
+
super.addChildData(dataItem, data);
|
|
107
|
+
this.updateLinkWith(this.dataItems);
|
|
100
108
|
}
|
|
101
109
|
_processDataItem(dataItem) {
|
|
102
110
|
super._processDataItem(dataItem);
|
|
103
111
|
const parentDataItem = dataItem.get("parent");
|
|
104
|
-
if (parentDataItem && parentDataItem.get("depth") >= this.get("topDepth")) {
|
|
112
|
+
if (parentDataItem && parentDataItem.get("depth") >= this.get("topDepth", 0)) {
|
|
105
113
|
const link = this.linkDataItems(parentDataItem, dataItem);
|
|
106
114
|
dataItem.setRaw("parentLink", link);
|
|
107
115
|
}
|
|
108
116
|
const node = dataItem.get("node");
|
|
109
|
-
this.updateLinkWith(this.dataItems);
|
|
110
117
|
node._updateLinks(0);
|
|
111
118
|
}
|
|
112
119
|
/**
|
|
@@ -144,13 +151,6 @@ export class LinkedHierarchy extends Hierarchy {
|
|
|
144
151
|
_updateNode(dataItem) {
|
|
145
152
|
super._updateNode(dataItem);
|
|
146
153
|
this._animatePositions(dataItem);
|
|
147
|
-
const hierarchyNode = dataItem.get("d3HierarchyNode");
|
|
148
|
-
const hierarchyChildren = hierarchyNode.children;
|
|
149
|
-
if (hierarchyChildren) {
|
|
150
|
-
$array.each(hierarchyChildren, (hierarchyChild) => {
|
|
151
|
-
this._updateNodes(hierarchyChild);
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
154
|
const fill = dataItem.get("fill");
|
|
155
155
|
const fillPattern = dataItem.get("fillPattern");
|
|
156
156
|
const circle = dataItem.get("circle");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedHierarchy.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/LinkedHierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type * as d3hierarchy from \"d3-hierarchy\";\n\nimport { Hierarchy, IHierarchySettings, IHierarchyDataItem, IHierarchyPrivate, IHierarchyEvents } from \"./Hierarchy\";\nimport { Container } from \"../../core/render/Container\";\nimport { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport { HierarchyLink } from \"./HierarchyLink\";\nimport { Template } from \"../../core/util/Template\";\nimport { Circle } from \"../../core/render/Circle\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { List } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\n\n/**\n * @ignore\n */\nexport interface ILinkedHierarchyDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ILinkedHierarchyDataObject[],\n\tdataItem?: DataItem<ILinkedHierarchyDataItem>\n};\n\nexport interface ILinkedHierarchyDataItem extends IHierarchyDataItem {\n\n\t/**\n\t * An array of child data items.\n\t */\n\tchildren: Array<DataItem<ILinkedHierarchyDataItem>>;\n\n\t/**\n\t * A data item of a parent node.\n\t */\n\tparent: DataItem<ILinkedHierarchyDataItem>;\n\n\t/**\n\t * A related node.\n\t */\n\tnode: LinkedHierarchyNode;\n\n\t/**\n\t * [[Circle]] element of the related node.\n\t */\n\tcircle: Circle;\n\n\t/**\n\t * [[Circle]] element of the related node, representing outer circle.\n\t */\n\touterCircle: Circle;\n\n\t/**\n\t * A [[HierarchyLink]] leading to parent node.\n\t */\n\tparentLink: HierarchyLink;\n\n\t/**\n\t * An [[HierarchyLink]] leading to parent node.\n\t */\n\tlinks: Array<HierarchyLink>;\n\n\t/**\n\t * An array of [[HierarchyLink]] objects leading to child nodes.\n\t */\n\tchildLinks: Array<HierarchyLink>;\n\n\t/**\n\t * An array of IDs of directly linked nodes.\n\t */\n\tlinkWith: Array<string>;\n\n\t/**\n\t * @ignore\n\t */\n\td3HierarchyNode: d3hierarchy.HierarchyPointNode<ILinkedHierarchyDataObject>;\n}\n\nexport interface ILinkedHierarchySettings extends IHierarchySettings {\n\n\t/**\n\t * A field in data which holds IDs of nodes to link with.\n\t */\n\tlinkWithField?: string;\n\n}\n\nexport interface ILinkedHierarchyPrivate extends IHierarchyPrivate {\n}\n\nexport interface ILinkedHierarchyEvents extends IHierarchyEvents {\n}\n\n/**\n * A base class for linked hierarchy series.\n */\nexport abstract class LinkedHierarchy extends Hierarchy {\n\n\tpublic static className: string = \"LinkedHierarchy\";\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([LinkedHierarchy.className]);\n\n\tdeclare public _settings: ILinkedHierarchySettings;\n\tdeclare public _privateSettings: ILinkedHierarchyPrivate;\n\tdeclare public _dataItemSettings: ILinkedHierarchyDataItem;\n\tdeclare public _events: ILinkedHierarchyEvents;\n\n\tpublic linkBullets: List<<D extends DataItem<IHierarchyDataItem>>(root: Root, source: D, target:D) => Bullet | undefined> = new List();\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"linkWith\", \"x\", \"y\");\n\n\t\tthis._disposers.push(this.linkBullets.events.onAll(() => {\n\t\t\tthis.links.each((link) => {\n\t\t\t\tlink._handleBullets(this.linkBullets);\n\t\t\t})\n\t\t}))\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * A list of nodes in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<LinkedHierarchyNode>\n\t */\n\tpublic readonly nodes: ListTemplate<LinkedHierarchyNode> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => LinkedHierarchyNode._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.nodes.template.get(\"themeTags\", []), [this._tag, \"linkedhierarchy\", \"hierarchy\", \"node\"]),\n\t\t\tx: this.width() / 2,\n\t\t\ty: this.height() / 2\n\t\t}, [this.nodes.template])\n\t));\n\n\t/**\n\t * A list of node circle elements in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Circle>\n\t */\n\tpublic readonly circles: ListTemplate<Circle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Circle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.circles.template.get(\"themeTags\", []), [this._tag, \"shape\"])\n\t\t}, [this.circles.template])\n\t));\n\n\t/**\n\t * A list of node outer circle elements in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Circle>\n\t */\n\tpublic readonly outerCircles: ListTemplate<Circle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Circle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.outerCircles.template.get(\"themeTags\", []), [this._tag, \"outer\", \"shape\"])\n\t\t}, [this.outerCircles.template])\n\t));\n\n\t/**\n\t * A list of link elements in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<HierarchyLink>\n\t */\n\tpublic readonly links: ListTemplate<HierarchyLink> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => HierarchyLink._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.links.template.get(\"themeTags\", []), [this._tag, \"linkedhierarchy\", \"hierarchy\", \"link\"])\n\t\t}, [this.links.template])\n\t));\n\n\t/**\n\t * A [[Container]] that link elements are placed in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly linksContainer = this.children.moveValue(Container.new(this._root, {}), 0);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): LinkedHierarchyNode {\n\t\tconst node = super.makeNode(dataItem) as LinkedHierarchyNode;\n\n\t\tconst circle = node.children.moveValue(this.circles.make(), 0);\n\t\tthis.circles.push(circle);\n\t\tnode.setPrivate(\"tooltipTarget\", circle);\n\t\tdataItem.setRaw(\"circle\", circle);\n\n\t\tconst outerCircle = node.children.moveValue(this.outerCircles.make(), 0);\n\t\tthis.outerCircles.push(outerCircle);\n\t\tdataItem.setRaw(\"outerCircle\", outerCircle);\n\n\t\tconst label = dataItem.get(\"label\");\n\n\t\tcircle.on(\"radius\", () => {\n\t\t\tconst d = circle.get(\"radius\", this.width()) * 2;\n\t\t\tlabel.setAll({ maxWidth: d, maxHeight: d })\n\t\t\touterCircle.set(\"radius\", d / 2);\n\n\t\t\tthis._handleRadiusChange();\n\t\t})\n\n\t\tconst d = circle.get(\"radius\", this.width()) * 2;\n\t\tlabel.setAll({ maxWidth: d, maxHeight: d });\n\n\t\tcircle._setDataItem(dataItem);\n\t\touterCircle._setDataItem(dataItem);\n\n\t\treturn node;\n\t}\n\n\tpublic _handleRadiusChange() {\n\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tdataItem.setRaw(\"childLinks\", []);\n\t\tdataItem.setRaw(\"links\", []);\n\t\tsuper.processDataItem(dataItem);\n\t}\n\n\tprotected _processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._processDataItem(dataItem);\n\n\t\tconst parentDataItem = dataItem.get(\"parent\");\n\t\tif (parentDataItem && parentDataItem.get(\"depth\") >= this.get(\"topDepth\")) {\n\t\t\tconst link = this.linkDataItems(parentDataItem, dataItem);\n\t\t\tdataItem.setRaw(\"parentLink\", link);\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tthis.updateLinkWith(this.dataItems);\n\t\tnode._updateLinks(0);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLinkWith(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst linkWith = dataItem.get(\"linkWith\");\n\t\t\tif (linkWith) {\n\t\t\t\t$array.each(linkWith, (id) => {\n\t\t\t\t\tconst linkWithDataItem = this._getDataItemById(this.dataItems, id);\n\n\t\t\t\t\tif (linkWithDataItem) {\n\t\t\t\t\t\tthis.linkDataItems(dataItem, linkWithDataItem);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tthis.updateLinkWith(children);\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _getPoint(hierarchyNode: this[\"_dataItemSettings\"][\"d3HierarchyNode\"]): IPoint {\n\t\treturn { x: hierarchyNode.x, y: hierarchyNode.y };\n\t}\n\n\tprotected _animatePositions(dataItem: DataItem<this[\"_dataItemSettings\"]>){\n\t\tconst node = dataItem.get(\"node\");\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tconst point = this._getPoint(hierarchyNode);\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tnode.animate({ key: \"x\", to: point.x, duration: duration, easing: easing });\n\t\tnode.animate({ key: \"y\", to: point.y, duration: duration, easing: easing });\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tthis._animatePositions(dataItem);\n\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\tif (hierarchyChildren) {\n\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\tthis._updateNodes(hierarchyChild)\n\t\t\t})\n\t\t}\n\n\t\tconst fill = dataItem.get(\"fill\");\n\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\t\tconst circle = dataItem.get(\"circle\");\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif (circle) {\n\t\t\tcircle._setDefault(\"fill\", fill);\n\t\t\tcircle._setDefault(\"fillPattern\", fillPattern);\n\t\t\tcircle._setDefault(\"stroke\", fill);\n\t\t}\n\n\t\tconst outerCircle = dataItem.get(\"outerCircle\");\n\t\tif (outerCircle) {\n\t\t\touterCircle._setDefault(\"fill\", fill);\n\t\t\touterCircle._setDefault(\"stroke\", fill);\n\n\t\t\tif (!children || children.length == 0) {\n\t\t\t\touterCircle.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t\telse{\n\t\t\t\touterCircle.setPrivate(\"visible\", true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Link two data items with a link element.\n\t *\n\t * @param source Source node data item\n\t * @param target Target node data item\n\t * @param strength Link strength\n\t * @return Link element\n\t */\n\tpublic linkDataItems(source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>, strength?: number): HierarchyLink {\n\n\t\tlet link!: HierarchyLink;\n\n\t\tconst sourceLinks = source.get(\"links\");\n\n\t\tif (sourceLinks) {\n\t\t\t$array.each(sourceLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == target) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tconst targetLinks = target.get(\"links\");\n\n\t\tif (targetLinks) {\n\t\t\t$array.each(targetLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == source) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (!link) {\n\t\t\tlink = this.links.make();\n\t\t\tlink.series = this;\n\t\t\tthis.links.push(link);\n\t\t\tthis.linksContainer.children.push(link);\n\t\t\tlink.set(\"source\", source);\n\t\t\tlink.set(\"target\", target);\n\t\t\tlink._setDataItem(source);\n\n\t\t\tlink._handleBullets(this.linkBullets);\n\t\t\tlink.set(\"stroke\", source.get(\"fill\"));\n\t\t\tif (strength != null) {\n\t\t\t\tlink.set(\"strength\", strength)\n\t\t\t}\n\n\t\t\tsource.get(\"childLinks\").push(link);\n\n\t\t\t$array.move(source.get(\"links\"), link);\n\t\t\t$array.move(target.get(\"links\"), link);\n\n\t\t\tthis._processLink(link, source, target);\n\t\t}\n\n\t\treturn link;\n\t}\n\n\n\t/**\n\t * Unlink two linked data items.\n\t *\n\t * @param source Source node data item\n\t * @param target Target node data item\n\t */\n\tpublic unlinkDataItems(source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tlet link!: HierarchyLink;\n\n\t\tconst sourceLinks = source.get(\"links\");\n\n\t\tif (sourceLinks) {\n\t\t\t$array.each(sourceLinks, (lnk) => {\n\t\t\t\tif (lnk && lnk.get(\"target\") == target) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t\t$array.remove(sourceLinks, link);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tconst targetLinks = target.get(\"links\");\n\n\t\tif (targetLinks) {\n\t\t\t$array.each(targetLinks, (lnk) => {\n\t\t\t\tif (lnk && lnk.get(\"target\") == source) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t\t$array.remove(targetLinks, link);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (link) {\n\t\t\tthis._disposeLink(link);\n\t\t}\n\n\t\tthis._handleUnlink();\n\t}\n\n\tprotected _handleUnlink() {\n\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tthis.links.removeValue(link);\n\t\tlink.dispose();\n\t}\n\n\t/**\n\t * Returns `true` if two nodes are linked with each other.\n\t */\n\tpublic areLinked(source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tconst sourceLinks = source.get(\"links\");\n\t\tlet linked = false;\n\t\tif (sourceLinks) {\n\t\t\t$array.each(sourceLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == target) {\n\t\t\t\t\tlinked = true;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tconst targetLinks = target.get(\"links\");\n\n\t\tif (targetLinks) {\n\t\t\t$array.each(targetLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == source) {\n\t\t\t\t\tlinked = true;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\treturn linked;\n\t}\n\n\tprotected _processLink(_link: HierarchyLink, _source: DataItem<this[\"_dataItemSettings\"]>, _target: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst links = dataItem.get(\"links\");\n\t\tif (links) {\n\t\t\t$array.each(links, (link) => {\n\t\t\t\tthis._disposeLink(link)\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Select a data item.\n\t * @param dataItem Data item\n\t */\n\tpublic selectDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\n\t\tif (!dataItem.get(\"disabled\")) {\n\t\t\tthis.set(\"selectedDataItem\", dataItem);\n\t\t}\n\t\telse {\n\t\t\tif (parent) {\n\t\t\t\tthis.setRaw(\"selectedDataItem\", parent);\n\t\t\t\tconst type = \"dataitemselected\";\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this, dataItem: parent });\n\t\t\t\tthis.disableDataItem(dataItem);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"LinkedHierarchy.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/LinkedHierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type * as d3hierarchy from \"d3-hierarchy\";\n\nimport { Hierarchy, IHierarchySettings, IHierarchyDataItem, IHierarchyPrivate, IHierarchyEvents } from \"./Hierarchy\";\nimport { Container } from \"../../core/render/Container\";\nimport { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport { HierarchyLink } from \"./HierarchyLink\";\nimport { Template } from \"../../core/util/Template\";\nimport { Circle } from \"../../core/render/Circle\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { List } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\n\n/**\n * @ignore\n */\nexport interface ILinkedHierarchyDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ILinkedHierarchyDataObject[],\n\tdataItem?: DataItem<ILinkedHierarchyDataItem>\n};\n\nexport interface ILinkedHierarchyDataItem extends IHierarchyDataItem {\n\n\t/**\n\t * An array of child data items.\n\t */\n\tchildren: Array<DataItem<ILinkedHierarchyDataItem>>;\n\n\t/**\n\t * A data item of a parent node.\n\t */\n\tparent: DataItem<ILinkedHierarchyDataItem>;\n\n\t/**\n\t * A related node.\n\t */\n\tnode: LinkedHierarchyNode;\n\n\t/**\n\t * [[Circle]] element of the related node.\n\t */\n\tcircle: Circle;\n\n\t/**\n\t * [[Circle]] element of the related node, representing outer circle.\n\t */\n\touterCircle: Circle;\n\n\t/**\n\t * A [[HierarchyLink]] leading to parent node.\n\t */\n\tparentLink: HierarchyLink;\n\n\t/**\n\t * An [[HierarchyLink]] leading to parent node.\n\t */\n\tlinks: Array<HierarchyLink>;\n\n\t/**\n\t * An array of [[HierarchyLink]] objects leading to child nodes.\n\t */\n\tchildLinks: Array<HierarchyLink>;\n\n\t/**\n\t * An array of IDs of directly linked nodes.\n\t */\n\tlinkWith: Array<string>;\n\n\t/**\n\t * @ignore\n\t */\n\td3HierarchyNode: d3hierarchy.HierarchyPointNode<ILinkedHierarchyDataObject>;\n}\n\nexport interface ILinkedHierarchySettings extends IHierarchySettings {\n\n\t/**\n\t * A field in data which holds IDs of nodes to link with.\n\t */\n\tlinkWithField?: string;\n\n}\n\nexport interface ILinkedHierarchyPrivate extends IHierarchyPrivate {\n}\n\nexport interface ILinkedHierarchyEvents extends IHierarchyEvents {\n}\n\n/**\n * A base class for linked hierarchy series.\n */\n\nexport abstract class LinkedHierarchy extends Hierarchy {\n\n\tpublic static className: string = \"LinkedHierarchy\";\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([LinkedHierarchy.className]);\n\n\tdeclare public _settings: ILinkedHierarchySettings;\n\tdeclare public _privateSettings: ILinkedHierarchyPrivate;\n\tdeclare public _dataItemSettings: ILinkedHierarchyDataItem;\n\tdeclare public _events: ILinkedHierarchyEvents;\n\n\tpublic linkBullets: List<<D extends DataItem<IHierarchyDataItem>>(root: Root, source: D, target:D) => Bullet | undefined> = new List();\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"linkWith\", \"x\", \"y\");\n\n\t\tthis._disposers.push(this.linkBullets.events.onAll(() => {\n\t\t\tthis.links.each((link) => {\n\t\t\t\tlink._handleBullets(this.linkBullets);\n\t\t\t})\n\t\t}))\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * A list of nodes in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<LinkedHierarchyNode>\n\t */\n\tpublic readonly nodes: ListTemplate<LinkedHierarchyNode> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => LinkedHierarchyNode._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.nodes.template.get(\"themeTags\", []), [this._tag, \"linkedhierarchy\", \"hierarchy\", \"node\"]),\n\t\t\tx: this.width() / 2,\n\t\t\ty: this.height() / 2\n\t\t}, [this.nodes.template])\n\t));\n\n\t/**\n\t * A list of node circle elements in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Circle>\n\t */\n\tpublic readonly circles: ListTemplate<Circle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Circle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.circles.template.get(\"themeTags\", []), [this._tag, \"shape\"])\n\t\t}, [this.circles.template])\n\t));\n\n\t/**\n\t * A list of node outer circle elements in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Circle>\n\t */\n\tpublic readonly outerCircles: ListTemplate<Circle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Circle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.outerCircles.template.get(\"themeTags\", []), [this._tag, \"outer\", \"shape\"])\n\t\t}, [this.outerCircles.template])\n\t));\n\n\t/**\n\t * A list of link elements in a [[LinkedHierarchy]] chart.\n\t *\n\t * @default new ListTemplate<HierarchyLink>\n\t */\n\tpublic readonly links: ListTemplate<HierarchyLink> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => HierarchyLink._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.links.template.get(\"themeTags\", []), [this._tag, \"linkedhierarchy\", \"hierarchy\", \"link\"])\n\t\t}, [this.links.template])\n\t));\n\n\t/**\n\t * A [[Container]] that link elements are placed in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly linksContainer = this.children.moveValue(Container.new(this._root, {}), 0);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): LinkedHierarchyNode {\n\t\tconst node = super.makeNode(dataItem) as LinkedHierarchyNode;\n\n\t\tconst circle = node.children.moveValue(this.circles.make(), 0);\n\t\tthis.circles.push(circle);\n\t\tnode.setPrivate(\"tooltipTarget\", circle);\n\t\tdataItem.setRaw(\"circle\", circle);\n\n\t\tconst outerCircle = node.children.moveValue(this.outerCircles.make(), 0);\n\t\tthis.outerCircles.push(outerCircle);\n\t\tdataItem.setRaw(\"outerCircle\", outerCircle);\n\n\t\tconst label = dataItem.get(\"label\");\n\n\t\tcircle.on(\"radius\", () => {\n\t\t\tconst d = circle.get(\"radius\", this.width()) * 2;\n\t\t\tlabel.setAll({ maxWidth: d, maxHeight: d })\n\t\t\touterCircle.set(\"radius\", d / 2);\n\n\t\t\tthis._handleRadiusChange();\n\t\t})\n\n\t\tconst d = circle.get(\"radius\", this.width()) * 2;\n\t\tlabel.setAll({ maxWidth: d, maxHeight: d });\n\n\t\tcircle._setDataItem(dataItem);\n\t\touterCircle._setDataItem(dataItem);\n\n\t\treturn node;\n\t}\n\n\tpublic _handleRadiusChange() {\n\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tdataItem.setRaw(\"childLinks\", []);\n\t\tdataItem.setRaw(\"links\", []);\n\t\tsuper.processDataItem(dataItem);\n\n\t\t// Run updateLinkWith once after the entire tree is processed, not per-node\n\t\tif (!dataItem.get(\"parent\")) {\n\t\t\tthis.updateLinkWith(this.dataItems);\n\t\t}\n\t}\n\n\tpublic addChildData(dataItem: DataItem<this[\"_dataItemSettings\"]>, data: Array<any>) {\n\t\tsuper.addChildData(dataItem, data);\n\t\tthis.updateLinkWith(this.dataItems);\n\t}\n\n\tprotected _processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._processDataItem(dataItem);\n\n\t\tconst parentDataItem = dataItem.get(\"parent\");\n\t\tif (parentDataItem && parentDataItem.get(\"depth\") >= this.get(\"topDepth\", 0)) {\n\t\t\tconst link = this.linkDataItems(parentDataItem, dataItem);\n\t\t\tdataItem.setRaw(\"parentLink\", link);\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode._updateLinks(0);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLinkWith(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst linkWith = dataItem.get(\"linkWith\");\n\t\t\tif (linkWith) {\n\t\t\t\t$array.each(linkWith, (id) => {\n\t\t\t\t\tconst linkWithDataItem = this._getDataItemById(this.dataItems, id);\n\n\t\t\t\t\tif (linkWithDataItem) {\n\t\t\t\t\t\tthis.linkDataItems(dataItem, linkWithDataItem);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tthis.updateLinkWith(children);\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _getPoint(hierarchyNode: this[\"_dataItemSettings\"][\"d3HierarchyNode\"]): IPoint {\n\t\treturn { x: hierarchyNode.x, y: hierarchyNode.y };\n\t}\n\n\tprotected _animatePositions(dataItem: DataItem<this[\"_dataItemSettings\"]>){\n\t\tconst node = dataItem.get(\"node\");\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tconst point = this._getPoint(hierarchyNode);\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tnode.animate({ key: \"x\", to: point.x, duration: duration, easing: easing });\n\t\tnode.animate({ key: \"y\", to: point.y, duration: duration, easing: easing });\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tthis._animatePositions(dataItem);\n\n\t\tconst fill = dataItem.get(\"fill\");\n\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\t\tconst circle = dataItem.get(\"circle\");\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif (circle) {\n\t\t\tcircle._setDefault(\"fill\", fill);\n\t\t\tcircle._setDefault(\"fillPattern\", fillPattern);\n\t\t\tcircle._setDefault(\"stroke\", fill);\n\t\t}\n\n\t\tconst outerCircle = dataItem.get(\"outerCircle\");\n\t\tif (outerCircle) {\n\t\t\touterCircle._setDefault(\"fill\", fill);\n\t\t\touterCircle._setDefault(\"stroke\", fill);\n\n\t\t\tif (!children || children.length == 0) {\n\t\t\t\touterCircle.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t\telse{\n\t\t\t\touterCircle.setPrivate(\"visible\", true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Link two data items with a link element.\n\t *\n\t * @param source Source node data item\n\t * @param target Target node data item\n\t * @param strength Link strength\n\t * @return Link element\n\t */\n\tpublic linkDataItems(source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>, strength?: number): HierarchyLink {\n\n\t\tlet link!: HierarchyLink;\n\n\t\tconst sourceLinks = source.get(\"links\");\n\n\t\tif (sourceLinks) {\n\t\t\t$array.each(sourceLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == target) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tconst targetLinks = target.get(\"links\");\n\n\t\tif (targetLinks) {\n\t\t\t$array.each(targetLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == source) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (!link) {\n\t\t\tlink = this.links.make();\n\t\t\tlink.series = this;\n\t\t\tthis.links.push(link);\n\t\t\tthis.linksContainer.children.push(link);\n\t\t\tlink.set(\"source\", source);\n\t\t\tlink.set(\"target\", target);\n\t\t\tlink._setDataItem(source);\n\n\t\t\tlink._handleBullets(this.linkBullets);\n\t\t\tlink.set(\"stroke\", source.get(\"fill\"));\n\t\t\tif (strength != null) {\n\t\t\t\tlink.set(\"strength\", strength)\n\t\t\t}\n\n\t\t\tsource.get(\"childLinks\").push(link);\n\n\t\t\t$array.move(source.get(\"links\"), link);\n\t\t\t$array.move(target.get(\"links\"), link);\n\n\t\t\tthis._processLink(link, source, target);\n\t\t}\n\n\t\treturn link;\n\t}\n\n\n\t/**\n\t * Unlink two linked data items.\n\t *\n\t * @param source Source node data item\n\t * @param target Target node data item\n\t */\n\tpublic unlinkDataItems(source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tlet link!: HierarchyLink;\n\n\t\tconst sourceLinks = source.get(\"links\");\n\n\t\tif (sourceLinks) {\n\t\t\t$array.each(sourceLinks, (lnk) => {\n\t\t\t\tif (lnk && lnk.get(\"target\") == target) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t\t$array.remove(sourceLinks, link);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tconst targetLinks = target.get(\"links\");\n\n\t\tif (targetLinks) {\n\t\t\t$array.each(targetLinks, (lnk) => {\n\t\t\t\tif (lnk && lnk.get(\"target\") == source) {\n\t\t\t\t\tlink = lnk;\n\t\t\t\t\t$array.remove(targetLinks, link);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (link) {\n\t\t\tthis._disposeLink(link);\n\t\t}\n\n\t\tthis._handleUnlink();\n\t}\n\n\tprotected _handleUnlink() {\n\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tthis.links.removeValue(link);\n\t\tlink.dispose();\n\t}\n\n\t/**\n\t * Returns `true` if two nodes are linked with each other.\n\t */\n\tpublic areLinked(source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tconst sourceLinks = source.get(\"links\");\n\t\tlet linked = false;\n\t\tif (sourceLinks) {\n\t\t\t$array.each(sourceLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == target) {\n\t\t\t\t\tlinked = true;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tconst targetLinks = target.get(\"links\");\n\n\t\tif (targetLinks) {\n\t\t\t$array.each(targetLinks, (lnk) => {\n\t\t\t\tif (lnk.get(\"target\") == source) {\n\t\t\t\t\tlinked = true;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\treturn linked;\n\t}\n\n\tprotected _processLink(_link: HierarchyLink, _source: DataItem<this[\"_dataItemSettings\"]>, _target: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst links = dataItem.get(\"links\");\n\t\tif (links) {\n\t\t\t$array.each(links, (link) => {\n\t\t\t\tthis._disposeLink(link)\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Select a data item.\n\t * @param dataItem Data item\n\t */\n\tpublic selectDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\n\t\tif (!dataItem.get(\"disabled\")) {\n\t\t\tthis.set(\"selectedDataItem\", dataItem);\n\t\t}\n\t\telse {\n\t\t\tif (parent) {\n\t\t\t\tthis.setRaw(\"selectedDataItem\", parent);\n\t\t\t\tconst type = \"dataitemselected\";\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this, dataItem: parent });\n\t\t\t\tthis.disableDataItem(dataItem);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -33,6 +33,26 @@ export interface ITreeSettings extends ILinkedHierarchySettings {
|
|
|
33
33
|
* @since 5.2.4
|
|
34
34
|
*/
|
|
35
35
|
inversed?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* If set to `true`, will use cluster layout (dendrogram) where all leaf
|
|
38
|
+
* nodes are placed at the same depth.
|
|
39
|
+
*
|
|
40
|
+
* @default false
|
|
41
|
+
* @since 5.16.2
|
|
42
|
+
*/
|
|
43
|
+
clustered?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* A function that returns the desired separation between neighboring
|
|
46
|
+
* nodes. Receives two data items and should return a numeric value.
|
|
47
|
+
*
|
|
48
|
+
* Default is `1` for siblings, `2` for non-siblings.
|
|
49
|
+
*
|
|
50
|
+
* Can be used to create variable node spacing based on value, label
|
|
51
|
+
* size, or other data properties.
|
|
52
|
+
*
|
|
53
|
+
* @since 5.16.2
|
|
54
|
+
*/
|
|
55
|
+
nodeSeparation?: (a: DataItem<ITreeDataItem>, b: DataItem<ITreeDataItem>) => number;
|
|
36
56
|
}
|
|
37
57
|
export interface ITreePrivate extends ILinkedHierarchyPrivate {
|
|
38
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEzJ,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,wBAAwB;IAE9D;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAEzC;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;CAEhC;AAED,MAAM,WAAW,aAAc,SAAQ,wBAAwB;IAE9D;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEzJ,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,wBAAwB;IAE9D;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAEzC;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;CAEhC;AAED,MAAM,WAAW,aAAc,SAAQ,wBAAwB;IAE9D;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;CAEpF;AAED,MAAM,WAAW,YAAa,SAAQ,uBAAuB;IAE5D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,sBAAsB;CAC1D;AAED;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,eAAe;IAEzB,SAAS,EAAE,aAAa,CAAC;IACzB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,iBAAiB,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAU;IAEhC,OAAc,SAAS,EAAE,MAAM,CAAU;IACzC,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAEvF,gBAAgB,kCAAsB;IAC9B,SAAS,EAAE,WAAW,CAAC,qBAAqB,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IAClF,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IAEvC,gBAAgB;IAavB,SAAS,CAAC,cAAc;IAwBxB,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,iBAAiB,CAAC,GAAG,MAAM;CAoBxF"}
|
|
@@ -15,7 +15,11 @@ export class Tree extends LinkedHierarchy {
|
|
|
15
15
|
}
|
|
16
16
|
_prepareChildren() {
|
|
17
17
|
super._prepareChildren();
|
|
18
|
-
if (this.isDirty("
|
|
18
|
+
if (this.isDirty("clustered")) {
|
|
19
|
+
this._hierarchyLayout = this.get("clustered") ? d3hierarchy.cluster() : d3hierarchy.tree();
|
|
20
|
+
this._updateVisuals();
|
|
21
|
+
}
|
|
22
|
+
if (this.isDirty("orientation") || this.isDirty("inversed") || this.isDirty("nodeSeparation")) {
|
|
19
23
|
this._updateVisuals();
|
|
20
24
|
}
|
|
21
25
|
}
|
|
@@ -28,6 +32,12 @@ export class Tree extends LinkedHierarchy {
|
|
|
28
32
|
else {
|
|
29
33
|
layout.size([this.innerHeight(), this.innerWidth()]);
|
|
30
34
|
}
|
|
35
|
+
const nodeSeparation = this.get("nodeSeparation");
|
|
36
|
+
if (nodeSeparation) {
|
|
37
|
+
layout.separation((a, b) => {
|
|
38
|
+
return nodeSeparation(a.data.dataItem, b.data.dataItem);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
31
41
|
layout(this._rootNode);
|
|
32
42
|
}
|
|
33
43
|
super._updateVisuals();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAuG,MAAM,mBAAmB,CAAC;AAEzJ,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAO3C,CAAC;
|
|
1
|
+
{"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { LinkedHierarchy, ILinkedHierarchyPrivate, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreeDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ITreeDataObject[],\n\tdataItem?: DataItem<ITreeDataItem>\n};\n\nexport interface ITreeDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of children data items.\n\t */\n\tchildren: Array<DataItem<ITreeDataItem>>;\n\n\t/**\n\t * Parent data item.\n\t * @type {DataItem<ITreeDataItem>}\n\t */\n\tparent: DataItem<ITreeDataItem>;\n\n}\n\nexport interface ITreeSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Orientation of the diagram.\n\t *\n\t * @default \"vertical\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n\n\t/**\n\t * If set to `true`, will flip the tree direction.\n\t *\n\t * @default false\n\t * @since 5.2.4\n\t */\n\tinversed?: boolean;\n\n\t/**\n\t * If set to `true`, will use cluster layout (dendrogram) where all leaf\n\t * nodes are placed at the same depth.\n\t *\n\t * @default false\n\t * @since 5.16.2\n\t */\n\tclustered?: boolean;\n\n\t/**\n\t * A function that returns the desired separation between neighboring\n\t * nodes. Receives two data items and should return a numeric value.\n\t *\n\t * Default is `1` for siblings, `2` for non-siblings.\n\t *\n\t * Can be used to create variable node spacing based on value, label\n\t * size, or other data properties.\n\t *\n\t * @since 5.16.2\n\t */\n\tnodeSeparation?: (a: DataItem<ITreeDataItem>, b: DataItem<ITreeDataItem>) => number;\n\n}\n\nexport interface ITreePrivate extends ILinkedHierarchyPrivate {\n\n\t/**\n\t * Current horizontal scale.\n\t */\n\tscaleX?: number;\n\n\t/**\n\t * Current vertical scale.\n\t */\n\tscaleY?: number;\n}\n\nexport interface ITreeEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Displays a tree diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/tree/} for more info\n * @important\n */\nexport class Tree extends LinkedHierarchy {\n\n\tdeclare public _settings: ITreeSettings;\n\tdeclare public _privateSettings: ITreePrivate;\n\tdeclare public _dataItemSettings: ITreeDataItem;\n\n\tprotected _tag: string = \"tree\";\n\n\tpublic static className: string = \"Tree\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([Tree.className]);\n\n\tpublic _hierarchyLayout = d3hierarchy.tree();\n\tdeclare public _rootNode: d3hierarchy.HierarchyCircularNode<ITreeDataObject> | undefined;\n\tpublic _packData: ITreeDataObject | undefined;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"clustered\")) {\n\t\t\tthis._hierarchyLayout = this.get(\"clustered\") ? d3hierarchy.cluster() : d3hierarchy.tree();\n\t\t\tthis._updateVisuals();\n\t\t}\n\n\t\tif (this.isDirty(\"orientation\") || this.isDirty(\"inversed\") || this.isDirty(\"nodeSeparation\")) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst layout = this._hierarchyLayout;\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tlayout.size([this.innerWidth(), this.innerHeight()]);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlayout.size([this.innerHeight(), this.innerWidth()]);\n\t\t\t}\n\n\t\t\tconst nodeSeparation = this.get(\"nodeSeparation\");\n\t\t\tif (nodeSeparation) {\n\t\t\t\tlayout.separation((a: any, b: any) => {\n\t\t\t\t\treturn nodeSeparation(a.data.dataItem, b.data.dataItem);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlayout(this._rootNode);\n\t\t}\n\n\t\tsuper._updateVisuals();\n\t}\n\n\tprotected _getPoint(hierarchyNode: this[\"_dataItemSettings\"][\"d3HierarchyNode\"]): IPoint {\n\t\tconst inversed = this.get(\"inversed\");\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: hierarchyNode.x, y: this.innerHeight() - hierarchyNode.y };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.x, y: hierarchyNode.y };\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: this.innerWidth() - hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t}\n\t}\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapChartDefaultTheme.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapChartDefaultTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAQzC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,SAAS,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"MapChartDefaultTheme.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapChartDefaultTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAQzC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,SAAS,CAAC,iBAAiB;CAwG3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapChartDefaultTheme.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapChartDefaultTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme } from \"../../core/Theme\";\r\nimport { setColor } from \"../../themes/DefaultTheme\";\r\n\r\nimport { geoMercator } from \"d3-geo\";\r\n\r\nimport * as $ease from \"../../core/util/Ease\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport class MapChartDefaultTheme extends Theme {\r\n\tprotected setupDefaultRules() {\r\n\t\tsuper.setupDefaultRules();\r\n\r\n\t\tconst ic = this._root.interfaceColors;\r\n\t\tconst r = this.rule.bind(this);\r\n\r\n\t\t/**\r\n\t\t * ========================================================================\r\n\t\t * charts/map\r\n\t\t * ========================================================================\r\n\t\t */\r\n\r\n\t\tr(\"MapChart\").setAll({\r\n\t\t\tprojection: geoMercator(),\r\n\t\t\tpanX: \"translateX\",\r\n\t\t\tpanY: \"translateY\",\r\n\t\t\tpinchZoom: true,\r\n\t\t\tzoomStep: 2,\r\n\t\t\tzoomLevel: 1,\r\n\t\t\trotationX: 0,\r\n\t\t\trotationY: 0,\r\n\t\t\trotationZ: 0,\r\n\t\t\tmaxZoomLevel: 32,\r\n\t\t\tminZoomLevel: 1,\r\n\t\t\twheelY: \"zoom\",\r\n\t\t\twheelX: \"none\",\r\n\t\t\tanimationEasing: $ease.out($ease.cubic),\r\n\t\t\twheelEasing: $ease.out($ease.cubic),\r\n\t\t\twheelDuration: 0,\r\n\t\t\twheelSensitivity: 1,\r\n\t\t\tmaxPanOut: 0.4,\r\n\t\t\tcenterMapOnZoomOut: true\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"MapLine\");\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tprecision: 0.5,\r\n\t\t\t\trole: \"figure\",\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"grid\");\r\n\t\t}\r\n\r\n\t\tr(\"MapPolygonSeries\").setAll({\r\n\t\t\taffectsBounds: true\r\n\t\t})\r\n\r\n\r\n\t\tr(\"MapPointSeries\").setAll({\r\n\t\t\taffectsBounds: false,\r\n\t\t\tclipFront: false,\r\n\t\t\tclipBack: true,\r\n\t\t\tautoScale: false\r\n\t\t})\r\n\r\n\t\tr(\"ClusteredPointSeries\").setAll({\r\n\t\t\tminDistance: 20,\r\n\t\t\tscatterDistance: 3,\r\n\t\t\tscatterRadius: 8,\r\n\t\t\tstopClusterZoom: 0.95\r\n\t\t})\r\n\r\n\t\tr(\"MapLineSeries\").setAll({\r\n\t\t\taffectsBounds: false\r\n\t\t})\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"MapPolygon\");\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tprecision: 0.5,\r\n\t\t\t\tisMeasured: false,\r\n\t\t\t\trole: \"figure\",\r\n\t\t\t\tfillOpacity: 1,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tstrokeWidth: 0.2,\r\n\t\t\t\tstrokeOpacity: 1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\tr(\"Button\", [\"zoomtools\", \"home\"]).setAll({\r\n\t\t\tvisible: false\r\n\t\t});\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/map: Series\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"GraticuleSeries\").setAll({\r\n\t\t\tstep: 10\r\n\t\t});\r\n\t}\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"MapChartDefaultTheme.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapChartDefaultTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme } from \"../../core/Theme\";\r\nimport { setColor } from \"../../themes/DefaultTheme\";\r\n\r\nimport { geoMercator } from \"d3-geo\";\r\n\r\nimport * as $ease from \"../../core/util/Ease\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport class MapChartDefaultTheme extends Theme {\r\n\tprotected setupDefaultRules() {\r\n\t\tsuper.setupDefaultRules();\r\n\r\n\t\tconst ic = this._root.interfaceColors;\r\n\t\tconst r = this.rule.bind(this);\r\n\r\n\t\t/**\r\n\t\t * ========================================================================\r\n\t\t * charts/map\r\n\t\t * ========================================================================\r\n\t\t */\r\n\r\n\t\tr(\"MapChart\").setAll({\r\n\t\t\tprojection: geoMercator(),\r\n\t\t\tpanX: \"translateX\",\r\n\t\t\tpanY: \"translateY\",\r\n\t\t\tpinchZoom: true,\r\n\t\t\tzoomStep: 2,\r\n\t\t\tzoomLevel: 1,\r\n\t\t\trotationX: 0,\r\n\t\t\trotationY: 0,\r\n\t\t\trotationZ: 0,\r\n\t\t\tmaxZoomLevel: 32,\r\n\t\t\tminZoomLevel: 1,\r\n\t\t\twheelY: \"zoom\",\r\n\t\t\twheelX: \"none\",\r\n\t\t\tanimationEasing: $ease.out($ease.cubic),\r\n\t\t\twheelEasing: $ease.out($ease.cubic),\r\n\t\t\twheelDuration: 0,\r\n\t\t\twheelSensitivity: 1,\r\n\t\t\tmaxPanOut: 0.4,\r\n\t\t\tcenterMapOnZoomOut: true\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"MapLine\");\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tprecision: 0.5,\r\n\t\t\t\trole: \"figure\",\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"grid\");\r\n\t\t}\r\n\r\n\t\tr(\"MapPolygonSeries\").setAll({\r\n\t\t\taffectsBounds: true\r\n\t\t})\r\n\r\n\r\n\t\tr(\"MapPointSeries\").setAll({\r\n\t\t\taffectsBounds: false,\r\n\t\t\tclipFront: false,\r\n\t\t\tclipBack: true,\r\n\t\t\tautoScale: false\r\n\t\t})\r\n\r\n\t\tr(\"ClusteredPointSeries\").setAll({\r\n\t\t\tminDistance: 20,\r\n\t\t\tscatterDistance: 3,\r\n\t\t\tscatterRadius: 8,\r\n\t\t\tstopClusterZoom: 0.95\r\n\t\t})\r\n\r\n\t\tr(\"MapLineSeries\").setAll({\r\n\t\t\taffectsBounds: false\r\n\t\t})\r\n\r\n\t\tr(\"MapSankeySeries\").setAll({\r\n\t\t\taffectsBounds: false\r\n\t\t})\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"MapPolygon\");\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tprecision: 0.5,\r\n\t\t\t\tisMeasured: false,\r\n\t\t\t\trole: \"figure\",\r\n\t\t\t\tfillOpacity: 1,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tstrokeWidth: 0.2,\r\n\t\t\t\tstrokeOpacity: 1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\tr(\"Button\", [\"zoomtools\", \"home\"]).setAll({\r\n\t\t\tvisible: false\r\n\t\t});\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/map: Series\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"GraticuleSeries\").setAll({\r\n\t\t\tstep: 10\r\n\t\t});\r\n\t}\r\n}\r\n"]}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import type { DataItem } from "../../core/render/Component";
|
|
2
|
+
import type { Color } from "../../core/util/Color";
|
|
3
|
+
import type { ColorSet } from "../../core/util/ColorSet";
|
|
4
|
+
import type { MapSankeySeries, IMapSankeySeriesDataItem } from "./MapSankeySeries";
|
|
5
|
+
import { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from "../../core/render/Series";
|
|
6
|
+
import { MapPolygon } from "./MapPolygon";
|
|
7
|
+
import { ListTemplate } from "../../core/util/List";
|
|
8
|
+
export interface IMapSankeyNodesDataItem extends ISeriesDataItem {
|
|
9
|
+
/**
|
|
10
|
+
* Node name.
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Node color.
|
|
15
|
+
*/
|
|
16
|
+
fill: Color;
|
|
17
|
+
/**
|
|
18
|
+
* Sum of values of all incoming links.
|
|
19
|
+
*/
|
|
20
|
+
sumIncoming: number;
|
|
21
|
+
/**
|
|
22
|
+
* Sum of values of all outgoing links.
|
|
23
|
+
*/
|
|
24
|
+
sumOutgoing: number;
|
|
25
|
+
/**
|
|
26
|
+
* Sum of values of all links: incoming and outgoing.
|
|
27
|
+
*/
|
|
28
|
+
sum: number;
|
|
29
|
+
/**
|
|
30
|
+
* A list of incoming link data items.
|
|
31
|
+
*/
|
|
32
|
+
incomingLinks: Array<DataItem<IMapSankeySeriesDataItem>>;
|
|
33
|
+
/**
|
|
34
|
+
* A list of outgoing link data items.
|
|
35
|
+
*/
|
|
36
|
+
outgoingLinks: Array<DataItem<IMapSankeySeriesDataItem>>;
|
|
37
|
+
/**
|
|
38
|
+
* Node longitude.
|
|
39
|
+
*/
|
|
40
|
+
longitude: number;
|
|
41
|
+
/**
|
|
42
|
+
* Node latitude.
|
|
43
|
+
*/
|
|
44
|
+
latitude: number;
|
|
45
|
+
/**
|
|
46
|
+
* Related [[MapPolygon]] object (circle or bar shape).
|
|
47
|
+
*/
|
|
48
|
+
mapPolygon: MapPolygon;
|
|
49
|
+
}
|
|
50
|
+
export interface IMapSankeyNodesSettings extends ISeriesSettings {
|
|
51
|
+
/**
|
|
52
|
+
* A field in data that holds name for the node.
|
|
53
|
+
* @default "name"
|
|
54
|
+
*/
|
|
55
|
+
nameField?: string;
|
|
56
|
+
/**
|
|
57
|
+
* A field in data that holds color used for node fill.
|
|
58
|
+
* @default "fill"
|
|
59
|
+
*/
|
|
60
|
+
fillField?: string;
|
|
61
|
+
/**
|
|
62
|
+
* A field in data that holds the node longitude.
|
|
63
|
+
* @default "longitude"
|
|
64
|
+
*/
|
|
65
|
+
longitudeField?: string;
|
|
66
|
+
/**
|
|
67
|
+
* A field in data that holds the node latitude.
|
|
68
|
+
* @default "latitude"
|
|
69
|
+
*/
|
|
70
|
+
latitudeField?: string;
|
|
71
|
+
/**
|
|
72
|
+
* A [[ColorSet]] that series will use to apply to its nodes.
|
|
73
|
+
*/
|
|
74
|
+
colors?: ColorSet;
|
|
75
|
+
}
|
|
76
|
+
export interface IMapSankeyNodesPrivate extends ISeriesPrivate {
|
|
77
|
+
}
|
|
78
|
+
export interface IMapSankeyNodesEvents extends ISeriesEvents {
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Holds instances of nodes for a [[MapSankeySeries]].
|
|
82
|
+
*
|
|
83
|
+
* @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-sankey-series/} for more info
|
|
84
|
+
* @since 5.17.0
|
|
85
|
+
* @important
|
|
86
|
+
*/
|
|
87
|
+
export declare class MapSankeyNodes extends Series {
|
|
88
|
+
static className: string;
|
|
89
|
+
static classNames: Array<string>;
|
|
90
|
+
_settings: IMapSankeyNodesSettings;
|
|
91
|
+
_privateSettings: IMapSankeyNodesPrivate;
|
|
92
|
+
_dataItemSettings: IMapSankeyNodesDataItem;
|
|
93
|
+
_events: IMapSankeyNodesEvents;
|
|
94
|
+
/**
|
|
95
|
+
* Related [[MapSankeySeries]].
|
|
96
|
+
*/
|
|
97
|
+
flow: MapSankeySeries | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Flag indicating user has explicitly set node data.
|
|
100
|
+
* Prevents auto-clearing of nodes when link data changes.
|
|
101
|
+
* @ignore
|
|
102
|
+
*/
|
|
103
|
+
_userDataSet: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* A [[ListTemplate]] of all node polygons.
|
|
106
|
+
*
|
|
107
|
+
* `mapPolygons.template` can be used to configure node appearance.
|
|
108
|
+
*
|
|
109
|
+
* @default new ListTemplate<MapPolygon>
|
|
110
|
+
*/
|
|
111
|
+
readonly mapPolygons: ListTemplate<MapPolygon>;
|
|
112
|
+
/**
|
|
113
|
+
* @ignore
|
|
114
|
+
*/
|
|
115
|
+
_applyThemes(force?: boolean): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* @ignore
|
|
118
|
+
*/
|
|
119
|
+
protected _afterNew(): void;
|
|
120
|
+
/**
|
|
121
|
+
* @ignore
|
|
122
|
+
*/
|
|
123
|
+
protected _onDataClear(): void;
|
|
124
|
+
/**
|
|
125
|
+
* Processes a newly added node data item, assigning a fill color
|
|
126
|
+
* and creating its map polygon.
|
|
127
|
+
*
|
|
128
|
+
* @param dataItem Data item to process
|
|
129
|
+
*/
|
|
130
|
+
protected processDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
131
|
+
/**
|
|
132
|
+
* @ignore
|
|
133
|
+
*/
|
|
134
|
+
_updateNodeColor(dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
135
|
+
/**
|
|
136
|
+
* Creates a MapPolygon visual for a node data item.
|
|
137
|
+
* @ignore
|
|
138
|
+
*/
|
|
139
|
+
makeMapPolygon(dataItem: DataItem<this["_dataItemSettings"]>): MapPolygon;
|
|
140
|
+
/**
|
|
141
|
+
* Add an incoming link to a node data item.
|
|
142
|
+
* @ignore
|
|
143
|
+
*/
|
|
144
|
+
addIncomingLink(dataItem: DataItem<this["_dataItemSettings"]>, link: DataItem<IMapSankeySeriesDataItem>): void;
|
|
145
|
+
/**
|
|
146
|
+
* Add an outgoing link to a node data item.
|
|
147
|
+
* @ignore
|
|
148
|
+
*/
|
|
149
|
+
addOutgoingLink(dataItem: DataItem<this["_dataItemSettings"]>, link: DataItem<IMapSankeySeriesDataItem>): void;
|
|
150
|
+
/**
|
|
151
|
+
* @ignore
|
|
152
|
+
*/
|
|
153
|
+
disposeDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=MapSankeyNodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapSankeyNodes.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapSankeyNodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { Series } from "../../core/render/Series";
|
|
2
|
+
import { MapPolygon } from "./MapPolygon";
|
|
3
|
+
import { Template } from "../../core/util/Template";
|
|
4
|
+
import { ListTemplate } from "../../core/util/List";
|
|
5
|
+
/**
|
|
6
|
+
* Holds instances of nodes for a [[MapSankeySeries]].
|
|
7
|
+
*
|
|
8
|
+
* @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-sankey-series/} for more info
|
|
9
|
+
* @since 5.17.0
|
|
10
|
+
* @important
|
|
11
|
+
*/
|
|
12
|
+
export class MapSankeyNodes extends Series {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* Flag indicating user has explicitly set node data.
|
|
17
|
+
* Prevents auto-clearing of nodes when link data changes.
|
|
18
|
+
* @ignore
|
|
19
|
+
*/
|
|
20
|
+
this._userDataSet = false;
|
|
21
|
+
/**
|
|
22
|
+
* A [[ListTemplate]] of all node polygons.
|
|
23
|
+
*
|
|
24
|
+
* `mapPolygons.template` can be used to configure node appearance.
|
|
25
|
+
*
|
|
26
|
+
* @default new ListTemplate<MapPolygon>
|
|
27
|
+
*/
|
|
28
|
+
this.mapPolygons = this.addDisposer(new ListTemplate(Template.new({}), () => MapPolygon._new(this._root, {}, [this.mapPolygons.template])));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @ignore
|
|
32
|
+
*/
|
|
33
|
+
_applyThemes(force = false) {
|
|
34
|
+
const colors = this.get("colors");
|
|
35
|
+
if (colors) {
|
|
36
|
+
colors.reset();
|
|
37
|
+
}
|
|
38
|
+
return super._applyThemes(force);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @ignore
|
|
42
|
+
*/
|
|
43
|
+
_afterNew() {
|
|
44
|
+
this.fields.push("name", "fill", "longitude", "latitude");
|
|
45
|
+
this._setRawDefault("idField", "id");
|
|
46
|
+
this._setRawDefault("nameField", "name");
|
|
47
|
+
this._setRawDefault("fillField", "fill");
|
|
48
|
+
this._setRawDefault("longitudeField", "longitude");
|
|
49
|
+
this._setRawDefault("latitudeField", "latitude");
|
|
50
|
+
super._afterNew();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @ignore
|
|
54
|
+
*/
|
|
55
|
+
_onDataClear() {
|
|
56
|
+
const colors = this.get("colors");
|
|
57
|
+
if (colors) {
|
|
58
|
+
colors.reset();
|
|
59
|
+
}
|
|
60
|
+
this._userDataSet = true;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Processes a newly added node data item, assigning a fill color
|
|
64
|
+
* and creating its map polygon.
|
|
65
|
+
*
|
|
66
|
+
* @param dataItem Data item to process
|
|
67
|
+
*/
|
|
68
|
+
processDataItem(dataItem) {
|
|
69
|
+
super.processDataItem(dataItem);
|
|
70
|
+
// Auto-assign fill from ColorSet if not provided
|
|
71
|
+
if (dataItem.get("fill") == null) {
|
|
72
|
+
const colors = this.get("colors");
|
|
73
|
+
if (colors) {
|
|
74
|
+
dataItem.setRaw("fill", colors.next());
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Create MapPolygon visual
|
|
78
|
+
const mapPolygon = this.makeMapPolygon(dataItem);
|
|
79
|
+
dataItem.setRaw("mapPolygon", mapPolygon);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @ignore
|
|
83
|
+
*/
|
|
84
|
+
_updateNodeColor(dataItem) {
|
|
85
|
+
const mapPolygon = dataItem.get("mapPolygon");
|
|
86
|
+
if (mapPolygon) {
|
|
87
|
+
mapPolygon.set("fill", dataItem.get("fill"));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Creates a MapPolygon visual for a node data item.
|
|
92
|
+
* @ignore
|
|
93
|
+
*/
|
|
94
|
+
makeMapPolygon(dataItem) {
|
|
95
|
+
const mapPolygon = this.mapPolygons.make();
|
|
96
|
+
this.mapPolygons.push(mapPolygon);
|
|
97
|
+
mapPolygon._setDataItem(dataItem);
|
|
98
|
+
// Set series to parent MapSankeySeries for projection access
|
|
99
|
+
if (this.flow) {
|
|
100
|
+
mapPolygon.series = this.flow;
|
|
101
|
+
this.flow.children.push(mapPolygon);
|
|
102
|
+
}
|
|
103
|
+
// Apply fill from data item and listen for changes
|
|
104
|
+
const fill = dataItem.get("fill");
|
|
105
|
+
if (fill) {
|
|
106
|
+
mapPolygon._setSoft("fill", fill);
|
|
107
|
+
}
|
|
108
|
+
dataItem.on("fill", () => {
|
|
109
|
+
this._updateNodeColor(dataItem);
|
|
110
|
+
});
|
|
111
|
+
return mapPolygon;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Add an incoming link to a node data item.
|
|
115
|
+
* @ignore
|
|
116
|
+
*/
|
|
117
|
+
addIncomingLink(dataItem, link) {
|
|
118
|
+
let incoming = dataItem.get("incomingLinks");
|
|
119
|
+
if (!incoming) {
|
|
120
|
+
incoming = [];
|
|
121
|
+
dataItem.setRaw("incomingLinks", incoming);
|
|
122
|
+
}
|
|
123
|
+
incoming.push(link);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Add an outgoing link to a node data item.
|
|
127
|
+
* @ignore
|
|
128
|
+
*/
|
|
129
|
+
addOutgoingLink(dataItem, link) {
|
|
130
|
+
let outgoing = dataItem.get("outgoingLinks");
|
|
131
|
+
if (!outgoing) {
|
|
132
|
+
outgoing = [];
|
|
133
|
+
dataItem.setRaw("outgoingLinks", outgoing);
|
|
134
|
+
}
|
|
135
|
+
outgoing.push(link);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* @ignore
|
|
139
|
+
*/
|
|
140
|
+
disposeDataItem(dataItem) {
|
|
141
|
+
super.disposeDataItem(dataItem);
|
|
142
|
+
const mapPolygon = dataItem.get("mapPolygon");
|
|
143
|
+
if (mapPolygon) {
|
|
144
|
+
this.mapPolygons.removeValue(mapPolygon);
|
|
145
|
+
mapPolygon.dispose();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
MapSankeyNodes.className = "MapSankeyNodes";
|
|
150
|
+
MapSankeyNodes.classNames = Series.classNames.concat([MapSankeyNodes.className]);
|
|
151
|
+
//# sourceMappingURL=MapSankeyNodes.js.map
|