@amcharts/amcharts5 5.2.0 → 5.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.internal/charts/hierarchy/ForceDirected.d.ts +2 -2
- package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.js +6 -0
- package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
- package/.internal/charts/map/MapChart.d.ts +15 -0
- package/.internal/charts/map/MapChart.d.ts.map +1 -1
- package/.internal/charts/map/MapChart.js +23 -8
- package/.internal/charts/map/MapChart.js.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.js +2 -1
- package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts +1 -1
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +8 -4
- 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 +1 -8
- package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/indicators/ChaikinOscillator.d.ts +1 -1
- package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -1
- package/.internal/charts/stock/toolbar/ColorControl.d.ts +1 -1
- package/.internal/charts/stock/toolbar/ColorControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/ColorControl.js +1 -2
- package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts +3 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js +6 -4
- package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.d.ts +18 -1
- package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js +4 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts +3 -1
- package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingToolControl.js +3 -2
- package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownColors.d.ts +3 -1
- package/.internal/charts/stock/toolbar/DropdownColors.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownColors.js +3 -1
- package/.internal/charts/stock/toolbar/DropdownColors.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +5 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.js +5 -2
- package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +3 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.js +3 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +6 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.js +36 -7
- package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.d.ts +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.js +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js +22 -8
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +0 -1
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.js +0 -6
- package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.js +18 -10
- 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 +17 -8
- package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +34 -0
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +96 -14
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +1 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +8 -0
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts +4 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +1 -1
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +4 -8
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Root.d.ts +1 -0
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +12 -0
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/util/EventDispatcher.d.ts +6 -0
- package/.internal/core/util/EventDispatcher.d.ts.map +1 -1
- package/.internal/core/util/EventDispatcher.js +20 -0
- package/.internal/core/util/EventDispatcher.js.map +1 -1
- package/.internal/core/util/Modal.d.ts.map +1 -1
- package/.internal/core/util/Modal.js +5 -2
- package/.internal/core/util/Modal.js.map +1 -1
- package/.internal/core/util/TextFormatter.d.ts.map +1 -1
- package/.internal/core/util/TextFormatter.js +1 -9
- package/.internal/core/util/TextFormatter.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +1 -1
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +7 -11
- package/.internal/core/util/Utils.js.map +1 -1
- package/.internal/themes/DefaultTheme.d.ts.map +1 -1
- package/.internal/themes/DefaultTheme.js +3 -1
- package/.internal/themes/DefaultTheme.js.map +1 -1
- package/CHANGELOG.md +42 -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/json/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/index.js +155 -103
- 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/json/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/index.ts +160 -108
- 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/package.json +3 -3
|
@@ -29,11 +29,11 @@ export interface IForceDirectedDataItem extends ILinkedHierarchyDataItem {
|
|
|
29
29
|
/**
|
|
30
30
|
* X coordinate.
|
|
31
31
|
*/
|
|
32
|
-
x: number;
|
|
32
|
+
x: number | undefined;
|
|
33
33
|
/**
|
|
34
34
|
* Y coordinate.
|
|
35
35
|
*/
|
|
36
|
-
y: number;
|
|
36
|
+
y: number | undefined;
|
|
37
37
|
}
|
|
38
38
|
export interface IForceDirectedSettings extends ILinkedHierarchySettings {
|
|
39
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForceDirected.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,KAAK,WAAW,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAKzJ,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAA;CAC3C;AAED,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IAEvE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAElD;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAEzC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAEzC;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ForceDirected.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,KAAK,WAAW,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAKzJ,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAA;CAC3C;AAED,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IAEvE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAElD;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAEzC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAEzC;;OAEG;IACH,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtB;;OAEG;IACH,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IAEvE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;CACrE;AAED,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;CACnE;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,eAAe;IAEjD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAmB;IAEzC;;OAEG;IACH,SAAgB,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAA6B;IAEhJ;;OAEG;IACH,SAAgB,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAA4B;IAE7G;;OAEG;IACI,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAuB;IAEjJ,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAgE;IAExF,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,OAAO,EAAE,oBAAoB,CAAC;IAE7C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAClC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAElC,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IAEhC,gBAAgB;IAqBvB;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtC,mBAAmB;IAI1B,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAgCvE,SAAS,CAAC,aAAa,CAAC,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC;IAa5F,SAAS,CAAC,cAAc;IAKjB,eAAe;IAsBf,aAAa;IAmCpB,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAInE,WAAW;IAKlB;;OAEG;IACI,mBAAmB;IA2B1B;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAoB3E;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG;IA6BpC;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG;IAcpC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAwBnE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA2BrE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAUpI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa;IAK1C,SAAS,CAAC,aAAa;IAIvB,SAAS,CAAC,YAAY;CAOtB"}
|
|
@@ -377,9 +377,15 @@ var ForceDirected = /** @class */ (function (_super) {
|
|
|
377
377
|
if (x != null) {
|
|
378
378
|
d3Node.fx = $utils.relativeToValue(x, this.innerWidth());
|
|
379
379
|
}
|
|
380
|
+
else {
|
|
381
|
+
d3Node.fx = undefined;
|
|
382
|
+
}
|
|
380
383
|
if (y != null) {
|
|
381
384
|
d3Node.fy = $utils.relativeToValue(y, this.innerHeight());
|
|
382
385
|
}
|
|
386
|
+
else {
|
|
387
|
+
d3Node.fx = undefined;
|
|
388
|
+
}
|
|
383
389
|
}
|
|
384
390
|
});
|
|
385
391
|
Object.defineProperty(ForceDirected.prototype, "_updateRadius", {
|
|
@@ -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;\n\n\t/**\n\t * Y coordinate.\n\t */\n\ty: number;\n\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\n\t\tif (y != null) {\n\t\t\t(d3Node as any).fy = $utils.relativeToValue(y, this.innerHeight());\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() < 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"]}
|
|
@@ -152,6 +152,17 @@ export interface IMapChartSettings extends ISerialChartSettings {
|
|
|
152
152
|
* @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-pan-zoom/#Panning_outside_viewport} for more info
|
|
153
153
|
*/
|
|
154
154
|
maxPanOut?: number;
|
|
155
|
+
/**
|
|
156
|
+
* Setting `true` means that the map will automatically center itself (or go
|
|
157
|
+
* to `homeGeoPoint` if set) when fully zoomed out.
|
|
158
|
+
*
|
|
159
|
+
* `false` would mean that zoom out will be centered around the mouse
|
|
160
|
+
* cursor (when zooming using wheel), or current map position.
|
|
161
|
+
*
|
|
162
|
+
* @default true
|
|
163
|
+
* @since 5.2.1
|
|
164
|
+
*/
|
|
165
|
+
centerMapOnZoomOut?: boolean;
|
|
155
166
|
}
|
|
156
167
|
export interface IMapChartPrivate extends ISerialChartPrivate {
|
|
157
168
|
/**
|
|
@@ -234,6 +245,10 @@ export declare class MapChart extends SerialChart {
|
|
|
234
245
|
protected _handleSetWheel(): void;
|
|
235
246
|
_prepareChildren(): void;
|
|
236
247
|
protected _fitMap(): void;
|
|
248
|
+
/**
|
|
249
|
+
* @todo review
|
|
250
|
+
*/
|
|
251
|
+
homeGeoPoint(): IGeoPoint;
|
|
237
252
|
/**
|
|
238
253
|
* Repositions the map to the "home" zoom level and center coordinates.
|
|
239
254
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAa3H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAE9D;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IAEzC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAEjD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAEjD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAEhC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAGpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MapChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -411,18 +411,14 @@ var MapChart = /** @class */ (function (_super) {
|
|
|
411
411
|
}
|
|
412
412
|
});
|
|
413
413
|
/**
|
|
414
|
-
*
|
|
415
|
-
*
|
|
416
|
-
* @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-pan-zoom/#Resetting_position_level} for more info
|
|
417
|
-
* @param duration Animation duration in milliseconds
|
|
414
|
+
* @todo review
|
|
418
415
|
*/
|
|
419
|
-
Object.defineProperty(MapChart.prototype, "
|
|
416
|
+
Object.defineProperty(MapChart.prototype, "homeGeoPoint", {
|
|
420
417
|
enumerable: false,
|
|
421
418
|
configurable: true,
|
|
422
419
|
writable: true,
|
|
423
|
-
value: function (
|
|
420
|
+
value: function () {
|
|
424
421
|
var homeGeoPoint = this.get("homeGeoPoint");
|
|
425
|
-
var homeZoomLevel = this.get("homeZoomLevel", 1);
|
|
426
422
|
if (!homeGeoPoint) {
|
|
427
423
|
var geoPath_2 = this.getPrivate("geoPath");
|
|
428
424
|
var bounds = geoPath_2.bounds(this._geometryColection);
|
|
@@ -432,7 +428,21 @@ var MapChart = /** @class */ (function (_super) {
|
|
|
432
428
|
var bottom = bounds[1][1];
|
|
433
429
|
homeGeoPoint = this.invert({ x: left + (right - left) / 2, y: top_1 + (bottom - top_1) / 2 });
|
|
434
430
|
}
|
|
435
|
-
|
|
431
|
+
return homeGeoPoint;
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
/**
|
|
435
|
+
* Repositions the map to the "home" zoom level and center coordinates.
|
|
436
|
+
*
|
|
437
|
+
* @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-pan-zoom/#Resetting_position_level} for more info
|
|
438
|
+
* @param duration Animation duration in milliseconds
|
|
439
|
+
*/
|
|
440
|
+
Object.defineProperty(MapChart.prototype, "goHome", {
|
|
441
|
+
enumerable: false,
|
|
442
|
+
configurable: true,
|
|
443
|
+
writable: true,
|
|
444
|
+
value: function (duration) {
|
|
445
|
+
this.zoomToGeoPoint(this.homeGeoPoint(), this.get("homeZoomLevel", 1), true, duration);
|
|
436
446
|
}
|
|
437
447
|
});
|
|
438
448
|
Object.defineProperty(MapChart.prototype, "_updateChildren", {
|
|
@@ -678,6 +688,7 @@ var MapChart = /** @class */ (function (_super) {
|
|
|
678
688
|
var initialDistance = Math.hypot(downPoint1.x - downPoint0.x, downPoint1.y - downPoint0.y);
|
|
679
689
|
var currentDistance = Math.hypot(movePoint1.x - movePoint0.x, movePoint1.y - movePoint0.y);
|
|
680
690
|
var level = currentDistance / initialDistance * this._downZoomLevel;
|
|
691
|
+
level = $math.fitToRange(level, this.get("minZoomLevel", 1), this.get("maxZoomLevel", 32));
|
|
681
692
|
var moveCenter = { x: movePoint0.x + (movePoint1.x - movePoint0.x) / 2, y: movePoint0.y + (movePoint1.y - movePoint0.y) / 2 };
|
|
682
693
|
var downCenter = { x: downPoint0.x + (downPoint1.x - downPoint0.x) / 2, y: downPoint0.y + (downPoint1.y - downPoint0.y) / 2 };
|
|
683
694
|
var tx = this._downTranslateX || 0;
|
|
@@ -861,6 +872,10 @@ var MapChart = /** @class */ (function (_super) {
|
|
|
861
872
|
}
|
|
862
873
|
var easing = this.get("animationEasing");
|
|
863
874
|
var zoomLevel = this.get("zoomLevel", 1);
|
|
875
|
+
if (this.get("centerMapOnZoomOut") && level == this.get("homeZoomLevel", 1)) {
|
|
876
|
+
point = this.convert(this.homeGeoPoint());
|
|
877
|
+
center = true;
|
|
878
|
+
}
|
|
864
879
|
var x = point.x;
|
|
865
880
|
var y = point.y;
|
|
866
881
|
var tx = this.get("translateX", 0);
|