@amcharts/amcharts5 5.5.6 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +3 -1
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js +4 -1
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.d.ts +44 -0
- package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.js +110 -1
- package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.js +6 -0
- package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
- package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
- package/.internal/charts/pie/PieSeries.js +14 -10
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +15 -2
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/indicators/ChartIndicator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/ChartIndicator.js +2 -0
- package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
- package/.internal/charts/stock/toolbar/Dropdown.d.ts +1 -1
- package/.internal/charts/stock/toolbar/Dropdown.js +1 -1
- package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.d.ts +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockControl.d.ts +1 -1
- package/.internal/charts/stock/toolbar/StockControl.js +1 -1
- package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbar.d.ts +3 -1
- package/.internal/charts/stock/toolbar/StockToolbar.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbar.js +3 -1
- package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts +0 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.js +7 -26
- package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js +12 -0
- package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +5 -1
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +79 -5
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.d.ts +17 -0
- package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.js +22 -2
- package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +10 -0
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +100 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +7 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +215 -48
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +4 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +68 -8
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +3 -0
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +3 -0
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +116 -25
- 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 +7 -0
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +5 -4
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Bullet.d.ts +24 -0
- package/.internal/core/render/Bullet.d.ts.map +1 -1
- package/.internal/core/render/Bullet.js.map +1 -1
- package/.internal/core/render/Container.d.ts +1 -1
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +3 -3
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Polygon.d.ts.map +1 -1
- package/.internal/core/render/Polygon.js +4 -0
- package/.internal/core/render/Polygon.js.map +1 -1
- package/.internal/core/render/Series.d.ts +16 -0
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +52 -27
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +17 -17
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +1 -1
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +4 -4
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/Math.d.ts +35 -0
- package/.internal/core/util/Math.d.ts.map +1 -1
- package/.internal/core/util/Math.js +49 -0
- package/.internal/core/util/Math.js.map +1 -1
- package/.internal/core/util/Time.d.ts.map +1 -1
- package/.internal/core/util/Time.js +14 -11
- package/.internal/core/util/Time.js.map +1 -1
- package/.internal/plugins/json/Json.d.ts.map +1 -1
- package/.internal/plugins/json/Json.js +3 -0
- package/.internal/plugins/json/Json.js.map +1 -1
- package/.internal/themes/ResponsiveTheme.d.ts +6 -1
- package/.internal/themes/ResponsiveTheme.d.ts.map +1 -1
- package/.internal/themes/ResponsiveTheme.js +50 -24
- package/.internal/themes/ResponsiveTheme.js.map +1 -1
- package/CHANGELOG.md +35 -1
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/index.js +3 -2
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-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/index.js +2 -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/index.js +3 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/index.js +3 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/index.js +3 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/index.js +6 -2
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/index.js +3 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/index.js +3 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/index.js +6 -2
- 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/index.js +3 -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/index.js +1 -0
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/index.js +3 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/index.js +3 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/index.js +1 -0
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/index.js +3 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.js +3 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/index.js +2 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/index.js +4 -5
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/index.js +1 -0
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/index.js +3 -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/index.js +4 -2
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/index.js +3 -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/index.js +3 -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/index.js +7 -2
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/index.js +4 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/index.js +3 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/index.ts +3 -2
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-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/index.ts +2 -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/index.ts +3 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/index.ts +3 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/index.ts +3 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/index.ts +6 -2
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/index.ts +3 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/index.ts +3 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/index.ts +6 -2
- 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/index.ts +3 -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/index.ts +1 -0
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/index.ts +3 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/index.ts +3 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/index.ts +1 -0
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/index.ts +3 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.ts +3 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/index.ts +2 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/index.ts +4 -5
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/index.ts +1 -0
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/index.ts +3 -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/index.ts +4 -2
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/index.ts +3 -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/index.ts +3 -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/index.ts +7 -2
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/index.ts +4 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/index.ts +3 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,8 @@ import { Container } from "../../core/render/Container";
|
|
|
4
4
|
import { Label } from "../../core/render/Label";
|
|
5
5
|
import * as $array from "../../core/util/Array";
|
|
6
6
|
import * as $object from "../../core/util/Object";
|
|
7
|
+
import * as d3hierarchy from "d3-hierarchy";
|
|
8
|
+
import * as $math from "../../core/util/Math";
|
|
7
9
|
/**
|
|
8
10
|
* A version of [[MapPointSeries]] which can automatically group closely located
|
|
9
11
|
* bullets into groups.
|
|
@@ -39,6 +41,30 @@ export class ClusteredPointSeries extends MapPointSeries {
|
|
|
39
41
|
writable: true,
|
|
40
42
|
value: []
|
|
41
43
|
});
|
|
44
|
+
Object.defineProperty(this, "_scatterIndex", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
configurable: true,
|
|
47
|
+
writable: true,
|
|
48
|
+
value: 0
|
|
49
|
+
});
|
|
50
|
+
Object.defineProperty(this, "_scatters", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
configurable: true,
|
|
53
|
+
writable: true,
|
|
54
|
+
value: []
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(this, "_packLayout", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: true,
|
|
59
|
+
writable: true,
|
|
60
|
+
value: d3hierarchy.pack()
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(this, "_spiral", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
configurable: true,
|
|
65
|
+
writable: true,
|
|
66
|
+
value: []
|
|
67
|
+
});
|
|
42
68
|
}
|
|
43
69
|
_afterNew() {
|
|
44
70
|
this.fields.push("groupId");
|
|
@@ -47,6 +73,9 @@ export class ClusteredPointSeries extends MapPointSeries {
|
|
|
47
73
|
}
|
|
48
74
|
_updateChildren() {
|
|
49
75
|
super._updateChildren();
|
|
76
|
+
if (this.isDirty("scatterRadius")) {
|
|
77
|
+
this._spiral = $math.spiralPoints(0, 0, 300, 300, 0, 3, 3, 0, 0);
|
|
78
|
+
}
|
|
50
79
|
const groups = {};
|
|
51
80
|
// distribute to groups
|
|
52
81
|
$array.each(this.dataItems, (dataItem) => {
|
|
@@ -56,6 +85,8 @@ export class ClusteredPointSeries extends MapPointSeries {
|
|
|
56
85
|
}
|
|
57
86
|
groups[groupId].push(dataItem);
|
|
58
87
|
});
|
|
88
|
+
this._scatterIndex = -1;
|
|
89
|
+
this._scatters = [];
|
|
59
90
|
this._clusterIndex = -1;
|
|
60
91
|
this._clusters = [];
|
|
61
92
|
$array.each(this.clusteredDataItems, (dataItem) => {
|
|
@@ -64,6 +95,9 @@ export class ClusteredPointSeries extends MapPointSeries {
|
|
|
64
95
|
$array.each(this.dataItems, (dataItem) => {
|
|
65
96
|
dataItem.setRaw("cluster", undefined);
|
|
66
97
|
});
|
|
98
|
+
$object.each(groups, (_key, group) => {
|
|
99
|
+
this._scatterGroup(group);
|
|
100
|
+
});
|
|
67
101
|
$object.each(groups, (_key, group) => {
|
|
68
102
|
this._clusterGroup(group);
|
|
69
103
|
});
|
|
@@ -98,7 +132,7 @@ export class ClusteredPointSeries extends MapPointSeries {
|
|
|
98
132
|
}
|
|
99
133
|
_clusterGroup(dataItems) {
|
|
100
134
|
const chart = this.chart;
|
|
101
|
-
if (chart && chart.get("zoomLevel", 1) >= chart.get("maxZoomLevel", 100) * 0.95) {
|
|
135
|
+
if (chart && chart.get("zoomLevel", 1) >= chart.get("maxZoomLevel", 100) * this.get("stopClusterZoom", 0.95)) {
|
|
102
136
|
// void
|
|
103
137
|
}
|
|
104
138
|
else {
|
|
@@ -207,6 +241,81 @@ export class ClusteredPointSeries extends MapPointSeries {
|
|
|
207
241
|
});
|
|
208
242
|
}
|
|
209
243
|
}
|
|
244
|
+
_scatterGroup(dataItems) {
|
|
245
|
+
const chart = this.chart;
|
|
246
|
+
if (chart && chart.get("zoomLevel", 1) >= chart.get("maxZoomLevel", 100) * this.get("stopClusterZoom", 0.95)) {
|
|
247
|
+
while (dataItems.length > 0) {
|
|
248
|
+
this._scatterIndex++;
|
|
249
|
+
this._scatters[this._scatterIndex] = [];
|
|
250
|
+
const scatter = this._scatters[this._scatterIndex];
|
|
251
|
+
const dataItem = dataItems[0];
|
|
252
|
+
scatter.push(dataItem);
|
|
253
|
+
$array.remove(dataItems, dataItem);
|
|
254
|
+
this._scatterDataItem(dataItem, dataItems);
|
|
255
|
+
}
|
|
256
|
+
$array.each(this._scatters, (scatter) => {
|
|
257
|
+
let len = scatter.length;
|
|
258
|
+
if (len > 1) {
|
|
259
|
+
let previousCircles = [];
|
|
260
|
+
let s = 0;
|
|
261
|
+
let radius = this.get("scatterRadius", 8);
|
|
262
|
+
$array.each(scatter, (dataItem) => {
|
|
263
|
+
let spiralPoint = this._spiral[s];
|
|
264
|
+
let intersects = true;
|
|
265
|
+
if (previousCircles.length > 0) {
|
|
266
|
+
while (intersects) {
|
|
267
|
+
$array.each(previousCircles, (previousCircle) => {
|
|
268
|
+
intersects = false;
|
|
269
|
+
while ($math.circlesOverlap({ x: spiralPoint.x, y: spiralPoint.y, radius: radius }, previousCircle)) {
|
|
270
|
+
s++;
|
|
271
|
+
if (this._spiral[s] == undefined) {
|
|
272
|
+
intersects = false;
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
intersects = true;
|
|
276
|
+
spiralPoint = this._spiral[s];
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
const dx = spiralPoint.x;
|
|
283
|
+
const dy = spiralPoint.y;
|
|
284
|
+
previousCircles.push({ x: dx, y: dy, radius: radius });
|
|
285
|
+
dataItem.set("dx", dx);
|
|
286
|
+
dataItem.set("dy", dy);
|
|
287
|
+
const bullets = dataItem.bullets;
|
|
288
|
+
if (bullets) {
|
|
289
|
+
$array.each(bullets, (bullet) => {
|
|
290
|
+
const sprite = bullet.get("sprite");
|
|
291
|
+
if (sprite) {
|
|
292
|
+
sprite.setAll({ dx: dx, dy: dy });
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
_scatterDataItem(dataItem, dataItems) {
|
|
302
|
+
const point = dataItem.get("point");
|
|
303
|
+
if (point) {
|
|
304
|
+
$array.each(dataItems, (di) => {
|
|
305
|
+
if (di && !di.get("clipped")) {
|
|
306
|
+
const diPoint = di.get("point");
|
|
307
|
+
if (diPoint) {
|
|
308
|
+
if (Math.hypot(diPoint.x - point.x, diPoint.y - point.y) < this.get("scatterDistance", 5)) {
|
|
309
|
+
const scatter = this._scatters[this._scatterIndex];
|
|
310
|
+
scatter.push(di);
|
|
311
|
+
$array.remove(dataItems, di);
|
|
312
|
+
this._scatterDataItem(di, dataItems);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
}
|
|
210
319
|
}
|
|
211
320
|
Object.defineProperty(ClusteredPointSeries, "className", {
|
|
212
321
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusteredPointSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/ClusteredPointSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { MapPointSeries, IMapPointSeriesSettings, IMapPointSeriesPrivate, IMapPointSeriesDataItem } from \"./MapPointSeries\";\r\nimport { DataItem, IComponentDataItem } from \"../../core/render/Component\";\r\nimport type { Root } from \"../../core/Root\";\r\nimport type { Bullet } from \"../../core/render/Bullet\";\r\nimport { Container } from \"../../core/render/Container\";\r\nimport { Label } from \"../../core/render/Label\";\r\n\r\nimport * as $array from \"../../core/util/Array\";\r\nimport * as $object from \"../../core/util/Object\";\r\n\r\n\r\nexport interface IClusteredDataItem extends IComponentDataItem {\r\n\t/**\r\n\t * All the data items of this cluster\r\n\t */\r\n\tchildren?: Array<DataItem<IMapPointSeriesDataItem>>;\r\n\r\n\t/**\r\n\t * Bullet of clustered data item\r\n\t */\r\n\tbullet?: Bullet;\r\n}\r\n\r\nexport interface IClusteredPointSeriesDataItem extends IMapPointSeriesDataItem {\r\n\t/**\r\n\t * An ID of a bullet's group.\r\n\t */\r\n\tgroupId?: string\r\n\r\n\t/**\r\n\t * Clustered data item (if available)\r\n\t * @readonly\r\n\t */\r\n\tcluster?: DataItem<IClusteredDataItem>;\r\n}\r\n\r\nexport interface IClusteredPointSeriesPrivate extends IMapPointSeriesPrivate {\r\n\r\n}\r\n\r\nexport interface IClusteredPointSeriesSettings extends IMapPointSeriesSettings {\r\n\t/**\r\n\t * Series data can contain a field with an ID of a virtual group the bullet\r\n\t * belongs to.\r\n\t *\r\n\t * For example, we migth want bullets to group with other bullets from the\r\n\t * same continent.\r\n\t *\r\n\t * `groupIdField` specifies which field in source data holds group IDs.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_segregation} for more info\r\n\t * @default groupID\r\n\t */\r\n\tgroupIdField?: string;\r\n\r\n\t/**\r\n\t * Bullets that are closer than X pixels apart, will be automatically grouped.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Minimal_distance} for more info\r\n\t * @default 20\r\n\t */\r\n\tminDistance?: number;\r\n\r\n\t/**\r\n\t * Set this to a [[Bullet]] instance which will be used to show groups.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_bullet} for more info\r\n\t */\r\n\tclusteredBullet?: (root: Root, series: ClusteredPointSeries, dataItem: DataItem<IClusteredPointSeriesDataItem>) => Bullet | undefined;\r\n}\r\n\r\n/**\r\n * A version of [[MapPointSeries]] which can automatically group closely located\r\n * bullets into groups.\r\n * \r\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/} for more info\r\n * @since 5.5.6\r\n * @important\r\n */\r\nexport class ClusteredPointSeries extends MapPointSeries {\r\n\r\n\tpublic static className: string = \"ClusteredPointSeries\";\r\n\tpublic static classNames: Array<string> = MapPointSeries.classNames.concat([ClusteredPointSeries.className]);\r\n\r\n\tdeclare public _settings: IClusteredPointSeriesSettings;\r\n\tdeclare public _privateSettings: IClusteredPointSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IClusteredPointSeriesDataItem;\r\n\r\n\tprotected _dataItem: DataItem<this[\"_dataItemSettings\"]> = this.makeDataItem({});\r\n\tprotected _clusterIndex: number = 0;\r\n\tprotected _clusters: Array<Array<DataItem<this[\"_dataItemSettings\"]>>> = [];\r\n\r\n\tpublic clusteredDataItems: Array<DataItem<IClusteredDataItem>> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tthis.fields.push(\"groupId\");\r\n\t\tthis._setRawDefault(\"groupIdField\", \"groupId\");\r\n\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tconst groups: { [index: string]: Array<DataItem<IClusteredPointSeriesDataItem>> } = {};\r\n\t\t// distribute to groups\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tconst groupId = dataItem.get(\"groupId\", \"_default\");\r\n\r\n\t\t\tif (!groups[groupId]) {\r\n\t\t\t\tgroups[groupId] = [];\r\n\t\t\t}\r\n\t\t\tgroups[groupId].push(dataItem);\r\n\t\t})\r\n\r\n\t\tthis._clusterIndex = -1;\r\n\t\tthis._clusters = [];\r\n\r\n\t\t$array.each(this.clusteredDataItems, (dataItem) => {\r\n\t\t\tdataItem.setRaw(\"children\", undefined);\r\n\t\t})\r\n\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tdataItem.setRaw(\"cluster\", undefined);\r\n\t\t})\r\n\r\n\t\t$object.each(groups, (_key, group) => {\r\n\t\t\tthis._clusterGroup(group);\r\n\t\t})\r\n\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tif (!dataItem.get(\"cluster\")) {\r\n\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\tif (bullets) {\r\n\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\tsprite.set(\"forceHidden\", false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms to the area so that all clustered data items of a cluster would be\r\n\t * visible.\r\n\t *\r\n\t * Pass in `true` as a second parameter to rotate that map so that the group\r\n\t * is in the center. This is especially useful in the maps that use\r\n\t * Orthographic (globe) projection.\r\n\t *\r\n\t * @param dataItem Group data item\r\n\t * @param rotate Rotate the map so that group is in the center?\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Drill_down} for more info\r\n\t */\r\n\tpublic zoomToCluster(dataItem: DataItem<IClusteredDataItem>, rotate?: boolean) {\r\n\t\tthis.zoomToDataItems(dataItem.get(\"children\", []), rotate);\r\n\t}\r\n\r\n\tprotected _clusterGroup(dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart && chart.get(\"zoomLevel\", 1) >= chart.get(\"maxZoomLevel\", 100) * 0.95) {\r\n\t\t\t// void\r\n\t\t}\r\n\t\telse {\r\n\t\t\twhile (dataItems.length > 0) {\r\n\t\t\t\tthis._clusterIndex++;\r\n\t\t\t\tthis._clusters[this._clusterIndex] = [];\r\n\t\t\t\tconst cluster = this._clusters[this._clusterIndex];\r\n\t\t\t\tconst dataItem = dataItems[0];\r\n\r\n\t\t\t\tcluster.push(dataItem);\r\n\t\t\t\t$array.remove(dataItems, dataItem);\r\n\r\n\t\t\t\tthis._clusterDataItem(dataItem, dataItems);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet i = 0;\r\n\r\n\t\t$array.each(this._clusters, (cluster) => {\r\n\t\t\tlet sumX = 0;\r\n\t\t\tlet sumY = 0;\r\n\r\n\t\t\tlet len = cluster.length;\r\n\r\n\t\t\tif (len > 1) {\r\n\r\n\t\t\t\tlet clusteredDataItem = this.clusteredDataItems[i];\r\n\t\t\t\tif (!clusteredDataItem) {\r\n\t\t\t\t\tclusteredDataItem = new DataItem(this, undefined, {});\r\n\r\n\t\t\t\t\tconst bulletMethod = this.get(\"clusteredBullet\");\r\n\t\t\t\t\tif (bulletMethod) {\r\n\t\t\t\t\t\tconst bullet = clusteredDataItem.set(\"bullet\" as any, bulletMethod(this._root, this, clusteredDataItem));\r\n\r\n\t\t\t\t\t\tif (bullet) {\r\n\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\tthis.bulletsContainer.children.push(sprite);\r\n\t\t\t\t\t\t\t\tsprite._setDataItem(clusteredDataItem);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.clusteredDataItems.push(clusteredDataItem)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$array.each(cluster, (dataItem) => {\r\n\t\t\t\t\tdataItem.setRaw(\"cluster\", clusteredDataItem);\r\n\r\n\t\t\t\t\tconst point = dataItem.get(\"point\");\r\n\t\t\t\t\tif (point) {\r\n\t\t\t\t\t\tsumX += point.x;\r\n\t\t\t\t\t\tsumY += point.y;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\t\tif (bullets) {\r\n\t\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tlet averageX = sumX / len;\r\n\t\t\t\tlet averageY = sumY / len;\r\n\r\n\t\t\t\tclusteredDataItem.setRaw(\"children\" as any, cluster);\r\n\r\n\t\t\t\tconst prevLen = clusteredDataItem.get(\"value\" as any);\r\n\t\t\t\tclusteredDataItem.setRaw(\"value\" as any, len);\r\n\r\n\t\t\t\tconst bullet = clusteredDataItem.get(\"bullet\" as any);\r\n\t\t\t\tif (bullet) {\r\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\tsprite.set(\"forceHidden\", false);\r\n\t\t\t\t\t\tsprite.setAll({ x: averageX, y: averageY });\r\n\r\n\t\t\t\t\t\tif (prevLen != len) {\r\n\t\t\t\t\t\t\tif (sprite instanceof Container) {\r\n\t\t\t\t\t\t\t\tsprite.walkChildren((child) => {\r\n\t\t\t\t\t\t\t\t\tif (child instanceof Label) {\r\n\t\t\t\t\t\t\t\t\t\tchild.text.markDirtyText();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t$array.each(this.clusteredDataItems, (dataItem) => {\r\n\t\t\tlet children = dataItem.get(\"children\");\r\n\t\t\tif (!children || children.length == 0) {\r\n\t\t\t\tconst bullet = dataItem.get(\"bullet\" as any);\r\n\t\t\t\tif (bullet) {\r\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _clusterDataItem(dataItem: DataItem<IClusteredPointSeriesDataItem>, dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst point = dataItem.get(\"point\");\r\n\t\tif (point) {\r\n\t\t\t$array.each(dataItems, (di) => {\r\n\t\t\t\tif (di && !di.get(\"clipped\")) {\r\n\t\t\t\t\tconst diPoint = di.get(\"point\");\r\n\t\t\t\t\tif (diPoint) {\r\n\t\t\t\t\t\tif (Math.hypot(diPoint.x - point.x, diPoint.y - point.y) < this.get(\"minDistance\", 20)) {\r\n\t\t\t\t\t\t\tconst cluster = this._clusters[this._clusterIndex];\r\n\t\t\t\t\t\t\tcluster.push(di);\r\n\t\t\t\t\t\t\t$array.remove(dataItems, di);\r\n\t\t\t\t\t\t\tthis._clusterDataItem(di, dataItems);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ClusteredPointSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/ClusteredPointSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { MapPointSeries, IMapPointSeriesSettings, IMapPointSeriesPrivate, IMapPointSeriesDataItem } from \"./MapPointSeries\";\r\nimport { DataItem, IComponentDataItem } from \"../../core/render/Component\";\r\nimport type { Root } from \"../../core/Root\";\r\nimport type { Bullet } from \"../../core/render/Bullet\";\r\nimport { Container } from \"../../core/render/Container\";\r\nimport { Label } from \"../../core/render/Label\";\r\n\r\nimport * as $array from \"../../core/util/Array\";\r\nimport * as $object from \"../../core/util/Object\";\r\nimport * as d3hierarchy from \"d3-hierarchy\";\r\nimport * as $math from \"../../core/util/Math\";\r\n\r\n\r\nexport interface IClusteredDataItem extends IComponentDataItem {\r\n\t/**\r\n\t * All the data items of this cluster\r\n\t */\r\n\tchildren?: Array<DataItem<IMapPointSeriesDataItem>>;\r\n\r\n\t/**\r\n\t * Bullet of clustered data item\r\n\t */\r\n\tbullet?: Bullet;\r\n}\r\n\r\nexport interface IClusteredPointSeriesDataItem extends IMapPointSeriesDataItem {\r\n\t/**\r\n\t * An ID of a bullet's group.\r\n\t */\r\n\tgroupId?: string\r\n\r\n\t/**\r\n\t * Clustered data item (if available)\r\n\t * @readonly\r\n\t */\r\n\tcluster?: DataItem<IClusteredDataItem>;\r\n\r\n\t/**\r\n\t * How much bullet was moved from its original position\r\n\t */\r\n\tdx?: number;\r\n\r\n\t/**\r\n\t * How much bullet was moved from its original position\r\n\t */\r\n\tdy?: number;\r\n}\r\n\r\nexport interface IClusteredPointSeriesPrivate extends IMapPointSeriesPrivate {\r\n\r\n}\r\n\r\nexport interface IClusteredPointSeriesSettings extends IMapPointSeriesSettings {\r\n\t/**\r\n\t * Series data can contain a field with an ID of a virtual group the bullet\r\n\t * belongs to.\r\n\t *\r\n\t * For example, we migth want bullets to group with other bullets from the\r\n\t * same continent.\r\n\t *\r\n\t * `groupIdField` specifies which field in source data holds group IDs.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_segregation} for more info\r\n\t * @default groupID\r\n\t */\r\n\tgroupIdField?: string;\r\n\r\n\t/**\r\n\t * Bullets that are closer than X pixels apart, will be automatically grouped.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Minimal_distance} for more info\r\n\t * @default 20\r\n\t */\r\n\tminDistance?: number;\r\n\r\n\t/**\r\n\t * Set this to a [[Bullet]] instance which will be used to show groups.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_bullet} for more info\r\n\t */\r\n\tclusteredBullet?: (root: Root, series: ClusteredPointSeries, dataItem: DataItem<IClusteredPointSeriesDataItem>) => Bullet | undefined;\r\n\r\n\t/**\r\n\t * If bullets are closer to each other than `scatterDistance`, they will be\r\n\t * scattered so that all are visible.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Scatter_settings} for more info\r\n\t * @default 5\r\n\t * @since 5.5.7\r\n\t */\r\n\tscatterDistance?: number;\r\n\r\n\t/**\r\n\t * Presumed radius of a each bullet when scattering them.\r\n\t * \r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Scatter_settings} for more info\r\n\t * @default 8\r\n\t * @since 5.5.7\r\n\t */\r\n\tscatterRadius?: number;\r\n\r\n\t/**\r\n\t * If a map is zoomed to a maxZoomLevel * stopClusterZoom, clusters will be\r\n\t * disabled.\r\n\t * \r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Scatter_settings} for more info\r\n\t * @default 0.95\r\n\t * @since 5.5.7\r\n\t */\r\n\tstopClusterZoom?: number\r\n}\r\n\r\n/**\r\n * A version of [[MapPointSeries]] which can automatically group closely located\r\n * bullets into groups.\r\n * \r\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/} for more info\r\n * @since 5.5.6\r\n * @important\r\n */\r\nexport class ClusteredPointSeries extends MapPointSeries {\r\n\r\n\tpublic static className: string = \"ClusteredPointSeries\";\r\n\tpublic static classNames: Array<string> = MapPointSeries.classNames.concat([ClusteredPointSeries.className]);\r\n\r\n\tdeclare public _settings: IClusteredPointSeriesSettings;\r\n\tdeclare public _privateSettings: IClusteredPointSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IClusteredPointSeriesDataItem;\r\n\r\n\tprotected _dataItem: DataItem<this[\"_dataItemSettings\"]> = this.makeDataItem({});\r\n\tprotected _clusterIndex: number = 0;\r\n\tprotected _clusters: Array<Array<DataItem<this[\"_dataItemSettings\"]>>> = [];\r\n\tpublic clusteredDataItems: Array<DataItem<IClusteredDataItem>> = [];\r\n\r\n\tprotected _scatterIndex: number = 0;\r\n\tprotected _scatters: Array<Array<DataItem<this[\"_dataItemSettings\"]>>> = [];\r\n\r\n\tpublic _packLayout = d3hierarchy.pack();\r\n\r\n\tprotected _spiral: Array<{ x: number, y: number }> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tthis.fields.push(\"groupId\");\r\n\t\tthis._setRawDefault(\"groupIdField\", \"groupId\");\r\n\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"scatterRadius\")) {\r\n\t\t\tthis._spiral = $math.spiralPoints(0, 0, 300, 300, 0, 3, 3, 0, 0)\r\n\t\t}\r\n\r\n\t\tconst groups: { [index: string]: Array<DataItem<IClusteredPointSeriesDataItem>> } = {};\r\n\t\t// distribute to groups\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tconst groupId = dataItem.get(\"groupId\", \"_default\");\r\n\r\n\t\t\tif (!groups[groupId]) {\r\n\t\t\t\tgroups[groupId] = [];\r\n\t\t\t}\r\n\t\t\tgroups[groupId].push(dataItem);\r\n\t\t})\r\n\r\n\t\tthis._scatterIndex = -1;\r\n\t\tthis._scatters = [];\r\n\t\tthis._clusterIndex = -1;\r\n\t\tthis._clusters = [];\r\n\r\n\t\t$array.each(this.clusteredDataItems, (dataItem) => {\r\n\t\t\tdataItem.setRaw(\"children\", undefined);\r\n\t\t})\r\n\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tdataItem.setRaw(\"cluster\", undefined);\r\n\t\t})\r\n\r\n\t\t$object.each(groups, (_key, group) => {\r\n\t\t\tthis._scatterGroup(group);\r\n\t\t})\r\n\r\n\t\t$object.each(groups, (_key, group) => {\r\n\t\t\tthis._clusterGroup(group);\r\n\t\t})\r\n\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tif (!dataItem.get(\"cluster\")) {\r\n\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\tif (bullets) {\r\n\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\tsprite.set(\"forceHidden\", false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms to the area so that all clustered data items of a cluster would be\r\n\t * visible.\r\n\t *\r\n\t * Pass in `true` as a second parameter to rotate that map so that the group\r\n\t * is in the center. This is especially useful in the maps that use\r\n\t * Orthographic (globe) projection.\r\n\t *\r\n\t * @param dataItem Group data item\r\n\t * @param rotate Rotate the map so that group is in the center?\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Drill_down} for more info\r\n\t */\r\n\tpublic zoomToCluster(dataItem: DataItem<IClusteredDataItem>, rotate?: boolean) {\r\n\t\tthis.zoomToDataItems(dataItem.get(\"children\", []), rotate);\r\n\t}\r\n\r\n\tprotected _clusterGroup(dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart && chart.get(\"zoomLevel\", 1) >= chart.get(\"maxZoomLevel\", 100) * this.get(\"stopClusterZoom\", 0.95)) {\r\n\t\t\t// void\r\n\t\t}\r\n\t\telse {\r\n\t\t\twhile (dataItems.length > 0) {\r\n\t\t\t\tthis._clusterIndex++;\r\n\t\t\t\tthis._clusters[this._clusterIndex] = [];\r\n\t\t\t\tconst cluster = this._clusters[this._clusterIndex];\r\n\t\t\t\tconst dataItem = dataItems[0];\r\n\r\n\t\t\t\tcluster.push(dataItem);\r\n\t\t\t\t$array.remove(dataItems, dataItem);\r\n\r\n\t\t\t\tthis._clusterDataItem(dataItem, dataItems);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet i = 0;\r\n\r\n\t\t$array.each(this._clusters, (cluster) => {\r\n\t\t\tlet sumX = 0;\r\n\t\t\tlet sumY = 0;\r\n\r\n\t\t\tlet len = cluster.length;\r\n\r\n\t\t\tif (len > 1) {\r\n\r\n\t\t\t\tlet clusteredDataItem = this.clusteredDataItems[i];\r\n\t\t\t\tif (!clusteredDataItem) {\r\n\t\t\t\t\tclusteredDataItem = new DataItem(this, undefined, {});\r\n\r\n\t\t\t\t\tconst bulletMethod = this.get(\"clusteredBullet\");\r\n\t\t\t\t\tif (bulletMethod) {\r\n\t\t\t\t\t\tconst bullet = clusteredDataItem.set(\"bullet\" as any, bulletMethod(this._root, this, clusteredDataItem));\r\n\r\n\t\t\t\t\t\tif (bullet) {\r\n\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\tthis.bulletsContainer.children.push(sprite);\r\n\t\t\t\t\t\t\t\tsprite._setDataItem(clusteredDataItem);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.clusteredDataItems.push(clusteredDataItem)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$array.each(cluster, (dataItem) => {\r\n\t\t\t\t\tdataItem.setRaw(\"cluster\", clusteredDataItem);\r\n\r\n\t\t\t\t\tconst point = dataItem.get(\"point\");\r\n\t\t\t\t\tif (point) {\r\n\t\t\t\t\t\tsumX += point.x;\r\n\t\t\t\t\t\tsumY += point.y;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\t\tif (bullets) {\r\n\t\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tlet averageX = sumX / len;\r\n\t\t\t\tlet averageY = sumY / len;\r\n\r\n\t\t\t\tclusteredDataItem.setRaw(\"children\" as any, cluster);\r\n\r\n\t\t\t\tconst prevLen = clusteredDataItem.get(\"value\" as any);\r\n\t\t\t\tclusteredDataItem.setRaw(\"value\" as any, len);\r\n\r\n\t\t\t\tconst bullet = clusteredDataItem.get(\"bullet\" as any);\r\n\t\t\t\tif (bullet) {\r\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\tsprite.set(\"forceHidden\", false);\r\n\t\t\t\t\t\tsprite.setAll({ x: averageX, y: averageY });\r\n\r\n\t\t\t\t\t\tif (prevLen != len) {\r\n\t\t\t\t\t\t\tif (sprite instanceof Container) {\r\n\t\t\t\t\t\t\t\tsprite.walkChildren((child) => {\r\n\t\t\t\t\t\t\t\t\tif (child instanceof Label) {\r\n\t\t\t\t\t\t\t\t\t\tchild.text.markDirtyText();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t$array.each(this.clusteredDataItems, (dataItem) => {\r\n\t\t\tlet children = dataItem.get(\"children\");\r\n\t\t\tif (!children || children.length == 0) {\r\n\t\t\t\tconst bullet = dataItem.get(\"bullet\" as any);\r\n\t\t\t\tif (bullet) {\r\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _clusterDataItem(dataItem: DataItem<IClusteredPointSeriesDataItem>, dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst point = dataItem.get(\"point\");\r\n\t\tif (point) {\r\n\t\t\t$array.each(dataItems, (di) => {\r\n\t\t\t\tif (di && !di.get(\"clipped\")) {\r\n\t\t\t\t\tconst diPoint = di.get(\"point\");\r\n\t\t\t\t\tif (diPoint) {\r\n\r\n\t\t\t\t\t\tif (Math.hypot(diPoint.x - point.x, diPoint.y - point.y) < this.get(\"minDistance\", 20)) {\r\n\t\t\t\t\t\t\tconst cluster = this._clusters[this._clusterIndex];\r\n\t\t\t\t\t\t\tcluster.push(di);\r\n\t\t\t\t\t\t\t$array.remove(dataItems, di);\r\n\t\t\t\t\t\t\tthis._clusterDataItem(di, dataItems);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _scatterGroup(dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart && chart.get(\"zoomLevel\", 1) >= chart.get(\"maxZoomLevel\", 100) * this.get(\"stopClusterZoom\", 0.95)) {\r\n\t\t\twhile (dataItems.length > 0) {\r\n\t\t\t\tthis._scatterIndex++;\r\n\t\t\t\tthis._scatters[this._scatterIndex] = [];\r\n\t\t\t\tconst scatter = this._scatters[this._scatterIndex];\r\n\t\t\t\tconst dataItem = dataItems[0];\r\n\r\n\t\t\t\tscatter.push(dataItem);\r\n\t\t\t\t$array.remove(dataItems, dataItem);\r\n\r\n\t\t\t\tthis._scatterDataItem(dataItem, dataItems);\r\n\t\t\t}\r\n\r\n\t\t\t$array.each(this._scatters, (scatter) => {\r\n\t\t\t\tlet len = scatter.length;\r\n\r\n\t\t\t\tif (len > 1) {\r\n\t\t\t\t\tlet previousCircles: Array<{ x: number, y: number, radius: number }> = [];\r\n\t\t\t\t\tlet s = 0;\r\n\t\t\t\t\tlet radius = this.get(\"scatterRadius\", 8);\r\n\t\t\t\t\t$array.each(scatter, (dataItem) => {\r\n\t\t\t\t\t\tlet spiralPoint = this._spiral[s];\r\n\t\t\t\t\t\tlet intersects = true;\r\n\r\n\t\t\t\t\t\tif (previousCircles.length > 0) {\r\n\t\t\t\t\t\t\twhile (intersects) {\r\n\t\t\t\t\t\t\t\t$array.each(previousCircles, (previousCircle) => {\r\n\t\t\t\t\t\t\t\t\tintersects = false;\r\n\t\t\t\t\t\t\t\t\twhile ($math.circlesOverlap({ x: spiralPoint.x, y: spiralPoint.y, radius: radius }, previousCircle)) {\r\n\t\t\t\t\t\t\t\t\t\ts++;\r\n\r\n\t\t\t\t\t\t\t\t\t\tif (this._spiral[s] == undefined) {\r\n\t\t\t\t\t\t\t\t\t\t\tintersects = false;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\tintersects = true;\r\n\t\t\t\t\t\t\t\t\t\t\tspiralPoint = this._spiral[s];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst dx = spiralPoint.x;\r\n\t\t\t\t\t\tconst dy = spiralPoint.y;\r\n\r\n\t\t\t\t\t\tpreviousCircles.push({ x: dx, y: dy, radius: radius });\r\n\r\n\t\t\t\t\t\tdataItem.set(\"dx\", dx);\r\n\t\t\t\t\t\tdataItem.set(\"dy\", dy);\r\n\r\n\t\t\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\t\t\tif (bullets) {\r\n\t\t\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\t\tsprite.setAll({ dx: dx, dy: dy });\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _scatterDataItem(dataItem: DataItem<IClusteredPointSeriesDataItem>, dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst point = dataItem.get(\"point\");\r\n\t\tif (point) {\r\n\t\t\t$array.each(dataItems, (di) => {\r\n\t\t\t\tif (di && !di.get(\"clipped\")) {\r\n\t\t\t\t\tconst diPoint = di.get(\"point\");\r\n\r\n\t\t\t\t\tif (diPoint) {\r\n\t\t\t\t\t\tif (Math.hypot(diPoint.x - point.x, diPoint.y - point.y) < this.get(\"scatterDistance\", 5)) {\r\n\t\t\t\t\t\t\tconst scatter = this._scatters[this._scatterIndex];\r\n\t\t\t\t\t\t\tscatter.push(di);\r\n\t\t\t\t\t\t\t$array.remove(dataItems, di);\r\n\t\t\t\t\t\t\tthis._scatterDataItem(di, dataItems);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\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;CAoI3B"}
|
|
@@ -54,6 +54,12 @@ export class MapChartDefaultTheme extends Theme {
|
|
|
54
54
|
clipBack: true,
|
|
55
55
|
autoScale: false
|
|
56
56
|
});
|
|
57
|
+
r("ClusteredPointSeries").setAll({
|
|
58
|
+
minDistance: 20,
|
|
59
|
+
scatterDistance: 3,
|
|
60
|
+
scatterRadius: 8,
|
|
61
|
+
stopClusterZoom: 0.95
|
|
62
|
+
});
|
|
57
63
|
r("MapLineSeries").setAll({
|
|
58
64
|
affectsBounds: false
|
|
59
65
|
});
|
|
@@ -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(\"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"]}
|
|
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(\"ClusteredPointSeries\").setAll({\r\n\t\t\tminDistance: 20,\r\n\t\t\tscatterDistance: 3,\r\n\t\t\tscatterRadius: 8,\r\n\t\t\tstopClusterZoom: 0.95\r\n\t\t})\r\n\r\n\t\tr(\"MapLineSeries\").setAll({\r\n\t\t\taffectsBounds: false\r\n\t\t})\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"MapPolygon\");\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tprecision: 0.5,\r\n\t\t\t\tisMeasured: false,\r\n\t\t\t\trole: \"figure\",\r\n\t\t\t\tfillOpacity: 1,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tstrokeWidth: 0.2,\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGhI,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMvD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE5B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IAEtC,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IAEvC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IASvD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA4BvE,SAAS,CAAC,UAAU;IAQpB,SAAS,CAAC,YAAY;IASf,gBAAgB;IA+FvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAyC5D,eAAe,CAAC,MAAM,EAAE,MAAM;CAsBrC"}
|
|
@@ -161,17 +161,21 @@ export class PieSeries extends PercentSeries {
|
|
|
161
161
|
let y = 0;
|
|
162
162
|
x = label.x();
|
|
163
163
|
y = label.y();
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
dx =
|
|
164
|
+
let points = [];
|
|
165
|
+
if (x != 0 && y != 0) {
|
|
166
|
+
if (label.get("textType") == "circular") {
|
|
167
|
+
const labelRadius = label.radius() - label.get("paddingBottom", 0);
|
|
168
|
+
const labelAngle = label.get("labelAngle", 0);
|
|
169
|
+
x = labelRadius * $math.cos(labelAngle);
|
|
170
|
+
y = labelRadius * $math.sin(labelAngle);
|
|
171
|
+
}
|
|
172
|
+
let dx = -pr;
|
|
173
|
+
if (label.getPrivate("left")) {
|
|
174
|
+
dx = pl;
|
|
175
|
+
}
|
|
176
|
+
points = [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }];
|
|
173
177
|
}
|
|
174
|
-
tick.set("points",
|
|
178
|
+
tick.set("points", points);
|
|
175
179
|
}
|
|
176
180
|
}
|
|
177
181
|
_positionBullet(bullet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAyE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAW,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AA8ChD;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAa;IAcjC,WAAW;QACpB,OAAO,IAAI,YAAY,CACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC5B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACzF,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC1B,CAAC;IACH,CAAC;IAES,WAAW;QACpB,OAAO,IAAI,YAAY,CACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACzF,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC1B,CAAC;IACH,CAAC;IAES,UAAU;QACnB,OAAO,IAAI,YAAY,CACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACxF,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CACzB,CAAC;IACH,CAAC;IAES,eAAe,CAAC,QAA6C;QACtE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEvC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAExB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,KAAK,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAA;IACH,CAAC;IAES,UAAU;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE;YACV,OAAO,KAAK,CAAC,UAAU,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAES,YAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;SACzB;QACD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAE9C,CAAC;IAEM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE;YAEV,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAChC,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAE1C,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;oBAC5B,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAC1C;qBACI;oBACJ,IAAI,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC9C,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,SAAS,EAAE;wBAC9C,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC3C;iBACD;aACD;YAGD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBACxK,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClE,MAAM,GAAG,GAAG,QAAQ,GAAG,UAAU,CAAC;gBAClC,IAAI,YAAY,GAAG,UAAU,CAAC;gBAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrC,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAE9E,IAAI,WAAW,GAAG,CAAC,EAAE;oBACpB,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;iBACnC;gBAED,mBAAmB;gBACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAEzC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAEjC,IAAI,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC;oBAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,KAAK,EAAE;wBACV,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC5B,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACtC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAEtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;wBAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACnC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;wBACjC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;qBACnC;oBAED,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;oBAEtE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,KAAK,EAAE;wBACV,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACnC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBAC7C,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;wBAErC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,EAAE;4BACvC,IAAI,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;4BAClD,IAAI,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BAExC,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,IAAI,GAAG,EAAE;gCAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;oCAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAC3C;gCACD,WAAW,IAAI,CAAC,CAAC,CAAC;gCAClB,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gCAC1D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gCAC3B,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;6BAClC;iCACI;gCACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;oCAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAC3C;gCACD,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gCAC3D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gCACxB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;6BACnC;4BACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;4BAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;yBAChD;qBACD;oBACD,YAAY,IAAI,UAAU,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAA;gBACF,GAAG;aACH;SACD;IACF,CAAC;IAES,WAAW,CAAC,QAA6C;QAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE;YAC3B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;YACzG,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAElC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7C,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAElD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YAEV,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAEd,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE;gBACxC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC9C,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACxC;YAED,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC7B,EAAE,GAAG,EAAE,CAAC;aACR;YAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACxH;IACF,CAAC;IAEM,eAAe,CAAC,MAAc;QAEpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE;YACX,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA+C,CAAC;YACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEpC,IAAI,KAAK,EAAE;gBACV,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAE/C,MAAM,KAAK,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,CAAC;gBAC3C,MAAM,CAAC,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;gBAE3D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACpE;SACD;IACF,CAAC;;AA3OD;;;;WAAkC,WAAW;GAAC;AAC9C;;;;WAA0C,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart._maxRadius;\n\t\t}\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn -chart._maxRadius;\n\t\t}\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet textType = labelsTemplate.get(\"textType\");\n\t\t\t\t\tif (textType == null || textType == \"aligned\") {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || this.isDirty(\"alignLabels\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\t//if (radius > 0) {\n\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\tif (slice) {\n\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\tif (label) {\n\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t})\n\t\t\t\t//}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\n\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t}\n\n\t\t\tlet dx = -pr;\n\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\tdx = pl;\n\t\t\t}\n\n\t\t\ttick.set(\"points\", [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }]);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\t\tconst radius = slice.get(\"radius\", 0);\n\t\t\t\tconst startAngle = slice.get(\"startAngle\", 0);\n\t\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\t\tconst angle = startAngle + arc * locationX;\n\t\t\t\tconst r = innerRadius + (radius - innerRadius) * locationY;\n\n\t\t\t\tsprite.setAll({ x: $math.cos(angle) * r, y: $math.sin(angle) * r });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart._maxRadius;\n\t\t}\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn -chart._maxRadius;\n\t\t}\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet textType = labelsTemplate.get(\"textType\");\n\t\t\t\t\tif (textType == null || textType == \"aligned\") {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || this.isDirty(\"alignLabels\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\t//if (radius > 0) {\n\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\tif (slice) {\n\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\tif (label) {\n\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t})\n\t\t\t\t//}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\t\t\tlet points:Array<IPoint> = [];\n\n\t\t\tif(x != 0 && y != 0){\n\t\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t\t}\n\n\t\t\t\tlet dx = -pr;\n\t\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\t\tdx = pl;\n\t\t\t\t}\n\t\t\t\tpoints = [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }];\t\t\t\t\n\t\t\t}\n\n\t\t\ttick.set(\"points\", points);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\t\tconst radius = slice.get(\"radius\", 0);\n\t\t\t\tconst startAngle = slice.get(\"startAngle\", 0);\n\t\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\t\tconst angle = startAngle + arc * locationX;\n\t\t\t\tconst r = innerRadius + (radius - innerRadius) * locationY;\n\n\t\t\t\tsprite.setAll({ x: $math.cos(angle) * r, y: $math.sin(angle) * r });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StockChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -240,16 +240,24 @@ export class StockChart extends Container {
|
|
|
240
240
|
const stockSeries = this.get("stockSeries");
|
|
241
241
|
if (this.isDirty("stockSeries")) {
|
|
242
242
|
if (stockSeries) {
|
|
243
|
+
const previous = this._prevSettings.stockSeries;
|
|
243
244
|
this.indicators.each((indicator) => {
|
|
244
|
-
indicator.
|
|
245
|
+
if (previous == indicator.get("stockSeries")) {
|
|
246
|
+
indicator.set("stockSeries", stockSeries);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
indicator._setSoft("stockSeries", stockSeries);
|
|
250
|
+
}
|
|
245
251
|
});
|
|
246
252
|
const mainChart = stockSeries.chart;
|
|
247
253
|
if (mainChart) {
|
|
248
|
-
const previous = this._prevSettings.stockSeries;
|
|
249
254
|
mainChart.series.each((series) => {
|
|
250
255
|
if (series.isType("DrawingSeries")) {
|
|
251
256
|
let s = series.get("series");
|
|
252
257
|
if (s == previous) {
|
|
258
|
+
series.set("series", stockSeries);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
253
261
|
series._setSoft("series", stockSeries);
|
|
254
262
|
}
|
|
255
263
|
}
|
|
@@ -417,9 +425,14 @@ export class StockChart extends Container {
|
|
|
417
425
|
$array.each(seriesList, (series) => {
|
|
418
426
|
if (percentScale) {
|
|
419
427
|
series.setAll(seriesSettings);
|
|
428
|
+
series.states.lookup("default").setAll(seriesSettings);
|
|
420
429
|
}
|
|
421
430
|
else {
|
|
422
431
|
series.states.apply("comparingDefaults");
|
|
432
|
+
const seriesDefaults = series.states.lookup("comparingDefaults");
|
|
433
|
+
if (seriesDefaults) {
|
|
434
|
+
series.states.lookup("default").setAll(seriesDefaults._settings);
|
|
435
|
+
}
|
|
423
436
|
}
|
|
424
437
|
});
|
|
425
438
|
}
|