@amcharts/amcharts5 5.3.6 → 5.3.8
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/ForceDirected.d.ts.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.js +3 -3
- package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.js +4 -0
- package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
- package/.internal/charts/map/ZoomControl.js +1 -0
- package/.internal/charts/map/ZoomControl.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts +14 -1
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +44 -0
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js +3 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts +1 -0
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js +15 -0
- package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts +21 -0
- package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js +49 -6
- package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js +40 -30
- package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +7 -2
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.js +1 -0
- package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.js +1 -0
- package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +5 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +20 -1
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts +15 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +82 -24
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Component.d.ts.map +1 -1
- package/.internal/core/render/Component.js +3 -0
- package/.internal/core/render/Component.js.map +1 -1
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +8 -2
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Graphics.d.ts.map +1 -1
- package/.internal/core/render/Graphics.js +3 -0
- package/.internal/core/render/Graphics.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +13 -3
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts +2 -1
- package/.internal/core/render/Tooltip.d.ts.map +1 -1
- package/.internal/core/render/Tooltip.js +19 -1
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +8 -8
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +93 -65
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/backend/Renderer.d.ts +2 -1
- package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
- package/.internal/core/render/backend/Renderer.js.map +1 -1
- package/.internal/core/util/Template.d.ts +4 -0
- package/.internal/core/util/Template.d.ts.map +1 -1
- package/.internal/core/util/Template.js +6 -0
- package/.internal/core/util/Template.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +4 -4
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/CHANGELOG.md +34 -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/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/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-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/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/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/map.d.ts +1 -1
- package/map.d.ts.map +1 -1
- package/map.js +1 -1
- package/map.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForceDirected.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ForceDirected.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ export class ForceDirected extends LinkedHierarchy {
|
|
|
100
100
|
*/
|
|
101
101
|
restartSimulation(alpha) {
|
|
102
102
|
const d3forceSimulation = this.d3forceSimulation;
|
|
103
|
-
if (d3forceSimulation.alpha() <
|
|
103
|
+
if (d3forceSimulation.alpha() < .25) {
|
|
104
104
|
d3forceSimulation.alpha(alpha);
|
|
105
105
|
d3forceSimulation.restart();
|
|
106
106
|
}
|
|
@@ -145,7 +145,7 @@ export class ForceDirected extends LinkedHierarchy {
|
|
|
145
145
|
}
|
|
146
146
|
_updateVisuals() {
|
|
147
147
|
super._updateVisuals();
|
|
148
|
-
this.restartSimulation(
|
|
148
|
+
this.restartSimulation(.3);
|
|
149
149
|
}
|
|
150
150
|
_updateChildren() {
|
|
151
151
|
super._updateChildren();
|
|
@@ -189,7 +189,7 @@ export class ForceDirected extends LinkedHierarchy {
|
|
|
189
189
|
return radius + this.get("nodePadding", 0);
|
|
190
190
|
}
|
|
191
191
|
});
|
|
192
|
-
this.restartSimulation(
|
|
192
|
+
this.restartSimulation(0.3);
|
|
193
193
|
}
|
|
194
194
|
_animatePositions(_dataItem) {
|
|
195
195
|
// void, do not remove
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForceDirected.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport type { HierarchyLink } from \"./HierarchyLink\";\nimport type * as d3Hierarchy from \"d3-hierarchy\";\n\nimport { LinkedHierarchy, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyPrivate, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as d3Force from \"d3-force\";\n\n/**\n * @ignore\n */\nexport interface IForceDirectedDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IForceDirectedDataObject[],\n\tdataItem?: DataItem<IForceDirectedDataItem>\n};\n\nexport interface IForceDirectedDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of data items of child nodes.\n\t */\n\tchildren: Array<DataItem<IForceDirectedDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<IForceDirectedDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3ForceNode: d3Force.SimulationNodeDatum;\n\n\t/**\n\t * X coordinate.\n\t */\n\tx: number | undefined;\n\n\t/**\n\t * Y coordinate.\n\t */\n\ty: number | undefined;\n}\n\nexport interface IForceDirectedSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Minimum gap in pixels between the nodes.\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to the center of the\n\t * chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tcenterStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to each other.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default -15\n\t */\n\tmanyBodyStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) nodes that are linked together\n\t * via `linkWithField`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tlinkWithStrength?: number | undefined;\n\n\t/**\n\t * Resistance acting agains node speed.\n\t *\n\t * The greater the value, the more \"sluggish\" the nodes will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tvelocityDecay?: number;\n\n\t/**\n\t * Length of how long initial force simulation would run in frames.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 500\n\t */\n\tinitialFrames?: number;\n\n\t/**\n\t * If set to a number will wait X number of frames before revealing\n\t * the tree.\n\t *\n\t * Can be used to hide initial animations where nodes settle into their\n\t * places.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 10\n\t */\n\tshowOnFrame?: number;\n\n\t/**\n\t * Smallest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 1%\n\t */\n\tminRadius?: number | Percent;\n\n\t/**\n\t * Biggest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 8%\n\t */\n\tmaxRadius?: number | Percent;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\txField?: string;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\tyField?: string;\n\n}\n\nexport interface IForceDirectedPrivate extends ILinkedHierarchyPrivate {\n}\n\nexport interface IForceDirectedEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Creates a force-directed tree.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/} for more info\n * @important\n */\nexport class ForceDirected extends LinkedHierarchy {\n\n\tprotected _tag: string = \"forcedirected\";\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly d3forceSimulation: d3Force.Simulation<{}, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceSimulation();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly collisionForce: d3Force.ForceCollide<d3Force.SimulationNodeDatum> = d3Force.forceCollide(20);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic linkForce: d3Force.ForceLink<d3Force.SimulationNodeDatum, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceLink();\n\n\tpublic static className: string = \"ForceDirected\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([ForceDirected.className]);\n\n\tdeclare public _settings: IForceDirectedSettings;\n\tdeclare public _privateSettings: IForceDirectedPrivate;\n\tdeclare public _dataItemSettings: IForceDirectedDataItem;\n\tdeclare public _events: IForceDirectedEvents;\n\n\tprotected _nodes: Array<any> = [];\n\tprotected _links: Array<any> = [];\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.d3forceSimulation.on(\"tick\", () => {\n\t\t\tthis._tick++;\n\t\t\tthis.updateNodePositions();\n\t\t});\n\t}\n\n\tprotected _tick: number = 0;\n\tprotected _nodesDirty: boolean = false;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"showOnFrame\")) {\n\t\t\tconst showOnFrame = this.get(\"showOnFrame\");\n\t\t\tif (showOnFrame > this._tick) {\n\t\t\t\tthis.nodesContainer.setPrivate(\"visible\", false);\n\t\t\t\tthis.linksContainer.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this.isDirty(\"velocityDecay\")) {\n\t\t\td3forceSimulation.velocityDecay(this.get(\"velocityDecay\", 0));\n\t\t}\n\n\t\tif (this.isDirty(\"initialFrames\")) {\n\t\t\td3forceSimulation.alphaDecay(1 - Math.pow(0.001, 1 / this.get(\"initialFrames\", 500)));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic restartSimulation(alpha: number): void {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\tif (d3forceSimulation.alpha() < alpha) {\n\t\t\td3forceSimulation.alpha(alpha);\n\t\t\td3forceSimulation.restart();\n\t\t}\n\t}\n\n\tpublic _handleRadiusChange() {\n\t\tthis._updateForces();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3ForceNode: any = { index: this._index, x: this.innerWidth() / 2, y: this.innerHeight() / 2, dataItem: dataItem };\n\t\tconst index = this._nodes.push(d3ForceNode) - 1;\n\t\td3ForceNode.index = index;\n\n\t\tthis.d3forceSimulation.nodes(this._nodes);\n\n\t\tdataItem.set(\"d3ForceNode\", d3ForceNode);\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.set(\"x\", -10000);\n\t\tnode.on(\"scale\", () => {\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\td3ForceNode.fx = node.x();\n\t\t\td3ForceNode.fy = node.y();\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragstop\", () => {\n\t\t\tif (dataItem.get(\"x\") == null) {\n\t\t\t\td3ForceNode.fx = undefined;\n\t\t\t}\n\t\t\tif (dataItem.get(\"y\") == null) {\n\t\t\t\td3ForceNode.fy = undefined;\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3Hierarchy.HierarchyNode<IForceDirectedDataObject>) {\n\t\tsuper._updateValues(d3HierarchyNode);\n\n\t\tthis._nodesDirty = true;\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"collision\", this.collisionForce);\n\t\td3forceSimulation.nodes(this._nodes);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\td3forceSimulation.force(\"link\", this.linkForce);\n\t}\n\n\tprotected _updateVisuals() {\n\t\tsuper._updateVisuals();\n\t\tthis.restartSimulation(1);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this._sizeDirty) {\n\t\t\tlet w = Math.max(50, this.innerWidth());\n\t\t\tlet h = Math.max(50, this.innerHeight());\n\t\t\tlet pt = this.get(\"paddingTop\", 0);\n\t\t\tlet pl = this.get(\"paddingLeft\", 0);\n\n\t\t\tlet centerStrength = this.get(\"centerStrength\", 1);\n\n\t\t\td3forceSimulation.force(\"x\", d3Force.forceX().x(w / 2 + pl).strength(centerStrength * 100 / w));\n\t\t\td3forceSimulation.force(\"y\", d3Force.forceY().y(h / 2 + pt).strength(centerStrength * 100 / h));\n\t\t}\n\n\t\tif (this._nodesDirty) {\n\t\t\tthis._updateForces();\n\t\t}\n\t}\n\n\tpublic _updateForces() {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"manybody\", d3Force.forceManyBody().strength((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet manyBodyStrength = this.get(\"manyBodyStrength\", -15);\n\n\t\t\tif(circle){\n\t\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}));\n\n\t\tthis.collisionForce.radius((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet outerCircle = dataItem.get(\"outerCircle\");\n\t\t\tif(circle && outerCircle){\n\t\t\t\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t\t}\n\n\t\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\t\treturn radius + this.get(\"nodePadding\", 0);\n\t\t\t}\n\t\t})\n\n\t\tthis.restartSimulation(1);\n\t}\n\n\tprotected _animatePositions(_dataItem: DataItem<this[\"_dataItemSettings\"]>){\n\t\t// void, do not remove\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._nodesDirty = false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateNodePositions() {\n\t\tconst linkForce = this.linkForce;\n\t\tif (linkForce) {\n\t\t\tlinkForce.distance((linkDatum) => {\n\t\t\t\treturn this.getDistance(linkDatum)\n\t\t\t});\n\t\t\tlinkForce.strength((linkDatum) => {\n\t\t\t\treturn this.getStrength(linkDatum)\n\t\t\t});\n\t\t}\n\t\tif (this._tick == this.get(\"showOnFrame\")) {\n\t\t\tthis.nodesContainer.setPrivate(\"visible\", true);\n\t\t\tthis.linksContainer.setPrivate(\"visible\", true);\n\t\t}\n\n\t\tlet d3Nodes = this.d3forceSimulation.nodes();\n\n\t\t$array.each(d3Nodes, (d3Node: any) => {\n\t\t\tconst dataItem = d3Node.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tnode.set(\"x\", d3Node.x);\n\t\t\tnode.set(\"y\", d3Node.y);\n\t\t})\n\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, this.get(\"linkWithStrength\"));\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\t/**\n\t * @ignore\n\t */\n\tprotected getDistance(linkDatum: any) {\n\t\tlet sourceDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.sourceDataItem;\n\t\tlet targetDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.targetDataItem;\n\n\t\tlet distance = 0;\n\n\t\tif (sourceDataItem && targetDataItem) {\n\n\t\t\tconst targetNode = targetDataItem.get(\"node\");\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet link = linkDatum.link;\n\t\t\tif (link) {\n\t\t\t\tdistance = link.get(\"distance\", 1);\n\t\t\t}\n\n\t\t\tconst sourceNode = sourceDataItem.get(\"node\");\n\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\tdistance = 1;\n\t\t\t}\n\n\t\t\treturn (distance * (sourceDataItem.get(\"circle\").get(\"radius\", 1) * sourceNode.get(\"scale\", 1) + targetDataItem.get(\"circle\").get(\"radius\", 1) * targetNode.get(\"scale\", 1)));\n\t\t}\n\t\treturn distance;\n\t}\n\n\t/**\n\t * @ignore\n\t * @todo description\n\t */\n\tprotected getStrength(linkDatum: any) {\n\t\tlet strength = 0;\n\n\t\tlet link = linkDatum.link;\n\t\tif (link) {\n\t\t\tstrength = link.get(\"strength\", 1);\n\t\t}\n\n\t\tconst targetDataItem = linkDatum.targetDataItem;\n\t\tstrength *= targetDataItem.get(\"node\").get(\"scale\");\n\n\t\treturn strength;\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\t\tthis._updateRadius(dataItem);\n\n\t\tconst x = dataItem.get(\"x\");\n\t\tconst y = dataItem.get(\"y\");\n\n\t\tconst d3Node = dataItem.get(\"d3ForceNode\");\n\n\t\tif (x != null) {\n\t\t\t(d3Node as any).fx = $utils.relativeToValue(x, this.innerWidth());\n\t\t}\n\t\telse{\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\n\t\tif (y != null) {\n\t\t\t(d3Node as any).fy = $utils.relativeToValue(y, this.innerHeight());\n\t\t}\n\t\telse{\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\t}\n\n\tprotected _updateRadius(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet size = (this.innerWidth() + this.innerHeight()) / 2;\n\n\t\tlet minRadius = $utils.relativeToValue(this.get(\"minRadius\", 1), size);\n\t\tlet maxRadius = $utils.relativeToValue(this.get(\"maxRadius\", 5), size);\n\n\t\tlet valueWorking = dataItem.get(\"sum\");\n\n\t\tlet radius = maxRadius;\n\n\t\tconst min = this.getPrivate(\"valueLow\", 0);\n\t\tconst max = this.getPrivate(\"valueHigh\", 0);\n\n\t\tif (max > 0) {\n\t\t\tradius = minRadius + (valueWorking - min) / (max - min) * (maxRadius - minRadius);\n\t\t}\n\n\t\tif (!$type.isNumber(radius)) {\n\t\t\tradius = minRadius;\n\t\t}\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tdataItem.get(\"circle\").animate({ key: \"radius\", to: radius, duration: duration, easing: easing });\n\t}\n\n\tprotected _processLink(link: HierarchyLink, source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3Link = { link: link, source: source.get(\"d3ForceNode\").index, target: target.get(\"d3ForceNode\").index, sourceDataItem: source, targetDataItem: target };\n\t\tthis._links.push(d3Link);\n\t\tlink.setPrivate(\"d3Link\", d3Link);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\tthis.d3forceSimulation.force(\"link\", this.linkForce);\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tsuper._disposeLink(link);\n\t\t$array.remove(this._links, link.getPrivate(\"d3Link\"));\n\t}\n\n\tprotected _handleUnlink() {\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _onDataClear() {\n\t\t\t\t\n\t\tsuper._onDataClear();\n\n\t\tthis._nodes = [];\n\t\tthis._links = [];\n\t}\t\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ForceDirected.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport type { HierarchyLink } from \"./HierarchyLink\";\nimport type * as d3Hierarchy from \"d3-hierarchy\";\n\nimport { LinkedHierarchy, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyPrivate, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as d3Force from \"d3-force\";\n\n/**\n * @ignore\n */\nexport interface IForceDirectedDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IForceDirectedDataObject[],\n\tdataItem?: DataItem<IForceDirectedDataItem>\n};\n\nexport interface IForceDirectedDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of data items of child nodes.\n\t */\n\tchildren: Array<DataItem<IForceDirectedDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<IForceDirectedDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3ForceNode: d3Force.SimulationNodeDatum;\n\n\t/**\n\t * X coordinate.\n\t */\n\tx: number | undefined;\n\n\t/**\n\t * Y coordinate.\n\t */\n\ty: number | undefined;\n}\n\nexport interface IForceDirectedSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Minimum gap in pixels between the nodes.\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to the center of the\n\t * chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tcenterStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to each other.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default -15\n\t */\n\tmanyBodyStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) nodes that are linked together\n\t * via `linkWithField`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tlinkWithStrength?: number | undefined;\n\n\t/**\n\t * Resistance acting agains node speed.\n\t *\n\t * The greater the value, the more \"sluggish\" the nodes will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tvelocityDecay?: number;\n\n\t/**\n\t * Length of how long initial force simulation would run in frames.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 500\n\t */\n\tinitialFrames?: number;\n\n\t/**\n\t * If set to a number will wait X number of frames before revealing\n\t * the tree.\n\t *\n\t * Can be used to hide initial animations where nodes settle into their\n\t * places.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 10\n\t */\n\tshowOnFrame?: number;\n\n\t/**\n\t * Smallest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 1%\n\t */\n\tminRadius?: number | Percent;\n\n\t/**\n\t * Biggest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 8%\n\t */\n\tmaxRadius?: number | Percent;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\txField?: string;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\tyField?: string;\n\n}\n\nexport interface IForceDirectedPrivate extends ILinkedHierarchyPrivate {\n}\n\nexport interface IForceDirectedEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Creates a force-directed tree.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/} for more info\n * @important\n */\nexport class ForceDirected extends LinkedHierarchy {\n\n\tprotected _tag: string = \"forcedirected\";\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly d3forceSimulation: d3Force.Simulation<{}, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceSimulation();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly collisionForce: d3Force.ForceCollide<d3Force.SimulationNodeDatum> = d3Force.forceCollide(20);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic linkForce: d3Force.ForceLink<d3Force.SimulationNodeDatum, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceLink();\n\n\tpublic static className: string = \"ForceDirected\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([ForceDirected.className]);\n\n\tdeclare public _settings: IForceDirectedSettings;\n\tdeclare public _privateSettings: IForceDirectedPrivate;\n\tdeclare public _dataItemSettings: IForceDirectedDataItem;\n\tdeclare public _events: IForceDirectedEvents;\n\n\tprotected _nodes: Array<any> = [];\n\tprotected _links: Array<any> = [];\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.d3forceSimulation.on(\"tick\", () => {\n\t\t\tthis._tick++;\n\t\t\tthis.updateNodePositions();\n\t\t});\n\t}\n\n\tprotected _tick: number = 0;\n\tprotected _nodesDirty: boolean = false;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"showOnFrame\")) {\n\t\t\tconst showOnFrame = this.get(\"showOnFrame\");\n\t\t\tif (showOnFrame > this._tick) {\n\t\t\t\tthis.nodesContainer.setPrivate(\"visible\", false);\n\t\t\t\tthis.linksContainer.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this.isDirty(\"velocityDecay\")) {\n\t\t\td3forceSimulation.velocityDecay(this.get(\"velocityDecay\", 0));\n\t\t}\n\n\t\tif (this.isDirty(\"initialFrames\")) {\n\t\t\td3forceSimulation.alphaDecay(1 - Math.pow(0.001, 1 / this.get(\"initialFrames\", 500)));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic restartSimulation(alpha: number): void {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\tif (d3forceSimulation.alpha() < .25) {\n\t\t\td3forceSimulation.alpha(alpha);\n\t\t\td3forceSimulation.restart();\n\t\t}\n\t}\n\n\tpublic _handleRadiusChange() {\n\t\tthis._updateForces();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3ForceNode: any = { index: this._index, x: this.innerWidth() / 2, y: this.innerHeight() / 2, dataItem: dataItem };\n\t\tconst index = this._nodes.push(d3ForceNode) - 1;\n\t\td3ForceNode.index = index;\n\n\t\tthis.d3forceSimulation.nodes(this._nodes);\n\n\t\tdataItem.set(\"d3ForceNode\", d3ForceNode);\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.set(\"x\", -10000);\n\t\tnode.on(\"scale\", () => {\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\td3ForceNode.fx = node.x();\n\t\t\td3ForceNode.fy = node.y();\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragstop\", () => {\n\t\t\tif (dataItem.get(\"x\") == null) {\n\t\t\t\td3ForceNode.fx = undefined;\n\t\t\t}\n\t\t\tif (dataItem.get(\"y\") == null) {\n\t\t\t\td3ForceNode.fy = undefined;\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3Hierarchy.HierarchyNode<IForceDirectedDataObject>) {\n\t\tsuper._updateValues(d3HierarchyNode);\n\n\t\tthis._nodesDirty = true;\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"collision\", this.collisionForce);\n\t\td3forceSimulation.nodes(this._nodes);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\td3forceSimulation.force(\"link\", this.linkForce);\n\t}\n\n\tprotected _updateVisuals() {\n\t\tsuper._updateVisuals();\n\t\tthis.restartSimulation(.3);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this._sizeDirty) {\n\t\t\tlet w = Math.max(50, this.innerWidth());\n\t\t\tlet h = Math.max(50, this.innerHeight());\n\t\t\tlet pt = this.get(\"paddingTop\", 0);\n\t\t\tlet pl = this.get(\"paddingLeft\", 0);\n\n\t\t\tlet centerStrength = this.get(\"centerStrength\", 1);\n\n\t\t\td3forceSimulation.force(\"x\", d3Force.forceX().x(w / 2 + pl).strength(centerStrength * 100 / w));\n\t\t\td3forceSimulation.force(\"y\", d3Force.forceY().y(h / 2 + pt).strength(centerStrength * 100 / h));\n\t\t}\n\n\t\tif (this._nodesDirty) {\n\t\t\tthis._updateForces();\n\t\t}\n\t}\n\n\tpublic _updateForces() {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"manybody\", d3Force.forceManyBody().strength((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet manyBodyStrength = this.get(\"manyBodyStrength\", -15);\n\n\t\t\tif (circle) {\n\t\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}));\n\n\t\tthis.collisionForce.radius((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet outerCircle = dataItem.get(\"outerCircle\");\n\t\t\tif (circle && outerCircle) {\n\t\t\t\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t\t}\n\n\t\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\t\treturn radius + this.get(\"nodePadding\", 0);\n\t\t\t}\n\t\t})\n\t\tthis.restartSimulation(0.3);\n\t}\n\n\tprotected _animatePositions(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\t// void, do not remove\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._nodesDirty = false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateNodePositions() {\n\t\tconst linkForce = this.linkForce;\n\t\tif (linkForce) {\n\t\t\tlinkForce.distance((linkDatum) => {\n\t\t\t\treturn this.getDistance(linkDatum)\n\t\t\t});\n\t\t\tlinkForce.strength((linkDatum) => {\n\t\t\t\treturn this.getStrength(linkDatum)\n\t\t\t});\n\t\t}\n\t\tif (this._tick == this.get(\"showOnFrame\")) {\n\t\t\tthis.nodesContainer.setPrivate(\"visible\", true);\n\t\t\tthis.linksContainer.setPrivate(\"visible\", true);\n\t\t}\n\n\t\tlet d3Nodes = this.d3forceSimulation.nodes();\n\n\t\t$array.each(d3Nodes, (d3Node: any) => {\n\t\t\tconst dataItem = d3Node.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tnode.set(\"x\", d3Node.x);\n\t\t\tnode.set(\"y\", d3Node.y);\n\t\t})\n\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, this.get(\"linkWithStrength\"));\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\t/**\n\t * @ignore\n\t */\n\tprotected getDistance(linkDatum: any) {\n\t\tlet sourceDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.sourceDataItem;\n\t\tlet targetDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.targetDataItem;\n\n\t\tlet distance = 0;\n\n\t\tif (sourceDataItem && targetDataItem) {\n\n\t\t\tconst targetNode = targetDataItem.get(\"node\");\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet link = linkDatum.link;\n\t\t\tif (link) {\n\t\t\t\tdistance = link.get(\"distance\", 1);\n\t\t\t}\n\n\t\t\tconst sourceNode = sourceDataItem.get(\"node\");\n\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\tdistance = 1;\n\t\t\t}\n\n\t\t\treturn (distance * (sourceDataItem.get(\"circle\").get(\"radius\", 1) * sourceNode.get(\"scale\", 1) + targetDataItem.get(\"circle\").get(\"radius\", 1) * targetNode.get(\"scale\", 1)));\n\t\t}\n\t\treturn distance;\n\t}\n\n\t/**\n\t * @ignore\n\t * @todo description\n\t */\n\tprotected getStrength(linkDatum: any) {\n\t\tlet strength = 0;\n\n\t\tlet link = linkDatum.link;\n\t\tif (link) {\n\t\t\tstrength = link.get(\"strength\", 1);\n\t\t}\n\n\t\tconst targetDataItem = linkDatum.targetDataItem;\n\t\tstrength *= targetDataItem.get(\"node\").get(\"scale\");\n\n\t\treturn strength;\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\t\tthis._updateRadius(dataItem);\n\n\t\tconst x = dataItem.get(\"x\");\n\t\tconst y = dataItem.get(\"y\");\n\n\t\tconst d3Node = dataItem.get(\"d3ForceNode\");\n\n\t\tif (x != null) {\n\t\t\t(d3Node as any).fx = $utils.relativeToValue(x, this.innerWidth());\n\t\t}\n\t\telse {\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\n\t\tif (y != null) {\n\t\t\t(d3Node as any).fy = $utils.relativeToValue(y, this.innerHeight());\n\t\t}\n\t\telse {\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\t}\n\n\tprotected _updateRadius(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet size = (this.innerWidth() + this.innerHeight()) / 2;\n\n\t\tlet minRadius = $utils.relativeToValue(this.get(\"minRadius\", 1), size);\n\t\tlet maxRadius = $utils.relativeToValue(this.get(\"maxRadius\", 5), size);\n\n\t\tlet valueWorking = dataItem.get(\"sum\");\n\n\t\tlet radius = maxRadius;\n\n\t\tconst min = this.getPrivate(\"valueLow\", 0);\n\t\tconst max = this.getPrivate(\"valueHigh\", 0);\n\n\t\tif (max > 0) {\n\t\t\tradius = minRadius + (valueWorking - min) / (max - min) * (maxRadius - minRadius);\n\t\t}\n\n\t\tif (!$type.isNumber(radius)) {\n\t\t\tradius = minRadius;\n\t\t}\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tdataItem.get(\"circle\").animate({ key: \"radius\", to: radius, duration: duration, easing: easing });\n\t}\n\n\tprotected _processLink(link: HierarchyLink, source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3Link = { link: link, source: source.get(\"d3ForceNode\").index, target: target.get(\"d3ForceNode\").index, sourceDataItem: source, targetDataItem: target };\n\t\tthis._links.push(d3Link);\n\t\tlink.setPrivate(\"d3Link\", d3Link);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\tthis.d3forceSimulation.force(\"link\", this.linkForce);\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tsuper._disposeLink(link);\n\t\t$array.remove(this._links, link.getPrivate(\"d3Link\"));\n\t}\n\n\tprotected _handleUnlink() {\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _onDataClear() {\n\n\t\tsuper._onDataClear();\n\n\t\tthis._nodes = [];\n\t\tthis._links = [];\n\t}\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;AASzC;;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;AASzC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,SAAS,CAAC,iBAAiB;CA6H3B"}
|
|
@@ -71,6 +71,10 @@ export class MapChartDefaultTheme extends Theme {
|
|
|
71
71
|
setColor(rule, "fill", ic, "primaryButton");
|
|
72
72
|
setColor(rule, "stroke", ic, "background");
|
|
73
73
|
}
|
|
74
|
+
r("Button", ["zoomcontrol"]).setAll({
|
|
75
|
+
marginTop: 1,
|
|
76
|
+
marginBottom: 1
|
|
77
|
+
});
|
|
74
78
|
r("Graphics", ["map", "button", "plus", "icon"]).setAll({
|
|
75
79
|
x: p50,
|
|
76
80
|
y: p50,
|
|
@@ -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 { p50, p100 } from \"../../core/util/Percent\";\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(\"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\t\tr(\"Graphics\", [\"map\", \"button\", \"plus\", \"icon\"]).setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tdraw: (display) => {\r\n\t\t\t\tdisplay.moveTo(-4, 0);\r\n\t\t\t\tdisplay.lineTo(4, 0);\r\n\t\t\t\tdisplay.moveTo(0, -4);\r\n\t\t\t\tdisplay.lineTo(0, 4);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tr(\"Graphics\", [\"map\", \"button\", \"minus\", \"icon\"]).setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tdraw: (display) => {\r\n\t\t\t\tdisplay.moveTo(-4, 0);\r\n\t\t\t\tdisplay.lineTo(4, 0);\r\n\t\t\t}\r\n\t\t});\r\n\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\r\n\r\n\t\tr(\"ZoomControl\").setAll({\r\n\t\t\tx: p100,\r\n\t\t\tcenterX: p100,\r\n\t\t\ty: p100,\r\n\t\t\tcenterY: p100,\r\n\t\t\tpaddingRight: 10,\r\n\t\t\tpaddingBottom: 10\r\n\t\t})\r\n\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 { p50, p100 } from \"../../core/util/Percent\";\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(\"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\t\tr(\"Button\", [\"zoomcontrol\"]).setAll({\r\n\t\t\tmarginTop: 1,\r\n\t\t\tmarginBottom: 1\r\n\t\t})\r\n\r\n\t\tr(\"Graphics\", [\"map\", \"button\", \"plus\", \"icon\"]).setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tdraw: (display) => {\r\n\t\t\t\tdisplay.moveTo(-4, 0);\r\n\t\t\t\tdisplay.lineTo(4, 0);\r\n\t\t\t\tdisplay.moveTo(0, -4);\r\n\t\t\t\tdisplay.lineTo(0, 4);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tr(\"Graphics\", [\"map\", \"button\", \"minus\", \"icon\"]).setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tdraw: (display) => {\r\n\t\t\t\tdisplay.moveTo(-4, 0);\r\n\t\t\t\tdisplay.lineTo(4, 0);\r\n\t\t\t}\r\n\t\t});\r\n\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\r\n\r\n\t\tr(\"ZoomControl\").setAll({\r\n\t\t\tx: p100,\r\n\t\t\tcenterX: p100,\r\n\t\t\ty: p100,\r\n\t\t\tcenterY: p100,\r\n\t\t\tpaddingRight: 10,\r\n\t\t\tpaddingBottom: 10\r\n\t\t})\r\n\r\n\t}\r\n}\r\n"]}
|
|
@@ -44,6 +44,7 @@ export class ZoomControl extends Container {
|
|
|
44
44
|
super._afterNew();
|
|
45
45
|
this.set("position", "absolute");
|
|
46
46
|
this.set("layout", this._root.verticalLayout);
|
|
47
|
+
this.set("themeTags", ["zoomcontrol"]);
|
|
47
48
|
this.plusButton.setAll({
|
|
48
49
|
icon: Graphics.new(this._root, { themeTags: ["icon"] }),
|
|
49
50
|
layout: undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZoomControl.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/ZoomControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAyC,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAezD;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAA1C;;QAEC;;;;WAIG;QACH;;;;mBAAqC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;WAAC;QAEhI;;;;WAIG;QACH;;;;mBAAsC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;WAAC;QAQlI;;;;;WAA+C;IA0ChD,CAAC;IAxCU,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEjC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ZoomControl.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/ZoomControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAyC,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAezD;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAA1C;;QAEC;;;;WAIG;QACH;;;;mBAAqC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;WAAC;QAEhI;;;;WAIG;QACH;;;;mBAAsC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;WAAC;QAQlI;;;;;WAA+C;IA0ChD,CAAC;IAxCU,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEjC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAEvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;YACjD,IAAI,KAAK,EAAE;gBACV,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;wBACvC,KAAK,CAAC,MAAM,EAAE,CAAA;oBACf,CAAC,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;wBACxC,KAAK,CAAC,OAAO,EAAE,CAAA;oBAChB,CAAC,CAAC;iBAAC,CAAC,CAAA;aACL;YAED,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACzB;SACD;IACF,CAAC;;AA5CD;;;;WAAkC,aAAa;GAAC;AAChD;;;;WAA0C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { MapChart } from \"./MapChart\";\n\nimport { Container, IContainerPrivate, IContainerSettings } from \"../../core/render/Container\";\nimport { Button } from \"../../core/render/Button\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { MultiDisposer } from \"../../core/util/Disposer\";\n\nexport interface IZoomControlSettings extends IContainerSettings {\n\n}\n\nexport interface IZoomControlPrivate extends IContainerPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tchart?: MapChart;\n\n}\n\n/**\n * A control that displays button for zooming [[MapChart]] in and out.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-pan-zoom/#Zoom_control} for more information\n * @important\n */\nexport class ZoomControl extends Container {\n\n\t/**\n\t * A [[Button]] for zoom in.\n\t *\n\t * @default Button.new()\n\t */\n\tpublic readonly plusButton: Button = this.children.push(Button.new(this._root, { width: 36, height: 36, themeTags: [\"plus\"] }));\n\n\t/**\n\t * A [[Button]] for zoom out.\n\t *\n\t * @default Button.new()\n\t */\n\tpublic readonly minusButton: Button = this.children.push(Button.new(this._root, { width: 36, height: 36, themeTags: [\"minus\"] }));\n\n\tdeclare public _settings: IZoomControlSettings;\n\tdeclare public _privateSettings: IZoomControlPrivate;\n\n\tpublic static className: string = \"ZoomControl\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([ZoomControl.className]);\n\n\tprotected _disposer: MultiDisposer | undefined;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.set(\"position\", \"absolute\");\n\n\t\tthis.set(\"layout\", this._root.verticalLayout);\n\t\tthis.set(\"themeTags\", [\"zoomcontrol\"]);\n\n\t\tthis.plusButton.setAll({\n\t\t\ticon: Graphics.new(this._root, { themeTags: [\"icon\"] }),\n\t\t\tlayout: undefined\n\t\t});\n\n\t\tthis.minusButton.setAll({\n\t\t\ticon: Graphics.new(this._root, { themeTags: [\"icon\"] }),\n\t\t\tlayout: undefined\n\t\t});\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isPrivateDirty(\"chart\")) {\n\t\t\tconst chart = this.getPrivate(\"chart\");\n\t\t\tconst previous = this._prevPrivateSettings.chart;\n\t\t\tif (chart) {\n\t\t\t\tthis._disposer = new MultiDisposer([\n\t\t\t\t\tthis.plusButton.events.on(\"click\", () => {\n\t\t\t\t\t\tchart.zoomIn()\n\t\t\t\t\t}),\n\t\t\t\t\tthis.minusButton.events.on(\"click\", () => {\n\t\t\t\t\t\tchart.zoomOut()\n\t\t\t\t\t})])\n\t\t\t}\n\n\t\t\tif (previous && this._disposer) {\n\t\t\t\tthis._disposer.dispose();\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -106,6 +106,14 @@ export interface IStockChartPrivate extends IContainerPrivate {
|
|
|
106
106
|
mainAxis?: DateAxis<AxisRenderer>;
|
|
107
107
|
}
|
|
108
108
|
export interface IStockChartEvents extends IContainerEvents {
|
|
109
|
+
/**
|
|
110
|
+
* Kicks in when drawings change.
|
|
111
|
+
*/
|
|
112
|
+
drawingsupdated: {};
|
|
113
|
+
/**
|
|
114
|
+
* Kicks in when drawings change.
|
|
115
|
+
*/
|
|
116
|
+
indicatorsupdated: {};
|
|
109
117
|
}
|
|
110
118
|
/**
|
|
111
119
|
* A main class for the Stock Chart.
|
|
@@ -118,7 +126,7 @@ export declare class StockChart extends Container {
|
|
|
118
126
|
static classNames: Array<string>;
|
|
119
127
|
_settings: IStockChartSettings;
|
|
120
128
|
_privateSettings: IStockChartPrivate;
|
|
121
|
-
_events:
|
|
129
|
+
_events: IStockChartEvents;
|
|
122
130
|
protected _xAxes: Array<Axis<AxisRenderer>>;
|
|
123
131
|
protected _downY?: number;
|
|
124
132
|
protected _upperPanel?: StockPanel;
|
|
@@ -126,6 +134,8 @@ export declare class StockChart extends Container {
|
|
|
126
134
|
protected _uhp?: Percent;
|
|
127
135
|
protected _downResizer?: Rectangle;
|
|
128
136
|
protected _syncExtremesDp?: MultiDisposer;
|
|
137
|
+
protected _drawingsChanged: boolean;
|
|
138
|
+
protected _indicatorsChanged: boolean;
|
|
129
139
|
/**
|
|
130
140
|
* A list of stock panels.
|
|
131
141
|
*
|
|
@@ -152,7 +162,10 @@ export declare class StockChart extends Container {
|
|
|
152
162
|
*/
|
|
153
163
|
readonly panelsContainer: Container;
|
|
154
164
|
protected _afterNew(): void;
|
|
165
|
+
markDirtyDrawings(): void;
|
|
166
|
+
markDirtyIndicators(): void;
|
|
155
167
|
_prepareChildren(): void;
|
|
168
|
+
_afterChanged(): void;
|
|
156
169
|
_updateChildren(): void;
|
|
157
170
|
/**
|
|
158
171
|
* Enables or disables percent scale mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAiB,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAO9C,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAE9D;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAErD;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAExD;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1E;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAE3B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAE3B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAE5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAE5D;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"StockChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,18 @@ export class StockChart extends Container {
|
|
|
63
63
|
writable: true,
|
|
64
64
|
value: void 0
|
|
65
65
|
});
|
|
66
|
+
Object.defineProperty(this, "_drawingsChanged", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
configurable: true,
|
|
69
|
+
writable: true,
|
|
70
|
+
value: false
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(this, "_indicatorsChanged", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
configurable: true,
|
|
75
|
+
writable: true,
|
|
76
|
+
value: false
|
|
77
|
+
});
|
|
66
78
|
/**
|
|
67
79
|
* A list of stock panels.
|
|
68
80
|
*
|
|
@@ -180,6 +192,14 @@ export class StockChart extends Container {
|
|
|
180
192
|
this._root._licenseApplied();
|
|
181
193
|
}
|
|
182
194
|
}
|
|
195
|
+
markDirtyDrawings() {
|
|
196
|
+
this._drawingsChanged = true;
|
|
197
|
+
this.markDirty();
|
|
198
|
+
}
|
|
199
|
+
markDirtyIndicators() {
|
|
200
|
+
this._indicatorsChanged = true;
|
|
201
|
+
this.markDirty();
|
|
202
|
+
}
|
|
183
203
|
_prepareChildren() {
|
|
184
204
|
if (this.isDirty("volumeNegativeColor") || this.isDirty("volumePositiveColor")) {
|
|
185
205
|
const volumeSeries = this.get("volumeSeries");
|
|
@@ -229,6 +249,23 @@ export class StockChart extends Container {
|
|
|
229
249
|
}
|
|
230
250
|
super._prepareChildren();
|
|
231
251
|
}
|
|
252
|
+
_afterChanged() {
|
|
253
|
+
super._afterChanged();
|
|
254
|
+
if (this._drawingsChanged) {
|
|
255
|
+
this._drawingsChanged = false;
|
|
256
|
+
const type = "drawingsupdated";
|
|
257
|
+
if (this.events.isEnabled(type)) {
|
|
258
|
+
this.events.dispatch(type, { type: type, target: this });
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (this._indicatorsChanged) {
|
|
262
|
+
this._indicatorsChanged = false;
|
|
263
|
+
const type = "indicatorsupdated";
|
|
264
|
+
if (this.events.isEnabled(type)) {
|
|
265
|
+
this.events.dispatch(type, { type: type, target: this });
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
232
269
|
_updateChildren() {
|
|
233
270
|
super._updateChildren();
|
|
234
271
|
const stockSeries = this.get("stockSeries");
|
|
@@ -439,10 +476,17 @@ export class StockChart extends Container {
|
|
|
439
476
|
if (this.getPrivate("comparing")) {
|
|
440
477
|
this.setPercentScale(true);
|
|
441
478
|
}
|
|
479
|
+
$array.each(indicator._editableSettings, (setting) => {
|
|
480
|
+
indicator.on(setting.key, () => {
|
|
481
|
+
this.markDirtyIndicators();
|
|
482
|
+
});
|
|
483
|
+
});
|
|
484
|
+
this.markDirtyIndicators();
|
|
442
485
|
indicator.prepareData();
|
|
443
486
|
}
|
|
444
487
|
_removeIndicator(indicator) {
|
|
445
488
|
this.children.removeValue(indicator);
|
|
489
|
+
this.markDirtyIndicators();
|
|
446
490
|
}
|
|
447
491
|
_removePanel(chart) {
|
|
448
492
|
this.panelsContainer.children.removeValue(chart);
|