@amcharts/amcharts5 5.3.17 → 5.4.1
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/flow/ArcDiagram.d.ts +86 -0
- package/.internal/charts/flow/ArcDiagram.d.ts.map +1 -0
- package/.internal/charts/flow/ArcDiagram.js +161 -0
- package/.internal/charts/flow/ArcDiagram.js.map +1 -0
- package/.internal/charts/flow/ArcDiagramLink.d.ts +40 -0
- package/.internal/charts/flow/ArcDiagramLink.d.ts.map +1 -0
- package/.internal/charts/flow/ArcDiagramLink.js +130 -0
- package/.internal/charts/flow/ArcDiagramLink.js.map +1 -0
- package/.internal/charts/flow/ArcDiagramNodes.d.ts +60 -0
- package/.internal/charts/flow/ArcDiagramNodes.d.ts.map +1 -0
- package/.internal/charts/flow/ArcDiagramNodes.js +96 -0
- package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -0
- package/.internal/charts/flow/Chord.d.ts +0 -9
- package/.internal/charts/flow/Chord.d.ts.map +1 -1
- package/.internal/charts/flow/Chord.js +0 -10
- package/.internal/charts/flow/Chord.js.map +1 -1
- package/.internal/charts/flow/ChordNodes.d.ts +9 -0
- package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
- package/.internal/charts/flow/ChordNodes.js +23 -2
- package/.internal/charts/flow/ChordNodes.js.map +1 -1
- package/.internal/charts/flow/Flow.d.ts +27 -1
- package/.internal/charts/flow/Flow.d.ts.map +1 -1
- package/.internal/charts/flow/Flow.js +7 -1
- package/.internal/charts/flow/Flow.js.map +1 -1
- package/.internal/charts/flow/FlowDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/flow/FlowDefaultTheme.js +74 -3
- package/.internal/charts/flow/FlowDefaultTheme.js.map +1 -1
- package/.internal/charts/flow/FlowNodes.d.ts +16 -0
- package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
- package/.internal/charts/flow/FlowNodes.js +93 -1
- package/.internal/charts/flow/FlowNodes.js.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
- 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 +45 -0
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
- package/.internal/charts/hierarchy/Partition.d.ts +1 -1
- package/.internal/charts/hierarchy/Partition.js +1 -1
- package/.internal/charts/hierarchy/Partition.js.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +117 -0
- package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -0
- package/.internal/charts/hierarchy/VoronoiTreemap.js +176 -0
- package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -0
- package/.internal/charts/map/MapSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapSeries.js +1 -0
- package/.internal/charts/map/MapSeries.js.map +1 -1
- package/.internal/charts/stock/indicators/BollingerBands.d.ts +1 -0
- package/.internal/charts/stock/indicators/BollingerBands.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/BollingerBands.js +10 -0
- package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +12 -3
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYCursor.d.ts +1 -0
- package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
- package/.internal/charts/xy/XYCursor.js +7 -4
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +1 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/core/Classes.d.ts +10 -0
- package/.internal/core/Classes.d.ts.map +1 -1
- package/.internal/core/Classes.js.map +1 -1
- package/.internal/core/Registry.d.ts.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/render/Polygon.d.ts +52 -0
- package/.internal/core/render/Polygon.d.ts.map +1 -0
- package/.internal/core/render/Polygon.js +133 -0
- package/.internal/core/render/Polygon.js.map +1 -0
- package/.internal/core/render/Sprite.js +1 -1
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +2 -2
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/themes/AnimatedTheme.d.ts.map +1 -1
- package/.internal/themes/AnimatedTheme.js +2 -0
- package/.internal/themes/AnimatedTheme.js.map +1 -1
- package/.internal/themes/DefaultTheme.d.ts.map +1 -1
- package/.internal/themes/DefaultTheme.js +3 -0
- package/.internal/themes/DefaultTheme.js.map +1 -1
- package/CHANGELOG.md +26 -0
- package/examples/javascript/flow-arc-horizontal/README.md +6 -0
- package/examples/javascript/flow-arc-horizontal/index.css +11 -0
- package/examples/javascript/flow-arc-horizontal/index.html +12 -0
- package/examples/javascript/flow-arc-horizontal/index.js +116 -0
- package/examples/javascript/flow-arc-horizontal/package.json +16 -0
- package/examples/javascript/flow-arc-horizontal/webpack.config.js +38 -0
- package/examples/javascript/flow-arc-vertical/README.md +6 -0
- package/examples/javascript/flow-arc-vertical/index.css +11 -0
- package/examples/javascript/flow-arc-vertical/index.html +12 -0
- package/examples/javascript/flow-arc-vertical/index.js +91 -0
- package/examples/javascript/flow-arc-vertical/package.json +16 -0
- package/examples/javascript/flow-arc-vertical/webpack.config.js +38 -0
- 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/index.js +11 -5
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/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/README.md +6 -0
- package/examples/javascript/hierarchy-voronoi-treemap/index.css +11 -0
- package/examples/javascript/hierarchy-voronoi-treemap/index.html +12 -0
- package/examples/javascript/hierarchy-voronoi-treemap/index.js +1298 -0
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +16 -0
- package/examples/javascript/hierarchy-voronoi-treemap/webpack.config.js +38 -0
- 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-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-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/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/README.md +6 -0
- package/examples/typescript/flow-arc-horizontal/index.css +11 -0
- package/examples/typescript/flow-arc-horizontal/index.html +12 -0
- package/examples/typescript/flow-arc-horizontal/index.ts +116 -0
- package/examples/typescript/flow-arc-horizontal/package.json +18 -0
- package/examples/typescript/flow-arc-horizontal/tsconfig.json +12 -0
- package/examples/typescript/flow-arc-horizontal/webpack.config.js +45 -0
- package/examples/typescript/flow-arc-vertical/README.md +6 -0
- package/examples/typescript/flow-arc-vertical/index.css +11 -0
- package/examples/typescript/flow-arc-vertical/index.html +12 -0
- package/examples/typescript/flow-arc-vertical/index.ts +91 -0
- package/examples/typescript/flow-arc-vertical/package.json +18 -0
- package/examples/typescript/flow-arc-vertical/tsconfig.json +12 -0
- package/examples/typescript/flow-arc-vertical/webpack.config.js +45 -0
- 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/index.ts +11 -5
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/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/README.md +6 -0
- package/examples/typescript/hierarchy-voronoi-treemap/index.css +11 -0
- package/examples/typescript/hierarchy-voronoi-treemap/index.html +12 -0
- package/examples/typescript/hierarchy-voronoi-treemap/index.ts +1298 -0
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +18 -0
- package/examples/typescript/hierarchy-voronoi-treemap/tsconfig.json +12 -0
- package/examples/typescript/hierarchy-voronoi-treemap/webpack.config.js +45 -0
- 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-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-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/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/flow.d.ts +3 -0
- package/flow.d.ts.map +1 -1
- package/flow.js +3 -0
- package/flow.js.map +1 -1
- package/hierarchy.d.ts +1 -0
- package/hierarchy.d.ts.map +1 -1
- package/hierarchy.js +1 -0
- package/hierarchy.js.map +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/package.json +4 -2
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { DataItem } from "../../core/render/Component";
|
|
2
|
-
import type { RadialLabel } from "../../core/render/RadialLabel";
|
|
3
2
|
import { Flow, IFlowSettings, IFlowDataItem, IFlowPrivate, IFlowEvents } from "./Flow";
|
|
4
3
|
import { RibbonGenerator, RibbonSubgroup, Ribbon } from "d3-chord";
|
|
5
4
|
import { ListTemplate } from "../../core/util/List";
|
|
@@ -11,10 +10,6 @@ export interface IChordDataItem extends IFlowDataItem {
|
|
|
11
10
|
* A link element.
|
|
12
11
|
*/
|
|
13
12
|
link: ChordLink;
|
|
14
|
-
/**
|
|
15
|
-
* A label element.
|
|
16
|
-
*/
|
|
17
|
-
label: RadialLabel;
|
|
18
13
|
/**
|
|
19
14
|
* Source node data item.
|
|
20
15
|
*/
|
|
@@ -114,9 +109,5 @@ export declare class Chord extends Flow {
|
|
|
114
109
|
_prepareChildren(): void;
|
|
115
110
|
protected _getLinkPoints(link: ChordLink, linkRadius: number, chordLayoutItem: any): void;
|
|
116
111
|
protected _updateLink(ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>, link: ChordLink, linkRadius: number, chordLayoutItem: any): void;
|
|
117
|
-
/**
|
|
118
|
-
* @ignore
|
|
119
|
-
*/
|
|
120
|
-
disposeDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
121
112
|
}
|
|
122
113
|
//# sourceMappingURL=Chord.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chord.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Chord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"Chord.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Chord.ts"],"names":[],"mappings":"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"}
|
|
@@ -192,16 +192,6 @@ export class Chord extends Flow {
|
|
|
192
192
|
});
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
/**
|
|
196
|
-
* @ignore
|
|
197
|
-
*/
|
|
198
|
-
disposeDataItem(dataItem) {
|
|
199
|
-
super.disposeDataItem(dataItem);
|
|
200
|
-
let label = dataItem.get("label");
|
|
201
|
-
if (label) {
|
|
202
|
-
label.dispose();
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
195
|
}
|
|
206
196
|
Object.defineProperty(Chord, "className", {
|
|
207
197
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chord.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Chord.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { RadialLabel } from \"../../core/render/RadialLabel\";\n\nimport { Flow, IFlowSettings, IFlowDataItem, IFlowPrivate, IFlowEvents } from \"./Flow\";\nimport { chord, ribbon, RibbonGenerator, RibbonSubgroup, Ribbon } from \"d3-chord\";\nimport { ascending, descending } from \"d3\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { ChordNodes, IChordNodesDataItem } from \"./ChordNodes\";\nimport { ChordLink } from \"./ChordLink\";\nimport { Percent, p100, p50 } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface IChordDataItem extends IFlowDataItem {\n\n\t/**\n\t * A link element.\n\t */\n\tlink: ChordLink;\n\n\t/**\n\t * A label element.\n\t */\n\tlabel: RadialLabel;\n\n\t/**\n\t * Source node data item.\n\t */\n\tsource: DataItem<IChordNodesDataItem>;\n\n\t/**\n\t * Target node data item.\n\t */\n\ttarget: DataItem<IChordNodesDataItem>;\n\n}\n\nexport interface IChordSettings extends IFlowSettings {\n\n\t/**\n\t * Angle of a gap between each node, in degrees.\n\t *\n\t * @default 1\n\t */\n\tpadAngle?: number;\n\n\t/**\n\t * Radius of the diagram in percent or pixels.\n\t *\n\t * If set in percent, it will be relative to the whole area available for\n\t * the series.\n\t *\n\t * @default 90%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * The thickness of node strip in pixels.\n\t *\n\t * @default 10\n\t */\n\tnodeWidth?: number;\n\n\t/**\n\t * Starting angle in degrees.\n\t *\n\t * @default 0\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * How to sort nodes by their value.\n\t *\n\t * @default \"descending\"\n\t */\n\tsort?: \"ascending\" | \"descending\" | \"none\"\n\n}\n\nexport interface IChordPrivate extends IFlowPrivate {\n}\n\nexport interface IChordEvents extends IFlowEvents {\n}\n\n/**\n * Regular chord series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information\n * @important\n */\nexport class Chord extends Flow {\n\n\tpublic static className: string = \"Chord\";\n\tpublic static classNames: Array<string> = Flow.classNames.concat([Chord.className]);\n\n\t/**\n\t * List of link elements.\n\t *\n\t * @default new ListTemplate<ChordLink>\n\t */\n\tpublic readonly links: ListTemplate<ChordLink> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => ChordLink._new(this._root, { themeTags: [\"link\", \"shape\"] }, [this.links.template])\n\t);\n\n\t/**\n\t * A series for all chord nodes.\n\t *\n\t * @default ChordNodes.new()\n\t */\n\tpublic readonly nodes: ChordNodes = this.children.push(ChordNodes.new(this._root, {}));\n\n\tdeclare public _settings: IChordSettings;\n\tdeclare public _privateSettings: IChordPrivate;\n\tdeclare public _dataItemSettings: IChordDataItem;\n\tdeclare public _events: IChordEvents;\n\n\tpublic _d3chord = chord();\n\tpublic _chordLayout: { source: { index: number, startAngle: number, endAngle: number, value: number }, target: { index: number, startAngle: number, endAngle: number, value: number } }[] = [];\n\tpublic _ribbon = ribbon();\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"chord\"]);\n\t\tthis.linksContainer.setAll({ x: p50, y: p50 })\n\t\tthis.bulletsContainer.setAll({ x: p50, y: p50 });\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _fixRibbon(ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>) {\n\t\tribbon.startAngle((d) => {\n\t\t\treturn d.startAngle + this.get(\"startAngle\", 0) * $math.RADIANS + Math.PI / 2;\n\t\t})\n\n\t\tribbon.endAngle((d) => {\n\t\t\treturn d.endAngle + this.get(\"startAngle\", 0) * $math.RADIANS + Math.PI / 2;\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): ChordLink {\n\t\tconst link = this.linksContainer.children.push(this.links.make());\n\t\tthis.links.push(link);\n\t\tlink._setDataItem(dataItem);\n\t\tlink.set(\"source\", dataItem.get(\"source\"));\n\t\tlink.set(\"target\", dataItem.get(\"target\"));\n\t\tlink.series = this;\n\t\treturn link;\n\t}\n\n\tprotected _makeMatrix(): number[][] {\n\t\tconst matrix: number[][] = [];\n\t\t$array.each(this.nodes.dataItems, (sourceDataItem) => {\n\t\t\tconst group: number[] = [];\n\t\t\tmatrix.push(group);\n\t\t\tlet outgoing = sourceDataItem.get(\"outgoingLinks\");\n\n\t\t\t$array.each(this.nodes.dataItems, (targetDataItem) => {\n\t\t\t\tlet value = 0;\n\t\t\t\tif (outgoing) {\n\t\t\t\t\t$array.each(outgoing, (outgoingLink) => {\n\t\t\t\t\t\tif (outgoingLink.get(\"target\") === targetDataItem) {\n\t\t\t\t\t\t\tvalue = outgoingLink.get(\"valueWorking\");\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet valueSum = this.getPrivate(\"valueSum\", 0);\n\t\t\t\t\t\tlet minSize = this.get(\"minSize\", 0);\n\t\t\t\t\t\tif(value > 0 && minSize > 0){\n\t\t\t\t\t\t\tif(value < valueSum * minSize){\n\t\t\t\t\t\t\t\tvalue = valueSum * minSize;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\t\t\t\t\t\t\t\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tgroup.push(value);\n\t\t\t})\n\t\t})\n\t\treturn matrix;\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis._fixRibbon(this._ribbon);\n\n\t\tlet chordChanged = false;\n\n\t\tif (this._valuesDirty || this._sizeDirty || this.isDirty(\"padAngle\") || this.isDirty(\"startAngle\")) {\n\n\t\t\tconst matrix = this._makeMatrix();\n\n\t\t\tthis._d3chord.padAngle(this.get(\"padAngle\", 0) * $math.RADIANS);\n\t\t\tconst sort = this.get(\"sort\");\n\n\t\t\tif (sort === \"ascending\") {\n\t\t\t\tthis._d3chord.sortGroups(ascending);\n\t\t\t}\n\t\t\telse if (sort === \"descending\") {\n\t\t\t\tthis._d3chord.sortGroups(descending);\n\t\t\t}\n/*\n\t\t\tthis._d3chord.sortSubgroups((a, b)=>{\n\t\t\t\tif (a != Math.round(a)) return false\n\t\t\t\tif (b != Math.round(b)) return true\n\t\t\t\treturn b < a ? -1 : b > a ? 1 : 0;\n\t\t\t})\n*/\n\t\t\tthis._chordLayout = this._d3chord(matrix);\n\n\t\t\tchordChanged = true;\n\t\t}\n\n\t\tif (chordChanged || this.isDirty(\"radius\") || this.isDirty(\"nodeWidth\")) {\n\t\t\tlet radius = $utils.relativeToValue(this.get(\"radius\", 0), Math.min(this.innerWidth(), this.innerHeight())) / 2;\n\n\t\t\tlet i = 0;\n\n\t\t\tconst chordStartAngle = this.get(\"startAngle\", 0);\n\t\t\tconst nodeWidth = this.get(\"nodeWidth\", 0);\n\n\t\t\t$array.each(this.nodes.dataItems, (dataItem) => {\n\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\tconst chordGroup = (this._chordLayout as any).groups[i];\n\t\t\t\tconst startAngle = chordGroup.startAngle * $math.DEGREES + chordStartAngle;\n\t\t\t\tconst endAngle = chordGroup.endAngle * $math.DEGREES + chordStartAngle;\n\t\t\t\tslice.setAll({ radius: radius, innerRadius: radius - nodeWidth, startAngle: startAngle as number, arc: endAngle - startAngle })\n\n\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\tlabel.setAll({ labelAngle: startAngle + (endAngle - startAngle) / 2 });\n\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\tlabel.setPrivate(\"innerRadius\", 0.1);\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tconst linkRadius = radius - this.get(\"nodeWidth\", 0);\n\n\t\t\t$array.each(this._chordLayout, (chord) => {\n\n\t\t\t\tlet dataItem = this._linksByIndex[chord.source.index + \"_\" + chord.target.index];\n\n\t\t\t\tif (!dataItem) {\n\t\t\t\t\tdataItem = this._linksByIndex[chord.target.index + \"_\" + chord.source.index];\n\t\t\t\t}\n\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tconst link = dataItem.get(\"link\");\n\t\t\t\t\tthis._getLinkPoints(link, linkRadius, chord);\n\t\t\t\t\tthis._updateLink(this._ribbon, link, linkRadius, chord);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getLinkPoints(link: ChordLink, linkRadius: number, chordLayoutItem: any) {\n\t\tconst source = chordLayoutItem.source;\n\t\tconst target = chordLayoutItem.target;\n\n\t\tconst chordStartAngle = this.get(\"startAngle\", 0) * $math.RADIANS;\n\n\t\tif (source && target) {\n\t\t\tconst startAngle0 = source.startAngle;\n\t\t\tconst endAngle0 = source.endAngle\n\t\t\tconst angle0 = startAngle0 + (endAngle0 - startAngle0) / 2 + chordStartAngle;\n\n\t\t\tconst startAngle1 = target.startAngle;\n\t\t\tconst endAngle1 = target.endAngle\n\t\t\tconst angle1 = startAngle1 + (endAngle1 - startAngle1) / 2 + chordStartAngle;\n\n\t\t\tlink._p0 = { x: linkRadius * Math.cos(angle0), y: linkRadius * Math.sin(angle0) };\n\t\t\tlink._p1 = { x: linkRadius * Math.cos(angle1), y: linkRadius * Math.sin(angle1) };\n\t\t}\n\t}\n\n\tprotected _updateLink(ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>, link: ChordLink, linkRadius: number, chordLayoutItem: any) {\n\t\tif (chordLayoutItem) {\n\t\t\tribbon.sourceRadius($utils.relativeToValue(link.get(\"sourceRadius\", p100), linkRadius));\n\t\t\tribbon.targetRadius($utils.relativeToValue(link.get(\"targetRadius\", p100), linkRadius));\n\n\t\t\tlink.set(\"draw\", (display) => {\n\t\t\t\tribbon.context(display as any);\n\t\t\t\tribbon(chordLayoutItem);\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tlabel.dispose();\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Chord.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Chord.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\n\nimport { Flow, IFlowSettings, IFlowDataItem, IFlowPrivate, IFlowEvents } from \"./Flow\";\nimport { chord, ribbon, RibbonGenerator, RibbonSubgroup, Ribbon } from \"d3-chord\";\nimport { ascending, descending } from \"d3\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { ChordNodes, IChordNodesDataItem } from \"./ChordNodes\";\nimport { ChordLink } from \"./ChordLink\";\nimport { Percent, p100, p50 } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface IChordDataItem extends IFlowDataItem {\n\n\t/**\n\t * A link element.\n\t */\n\tlink: ChordLink;\n\n\t/**\n\t * Source node data item.\n\t */\n\tsource: DataItem<IChordNodesDataItem>;\n\n\t/**\n\t * Target node data item.\n\t */\n\ttarget: DataItem<IChordNodesDataItem>;\n\n}\n\nexport interface IChordSettings extends IFlowSettings {\n\n\t/**\n\t * Angle of a gap between each node, in degrees.\n\t *\n\t * @default 1\n\t */\n\tpadAngle?: number;\n\n\t/**\n\t * Radius of the diagram in percent or pixels.\n\t *\n\t * If set in percent, it will be relative to the whole area available for\n\t * the series.\n\t *\n\t * @default 90%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * The thickness of node strip in pixels.\n\t *\n\t * @default 10\n\t */\n\tnodeWidth?: number;\n\n\t/**\n\t * Starting angle in degrees.\n\t *\n\t * @default 0\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * How to sort nodes by their value.\n\t *\n\t * @default \"descending\"\n\t */\n\tsort?: \"ascending\" | \"descending\" | \"none\"\n\n}\n\nexport interface IChordPrivate extends IFlowPrivate {\n}\n\nexport interface IChordEvents extends IFlowEvents {\n}\n\n/**\n * Regular chord series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information\n * @important\n */\nexport class Chord extends Flow {\n\n\tpublic static className: string = \"Chord\";\n\tpublic static classNames: Array<string> = Flow.classNames.concat([Chord.className]);\n\n\t/**\n\t * List of link elements.\n\t *\n\t * @default new ListTemplate<ChordLink>\n\t */\n\tpublic readonly links: ListTemplate<ChordLink> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => ChordLink._new(this._root, { themeTags: [\"link\", \"shape\"] }, [this.links.template])\n\t);\n\n\t/**\n\t * A series for all chord nodes.\n\t *\n\t * @default ChordNodes.new()\n\t */\n\tpublic readonly nodes: ChordNodes = this.children.push(ChordNodes.new(this._root, {}));\n\n\tdeclare public _settings: IChordSettings;\n\tdeclare public _privateSettings: IChordPrivate;\n\tdeclare public _dataItemSettings: IChordDataItem;\n\tdeclare public _events: IChordEvents;\n\n\tpublic _d3chord = chord();\n\tpublic _chordLayout: { source: { index: number, startAngle: number, endAngle: number, value: number }, target: { index: number, startAngle: number, endAngle: number, value: number } }[] = [];\n\tpublic _ribbon = ribbon();\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"chord\"]);\n\t\tthis.linksContainer.setAll({ x: p50, y: p50 })\n\t\tthis.bulletsContainer.setAll({ x: p50, y: p50 });\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _fixRibbon(ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>) {\n\t\tribbon.startAngle((d) => {\n\t\t\treturn d.startAngle + this.get(\"startAngle\", 0) * $math.RADIANS + Math.PI / 2;\n\t\t})\n\n\t\tribbon.endAngle((d) => {\n\t\t\treturn d.endAngle + this.get(\"startAngle\", 0) * $math.RADIANS + Math.PI / 2;\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): ChordLink {\n\t\tconst link = this.linksContainer.children.push(this.links.make());\n\t\tthis.links.push(link);\n\t\tlink._setDataItem(dataItem);\n\t\tlink.set(\"source\", dataItem.get(\"source\"));\n\t\tlink.set(\"target\", dataItem.get(\"target\"));\n\t\tlink.series = this;\n\t\treturn link;\n\t}\n\n\tprotected _makeMatrix(): number[][] {\n\t\tconst matrix: number[][] = [];\n\t\t$array.each(this.nodes.dataItems, (sourceDataItem) => {\n\t\t\tconst group: number[] = [];\n\t\t\tmatrix.push(group);\n\t\t\tlet outgoing = sourceDataItem.get(\"outgoingLinks\");\n\n\t\t\t$array.each(this.nodes.dataItems, (targetDataItem) => {\n\t\t\t\tlet value = 0;\n\t\t\t\tif (outgoing) {\n\t\t\t\t\t$array.each(outgoing, (outgoingLink) => {\n\t\t\t\t\t\tif (outgoingLink.get(\"target\") === targetDataItem) {\n\t\t\t\t\t\t\tvalue = outgoingLink.get(\"valueWorking\");\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet valueSum = this.getPrivate(\"valueSum\", 0);\n\t\t\t\t\t\tlet minSize = this.get(\"minSize\", 0);\n\t\t\t\t\t\tif(value > 0 && minSize > 0){\n\t\t\t\t\t\t\tif(value < valueSum * minSize){\n\t\t\t\t\t\t\t\tvalue = valueSum * minSize;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\t\t\t\t\t\t\t\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tgroup.push(value);\n\t\t\t})\n\t\t})\n\t\treturn matrix;\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis._fixRibbon(this._ribbon);\n\n\t\tlet chordChanged = false;\n\n\t\tif (this._valuesDirty || this._sizeDirty || this.isDirty(\"padAngle\") || this.isDirty(\"startAngle\")) {\n\n\t\t\tconst matrix = this._makeMatrix();\n\n\t\t\tthis._d3chord.padAngle(this.get(\"padAngle\", 0) * $math.RADIANS);\n\t\t\tconst sort = this.get(\"sort\");\n\n\t\t\tif (sort === \"ascending\") {\n\t\t\t\tthis._d3chord.sortGroups(ascending);\n\t\t\t}\n\t\t\telse if (sort === \"descending\") {\n\t\t\t\tthis._d3chord.sortGroups(descending);\n\t\t\t}\n/*\n\t\t\tthis._d3chord.sortSubgroups((a, b)=>{\n\t\t\t\tif (a != Math.round(a)) return false\n\t\t\t\tif (b != Math.round(b)) return true\n\t\t\t\treturn b < a ? -1 : b > a ? 1 : 0;\n\t\t\t})\n*/\n\t\t\tthis._chordLayout = this._d3chord(matrix);\n\n\t\t\tchordChanged = true;\n\t\t}\n\n\t\tif (chordChanged || this.isDirty(\"radius\") || this.isDirty(\"nodeWidth\")) {\n\t\t\tlet radius = $utils.relativeToValue(this.get(\"radius\", 0), Math.min(this.innerWidth(), this.innerHeight())) / 2;\n\n\t\t\tlet i = 0;\n\n\t\t\tconst chordStartAngle = this.get(\"startAngle\", 0);\n\t\t\tconst nodeWidth = this.get(\"nodeWidth\", 0);\n\n\t\t\t$array.each(this.nodes.dataItems, (dataItem) => {\n\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\tconst chordGroup = (this._chordLayout as any).groups[i];\n\t\t\t\tconst startAngle = chordGroup.startAngle * $math.DEGREES + chordStartAngle;\n\t\t\t\tconst endAngle = chordGroup.endAngle * $math.DEGREES + chordStartAngle;\n\t\t\t\tslice.setAll({ radius: radius, innerRadius: radius - nodeWidth, startAngle: startAngle as number, arc: endAngle - startAngle })\n\n\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\tlabel.setAll({ labelAngle: startAngle + (endAngle - startAngle) / 2 });\n\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\tlabel.setPrivate(\"innerRadius\", 0.1);\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tconst linkRadius = radius - this.get(\"nodeWidth\", 0);\n\n\t\t\t$array.each(this._chordLayout, (chord) => {\n\n\t\t\t\tlet dataItem = this._linksByIndex[chord.source.index + \"_\" + chord.target.index];\n\n\t\t\t\tif (!dataItem) {\n\t\t\t\t\tdataItem = this._linksByIndex[chord.target.index + \"_\" + chord.source.index];\n\t\t\t\t}\n\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tconst link = dataItem.get(\"link\");\n\t\t\t\t\tthis._getLinkPoints(link, linkRadius, chord);\n\t\t\t\t\tthis._updateLink(this._ribbon, link, linkRadius, chord);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getLinkPoints(link: ChordLink, linkRadius: number, chordLayoutItem: any) {\n\t\tconst source = chordLayoutItem.source;\n\t\tconst target = chordLayoutItem.target;\n\n\t\tconst chordStartAngle = this.get(\"startAngle\", 0) * $math.RADIANS;\n\n\t\tif (source && target) {\n\t\t\tconst startAngle0 = source.startAngle;\n\t\t\tconst endAngle0 = source.endAngle\n\t\t\tconst angle0 = startAngle0 + (endAngle0 - startAngle0) / 2 + chordStartAngle;\n\n\t\t\tconst startAngle1 = target.startAngle;\n\t\t\tconst endAngle1 = target.endAngle\n\t\t\tconst angle1 = startAngle1 + (endAngle1 - startAngle1) / 2 + chordStartAngle;\n\n\t\t\tlink._p0 = { x: linkRadius * Math.cos(angle0), y: linkRadius * Math.sin(angle0) };\n\t\t\tlink._p1 = { x: linkRadius * Math.cos(angle1), y: linkRadius * Math.sin(angle1) };\n\t\t}\n\t}\n\n\tprotected _updateLink(ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>, link: ChordLink, linkRadius: number, chordLayoutItem: any) {\n\t\tif (chordLayoutItem) {\n\t\t\tribbon.sourceRadius($utils.relativeToValue(link.get(\"sourceRadius\", p100), linkRadius));\n\t\t\tribbon.targetRadius($utils.relativeToValue(link.get(\"targetRadius\", p100), linkRadius));\n\n\t\t\tlink.set(\"draw\", (display) => {\n\t\t\t\tribbon.context(display as any);\n\t\t\t\tribbon(chordLayoutItem);\n\t\t\t})\n\t\t}\n\t}\n}\n"]}
|
|
@@ -48,11 +48,20 @@ export declare class ChordNodes extends FlowNodes {
|
|
|
48
48
|
*
|
|
49
49
|
* @default new ListTemplate<Slice>
|
|
50
50
|
*/
|
|
51
|
+
readonly slices: ListTemplate<Slice>;
|
|
52
|
+
/**
|
|
53
|
+
* @ignore
|
|
54
|
+
* added to solve old naming bug
|
|
55
|
+
*/
|
|
51
56
|
readonly rectangles: ListTemplate<Slice>;
|
|
52
57
|
/**
|
|
53
58
|
* @ignore
|
|
54
59
|
*/
|
|
55
60
|
makeNode(dataItem: DataItem<this["_dataItemSettings"]>): FlowNode;
|
|
56
61
|
_positionBullet(bullet: Bullet): void;
|
|
62
|
+
/**
|
|
63
|
+
* @ignore
|
|
64
|
+
*/
|
|
65
|
+
disposeDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
57
66
|
}
|
|
58
67
|
//# sourceMappingURL=ChordNodes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChordNodes.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ChordNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAI5D,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAE9D;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;CAEnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;CAC9D;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;CAC5D;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;CAC1D;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACxC,OAAc,SAAS,EAAE,MAAM,CAAgB;IAC/C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAE9F;;;;OAIG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAG/C;IAEa,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAE1C;;OAEG;IACI,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IAE/B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAK;IAE9B;;;;OAIG;IACH,SAAgB,
|
|
1
|
+
{"version":3,"file":"ChordNodes.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ChordNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAI5D,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAE9D;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;CAEnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;CAC9D;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;CAC5D;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;CAC1D;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACxC,OAAc,SAAS,EAAE,MAAM,CAAgB;IAC/C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAE9F;;;;OAIG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAG/C;IAEa,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAE1C;;OAEG;IACI,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IAE/B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAK;IAE9B;;;;OAIG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAGzC;IAEF;;;OAGG;IACH,SAAgB,UAAU,sBAAe;IAEzC;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,QAAQ;IAwCjE,eAAe,CAAC,MAAM,EAAE,MAAM;IAsBrC;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAQpE"}
|
|
@@ -41,11 +41,21 @@ export class ChordNodes extends FlowNodes {
|
|
|
41
41
|
*
|
|
42
42
|
* @default new ListTemplate<Slice>
|
|
43
43
|
*/
|
|
44
|
+
Object.defineProperty(this, "slices", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
configurable: true,
|
|
47
|
+
writable: true,
|
|
48
|
+
value: new ListTemplate(Template.new({}), () => Slice._new(this._root, { themeTags: ["shape"] }, [this.slices.template]))
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* @ignore
|
|
52
|
+
* added to solve old naming bug
|
|
53
|
+
*/
|
|
44
54
|
Object.defineProperty(this, "rectangles", {
|
|
45
55
|
enumerable: true,
|
|
46
56
|
configurable: true,
|
|
47
57
|
writable: true,
|
|
48
|
-
value:
|
|
58
|
+
value: this.slices
|
|
49
59
|
});
|
|
50
60
|
}
|
|
51
61
|
/**
|
|
@@ -53,7 +63,7 @@ export class ChordNodes extends FlowNodes {
|
|
|
53
63
|
*/
|
|
54
64
|
makeNode(dataItem) {
|
|
55
65
|
const node = super.makeNode(dataItem, "chord");
|
|
56
|
-
const slice = node.children.insertIndex(0, this.
|
|
66
|
+
const slice = node.children.insertIndex(0, this.slices.make());
|
|
57
67
|
dataItem.set("slice", slice);
|
|
58
68
|
slice._setSoft("fill", dataItem.get("fill"));
|
|
59
69
|
const label = this.labels.make();
|
|
@@ -103,6 +113,17 @@ export class ChordNodes extends FlowNodes {
|
|
|
103
113
|
}
|
|
104
114
|
}
|
|
105
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* @ignore
|
|
118
|
+
*/
|
|
119
|
+
disposeDataItem(dataItem) {
|
|
120
|
+
super.disposeDataItem(dataItem);
|
|
121
|
+
let slice = dataItem.get("slice");
|
|
122
|
+
if (slice) {
|
|
123
|
+
this.slices.removeValue(slice);
|
|
124
|
+
slice.dispose();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
106
127
|
}
|
|
107
128
|
Object.defineProperty(ChordNodes, "className", {
|
|
108
129
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChordNodes.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ChordNodes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAA+E,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAyB9C;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAAzC;;QAIC;;;;WAIG;QACH;;;;mBAAoD,IAAI,YAAY,CACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC9D;WAAC;QAOF;;WAEG;QACH;;;;;WAA+B;QAE/B;;;;mBAA4B,CAAC;WAAC;QAE9B;;;;WAIG;QACH;;;;
|
|
1
|
+
{"version":3,"file":"ChordNodes.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ChordNodes.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { FlowNode } from \"./FlowNode\";\nimport type { Chord } from \"./Chord\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport { FlowNodes, IFlowNodesSettings, IFlowNodesDataItem, IFlowNodesPrivate, IFlowNodesEvents } from \"./FlowNodes\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\n\nimport * as $math from \"../../core/util/Math\";\n\nexport interface IChordNodesDataItem extends IFlowNodesDataItem {\n\n\t/**\n\t * Node [[Slice]] element.\n\t */\n\tslice: Slice;\n\n\t/**\n\t * Node label element.\n\t */\n\tlabel: RadialLabel;\n\n}\n\nexport interface IChordNodesSettings extends IFlowNodesSettings {\n}\n\nexport interface IChordNodesPrivate extends IFlowNodesPrivate {\n}\n\nexport interface IChordNodesEvents extends IFlowNodesEvents {\n}\n\n/**\n * Holds instances of nodes for a [[Chord]] series.\n */\nexport class ChordNodes extends FlowNodes {\n\tpublic static className: string = \"ChordNodes\";\n\tpublic static classNames: Array<string> = FlowNodes.classNames.concat([ChordNodes.className]);\n\n\t/**\n\t * List of label elements.\n\t *\n\t * @default new ListTemplate<RadialLabel>\n\t */\n\tpublic readonly labels: ListTemplate<RadialLabel> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RadialLabel._new(this._root, {}, [this.labels.template])\n\t);\n\n\tdeclare public _settings: IChordNodesSettings;\n\tdeclare public _privateSettings: IChordNodesPrivate;\n\tdeclare public _dataItemSettings: IChordNodesDataItem;\n\tdeclare public _events: IChordNodesEvents;\n\n\t/**\n\t * Related [[Chord]] series.\n\t */\n\tpublic flow: Chord | undefined;\n\n\tprotected _dAngle: number = 0;\n\n\t/**\n\t * List of slice elements.\n\t *\n\t * @default new ListTemplate<Slice>\n\t */\n\tpublic readonly slices: ListTemplate<Slice> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Slice._new(this._root, { themeTags: [\"shape\"] }, [this.slices.template])\n\t);\n\n\t/**\n\t * @ignore\n\t * added to solve old naming bug\n\t */\n\tpublic readonly rectangles = this.slices;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): FlowNode {\n\t\tconst node = super.makeNode(dataItem, \"chord\");\n\n\t\tconst slice = node.children.insertIndex(0, this.slices.make());\n\t\tdataItem.set(\"slice\", slice);\n\t\tslice._setSoft(\"fill\", dataItem.get(\"fill\"));\n\n\t\tconst label = this.labels.make();\n\t\tthis.labels.push(label);\n\t\tlabel.addTag(\"flow\");\n\t\tlabel.addTag(\"chord\");\n\t\tlabel.addTag(\"node\");\n\n\t\tnode.children.push(label);\n\t\tdataItem.set(\"label\", label);\n\n\t\tnode.events.on(\"dragstart\", (e) => {\n\t\t\tlet point = this.toLocal(e.point);\n\t\t\tconst angle = $math.getAngle({ x: 0, y: 0 }, point);\n\t\t\tif (this.flow) {\n\t\t\t\tthis._dAngle = this.flow.get(\"startAngle\", 0) - angle;\n\t\t\t}\n\t\t})\n\n\t\tnode.events.on(\"dragged\", (e) => {\n\t\t\tlet point = this.toLocal(e.point);\n\t\t\tconst angle = $math.getAngle({ x: 0, y: 0 }, point);\n\n\t\t\tnode.setAll({ x: 0, y: 0 });\n\t\t\tif (this.flow) {\n\t\t\t\tthis.flow.set(\"startAngle\", angle + this._dAngle);\n\t\t\t}\n\t\t})\n\n\t\tlabel._setDataItem(dataItem);\n\t\tslice._setDataItem(dataItem);\n\n\t\treturn node;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\t\t\t\t\tif (slice) {\n\t\t\t\t\t\tconst radius = slice.get(\"radius\", 0);\n\t\t\t\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\t\t\t\tconst bulletRadius = innerRadius + (radius - innerRadius) * locationY;\n\t\t\t\t\t\tconst angle = slice.get(\"startAngle\", 0) + slice.get(\"arc\", 0) * locationX;\n\t\t\t\t\t\tsprite.setAll({ x: bulletRadius * $math.cos(angle), y: bulletRadius * $math.sin(angle) });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tthis.slices.removeValue(slice);\n\t\t\tslice.dispose();\n\t\t}\n\t}\n}\n"]}
|
|
@@ -67,16 +67,42 @@ export interface IFlowSettings extends ISeriesSettings {
|
|
|
67
67
|
*/
|
|
68
68
|
nodePadding?: number;
|
|
69
69
|
/**
|
|
70
|
-
* Minimum size of the
|
|
70
|
+
* Minimum size of the link.
|
|
71
71
|
*
|
|
72
72
|
* It's a relative value to the sum of all values in the series. If set,
|
|
73
73
|
* this relative value will be used for small value nodes when calculating
|
|
74
74
|
* their size. For example, if it's set to `0.01`, small nodes will be
|
|
75
75
|
* sized like their value is 1% of the total sum of all values in series.
|
|
76
76
|
*
|
|
77
|
+
* @default 0
|
|
77
78
|
* @since 5.1.5
|
|
78
79
|
*/
|
|
79
80
|
minSize?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Relative size of hidden links.
|
|
83
|
+
*
|
|
84
|
+
* Links are hidden when user clicks on nodes (if `toggleKey` on nodes is set
|
|
85
|
+
* to `"disabled"`).
|
|
86
|
+
*
|
|
87
|
+
* This allows hidden node to remain visible so that user could click on it
|
|
88
|
+
* again to show it and its links.
|
|
89
|
+
*
|
|
90
|
+
* @default 0.05
|
|
91
|
+
* @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/#Node_toggling} for more info
|
|
92
|
+
* @since 5.4.1
|
|
93
|
+
*/
|
|
94
|
+
hiddenSize?: number;
|
|
95
|
+
/**
|
|
96
|
+
* Minimum value of hidden links.
|
|
97
|
+
*
|
|
98
|
+
* Links are hidden when user clicks on nodes (if `toggleKey` on nodes is set
|
|
99
|
+
* to `"disabled"`).
|
|
100
|
+
*
|
|
101
|
+
* @default 0
|
|
102
|
+
* @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/#Node_toggling} for more info
|
|
103
|
+
* @since 5.4.1
|
|
104
|
+
*/
|
|
105
|
+
minHiddenValue?: number;
|
|
80
106
|
}
|
|
81
107
|
export interface IFlowPrivate extends ISeriesPrivate {
|
|
82
108
|
valueSum?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,KAAK,QAAQ,MAAM,WAAW,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAMxD,MAAM,WAAW,aAAc,SAAQ,eAAe;IAErD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAElG;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAErC;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CAErC;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IAErD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;OASG;IACH,
|
|
1
|
+
{"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -258,6 +258,7 @@ export class Flow extends Series {
|
|
|
258
258
|
break;
|
|
259
259
|
case "target":
|
|
260
260
|
link.set("stroke", targetFill);
|
|
261
|
+
break;
|
|
261
262
|
case "gradient":
|
|
262
263
|
let gradient = link._strokeGradient;
|
|
263
264
|
if (!gradient) {
|
|
@@ -311,7 +312,12 @@ export class Flow extends Series {
|
|
|
311
312
|
duration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));
|
|
312
313
|
}
|
|
313
314
|
const easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));
|
|
314
|
-
promises.push(dataItem.animate({
|
|
315
|
+
promises.push(dataItem.animate({
|
|
316
|
+
key: "valueWorking",
|
|
317
|
+
to: Math.max(this.get("minHiddenValue", 0), this.get("hiddenSize", 0) * dataItem.get("value")),
|
|
318
|
+
duration: duration,
|
|
319
|
+
easing: easing
|
|
320
|
+
}).waitForStop());
|
|
315
321
|
const linkGraphics = dataItem.get("link");
|
|
316
322
|
linkGraphics.hide();
|
|
317
323
|
yield Promise.all(promises);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Flow.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { FlowLink } from \"./FlowLink\";\nimport type { FlowNodes, IFlowNodesDataItem } from \"./FlowNodes\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type * as d3sankey from \"d3-sankey\";\n\nimport { FlowDefaultTheme } from \"./FlowDefaultTheme\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { LinearGradient } from \"../../core/render/gradients/LinearGradient\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IFlowDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Link value.\n\t */\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\n\t/**\n\t * Associated link element.\n\t */\n\tlink: FlowLink;\n\n\t/**\n\t * Link's color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * @ignore\n\t */\n\td3SankeyLink: d3sankey.SankeyLink<d3sankey.SankeyExtraProperties, d3sankey.SankeyExtraProperties>;\n\n\t/**\n\t * An ID of the target node.\n\t */\n\ttargetId: string;\n\n\t/**\n\t * An ID of the source node.\n\t */\n\tsourceId: string;\n\n\t/**\n\t * A data item of the source node.\n\t */\n\tsource: DataItem<IFlowNodesDataItem>;\n\n\t/**\n\t * A data item of the target node.\n\t */\n\ttarget: DataItem<IFlowNodesDataItem>;\n\n}\n\nexport interface IFlowSettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data which holds source node ID.\n\t */\n\tsourceIdField?: string;\n\n\t/**\n\t * A field in data which holds target node ID.\n\t */\n\ttargetIdField?: string;\n\n\t/**\n\t * The thickness of node strip in pixels.\n\t *\n\t * @default 10\n\t */\n\tnodeWidth?: number;\n\n\t/**\n\t * Minimum gap between adjacent nodes.\n\t *\n\t * @default 10\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * Minimum size of the node/link.\n\t * \n\t * It's a relative value to the sum of all values in the series. If set,\n\t * this relative value will be used for small value nodes when calculating\n\t * their size. For example, if it's set to `0.01`, small nodes will be\n\t * sized like their value is 1% of the total sum of all values in series.\n\t *\n\t * @since 5.1.5\n\t */\n\tminSize?: number;\n\n}\n\nexport interface IFlowPrivate extends ISeriesPrivate {\n\tvalueSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n}\n\nexport interface IFlowEvents extends ISeriesEvents {\n}\n\n/**\n * A base class for all flow type series: [[Sankey]] and [[Chord]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more info\n */\nexport abstract class Flow extends Series {\n\tpublic static className: string = \"Flow\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Flow.className]);\n\n\tdeclare public _settings: IFlowSettings;\n\tdeclare public _privateSettings: IFlowPrivate;\n\tdeclare public _dataItemSettings: IFlowDataItem;\n\tdeclare public _events: IFlowEvents;\n\n\t/**\n\t * @ignore\n\t */\n\tdeclare public readonly nodes: FlowNodes;\n\n\t/**\n\t * Container series will place their links in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly linksContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract readonly links: ListTemplate<FlowLink>;\n\n\tprotected _nodesData: d3sankey.SankeyNodeMinimal<{}, {}>[] = [];\n\tprotected _linksData: { source: d3sankey.SankeyNodeMinimal<{}, {}>, target: d3sankey.SankeyNodeMinimal<{}, {}>, value: number }[] = [];\n\tprotected _index = 0;\n\tprotected _nodesDataSet:boolean = false;\n\n\tprotected _linksByIndex: { [index: string]: any } = {};\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(FlowDefaultTheme.new(this._root));\n\n\t\tthis.fields.push(\"disabled\", \"sourceId\", \"targetId\");\n\n\t\tif (this.nodes) {\n\t\t\tthis.nodes.flow = this;\n\t\t}\n\n\t\tsuper._afterNew();\n\n\t\tthis.children.push(this.bulletsContainer);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): FlowLink;\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst nodes = this.nodes;\n\t\tif (nodes) {\n\t\t\tlet unknown = false;\n\t\t\tlet sourceId = dataItem.get(\"sourceId\");\n\t\t\tlet sourceDataItem = nodes.getDataItemById(sourceId);\n\n\t\t\tif (!sourceDataItem) {\n\t\t\t\tif (sourceId == null) {\n\t\t\t\t\tsourceId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\t\t\t\tnodes.data.push({ id: sourceId, unknown: unknown });\n\t\t\t\tsourceDataItem = nodes.getDataItemById(sourceId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\tsourceDataItem.set(\"name\", sourceId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tunknown = false;\n\t\t\tlet targetId = dataItem.get(\"targetId\");\n\n\t\t\tlet targetDataItem = nodes.getDataItemById(targetId);\n\t\t\tif (!targetDataItem) {\n\t\t\t\tif (targetId == null) {\n\t\t\t\t\ttargetId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\n\t\t\t\tnodes.data.push({ id: targetId, unknown: unknown });\n\t\t\t\ttargetDataItem = nodes.getDataItemById(targetId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\ttargetDataItem.set(\"name\", targetId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (sourceDataItem) {\n\t\t\t\tdataItem.set(\"source\", sourceDataItem);\n\t\t\t\tnodes.addOutgoingLink(sourceDataItem, dataItem);\n\t\t\t}\n\n\t\t\tif (targetDataItem) {\n\t\t\t\tdataItem.set(\"target\", targetDataItem);\n\t\t\t\tnodes.addincomingLink(targetDataItem, dataItem);\n\t\t\t}\n\n\t\t\tdataItem.set(\"link\", this.makeLink(dataItem));\n\n\t\t\tconst sourceIndex = this.nodes.dataItems.indexOf(sourceDataItem);\n\t\t\tconst targetIndex = this.nodes.dataItems.indexOf(targetDataItem);\n\n\t\t\tthis._linksByIndex[sourceIndex + \"_\" + targetIndex] = dataItem;\n\n\t\t\tif (sourceDataItem.get(\"unknown\")) {\n\t\t\t\tif (targetDataItem) {\n\t\t\t\t\tsourceDataItem.set(\"fill\", targetDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\n\t\t\tif (targetDataItem.get(\"unknown\")) {\n\t\t\t\tif (sourceDataItem) {\n\t\t\t\t\ttargetDataItem.set(\"fill\", sourceDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\t\t\tthis._updateLinkColor(dataItem);\n\t\t}\n\t}\n\n\tprotected _onDataClear() {\n\t\tif(!this.nodes._userDataSet){\n\t\t\tthis.nodes.data.setAll([]);\n\t\t\tthis.nodes._userDataSet = false;\n\t\t}\n\n\t}\t\t\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tlet valueLow = Infinity;\n\t\tlet valueHigh = -Infinity;\n\t\tlet valueSum = 0;\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._nodesData = [];\n\t\t\tconst nodes = this.nodes;\n\t\t\tif (nodes) {\n\t\t\t\t$array.each(nodes.dataItems, (dataItem) => {\n\t\t\t\t\tconst d3SankeyNode = dataItem.get(\"d3SankeyNode\");\n\t\t\t\t\tthis._nodesData.push(d3SankeyNode);\n\n\t\t\t\t\tconst incoming = dataItem.get(\"incomingLinks\")\n\n\t\t\t\t\tlet sumIncoming = 0;\n\t\t\t\t\tlet sumIncomingWorking = 0;\n\t\t\t\t\tif (incoming) {\n\t\t\t\t\t\t$array.each(incoming, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumIncoming += value;\n\t\t\t\t\t\t\tsumIncomingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumIncoming\", sumIncoming);\n\t\t\t\t\tdataItem.set(\"sumIncomingWorking\", sumIncomingWorking);\n\n\t\t\t\t\tconst outgoing = dataItem.get(\"outgoingLinks\")\n\t\t\t\t\tlet sumOutgoing = 0;\n\t\t\t\t\tlet sumOutgoingWorking = 0;\n\t\t\t\t\tif (outgoing) {\n\t\t\t\t\t\t$array.each(outgoing, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumOutgoing += value;\n\t\t\t\t\t\t\tsumOutgoingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumOutgoing\", sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumOutgoingWorking\", sumOutgoingWorking);\n\n\t\t\t\t\tdataItem.set(\"sum\", sumIncoming + sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumWorking\", sumIncomingWorking + sumOutgoingWorking);\n\n\t\t\t\t\tnodes.updateLegendValue(dataItem);\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis._linksData = [];\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"value\");\n\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\tif (value < valueLow) {\n\t\t\t\t\t\tvalueLow = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\t\tvalueHigh = value;\n\t\t\t\t\t}\n\t\t\t\t\tvalueSum += value;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"value\");\n\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\");\n\t\t\t\t\tlet minSize = this.get(\"minSize\", 0);\n\t\t\t\t\tif (minSize > 0) {\n\t\t\t\t\t\tif (valueWorking < minSize * valueSum) {\n\t\t\t\t\t\t\tvalueWorking = minSize * valueSum;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet d3SankeyLink = { source: dataItem.get(\"source\").get(\"d3SankeyNode\"), target: dataItem.get(\"target\").get(\"d3SankeyNode\"), value: valueWorking };\n\t\t\t\t\tdataItem.setRaw(\"d3SankeyLink\", d3SankeyLink);\n\t\t\t\t\tthis._linksData.push(d3SankeyLink);\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueSum\", valueSum);\n\t\t}\n\t}\n\n\tpublic _updateLinkColor(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst link = dataItem.get(\"link\");\n\n\t\tconst fillStyle = link.get(\"fillStyle\");\n\t\tconst strokeStyle = link.get(\"strokeStyle\");\n\t\tconst source = dataItem.get(\"source\");\n\t\tconst target = dataItem.get(\"target\");\n\t\tconst sourceFill = source.get(\"fill\");\n\t\tconst targetFill = target.get(\"fill\");\n\t\tlink.remove(\"fillGradient\");\n\t\tlink.remove(\"strokeGradient\");\n\n\t\tswitch (fillStyle) {\n\n\t\t\tcase \"solid\":\n\t\t\t\tlink._applyTemplates();\n\t\t\t\tbreak;\n\t\t\tcase \"source\":\n\t\t\t\tlink.set(\"fill\", sourceFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"target\":\n\t\t\t\tlink.set(\"fill\", targetFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"gradient\":\n\t\t\t\tlet gradient = link._fillGradient;\n\t\t\t\tif (!gradient) {\n\t\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t\t}\n\t\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\t\tlink._fillGradient = gradient;\n\t\t\t\t}\n\t\t\t\tlink.set(\"fillGradient\", gradient);\n\t\t\t\tbreak;\n\t\t\tcase \"none\":\n\t\t\t\tlink.set(\"fill\", undefined); // do not use remove!\n\t\t\t\tbreak;\n\t\t}\n\n\t\tswitch (strokeStyle) {\n\t\t\tcase \"solid\":\n\t\t\t\tlink._applyTemplates();\n\t\t\t\tbreak;\n\n\t\t\tcase \"source\":\n\t\t\t\tlink.set(\"stroke\", sourceFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"target\":\n\t\t\t\tlink.set(\"stroke\", targetFill);\n\n\t\t\tcase \"gradient\":\n\t\t\t\tlet gradient = link._strokeGradient;\n\t\t\t\tif (!gradient) {\n\t\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t\t}\n\t\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\t\tlink._strokeGradient = gradient;\n\t\t\t\t}\n\t\t\t\tlink.set(\"strokeGradient\", gradient);\n\t\t\t\tbreak;\n\n\t\t\tcase \"none\":\n\t\t\t\tlink.remove(\"stroke\");\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet link = dataItem.get(\"link\");\n\t\tif (link) {\n\t\t\tthis.links.removeValue(link);\n\t\t\tlink.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tconst stateAnimationDuration = \"stateAnimationDuration\";\n\t\tconst stateAnimationEasing = \"stateAnimationEasing\";\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));\n\n\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: 0, duration: duration, easing: easing }).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.hide();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.show();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst link = dataItem.get(\"link\");\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\t\tif (sprite) {\n\t\t\t\t\tconst point = link.getPoint(this._getBulletLocation(bullet));\n\t\t\t\t\tsprite.setAll({ x: point.x, y: point.y });\n\n\t\t\t\t\tif (bullet.get(\"autoRotate\")) {\n\t\t\t\t\t\tsprite.set(\"rotation\", point.angle + bullet.get(\"autoRotateAngle\", 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _getBulletLocation(bullet: Bullet): number {\n\t\treturn bullet.get(\"locationY\", 0);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Flow.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Flow.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { FlowLink } from \"./FlowLink\";\nimport type { FlowNodes, IFlowNodesDataItem } from \"./FlowNodes\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type * as d3sankey from \"d3-sankey\";\n\nimport { FlowDefaultTheme } from \"./FlowDefaultTheme\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { LinearGradient } from \"../../core/render/gradients/LinearGradient\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IFlowDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Link value.\n\t */\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\n\t/**\n\t * Associated link element.\n\t */\n\tlink: FlowLink;\n\n\t/**\n\t * Link's color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * @ignore\n\t */\n\td3SankeyLink: d3sankey.SankeyLink<d3sankey.SankeyExtraProperties, d3sankey.SankeyExtraProperties>;\n\n\t/**\n\t * An ID of the target node.\n\t */\n\ttargetId: string;\n\n\t/**\n\t * An ID of the source node.\n\t */\n\tsourceId: string;\n\n\t/**\n\t * A data item of the source node.\n\t */\n\tsource: DataItem<IFlowNodesDataItem>;\n\n\t/**\n\t * A data item of the target node.\n\t */\n\ttarget: DataItem<IFlowNodesDataItem>;\n\n}\n\nexport interface IFlowSettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data which holds source node ID.\n\t */\n\tsourceIdField?: string;\n\n\t/**\n\t * A field in data which holds target node ID.\n\t */\n\ttargetIdField?: string;\n\n\t/**\n\t * The thickness of node strip in pixels.\n\t *\n\t * @default 10\n\t */\n\tnodeWidth?: number;\n\n\t/**\n\t * Minimum gap between adjacent nodes.\n\t *\n\t * @default 10\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * Minimum size of the link.\n\t * \n\t * It's a relative value to the sum of all values in the series. If set,\n\t * this relative value will be used for small value nodes when calculating\n\t * their size. For example, if it's set to `0.01`, small nodes will be\n\t * sized like their value is 1% of the total sum of all values in series.\n\t * \n\t * @default 0\n\t * @since 5.1.5\n\t */\n\tminSize?: number;\n\n\t/**\n\t * Relative size of hidden links.\n\t * \n\t * Links are hidden when user clicks on nodes (if `toggleKey` on nodes is set\n\t * to `\"disabled\"`).\n\t * \n\t * This allows hidden node to remain visible so that user could click on it\n\t * again to show it and its links.\n\t * \n\t * @default 0.05\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/#Node_toggling} for more info\n\t * @since 5.4.1\n\t */\n\thiddenSize?: number;\n\n\t/**\n\t * Minimum value of hidden links.\n\t * \n\t * Links are hidden when user clicks on nodes (if `toggleKey` on nodes is set\n\t * to `\"disabled\"`).\n\t * \n\t * @default 0\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/#Node_toggling} for more info\n\t * @since 5.4.1\n\t */\n\tminHiddenValue?: number;\n}\n\nexport interface IFlowPrivate extends ISeriesPrivate {\n\tvalueSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n}\n\nexport interface IFlowEvents extends ISeriesEvents {\n}\n\n/**\n * A base class for all flow type series: [[Sankey]] and [[Chord]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more info\n */\nexport abstract class Flow extends Series {\n\tpublic static className: string = \"Flow\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Flow.className]);\n\n\tdeclare public _settings: IFlowSettings;\n\tdeclare public _privateSettings: IFlowPrivate;\n\tdeclare public _dataItemSettings: IFlowDataItem;\n\tdeclare public _events: IFlowEvents;\n\n\t/**\n\t * @ignore\n\t */\n\tdeclare public readonly nodes: FlowNodes;\n\n\t/**\n\t * Container series will place their links in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly linksContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract readonly links: ListTemplate<FlowLink>;\n\n\tprotected _nodesData: d3sankey.SankeyNodeMinimal<{}, {}>[] = [];\n\tprotected _linksData: { source: d3sankey.SankeyNodeMinimal<{}, {}>, target: d3sankey.SankeyNodeMinimal<{}, {}>, value: number }[] = [];\n\tprotected _index = 0;\n\tprotected _nodesDataSet: boolean = false;\n\n\tprotected _linksByIndex: { [index: string]: any } = {};\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(FlowDefaultTheme.new(this._root));\n\n\t\tthis.fields.push(\"disabled\", \"sourceId\", \"targetId\");\n\n\t\tif (this.nodes) {\n\t\t\tthis.nodes.flow = this;\n\t\t}\n\n\t\tsuper._afterNew();\n\n\t\tthis.children.push(this.bulletsContainer);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): FlowLink;\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst nodes = this.nodes;\n\t\tif (nodes) {\n\t\t\tlet unknown = false;\n\t\t\tlet sourceId = dataItem.get(\"sourceId\");\n\t\t\tlet sourceDataItem = nodes.getDataItemById(sourceId);\n\n\t\t\tif (!sourceDataItem) {\n\t\t\t\tif (sourceId == null) {\n\t\t\t\t\tsourceId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\t\t\t\tnodes.data.push({ id: sourceId, unknown: unknown });\n\t\t\t\tsourceDataItem = nodes.getDataItemById(sourceId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\tsourceDataItem.set(\"name\", sourceId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tunknown = false;\n\t\t\tlet targetId = dataItem.get(\"targetId\");\n\n\t\t\tlet targetDataItem = nodes.getDataItemById(targetId);\n\t\t\tif (!targetDataItem) {\n\t\t\t\tif (targetId == null) {\n\t\t\t\t\ttargetId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\n\t\t\t\tnodes.data.push({ id: targetId, unknown: unknown });\n\t\t\t\ttargetDataItem = nodes.getDataItemById(targetId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\ttargetDataItem.set(\"name\", targetId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (sourceDataItem) {\n\t\t\t\tdataItem.set(\"source\", sourceDataItem);\n\t\t\t\tnodes.addOutgoingLink(sourceDataItem, dataItem);\n\t\t\t}\n\n\t\t\tif (targetDataItem) {\n\t\t\t\tdataItem.set(\"target\", targetDataItem);\n\t\t\t\tnodes.addincomingLink(targetDataItem, dataItem);\n\t\t\t}\n\n\t\t\tdataItem.set(\"link\", this.makeLink(dataItem));\n\n\t\t\tconst sourceIndex = this.nodes.dataItems.indexOf(sourceDataItem);\n\t\t\tconst targetIndex = this.nodes.dataItems.indexOf(targetDataItem);\n\n\t\t\tthis._linksByIndex[sourceIndex + \"_\" + targetIndex] = dataItem;\n\n\t\t\tif (sourceDataItem.get(\"unknown\")) {\n\t\t\t\tif (targetDataItem) {\n\t\t\t\t\tsourceDataItem.set(\"fill\", targetDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\n\t\t\tif (targetDataItem.get(\"unknown\")) {\n\t\t\t\tif (sourceDataItem) {\n\t\t\t\t\ttargetDataItem.set(\"fill\", sourceDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\t\t\tthis._updateLinkColor(dataItem);\n\t\t}\n\t}\n\n\tprotected _onDataClear() {\n\t\tif (!this.nodes._userDataSet) {\n\t\t\tthis.nodes.data.setAll([]);\n\t\t\tthis.nodes._userDataSet = false;\n\t\t}\n\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tlet valueLow = Infinity;\n\t\tlet valueHigh = -Infinity;\n\t\tlet valueSum = 0;\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._nodesData = [];\n\t\t\tconst nodes = this.nodes;\n\t\t\tif (nodes) {\n\t\t\t\t$array.each(nodes.dataItems, (dataItem) => {\n\t\t\t\t\tconst d3SankeyNode = dataItem.get(\"d3SankeyNode\");\n\t\t\t\t\tthis._nodesData.push(d3SankeyNode);\n\n\t\t\t\t\tconst incoming = dataItem.get(\"incomingLinks\")\n\n\t\t\t\t\tlet sumIncoming = 0;\n\t\t\t\t\tlet sumIncomingWorking = 0;\n\t\t\t\t\tif (incoming) {\n\t\t\t\t\t\t$array.each(incoming, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumIncoming += value;\n\t\t\t\t\t\t\tsumIncomingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumIncoming\", sumIncoming);\n\t\t\t\t\tdataItem.set(\"sumIncomingWorking\", sumIncomingWorking);\n\n\t\t\t\t\tconst outgoing = dataItem.get(\"outgoingLinks\")\n\t\t\t\t\tlet sumOutgoing = 0;\n\t\t\t\t\tlet sumOutgoingWorking = 0;\n\t\t\t\t\tif (outgoing) {\n\t\t\t\t\t\t$array.each(outgoing, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumOutgoing += value;\n\t\t\t\t\t\t\tsumOutgoingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumOutgoing\", sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumOutgoingWorking\", sumOutgoingWorking);\n\n\t\t\t\t\tdataItem.set(\"sum\", sumIncoming + sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumWorking\", sumIncomingWorking + sumOutgoingWorking);\n\n\t\t\t\t\tnodes.updateLegendValue(dataItem);\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis._linksData = [];\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"value\");\n\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\tif (value < valueLow) {\n\t\t\t\t\t\tvalueLow = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\t\tvalueHigh = value;\n\t\t\t\t\t}\n\t\t\t\t\tvalueSum += value;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"value\");\n\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\");\n\t\t\t\t\tlet minSize = this.get(\"minSize\", 0);\n\t\t\t\t\tif (minSize > 0) {\n\t\t\t\t\t\tif (valueWorking < minSize * valueSum) {\n\t\t\t\t\t\t\tvalueWorking = minSize * valueSum;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet d3SankeyLink = { source: dataItem.get(\"source\").get(\"d3SankeyNode\"), target: dataItem.get(\"target\").get(\"d3SankeyNode\"), value: valueWorking };\n\t\t\t\t\tdataItem.setRaw(\"d3SankeyLink\", d3SankeyLink);\n\t\t\t\t\tthis._linksData.push(d3SankeyLink);\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueSum\", valueSum);\n\t\t}\n\t}\n\n\tpublic _updateLinkColor(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst link = dataItem.get(\"link\");\n\n\t\tconst fillStyle = link.get(\"fillStyle\");\n\t\tconst strokeStyle = link.get(\"strokeStyle\");\n\t\tconst source = dataItem.get(\"source\");\n\t\tconst target = dataItem.get(\"target\");\n\t\tconst sourceFill = source.get(\"fill\");\n\t\tconst targetFill = target.get(\"fill\");\n\t\tlink.remove(\"fillGradient\");\n\t\tlink.remove(\"strokeGradient\");\n\n\t\tswitch (fillStyle) {\n\n\t\t\tcase \"solid\":\n\t\t\t\tlink._applyTemplates();\n\t\t\t\tbreak;\n\t\t\tcase \"source\":\n\t\t\t\tlink.set(\"fill\", sourceFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"target\":\n\t\t\t\tlink.set(\"fill\", targetFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"gradient\":\n\t\t\t\tlet gradient = link._fillGradient;\n\t\t\t\tif (!gradient) {\n\t\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t\t}\n\t\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\t\tlink._fillGradient = gradient;\n\t\t\t\t}\n\t\t\t\tlink.set(\"fillGradient\", gradient);\n\t\t\t\tbreak;\n\t\t\tcase \"none\":\n\t\t\t\tlink.set(\"fill\", undefined); // do not use remove!\n\t\t\t\tbreak;\n\t\t}\n\n\t\tswitch (strokeStyle) {\n\t\t\tcase \"solid\":\n\t\t\t\tlink._applyTemplates();\n\t\t\t\tbreak;\n\n\t\t\tcase \"source\":\n\t\t\t\tlink.set(\"stroke\", sourceFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"target\":\n\t\t\t\tlink.set(\"stroke\", targetFill);\n\t\t\t\tbreak;\n\t\t\tcase \"gradient\":\n\t\t\t\tlet gradient = link._strokeGradient;\n\t\t\t\tif (!gradient) {\n\t\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t\t}\n\t\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\t\tlink._strokeGradient = gradient;\n\t\t\t\t}\n\t\t\t\tlink.set(\"strokeGradient\", gradient);\n\t\t\t\tbreak;\n\n\t\t\tcase \"none\":\n\t\t\t\tlink.remove(\"stroke\");\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet link = dataItem.get(\"link\");\n\t\tif (link) {\n\t\t\tthis.links.removeValue(link);\n\t\t\tlink.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tconst stateAnimationDuration = \"stateAnimationDuration\";\n\t\tconst stateAnimationEasing = \"stateAnimationEasing\";\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));\n\n\t\tpromises.push(dataItem.animate({\n\t\t\tkey: \"valueWorking\" as any,\n\t\t\tto: Math.max(this.get(\"minHiddenValue\", 0), this.get(\"hiddenSize\", 0) * dataItem.get(\"value\")),\n\t\t\tduration: duration,\n\t\t\teasing: easing\n\t\t}).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.hide();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.show();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst link = dataItem.get(\"link\");\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\t\tif (sprite) {\n\t\t\t\t\tconst point = link.getPoint(this._getBulletLocation(bullet));\n\t\t\t\t\tsprite.setAll({ x: point.x, y: point.y });\n\n\t\t\t\t\tif (bullet.get(\"autoRotate\")) {\n\t\t\t\t\t\tsprite.set(\"rotation\", point.angle + bullet.get(\"autoRotateAngle\", 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _getBulletLocation(bullet: Bullet): number {\n\t\treturn bullet.get(\"locationY\", 0);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowDefaultTheme.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/FlowDefaultTheme.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FlowDefaultTheme.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/FlowDefaultTheme.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AASzC;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,SAAS,CAAC,iBAAiB;CAwU3B"}
|
|
@@ -3,6 +3,7 @@ import { percent, p100, p50 } from "../../core/util/Percent";
|
|
|
3
3
|
import { ColorSet } from "../../core/util/ColorSet";
|
|
4
4
|
import { setColor } from "../../themes/DefaultTheme";
|
|
5
5
|
import * as $array from "../../core/util/Array";
|
|
6
|
+
import * as $ease from "../../core/util/Ease";
|
|
6
7
|
/**
|
|
7
8
|
* @ignore
|
|
8
9
|
*/
|
|
@@ -22,18 +23,29 @@ export class FlowDefaultTheme extends Theme {
|
|
|
22
23
|
paddingLeft: 10,
|
|
23
24
|
paddingRight: 10,
|
|
24
25
|
paddingTop: 10,
|
|
25
|
-
paddingBottom: 10
|
|
26
|
+
paddingBottom: 10,
|
|
27
|
+
hiddenSize: 0.05,
|
|
28
|
+
minSize: 0,
|
|
29
|
+
minHiddenValue: 0
|
|
26
30
|
});
|
|
27
31
|
r("FlowNodes").setAll({
|
|
28
32
|
colors: ColorSet.new(this._root, {}),
|
|
29
33
|
legendLabelText: "{name}",
|
|
30
34
|
legendValueText: "{sumOutgoing.formatNumber('#.#')}"
|
|
31
35
|
});
|
|
32
|
-
r("FlowNode").setAll({
|
|
36
|
+
r("FlowNode").setAll({
|
|
37
|
+
setStateOnChildren: true,
|
|
38
|
+
cursorOverStyle: "pointer",
|
|
39
|
+
toggleKey: "disabled"
|
|
40
|
+
});
|
|
41
|
+
r("FlowNode").states.create("disabled", {}); // do not remove
|
|
33
42
|
r("FlowNode", ["unknown"]).setAll({
|
|
34
43
|
draggable: false,
|
|
35
44
|
opacity: 0
|
|
36
45
|
});
|
|
46
|
+
r("Label", ["flow"]).states.create("disabled", {
|
|
47
|
+
fill: ic.get("disabled")
|
|
48
|
+
});
|
|
37
49
|
r("RadialLabel", ["flow", "node"]).setAll({
|
|
38
50
|
text: "{name}",
|
|
39
51
|
populateText: true
|
|
@@ -105,6 +117,9 @@ export class FlowDefaultTheme extends Theme {
|
|
|
105
117
|
cornerRadiusTR: 0,
|
|
106
118
|
cornerRadiusBR: 0
|
|
107
119
|
});
|
|
120
|
+
r("RoundedRectangle", ["shape"]).states.create("disabled", {
|
|
121
|
+
fill: ic.get("disabled")
|
|
122
|
+
});
|
|
108
123
|
r("SankeyLink").setAll({
|
|
109
124
|
controlPointDistance: 0.2
|
|
110
125
|
});
|
|
@@ -146,7 +161,7 @@ export class FlowDefaultTheme extends Theme {
|
|
|
146
161
|
nodeWidth: 10,
|
|
147
162
|
padAngle: 1,
|
|
148
163
|
startAngle: 0,
|
|
149
|
-
sort: "
|
|
164
|
+
sort: "none"
|
|
150
165
|
});
|
|
151
166
|
r("ChordDirected").setAll({
|
|
152
167
|
linkHeadRadius: 10
|
|
@@ -168,6 +183,9 @@ export class FlowDefaultTheme extends Theme {
|
|
|
168
183
|
r("Slice", ["chord", "node", "shape"]).setAll({
|
|
169
184
|
cornerRadius: 0
|
|
170
185
|
});
|
|
186
|
+
r("Slice", ["shape"]).states.create("disabled", {
|
|
187
|
+
fill: ic.get("disabled")
|
|
188
|
+
});
|
|
171
189
|
r("RadialLabel", ["chord", "node"]).setAll({
|
|
172
190
|
radius: 5,
|
|
173
191
|
textType: "circular"
|
|
@@ -198,6 +216,59 @@ export class FlowDefaultTheme extends Theme {
|
|
|
198
216
|
strokeOpacity: 0.4
|
|
199
217
|
});
|
|
200
218
|
r("Graphics", ["chord", "link", "shape", "basic"]).states.create("hover", { strokeWidth: 2, strokeOpacity: 1 });
|
|
219
|
+
/**
|
|
220
|
+
* ------------------------------------------------------------------------
|
|
221
|
+
* charts/flow: ArcDiagram
|
|
222
|
+
* ------------------------------------------------------------------------
|
|
223
|
+
*/
|
|
224
|
+
r("ArcDiagram").setAll({
|
|
225
|
+
orientation: "horizontal",
|
|
226
|
+
nodePadding: 5,
|
|
227
|
+
minRadius: 5,
|
|
228
|
+
radiusKey: "sum",
|
|
229
|
+
animationEasing: $ease.out($ease.cubic)
|
|
230
|
+
});
|
|
231
|
+
r("ArcDiagramNodes", ["horizontal"]).setAll({
|
|
232
|
+
y: p100,
|
|
233
|
+
centerY: p100
|
|
234
|
+
});
|
|
235
|
+
r("ArcDiagramNodes", ["vertical"]).setAll({
|
|
236
|
+
centerX: 0
|
|
237
|
+
});
|
|
238
|
+
r("Circle", ["arcdiagram", "node", "shape"]).setAll({
|
|
239
|
+
tooltipText: "{name}: {sum}"
|
|
240
|
+
});
|
|
241
|
+
r("Circle", ["arcdiagram", "node", "shape"]).states.create("disabled", {
|
|
242
|
+
fill: ic.get("disabled")
|
|
243
|
+
});
|
|
244
|
+
{
|
|
245
|
+
const rule = r("ArcDiagramLink", ["link", "shape"]);
|
|
246
|
+
rule.setAll({
|
|
247
|
+
strokeOpacity: 0.15,
|
|
248
|
+
strokeStyle: "solid",
|
|
249
|
+
fillStyle: "none",
|
|
250
|
+
isMeasured: false
|
|
251
|
+
});
|
|
252
|
+
setColor(rule, "stroke", ic, "grid");
|
|
253
|
+
}
|
|
254
|
+
r("ArcDiagramLink", ["link", "shape"]).states.create("hover", {
|
|
255
|
+
strokeOpacity: 1
|
|
256
|
+
});
|
|
257
|
+
r("Label", ["arcdiagram", "node"]).setAll({
|
|
258
|
+
text: "{name}",
|
|
259
|
+
populateText: true
|
|
260
|
+
});
|
|
261
|
+
r("Label", ["arcdiagram", "horizontal"]).setAll({
|
|
262
|
+
y: 0,
|
|
263
|
+
centerY: p50,
|
|
264
|
+
centerX: p100,
|
|
265
|
+
rotation: -90
|
|
266
|
+
});
|
|
267
|
+
r("Label", ["arcdiagram", "vertical"]).setAll({
|
|
268
|
+
centerY: p50,
|
|
269
|
+
centerX: p100,
|
|
270
|
+
paddingRight: 15
|
|
271
|
+
});
|
|
201
272
|
}
|
|
202
273
|
}
|
|
203
274
|
//# sourceMappingURL=FlowDefaultTheme.js.map
|