@amcharts/amcharts5 5.17.3 → 5.19.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/flow/ArcDiagramLink.d.ts +3 -0
- package/.internal/charts/flow/ArcDiagramLink.d.ts.map +1 -1
- package/.internal/charts/flow/ArcDiagramLink.js +12 -4
- package/.internal/charts/flow/ArcDiagramLink.js.map +1 -1
- package/.internal/charts/flow/ChordDirected.d.ts.map +1 -1
- package/.internal/charts/flow/ChordDirected.js +1 -0
- package/.internal/charts/flow/ChordDirected.js.map +1 -1
- package/.internal/charts/flow/SankeyLink.d.ts +3 -0
- package/.internal/charts/flow/SankeyLink.d.ts.map +1 -1
- package/.internal/charts/flow/SankeyLink.js +12 -4
- package/.internal/charts/flow/SankeyLink.js.map +1 -1
- package/.internal/charts/funnel/PictorialStackedSeries.js +1 -1
- package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
- package/.internal/charts/hierarchy/BreadcrumbBar.d.ts.map +1 -1
- package/.internal/charts/hierarchy/BreadcrumbBar.js +6 -8
- package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.js +1 -1
- package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +1 -1
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.d.ts +3 -0
- package/.internal/charts/hierarchy/HierarchyLink.d.ts.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.js +10 -2
- package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
- package/.internal/charts/hierarchy/Tree.d.ts +14 -0
- package/.internal/charts/hierarchy/Tree.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Tree.js +70 -0
- package/.internal/charts/hierarchy/Tree.js.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +8 -2
- package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.js +8 -4
- package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
- package/.internal/charts/map/GraticuleSeries.d.ts +2 -0
- package/.internal/charts/map/GraticuleSeries.d.ts.map +1 -1
- package/.internal/charts/map/GraticuleSeries.js +6 -1
- package/.internal/charts/map/GraticuleSeries.js.map +1 -1
- package/.internal/charts/map/MapChart.d.ts +59 -0
- package/.internal/charts/map/MapChart.d.ts.map +1 -1
- package/.internal/charts/map/MapChart.js +43 -0
- package/.internal/charts/map/MapChart.js.map +1 -1
- package/.internal/charts/map/MapChartProjections.d.ts +3 -0
- package/.internal/charts/map/MapChartProjections.d.ts.map +1 -0
- package/.internal/charts/map/MapChartProjections.js +20 -0
- package/.internal/charts/map/MapChartProjections.js.map +1 -0
- package/.internal/charts/map/MapPointSeries.js +1 -1
- package/.internal/charts/map/MapPointSeries.js.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.js +2 -1
- package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
- package/.internal/charts/map/MapProjections.d.ts +13 -0
- package/.internal/charts/map/MapProjections.d.ts.map +1 -0
- package/.internal/charts/map/MapProjections.js +15 -0
- package/.internal/charts/map/MapProjections.js.map +1 -0
- package/.internal/charts/pie/PieChart.d.ts +1 -0
- package/.internal/charts/pie/PieChart.d.ts.map +1 -1
- package/.internal/charts/pie/PieChart.js +6 -0
- package/.internal/charts/pie/PieChart.js.map +1 -1
- package/.internal/charts/stock/SettingsModal.js +1 -1
- package/.internal/charts/stock/SettingsModal.js.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js +6 -6
- package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/indicators/BollingerBands.js +1 -1
- package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.js +1 -1
- package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverage.d.ts +6 -0
- package/.internal/charts/stock/indicators/MovingAverage.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverage.js +9 -5
- package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +6 -0
- package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageDeviation.js +8 -4
- package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +1 -1
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbar.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbar.js +3 -0
- package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
- package/.internal/charts/xy/XYChart.js +5 -5
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYCursor.d.ts +2 -0
- package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
- package/.internal/charts/xy/XYCursor.js +6 -2
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +7 -0
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +33 -20
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.js +3 -0
- package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +18 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +26 -10
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/StepLineSeries.js +1 -1
- package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +10 -4
- 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 +19 -0
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +15 -2
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +1 -0
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Legend.js +2 -2
- package/.internal/core/render/Legend.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +6 -0
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +25 -5
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +7 -3
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/Modal.js +2 -2
- package/.internal/core/util/Modal.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +21 -0
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +49 -0
- package/.internal/core/util/Utils.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.d.ts +38 -0
- package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +43 -9
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.js +2 -2
- package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
- package/.internal/plugins/json/ChartSerializer.d.ts +0 -9
- package/.internal/plugins/json/ChartSerializer.d.ts.map +1 -1
- package/.internal/plugins/json/ChartSerializer.js +8 -12
- package/.internal/plugins/json/ChartSerializer.js.map +1 -1
- package/.internal/plugins/json/Classes-script.js +254 -254
- package/.internal/plugins/json/Classes-script.js.map +1 -1
- package/.internal/plugins/json/Classes.d.ts.map +1 -1
- package/.internal/plugins/json/Classes.js +257 -254
- package/.internal/plugins/json/Classes.js.map +1 -1
- package/.internal/plugins/json/Json.d.ts.map +1 -1
- package/.internal/plugins/json/Json.js +56 -2
- package/.internal/plugins/json/Json.js.map +1 -1
- package/CHANGELOG.md +38 -0
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gantt/package.json +1 -1
- package/examples/javascript/gantt-multilevel/package.json +1 -1
- package/examples/javascript/gantt-simple/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-sankey/package.json +1 -1
- package/examples/javascript/map-sankey-waypoints/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-spiral-chart/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gantt/package.json +1 -1
- package/examples/typescript/gantt-multilevel/package.json +1 -1
- package/examples/typescript/gantt-simple/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-sankey/package.json +1 -1
- package/examples/typescript/map-sankey-waypoints/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-spiral-chart/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/map.d.ts +2 -3
- package/map.d.ts.map +1 -1
- package/map.js +2 -3
- package/map.js.map +1 -1
- package/package.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapPointSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMapLineSeriesDataItem, MapLineSeries } from \"./MapLineSeries\";\nimport type { IMapPolygonSeriesDataItem, MapPolygonSeries } from \"./MapPolygonSeries\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { MapLine } from \"./MapLine\";\nimport type { MapPolygon } from \"./MapPolygon\";\n\nimport { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from \"./MapSeries\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $math from \"../../core/util/Math\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type { Animation } from \"../../core/util/Entity\";\nimport type { IDisposer } from \"../../core/util/Disposer\";\n\nexport interface IMapPointSeriesPrivate extends IMapSeriesPrivate {\n}\n\nexport interface IMapPointSeriesDataItem extends IMapSeriesDataItem {\n\n\t/**\n\t * GeoJSON geometry of the point.\n\t */\n\tgeometry?: GeoJSON.Point | GeoJSON.MultiPoint;\n\n\t/**\n\t * Longitude.\n\t */\n\tlongitude?: number;\n\n\t/**\n\t * Latitude.\n\t */\n\tlatitude?: number;\n\n\t/**\n\t * Relative position (0-1) on the [[MapLine]] to place point on.\n\t */\n\tpositionOnLine?: number;\n\n\t/**\n\t * Automatically rotate the point bullet to face the direction of the line\n\t * it is attached to.\n\t */\n\tautoRotate?: boolean;\n\n\t/**\n\t * The angle will be added to the automatically-calculated angle.\n\t *\n\t * Can be used to reverse the direction.\n\t */\n\tautoRotateAngle?: number;\n\n\t/**\n\t * A data item from a [[MapLineSeries]] the point is attached to.\n\t */\n\tlineDataItem?: DataItem<IMapLineSeriesDataItem>;\n\n\t/**\n\t * An ID of a [[MapLine]] the point is attached to.\n\t */\n\tlineId?: string;\n\n\t/**\n\t * A data item from a [[MapPolygonSeries]] to use for positioning of the\n\t * point.\n\t */\n\tpolygonDataItem?: DataItem<IMapPolygonSeriesDataItem>;\n\n\t/**\n\t * An ID of the [[MapPolygon]] to use for centering the point.\n\t */\n\tpolygonId?: string;\n\n\t/**\n\t * If set to `true`, the point will be drawn according to its `x` and `y`\n\t * coordinates, not its latitude and longitude.\n\t * \n\t * Fixed points will not move together with map, and can not be used to\n\t * connect points on a `MapLineSeries`.\n\t * \n\t * @default false\n\t * @since 5.2.34\n\t */\n\tfixed?: boolean;\n\n\t/**\n\t * Point (in pixels) of a data item\n\t */\n\tpoint?: IPoint;\n\n\t/**\n\t * @ignore\n\t */\n\tclipped?: boolean;\n}\n\nexport interface IMapPointSeriesSettings extends IMapSeriesSettings {\n\n\t/**\n\t * A field in data that holds an ID of the related polygon.\n\t *\n\t * If set, the point will be positioned in the visual center of the target\n\t * polygon.\n\t */\n\tpolygonIdField?: string;\n\n\t/**\n\t * If set to `true` will hide all points that are in the visible range of\n\t * the map.\n\t *\n\t * @default false\n\t */\n\tclipFront?: boolean;\n\n\t/**\n\t * If set to `true` will hide all points that are in the invisible range of\n\t * the map.\n\t *\n\t * For example on the side of the globe facing away from the viewer when\n\t * used with Orthographic projection.\n\t *\n\t * NOTE: not all projections have invisible side.\n\t *\n\t * @default true\n\t */\n\tclipBack?: boolean;\n\n\t/**\n\t * A field in data that holds point's latitude.\n\t */\n\tlatitudeField?: string;\n\n\t/**\n\t * A field in data that holds point's longitude.\n\t */\n\tlongitudeField?: string;\n\n\t/**\n\t * A field in data that holds information if this point is fixed or moves with a map.\n\t */\n\tfixedField?: string;\n\n\t/**\n\t * If set to `true`, bullets will resize when zooming the [[MapChart]].\n\t * \n\t * @since 5.2.8\n\t * @default false\n\t */\n\tautoScale?: boolean\n\n};\n\n/**\n * Creates a map series for displaying markers on the map.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-point-series/} for more info\n * @important\n */\nexport class MapPointSeries extends MapSeries {\n\n\tpublic static className: string = \"MapPointSeries\";\n\tpublic static classNames: Array<string> = MapSeries.classNames.concat([MapPointSeries.className]);\n\n\tdeclare public _settings: IMapPointSeriesSettings;\n\tdeclare public _privateSettings: IMapPointSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapPointSeriesDataItem;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [\"Point\", \"MultiPoint\"];\n\n\tprotected _lineChangedDp?: IDisposer;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"polygonId\", \"lineId\", \"longitude\", \"latitude\", \"fixed\");\n\t\tthis._setRawDefault(\"longitudeField\", \"longitude\");\n\t\tthis._setRawDefault(\"latitudeField\", \"latitude\");\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\tthis.markDirty();\n\t}\n\n\t/**\n\t * Forces a repaint of the element which relies on data.\n\t *\n\t * @since 5.0.21\n\t */\n\tpublic markDirtyValues(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.markDirtyValues();\n\n\t\tif (dataItem) {\n\t\t\tthis._positionBullets(dataItem);\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\t\tlet geometry = dataItem.get(\"geometry\");\n\t\tif (!geometry) {\n\t\t\tgeometry = { type: \"Point\", coordinates: [dataItem.get(\"longitude\", 0), dataItem.get(\"latitude\", 0)] };\n\t\t\tdataItem.set(\"geometry\", geometry);\n\t\t}\n\t\telse {\n\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates && coordinates[0]) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0][0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[0][1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._addGeometry(geometry, this);\n\t}\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tdataItem.bullets = [];\n\n\t\tthis.bullets.each((bulletFunction) => {\n\t\t\tconst geometry = dataItem.get(\"geometry\");\n\n\t\t\tif (geometry) {\n\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction));\n\t\t\t\t}\n\t\t\t\telse if (geometry.type = \"MultiPoint\") {\n\t\t\t\t\tlet i = 0;\n\t\t\t\t\t$array.each(geometry.coordinates, () => {\n\t\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction, i));\n\t\t\t\t\t\ti++;\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _setBulletParent(bullet?: Bullet) {\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst chart = this.chart;\n\t\t\tif (sprite && chart) {\n\t\t\t\tconst dataItem = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tif (dataItem.get(\"fixed\")) {\n\t\t\t\t\t\tif (sprite.parent != chart.bulletsContainer) {\n\t\t\t\t\t\t\tchart.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (sprite.parent != this.bulletsContainer) {\n\t\t\t\t\t\t\tthis.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem && dataItem.get(\"fixed\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst latitude = dataItem.get(\"latitude\");\n\t\t\tconst longitude = dataItem.get(\"longitude\");\n\t\t\tconst lineDataItem = dataItem.get(\"lineDataItem\");\n\t\t\tconst fixed = dataItem.get(\"fixed\");\n\t\t\tconst chart = this.chart;\n\t\t\tlet line: MapLine | undefined;\n\t\t\tif (lineDataItem) {\n\t\t\t\tline = lineDataItem.get(\"mapLine\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst lineId = dataItem.get(\"lineId\");\n\n\t\t\t\tif (lineId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t\t\tlet lineDI = series.getDataItemById(lineId);\n\t\t\t\t\t\t\tif (lineDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"lineDataItem\", lineDI);\n\t\t\t\t\t\t\t\tline = lineDI.get(\"mapLine\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._lineChangedDp) {\n\t\t\t\tthis._lineChangedDp.dispose();\n\t\t\t}\n\n\t\t\tif (line) {\n\t\t\t\tthis._lineChangedDp = line.events.on(\"linechanged\", () => {\n\t\t\t\t\tthis._positionBullets(dataItem);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst polygonDataItem = dataItem.get(\"polygonDataItem\");\n\t\t\tlet polygon: MapPolygon | undefined;\n\t\t\tif (polygonDataItem) {\n\t\t\t\tpolygon = polygonDataItem.get(\"mapPolygon\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst polygonId = dataItem.get(\"polygonId\");\n\n\t\t\t\tif (polygonId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapPolygonSeries>(\"MapPolygonSeries\")) {\n\t\t\t\t\t\t\tlet polygonDI = series.getDataItemById(polygonId);\n\t\t\t\t\t\t\tif (polygonDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"polygonDataItem\", polygonDI);\n\t\t\t\t\t\t\t\tpolygon = polygonDI.get(\"mapPolygon\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst positionOnLine = dataItem.get(\"positionOnLine\");\n\t\t\tlet coordinates: [number, number] | undefined;\n\n\t\t\tlet angle: number | undefined;\n\n\t\t\tif (polygon) {\n\t\t\t\tlet geoPoint = polygon.visualCentroid();\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if (line && $type.isNumber(positionOnLine)) {\n\t\t\t\tlet geoPoint = line.positionToGeoPoint(positionOnLine);\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\n\t\t\t\tif (dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\")) && chart) {\n\t\t\t\t\tconst geoPoint0 = line.positionToGeoPoint(positionOnLine - 0.002);\n\t\t\t\t\tconst geoPoint1 = line.positionToGeoPoint(positionOnLine + 0.002);\n\n\t\t\t\t\tconst point0 = chart.convert(geoPoint0);\n\t\t\t\t\tconst point1 = chart.convert(geoPoint1);\n\n\t\t\t\t\t//dataItem.set(\"autoRotateAngle\", $math.getAngle(point0, point1));\n\t\t\t\t\tangle = $math.getAngle(point0, point1);\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if ($type.isNumber(longitude) && $type.isNumber(latitude)) {\n\t\t\t\tcoordinates = [longitude, latitude];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst geometry = dataItem.get(\"geometry\")!;\n\t\t\t\tif (geometry) {\n\t\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\t\tthis._positionBulletReal(bullet, geometry, geometry.coordinates as [number, number], angle);\n\t\t\t\t\t}\n\t\t\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\t\t\tlet index = bullet._index || 0;\n\t\t\t\t\t\tcoordinates = geometry.coordinates[index] as [number, number];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!fixed && coordinates) {\n\t\t\t\tthis._positionBulletReal(bullet, { type: \"Point\", coordinates: coordinates }, coordinates, angle);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _positionBulletReal(bullet: Bullet, geometry: GeoJSON.Geometry, coordinates: [number, number], angle?: number) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst projection = chart.get(\"projection\")!;\n\t\t\tconst geoPath = chart.getPrivate(\"geoPath\");\n\t\t\tconst dataItem: DataItem<IMapPointSeriesDataItem> = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\n\t\t\tconst xy = projection(coordinates as any);\n\n\t\t\tif (xy) {\n\t\t\t\tconst point = { x: xy[0], y: xy[1] };\n\t\t\t\tsprite.setAll(point);\n\t\t\t\tdataItem.setRaw(\"point\", point);\n\t\t\t}\n\n\t\t\tlet visible = true;\n\t\t\tif (geoPath(geometry)) {\n\t\t\t\tif (this.get(\"clipFront\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this.get(\"clipBack\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsprite.setPrivate(\"visible\", visible);\n\t\t\tdataItem.set(\"clipped\", !visible);\n\n\t\t\tif (dataItem && angle != null && dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\"))) {\n\t\t\t\tsprite.set(\"rotation\", angle + dataItem.get(\"autoRotateAngle\", bullet.get(\"autoRotateAngle\", 0)));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Centers the map to specific series' data item and zooms to the level\n\t * specified in the parameters.\n\t *\n\t * @param dataItem Map point\n\t * @param zoomLevel Zoom level\n\t * @param rotate If it's true, the map will rotate so that this point would be in the center. Mostly usefull with geoOrthographic projection.\n\t */\n\tpublic zoomToDataItem(dataItem: DataItem<IMapPointSeriesDataItem>, zoomLevel: number, rotate?: boolean): Animation<any> | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst longitude = dataItem.get(\"longitude\", 0);\n\t\t\tconst latitude = dataItem.get(\"latitude\", 0);\n\t\t\tif (rotate) {\n\t\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true, undefined, -longitude, -latitude);\n\t\t\t}\n\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true);\n\t\t}\n\t}\n\n\n\t/**\n\t * Zooms the map in so that all points in the array are visible.\n\t *\n\t * @param dataItems An array of data items of points to zoom to\n\t * @param rotate Rotate the map so it is centered on the selected items\n\t * @return Animation\n\t * @since 5.5.6\n\t */\n\tpublic zoomToDataItems(dataItems: Array<DataItem<IMapPointSeriesDataItem>>, rotate?: boolean): Animation<any> | undefined {\n\n\t\tlet left: number | null = null;\n\t\tlet right: number | null = null;\n\t\tlet top: number | null = null;\n\t\tlet bottom: number | null = null;\n\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst longitude = dataItem.get(\"longitude\", 0);\n\t\t\tconst latitude = dataItem.get(\"latitude\", 0);\n\n\t\t\tif (left == null || left > longitude) {\n\t\t\t\tleft = longitude;\n\t\t\t}\n\t\t\tif (right == null || right < longitude) {\n\t\t\t\tright = longitude;\n\t\t\t}\n\t\t\tif (top == null || top < latitude) {\n\t\t\t\ttop = latitude;\n\t\t\t}\n\t\t\tif (bottom == null || bottom > latitude) {\n\t\t\t\tbottom = latitude;\n\t\t\t}\n\t\t})\n\t\tif (left != null && right != null && top != null && bottom != null) {\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tif (rotate) {\n\t\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom }, undefined, -(left + (right - left) / 2), -(top + (top - bottom) / 2));\n\t\t\t\t}\n\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom });\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.each((series) => {\n\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t$array.each(series.dataItems, (di) => {\n\t\t\t\t\t\tconst pointsToConnect = di.get(\"pointsToConnect\");\n\t\t\t\t\t\tif (pointsToConnect) {\n\t\t\t\t\t\t\t$array.each(pointsToConnect, (point) => {\n\t\t\t\t\t\t\t\tif (point == dataItem) {\n\t\t\t\t\t\t\t\t\t$array.remove(pointsToConnect, point);\n\t\t\t\t\t\t\t\t\tseries.markDirtyValues(di);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tsuper.disposeDataItem(dataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _excludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._excludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unexcludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unexcludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _notIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._notIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unNotIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unNotIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MapPointSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMapLineSeriesDataItem, MapLineSeries } from \"./MapLineSeries\";\nimport type { IMapPolygonSeriesDataItem, MapPolygonSeries } from \"./MapPolygonSeries\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { MapLine } from \"./MapLine\";\nimport type { MapPolygon } from \"./MapPolygon\";\n\nimport { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from \"./MapSeries\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $math from \"../../core/util/Math\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type { Animation } from \"../../core/util/Entity\";\nimport type { IDisposer } from \"../../core/util/Disposer\";\n\nexport interface IMapPointSeriesPrivate extends IMapSeriesPrivate {\n}\n\nexport interface IMapPointSeriesDataItem extends IMapSeriesDataItem {\n\n\t/**\n\t * GeoJSON geometry of the point.\n\t */\n\tgeometry?: GeoJSON.Point | GeoJSON.MultiPoint;\n\n\t/**\n\t * Longitude.\n\t */\n\tlongitude?: number;\n\n\t/**\n\t * Latitude.\n\t */\n\tlatitude?: number;\n\n\t/**\n\t * Relative position (0-1) on the [[MapLine]] to place point on.\n\t */\n\tpositionOnLine?: number;\n\n\t/**\n\t * Automatically rotate the point bullet to face the direction of the line\n\t * it is attached to.\n\t */\n\tautoRotate?: boolean;\n\n\t/**\n\t * The angle will be added to the automatically-calculated angle.\n\t *\n\t * Can be used to reverse the direction.\n\t */\n\tautoRotateAngle?: number;\n\n\t/**\n\t * A data item from a [[MapLineSeries]] the point is attached to.\n\t */\n\tlineDataItem?: DataItem<IMapLineSeriesDataItem>;\n\n\t/**\n\t * An ID of a [[MapLine]] the point is attached to.\n\t */\n\tlineId?: string;\n\n\t/**\n\t * A data item from a [[MapPolygonSeries]] to use for positioning of the\n\t * point.\n\t */\n\tpolygonDataItem?: DataItem<IMapPolygonSeriesDataItem>;\n\n\t/**\n\t * An ID of the [[MapPolygon]] to use for centering the point.\n\t */\n\tpolygonId?: string;\n\n\t/**\n\t * If set to `true`, the point will be drawn according to its `x` and `y`\n\t * coordinates, not its latitude and longitude.\n\t * \n\t * Fixed points will not move together with map, and can not be used to\n\t * connect points on a `MapLineSeries`.\n\t * \n\t * @default false\n\t * @since 5.2.34\n\t */\n\tfixed?: boolean;\n\n\t/**\n\t * Point (in pixels) of a data item\n\t */\n\tpoint?: IPoint;\n\n\t/**\n\t * @ignore\n\t */\n\tclipped?: boolean;\n}\n\nexport interface IMapPointSeriesSettings extends IMapSeriesSettings {\n\n\t/**\n\t * A field in data that holds an ID of the related polygon.\n\t *\n\t * If set, the point will be positioned in the visual center of the target\n\t * polygon.\n\t */\n\tpolygonIdField?: string;\n\n\t/**\n\t * If set to `true` will hide all points that are in the visible range of\n\t * the map.\n\t *\n\t * @default false\n\t */\n\tclipFront?: boolean;\n\n\t/**\n\t * If set to `true` will hide all points that are in the invisible range of\n\t * the map.\n\t *\n\t * For example on the side of the globe facing away from the viewer when\n\t * used with Orthographic projection.\n\t *\n\t * NOTE: not all projections have invisible side.\n\t *\n\t * @default true\n\t */\n\tclipBack?: boolean;\n\n\t/**\n\t * A field in data that holds point's latitude.\n\t */\n\tlatitudeField?: string;\n\n\t/**\n\t * A field in data that holds point's longitude.\n\t */\n\tlongitudeField?: string;\n\n\t/**\n\t * A field in data that holds information if this point is fixed or moves with a map.\n\t */\n\tfixedField?: string;\n\n\t/**\n\t * If set to `true`, bullets will resize when zooming the [[MapChart]].\n\t * \n\t * @since 5.2.8\n\t * @default false\n\t */\n\tautoScale?: boolean\n\n};\n\n/**\n * Creates a map series for displaying markers on the map.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-point-series/} for more info\n * @important\n */\nexport class MapPointSeries extends MapSeries {\n\n\tpublic static className: string = \"MapPointSeries\";\n\tpublic static classNames: Array<string> = MapSeries.classNames.concat([MapPointSeries.className]);\n\n\tdeclare public _settings: IMapPointSeriesSettings;\n\tdeclare public _privateSettings: IMapPointSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapPointSeriesDataItem;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [\"Point\", \"MultiPoint\"];\n\n\tprotected _lineChangedDp?: IDisposer;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"polygonId\", \"lineId\", \"longitude\", \"latitude\", \"fixed\");\n\t\tthis._setRawDefault(\"longitudeField\", \"longitude\");\n\t\tthis._setRawDefault(\"latitudeField\", \"latitude\");\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\tthis.markDirty();\n\t}\n\n\t/**\n\t * Forces a repaint of the element which relies on data.\n\t *\n\t * @since 5.0.21\n\t */\n\tpublic markDirtyValues(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.markDirtyValues();\n\n\t\tif (dataItem) {\n\t\t\tthis._positionBullets(dataItem);\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\t\tlet geometry = dataItem.get(\"geometry\");\n\t\tif (!geometry) {\n\t\t\tgeometry = { type: \"Point\", coordinates: [dataItem.get(\"longitude\", 0), dataItem.get(\"latitude\", 0)] };\n\t\t\tdataItem.set(\"geometry\", geometry);\n\t\t}\n\t\telse {\n\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates && coordinates[0]) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0][0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[0][1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._addGeometry(geometry, this);\n\t}\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tdataItem.bullets = [];\n\n\t\tthis.bullets.each((bulletFunction) => {\n\t\t\tconst geometry = dataItem.get(\"geometry\");\n\n\t\t\tif (geometry) {\n\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction));\n\t\t\t\t}\n\t\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\t\tlet i = 0;\n\t\t\t\t\t$array.each(geometry.coordinates, () => {\n\t\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction, i));\n\t\t\t\t\t\ti++;\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _setBulletParent(bullet?: Bullet) {\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst chart = this.chart;\n\t\t\tif (sprite && chart) {\n\t\t\t\tconst dataItem = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tif (dataItem.get(\"fixed\")) {\n\t\t\t\t\t\tif (sprite.parent != chart.bulletsContainer) {\n\t\t\t\t\t\t\tchart.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (sprite.parent != this.bulletsContainer) {\n\t\t\t\t\t\t\tthis.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem && dataItem.get(\"fixed\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst latitude = dataItem.get(\"latitude\");\n\t\t\tconst longitude = dataItem.get(\"longitude\");\n\t\t\tconst lineDataItem = dataItem.get(\"lineDataItem\");\n\t\t\tconst fixed = dataItem.get(\"fixed\");\n\t\t\tconst chart = this.chart;\n\t\t\tlet line: MapLine | undefined;\n\t\t\tif (lineDataItem) {\n\t\t\t\tline = lineDataItem.get(\"mapLine\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst lineId = dataItem.get(\"lineId\");\n\n\t\t\t\tif (lineId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t\t\tlet lineDI = series.getDataItemById(lineId);\n\t\t\t\t\t\t\tif (lineDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"lineDataItem\", lineDI);\n\t\t\t\t\t\t\t\tline = lineDI.get(\"mapLine\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._lineChangedDp) {\n\t\t\t\tthis._lineChangedDp.dispose();\n\t\t\t}\n\n\t\t\tif (line) {\n\t\t\t\tthis._lineChangedDp = line.events.on(\"linechanged\", () => {\n\t\t\t\t\tthis._positionBullets(dataItem);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst polygonDataItem = dataItem.get(\"polygonDataItem\");\n\t\t\tlet polygon: MapPolygon | undefined;\n\t\t\tif (polygonDataItem) {\n\t\t\t\tpolygon = polygonDataItem.get(\"mapPolygon\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst polygonId = dataItem.get(\"polygonId\");\n\n\t\t\t\tif (polygonId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapPolygonSeries>(\"MapPolygonSeries\")) {\n\t\t\t\t\t\t\tlet polygonDI = series.getDataItemById(polygonId);\n\t\t\t\t\t\t\tif (polygonDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"polygonDataItem\", polygonDI);\n\t\t\t\t\t\t\t\tpolygon = polygonDI.get(\"mapPolygon\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst positionOnLine = dataItem.get(\"positionOnLine\");\n\t\t\tlet coordinates: [number, number] | undefined;\n\n\t\t\tlet angle: number | undefined;\n\n\t\t\tif (polygon) {\n\t\t\t\tlet geoPoint = polygon.visualCentroid();\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if (line && $type.isNumber(positionOnLine)) {\n\t\t\t\tlet geoPoint = line.positionToGeoPoint(positionOnLine);\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\n\t\t\t\tif (dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\")) && chart) {\n\t\t\t\t\tconst geoPoint0 = line.positionToGeoPoint(positionOnLine - 0.002);\n\t\t\t\t\tconst geoPoint1 = line.positionToGeoPoint(positionOnLine + 0.002);\n\n\t\t\t\t\tconst point0 = chart.convert(geoPoint0);\n\t\t\t\t\tconst point1 = chart.convert(geoPoint1);\n\n\t\t\t\t\t//dataItem.set(\"autoRotateAngle\", $math.getAngle(point0, point1));\n\t\t\t\t\tangle = $math.getAngle(point0, point1);\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if ($type.isNumber(longitude) && $type.isNumber(latitude)) {\n\t\t\t\tcoordinates = [longitude, latitude];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst geometry = dataItem.get(\"geometry\")!;\n\t\t\t\tif (geometry) {\n\t\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\t\tthis._positionBulletReal(bullet, geometry, geometry.coordinates as [number, number], angle);\n\t\t\t\t\t}\n\t\t\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\t\t\tlet index = bullet._index || 0;\n\t\t\t\t\t\tcoordinates = geometry.coordinates[index] as [number, number];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!fixed && coordinates) {\n\t\t\t\tthis._positionBulletReal(bullet, { type: \"Point\", coordinates: coordinates }, coordinates, angle);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _positionBulletReal(bullet: Bullet, geometry: GeoJSON.Geometry, coordinates: [number, number], angle?: number) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst projection = chart.get(\"projection\")!;\n\t\t\tconst geoPath = chart.getPrivate(\"geoPath\");\n\t\t\tconst dataItem: DataItem<IMapPointSeriesDataItem> = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\n\t\t\tconst xy = projection(coordinates as any);\n\n\t\t\tif (xy) {\n\t\t\t\tconst point = { x: xy[0], y: xy[1] };\n\t\t\t\tsprite.setAll(point);\n\t\t\t\tdataItem.setRaw(\"point\", point);\n\t\t\t}\n\n\t\t\tlet visible = true;\n\t\t\tif (geoPath(geometry)) {\n\t\t\t\tif (this.get(\"clipFront\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this.get(\"clipBack\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsprite.setPrivate(\"visible\", visible);\n\t\t\tdataItem.set(\"clipped\", !visible);\n\n\t\t\tif (dataItem && angle != null && dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\"))) {\n\t\t\t\tsprite.set(\"rotation\", angle + dataItem.get(\"autoRotateAngle\", bullet.get(\"autoRotateAngle\", 0)));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Centers the map to specific series' data item and zooms to the level\n\t * specified in the parameters.\n\t *\n\t * @param dataItem Map point\n\t * @param zoomLevel Zoom level\n\t * @param rotate If it's true, the map will rotate so that this point would be in the center. Mostly usefull with geoOrthographic projection.\n\t */\n\tpublic zoomToDataItem(dataItem: DataItem<IMapPointSeriesDataItem>, zoomLevel: number, rotate?: boolean): Animation<any> | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst longitude = dataItem.get(\"longitude\", 0);\n\t\t\tconst latitude = dataItem.get(\"latitude\", 0);\n\t\t\tif (rotate) {\n\t\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true, undefined, -longitude, -latitude);\n\t\t\t}\n\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true);\n\t\t}\n\t}\n\n\n\t/**\n\t * Zooms the map in so that all points in the array are visible.\n\t *\n\t * @param dataItems An array of data items of points to zoom to\n\t * @param rotate Rotate the map so it is centered on the selected items\n\t * @return Animation\n\t * @since 5.5.6\n\t */\n\tpublic zoomToDataItems(dataItems: Array<DataItem<IMapPointSeriesDataItem>>, rotate?: boolean): Animation<any> | undefined {\n\n\t\tlet left: number | null = null;\n\t\tlet right: number | null = null;\n\t\tlet top: number | null = null;\n\t\tlet bottom: number | null = null;\n\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst longitude = dataItem.get(\"longitude\", 0);\n\t\t\tconst latitude = dataItem.get(\"latitude\", 0);\n\n\t\t\tif (left == null || left > longitude) {\n\t\t\t\tleft = longitude;\n\t\t\t}\n\t\t\tif (right == null || right < longitude) {\n\t\t\t\tright = longitude;\n\t\t\t}\n\t\t\tif (top == null || top < latitude) {\n\t\t\t\ttop = latitude;\n\t\t\t}\n\t\t\tif (bottom == null || bottom > latitude) {\n\t\t\t\tbottom = latitude;\n\t\t\t}\n\t\t})\n\t\tif (left != null && right != null && top != null && bottom != null) {\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tif (rotate) {\n\t\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom }, undefined, -(left + (right - left) / 2), -(top + (top - bottom) / 2));\n\t\t\t\t}\n\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom });\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.each((series) => {\n\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t$array.each(series.dataItems, (di) => {\n\t\t\t\t\t\tconst pointsToConnect = di.get(\"pointsToConnect\");\n\t\t\t\t\t\tif (pointsToConnect) {\n\t\t\t\t\t\t\t$array.each(pointsToConnect, (point) => {\n\t\t\t\t\t\t\t\tif (point == dataItem) {\n\t\t\t\t\t\t\t\t\t$array.remove(pointsToConnect, point);\n\t\t\t\t\t\t\t\t\tseries.markDirtyValues(di);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tsuper.disposeDataItem(dataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _excludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._excludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unexcludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unexcludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _notIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._notIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unNotIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unNotIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapPolygonSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPolygonSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOpD,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;CAClE;AAED,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IAEpE;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CAClD;AAED,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IAEpE;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAEzB;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAE9C;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,UAAU;IAOhF;;;;;;OAMG;IACH,SAAgB,WAAW,EAAE,YAAY,CAAC,UAAU,CAAC,CAGlD;IAEH,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA6D;IAErF,SAAS,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,iBAAiB,EAAE,yBAAyB,CAAC;IAE5D,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAA+B;IAEpF;;OAEG;IACI,mBAAmB;IASnB,gBAAgB;IAWvB,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MapPolygonSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPolygonSeries.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,7 +61,7 @@ export class MapPolygonSeries extends MapSeries {
|
|
|
61
61
|
dataItem.set("mapPolygon", mapPolygon);
|
|
62
62
|
let geometry = dataItem.get("geometry");
|
|
63
63
|
if (geometry) {
|
|
64
|
-
if (this.get("reverseGeodata")) {
|
|
64
|
+
if (this.get("reverseGeodata") && !geometry._reversed) {
|
|
65
65
|
const coordinates = geometry.coordinates;
|
|
66
66
|
if (coordinates) {
|
|
67
67
|
for (let x = 0; x < geometry.coordinates.length; x++) {
|
|
@@ -74,6 +74,7 @@ export class MapPolygonSeries extends MapSeries {
|
|
|
74
74
|
geometry.coordinates[x].reverse();
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
+
geometry._reversed = true;
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
mapPolygon.set("geometry", geometry);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapPolygonSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPolygonSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Animation } from \"../../core/util/Entity\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type { IGeoPoint } from \"../../core/util/IGeoPoint\";\n\nimport { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from \"./MapSeries\";\nimport { MapPolygon } from \"./MapPolygon\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $mapUtils from \"./MapUtils\";\n\n\n\nexport interface IMapPolygonSeriesPrivate extends IMapSeriesPrivate {\n}\n\nexport interface IMapPolygonSeriesDataItem extends IMapSeriesDataItem {\n\n\t/**\n\t * Related [[MapPolygon]] object.\n\t */\n\tmapPolygon: MapPolygon;\n\n\t/**\n\t * GeoJSON geometry of the polygon.\n\t */\n\tgeometry?: GeoJSON.Polygon | GeoJSON.MultiPolygon;\n}\n\nexport interface IMapPolygonSeriesSettings extends IMapSeriesSettings {\n\n\t/**\n\t * If set to `true`, the order of coordinates in GeoJSON will be flipped.\n\t *\n\t * Some GeoJSON software produces those in reverse order, so if your custom\n\t * map appears garbled, try this setting.\n\t *\n\t * @default false\n\t * @since 5.2.42\n\t */\n\treverseGeodata?: boolean;\n\n}\n\n/**\n * Creates a map series for displaying polygons.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-polygon-series/} for more info\n * @important\n */\nexport class MapPolygonSeries extends MapSeries {\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMapPolygon(dataItem: DataItem<this[\"_dataItemSettings\"]>): MapPolygon {\n\t\tconst mapPolygon = this.children.push(this.mapPolygons.make());\n\t\tmapPolygon._setDataItem(dataItem);\n\t\tthis.mapPolygons.push(mapPolygon);\n\t\treturn mapPolygon;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all polygons in series.\n\t *\n\t * `mapPolygons.template` can also be used to configure polygons.\n\t *\n\t * @default new ListTemplate<MapPolygon>\n\t */\n\tpublic readonly mapPolygons: ListTemplate<MapPolygon> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => MapPolygon._new(this._root, {}, [this.mapPolygons.template])\n\t));\n\n\tpublic static className: string = \"MapPolygonSeries\";\n\tpublic static classNames: Array<string> = MapSeries.classNames.concat([MapPolygonSeries.className]);\n\n\tdeclare public _settings: IMapPolygonSeriesSettings;\n\tdeclare public _privateSettings: IMapPolygonSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapPolygonSeriesDataItem;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [\"Polygon\", \"MultiPolygon\"];\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tlet mapPolygon = dataItem.get(\"mapPolygon\");\n\t\t\tif (mapPolygon) {\n\t\t\t\tmapPolygon.markDirtyProjection();\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tthis.mapPolygons.template.set(\"fill\", this.get(\"fill\"));\n\t\t}\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tthis.mapPolygons.template.set(\"stroke\", this.get(\"stroke\"));\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tlet mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (!mapPolygon) {\n\t\t\tmapPolygon = this.makeMapPolygon(dataItem);\n\t\t}\n\n\t\tdataItem.set(\"mapPolygon\", mapPolygon);\n\t\tlet geometry = dataItem.get(\"geometry\")!;\n\n\t\tif (geometry) {\n\t\t\tif (this.get(\"reverseGeodata\")) {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates) {\n\t\t\t\t\tfor (let x = 0; x < geometry.coordinates.length; x++) {\n\t\t\t\t\t\tif (geometry.type == \"MultiPolygon\") {\n\t\t\t\t\t\t\tfor (let y = 0; y < geometry.coordinates[x].length; y++) {\n\t\t\t\t\t\t\t\tgeometry.coordinates[x][y].reverse()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tgeometry.coordinates[x].reverse()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tmapPolygon.set(\"geometry\", geometry);\n\t\t}\n\n\t\tmapPolygon.series = this;\n\n\t\tthis._addGeometry(dataItem.get(\"geometry\"), this);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tthis.mapPolygons.removeValue(mapPolygon);\n\t\t\tmapPolygon.dispose();\n\t\t}\n\t\tthis._removeGeometry(dataItem.get(\"geometry\"));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _excludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._excludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", false);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unexcludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unexcludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", true);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _notIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._notIncludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", false);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unNotIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unNotIncludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", true);\n\t\t}\n\t}\n\n\t/**\n\t * Forces a repaint of the element which relies on data.\n\t *\n\t * @since 5.0.21\n\t */\n\tpublic markDirtyValues(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.markDirtyValues();\n\t\tif (dataItem) {\n\t\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\t\tif (mapPolygon) {\n\t\t\t\tmapPolygon.set(\"geometry\", dataItem.get(\"geometry\"));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Centers and zooms in on the specific polygon.\n\t *\n\t * @param dataItem Target data item\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-pan-zoom/#Zooming_to_clicked_object} for more info\n\t * @param rotate If it's true, the map will rotate so that this polygon would be in the center. Mostly usefull with geoOrthographic projection.\n\t */\n\tpublic zoomToDataItem(dataItem: DataItem<IMapPolygonSeriesDataItem>, rotate?: boolean): Animation<any> | undefined {\n\t\tconst polygon = dataItem.get(\"mapPolygon\");\n\t\tif (polygon) {\n\t\t\tconst geometry = polygon.get(\"geometry\");\n\t\t\tconst chart = this.chart;\n\n\t\t\tif (geometry && chart) {\n\n\t\t\t\tif (rotate) {\n\t\t\t\t\tconst centroid = $mapUtils.getGeoCentroid(geometry);\n\t\t\t\t\tchart.rotate(-centroid.longitude, -centroid.latitude);\n\t\t\t\t\treturn chart.zoomToGeoBounds($mapUtils.getGeoBounds(geometry), undefined, -centroid.longitude, -centroid.latitude);\n\t\t\t\t}\n\n\t\t\t\treturn chart.zoomToGeoBounds($mapUtils.getGeoBounds(geometry),);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Zooms the map in so that all polygons in the array are visible.\n\t *\n\t * @param dataItems An array of data items to zoom to\n\t * @param rotate Rotate the map so it is centered on the selected items\n\t * @return Animation\n\t * @since 5.9.0\n\t */\n\tpublic zoomToDataItems(dataItems: Array<DataItem<IMapPolygonSeriesDataItem>>, rotate?: boolean): Animation<any> | undefined {\n\t\tlet left!: number;\n\t\tlet right!: number;\n\t\tlet top!: number;\n\t\tlet bottom!: number;\n\n\t\t$array.each(dataItems, (dataItem) => {\n\n\t\t\tconst polygon = dataItem.get(\"mapPolygon\");\n\t\t\tif (polygon) {\n\t\t\t\tconst geometry = polygon.get(\"geometry\");\n\t\t\t\tif (geometry) {\n\t\t\t\t\tlet bounds = $mapUtils.getGeoBounds(geometry);\n\n\t\t\t\t\tif (left == null) {\n\t\t\t\t\t\tleft = bounds.left;\n\t\t\t\t\t}\n\t\t\t\t\tif (right == null) {\n\t\t\t\t\t\tright = bounds.right;\n\t\t\t\t\t}\n\t\t\t\t\tif (top == null) {\n\t\t\t\t\t\ttop = bounds.top;\n\t\t\t\t\t}\n\t\t\t\t\tif (bottom == null) {\n\t\t\t\t\t\tbottom = bounds.bottom;\n\t\t\t\t\t}\n\n\t\t\t\t\tleft = Math.min(bounds.left, left);\n\t\t\t\t\tright = Math.max(bounds.right, right);\n\t\t\t\t\ttop = Math.max(bounds.top, top);\n\t\t\t\t\tbottom = Math.min(bounds.bottom, bottom);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tif (left != null && right != null && top != null && bottom != null) {\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tif (rotate) {\n\t\t\t\t\tconst rx = left + (right - left) / 2;\n\t\t\t\t\tconst ry = bottom + (top - bottom) / 2;\n\n\t\t\t\t\tchart.rotate(-rx, -ry);\n\t\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom }, undefined, -rx, -ry);\n\t\t\t\t}\n\n\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns a [[MapPolygon]] that is under specific X/Y point.\n\t *\n\t * @since 5.9.8\n\t * @param point X/Y\n\t * @return Polygon\n\t */\n\tpublic getPolygonByPoint(point: IPoint): MapPolygon | undefined {\n\t\tlet found: MapPolygon | undefined;\n\t\tconst renderer = this._display._renderer;\n\t\tconst displayObject = (renderer as any).getObjectAtPoint(point);\n\t\tif (displayObject) {\n\t\t\tthis.mapPolygons.each(function(polygon) {\n\t\t\t\tif (polygon._display == displayObject) {\n\t\t\t\t\tfound = polygon;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn found;\n\t\t}\n\t}\n\n\tpublic getPolygonByGeoPoint(point: IGeoPoint): MapPolygon | undefined {\n\t\treturn this.getPolygonByPoint(this.chart!.convert(point));\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MapPolygonSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPolygonSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Animation } from \"../../core/util/Entity\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type { IGeoPoint } from \"../../core/util/IGeoPoint\";\n\nimport { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from \"./MapSeries\";\nimport { MapPolygon } from \"./MapPolygon\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $mapUtils from \"./MapUtils\";\n\n\n\nexport interface IMapPolygonSeriesPrivate extends IMapSeriesPrivate {\n}\n\nexport interface IMapPolygonSeriesDataItem extends IMapSeriesDataItem {\n\n\t/**\n\t * Related [[MapPolygon]] object.\n\t */\n\tmapPolygon: MapPolygon;\n\n\t/**\n\t * GeoJSON geometry of the polygon.\n\t */\n\tgeometry?: GeoJSON.Polygon | GeoJSON.MultiPolygon;\n}\n\nexport interface IMapPolygonSeriesSettings extends IMapSeriesSettings {\n\n\t/**\n\t * If set to `true`, the order of coordinates in GeoJSON will be flipped.\n\t *\n\t * Some GeoJSON software produces those in reverse order, so if your custom\n\t * map appears garbled, try this setting.\n\t *\n\t * @default false\n\t * @since 5.2.42\n\t */\n\treverseGeodata?: boolean;\n\n}\n\n/**\n * Creates a map series for displaying polygons.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-polygon-series/} for more info\n * @important\n */\nexport class MapPolygonSeries extends MapSeries {\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMapPolygon(dataItem: DataItem<this[\"_dataItemSettings\"]>): MapPolygon {\n\t\tconst mapPolygon = this.children.push(this.mapPolygons.make());\n\t\tmapPolygon._setDataItem(dataItem);\n\t\tthis.mapPolygons.push(mapPolygon);\n\t\treturn mapPolygon;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all polygons in series.\n\t *\n\t * `mapPolygons.template` can also be used to configure polygons.\n\t *\n\t * @default new ListTemplate<MapPolygon>\n\t */\n\tpublic readonly mapPolygons: ListTemplate<MapPolygon> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => MapPolygon._new(this._root, {}, [this.mapPolygons.template])\n\t));\n\n\tpublic static className: string = \"MapPolygonSeries\";\n\tpublic static classNames: Array<string> = MapSeries.classNames.concat([MapPolygonSeries.className]);\n\n\tdeclare public _settings: IMapPolygonSeriesSettings;\n\tdeclare public _privateSettings: IMapPolygonSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapPolygonSeriesDataItem;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [\"Polygon\", \"MultiPolygon\"];\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tlet mapPolygon = dataItem.get(\"mapPolygon\");\n\t\t\tif (mapPolygon) {\n\t\t\t\tmapPolygon.markDirtyProjection();\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tthis.mapPolygons.template.set(\"fill\", this.get(\"fill\"));\n\t\t}\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tthis.mapPolygons.template.set(\"stroke\", this.get(\"stroke\"));\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tlet mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (!mapPolygon) {\n\t\t\tmapPolygon = this.makeMapPolygon(dataItem);\n\t\t}\n\n\t\tdataItem.set(\"mapPolygon\", mapPolygon);\n\t\tlet geometry = dataItem.get(\"geometry\")!;\n\n\t\tif (geometry) {\n\t\t\tif (this.get(\"reverseGeodata\") && !(geometry as any)._reversed) {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates) {\n\t\t\t\t\tfor (let x = 0; x < geometry.coordinates.length; x++) {\n\t\t\t\t\t\tif (geometry.type == \"MultiPolygon\") {\n\t\t\t\t\t\t\tfor (let y = 0; y < geometry.coordinates[x].length; y++) {\n\t\t\t\t\t\t\t\tgeometry.coordinates[x][y].reverse()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tgeometry.coordinates[x].reverse()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t(geometry as any)._reversed = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmapPolygon.set(\"geometry\", geometry);\n\t\t}\n\n\t\tmapPolygon.series = this;\n\n\t\tthis._addGeometry(dataItem.get(\"geometry\"), this);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tthis.mapPolygons.removeValue(mapPolygon);\n\t\t\tmapPolygon.dispose();\n\t\t}\n\t\tthis._removeGeometry(dataItem.get(\"geometry\"));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _excludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._excludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", false);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unexcludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unexcludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", true);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _notIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._notIncludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", false);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unNotIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unNotIncludeDataItem(dataItem);\n\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\tif (mapPolygon) {\n\t\t\tmapPolygon.setPrivate(\"visible\", true);\n\t\t}\n\t}\n\n\t/**\n\t * Forces a repaint of the element which relies on data.\n\t *\n\t * @since 5.0.21\n\t */\n\tpublic markDirtyValues(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.markDirtyValues();\n\t\tif (dataItem) {\n\t\t\tconst mapPolygon = dataItem.get(\"mapPolygon\");\n\t\t\tif (mapPolygon) {\n\t\t\t\tmapPolygon.set(\"geometry\", dataItem.get(\"geometry\"));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Centers and zooms in on the specific polygon.\n\t *\n\t * @param dataItem Target data item\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-pan-zoom/#Zooming_to_clicked_object} for more info\n\t * @param rotate If it's true, the map will rotate so that this polygon would be in the center. Mostly usefull with geoOrthographic projection.\n\t */\n\tpublic zoomToDataItem(dataItem: DataItem<IMapPolygonSeriesDataItem>, rotate?: boolean): Animation<any> | undefined {\n\t\tconst polygon = dataItem.get(\"mapPolygon\");\n\t\tif (polygon) {\n\t\t\tconst geometry = polygon.get(\"geometry\");\n\t\t\tconst chart = this.chart;\n\n\t\t\tif (geometry && chart) {\n\n\t\t\t\tif (rotate) {\n\t\t\t\t\tconst centroid = $mapUtils.getGeoCentroid(geometry);\n\t\t\t\t\tchart.rotate(-centroid.longitude, -centroid.latitude);\n\t\t\t\t\treturn chart.zoomToGeoBounds($mapUtils.getGeoBounds(geometry), undefined, -centroid.longitude, -centroid.latitude);\n\t\t\t\t}\n\n\t\t\t\treturn chart.zoomToGeoBounds($mapUtils.getGeoBounds(geometry),);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Zooms the map in so that all polygons in the array are visible.\n\t *\n\t * @param dataItems An array of data items to zoom to\n\t * @param rotate Rotate the map so it is centered on the selected items\n\t * @return Animation\n\t * @since 5.9.0\n\t */\n\tpublic zoomToDataItems(dataItems: Array<DataItem<IMapPolygonSeriesDataItem>>, rotate?: boolean): Animation<any> | undefined {\n\t\tlet left!: number;\n\t\tlet right!: number;\n\t\tlet top!: number;\n\t\tlet bottom!: number;\n\n\t\t$array.each(dataItems, (dataItem) => {\n\n\t\t\tconst polygon = dataItem.get(\"mapPolygon\");\n\t\t\tif (polygon) {\n\t\t\t\tconst geometry = polygon.get(\"geometry\");\n\t\t\t\tif (geometry) {\n\t\t\t\t\tlet bounds = $mapUtils.getGeoBounds(geometry);\n\n\t\t\t\t\tif (left == null) {\n\t\t\t\t\t\tleft = bounds.left;\n\t\t\t\t\t}\n\t\t\t\t\tif (right == null) {\n\t\t\t\t\t\tright = bounds.right;\n\t\t\t\t\t}\n\t\t\t\t\tif (top == null) {\n\t\t\t\t\t\ttop = bounds.top;\n\t\t\t\t\t}\n\t\t\t\t\tif (bottom == null) {\n\t\t\t\t\t\tbottom = bounds.bottom;\n\t\t\t\t\t}\n\n\t\t\t\t\tleft = Math.min(bounds.left, left);\n\t\t\t\t\tright = Math.max(bounds.right, right);\n\t\t\t\t\ttop = Math.max(bounds.top, top);\n\t\t\t\t\tbottom = Math.min(bounds.bottom, bottom);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tif (left != null && right != null && top != null && bottom != null) {\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tif (rotate) {\n\t\t\t\t\tconst rx = left + (right - left) / 2;\n\t\t\t\t\tconst ry = bottom + (top - bottom) / 2;\n\n\t\t\t\t\tchart.rotate(-rx, -ry);\n\t\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom }, undefined, -rx, -ry);\n\t\t\t\t}\n\n\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns a [[MapPolygon]] that is under specific X/Y point.\n\t *\n\t * @since 5.9.8\n\t * @param point X/Y\n\t * @return Polygon\n\t */\n\tpublic getPolygonByPoint(point: IPoint): MapPolygon | undefined {\n\t\tlet found: MapPolygon | undefined;\n\t\tconst renderer = this._display._renderer;\n\t\tconst displayObject = (renderer as any).getObjectAtPoint(point);\n\t\tif (displayObject) {\n\t\t\tthis.mapPolygons.each(function(polygon) {\n\t\t\t\tif (polygon._display == displayObject) {\n\t\t\t\t\tfound = polygon;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn found;\n\t\t}\n\t}\n\n\tpublic getPolygonByGeoPoint(point: IGeoPoint): MapPolygon | undefined {\n\t\treturn this.getPolygonByPoint(this.chart!.convert(point));\n\t}\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** @ignore */ /** */
|
|
2
|
+
/**
|
|
3
|
+
* The bundled d3-geo projections, name-tagged so charts that use them can be
|
|
4
|
+
* serialized back to a `projectionName`. These are re-exported by the `am5map`
|
|
5
|
+
* entry point (e.g. `am5map.geoOrthographic()`).
|
|
6
|
+
*/
|
|
7
|
+
export declare const geoMercator: () => import("d3-geo").GeoProjection;
|
|
8
|
+
export declare const geoOrthographic: () => import("d3-geo").GeoProjection;
|
|
9
|
+
export declare const geoEquirectangular: () => import("d3-geo").GeoProjection;
|
|
10
|
+
export declare const geoAlbersUsa: () => import("d3-geo").GeoProjection;
|
|
11
|
+
export declare const geoEqualEarth: () => import("d3-geo").GeoProjection;
|
|
12
|
+
export declare const geoNaturalEarth1: () => import("d3-geo").GeoProjection;
|
|
13
|
+
//# sourceMappingURL=MapProjections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapProjections.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapProjections.ts"],"names":[],"mappings":"AAAA,cAAc,CAAA,MAAM;AAKpB;;;;GAIG;AACH,eAAO,MAAM,WAAW,sCAA+C,CAAC;AACxE,eAAO,MAAM,eAAe,sCAAuD,CAAC;AACpF,eAAO,MAAM,kBAAkB,sCAA6D,CAAC;AAC7F,eAAO,MAAM,YAAY,sCAAiD,CAAC;AAC3E,eAAO,MAAM,aAAa,sCAAmD,CAAC;AAC9E,eAAO,MAAM,gBAAgB,sCAAyD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** @ignore */ /** */
|
|
2
|
+
import { geoMercator as d3_geoMercator, geoOrthographic as d3_geoOrthographic, geoEquirectangular as d3_geoEquirectangular, geoAlbersUsa as d3_geoAlbersUsa, geoEqualEarth as d3_geoEqualEarth, geoNaturalEarth1 as d3_geoNaturalEarth1 } from "d3-geo";
|
|
3
|
+
import { tagProjection } from "./MapChart";
|
|
4
|
+
/**
|
|
5
|
+
* The bundled d3-geo projections, name-tagged so charts that use them can be
|
|
6
|
+
* serialized back to a `projectionName`. These are re-exported by the `am5map`
|
|
7
|
+
* entry point (e.g. `am5map.geoOrthographic()`).
|
|
8
|
+
*/
|
|
9
|
+
export const geoMercator = tagProjection("geoMercator", d3_geoMercator);
|
|
10
|
+
export const geoOrthographic = tagProjection("geoOrthographic", d3_geoOrthographic);
|
|
11
|
+
export const geoEquirectangular = tagProjection("geoEquirectangular", d3_geoEquirectangular);
|
|
12
|
+
export const geoAlbersUsa = tagProjection("geoAlbersUsa", d3_geoAlbersUsa);
|
|
13
|
+
export const geoEqualEarth = tagProjection("geoEqualEarth", d3_geoEqualEarth);
|
|
14
|
+
export const geoNaturalEarth1 = tagProjection("geoNaturalEarth1", d3_geoNaturalEarth1);
|
|
15
|
+
//# sourceMappingURL=MapProjections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapProjections.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapProjections.ts"],"names":[],"mappings":"AAAA,cAAc,CAAA,MAAM;AAEpB,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,eAAe,IAAI,kBAAkB,EAAE,kBAAkB,IAAI,qBAAqB,EAAE,YAAY,IAAI,eAAe,EAAE,aAAa,IAAI,gBAAgB,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxP,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC","sourcesContent":["/** @ignore *//** */\n\nimport { geoMercator as d3_geoMercator, geoOrthographic as d3_geoOrthographic, geoEquirectangular as d3_geoEquirectangular, geoAlbersUsa as d3_geoAlbersUsa, geoEqualEarth as d3_geoEqualEarth, geoNaturalEarth1 as d3_geoNaturalEarth1 } from \"d3-geo\";\nimport { tagProjection } from \"./MapChart\";\n\n/**\n * The bundled d3-geo projections, name-tagged so charts that use them can be\n * serialized back to a `projectionName`. These are re-exported by the `am5map`\n * entry point (e.g. `am5map.geoOrthographic()`).\n */\nexport const geoMercator = tagProjection(\"geoMercator\", d3_geoMercator);\nexport const geoOrthographic = tagProjection(\"geoOrthographic\", d3_geoOrthographic);\nexport const geoEquirectangular = tagProjection(\"geoEquirectangular\", d3_geoEquirectangular);\nexport const geoAlbersUsa = tagProjection(\"geoAlbersUsa\", d3_geoAlbersUsa);\nexport const geoEqualEarth = tagProjection(\"geoEqualEarth\", d3_geoEqualEarth);\nexport const geoNaturalEarth1 = tagProjection(\"geoNaturalEarth1\", d3_geoNaturalEarth1);\n"]}
|
|
@@ -59,6 +59,7 @@ export declare class PieChart extends PercentChart {
|
|
|
59
59
|
_seriesType: PieSeries;
|
|
60
60
|
_maxRadius: number;
|
|
61
61
|
protected _afterNew(): void;
|
|
62
|
+
protected _processSeries(series: this["_seriesType"]): void;
|
|
62
63
|
_prepareChildren(): void;
|
|
63
64
|
/**
|
|
64
65
|
* Returns outer radius in pixels.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAOpG,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAE7D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,YAAY;IAEzC,OAAc,SAAS,EAAE,MAAM,CAAc;IAC7C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwD;IAEhF,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,SAAS,CAAC;IAE/B,UAAU,EAAE,MAAM,CAAK;IAE9B,SAAS,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAOpG,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAE7D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,YAAY;IAEzC,OAAc,SAAS,EAAE,MAAM,CAAc;IAC7C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwD;IAEhF,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,SAAS,CAAC;IAE/B,UAAU,EAAE,MAAM,CAAK;IAE9B,SAAS,CAAC,SAAS;IAKnB,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC;IAO7C,gBAAgB;IAiDvB;;;;;;;;OAQG;IACI,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM;IAoBzC;;;;;;;;OAQG;IACI,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM;IAuBvC,WAAW;CAIlB"}
|
|
@@ -18,6 +18,12 @@ export class PieChart extends PercentChart {
|
|
|
18
18
|
super._afterNew();
|
|
19
19
|
this.seriesContainer.setAll({ x: p50, y: p50 });
|
|
20
20
|
}
|
|
21
|
+
_processSeries(series) {
|
|
22
|
+
super._processSeries(series);
|
|
23
|
+
this.series.each((s) => {
|
|
24
|
+
s._markDirtyKey("innerRadius");
|
|
25
|
+
});
|
|
26
|
+
}
|
|
21
27
|
_prepareChildren() {
|
|
22
28
|
super._prepareChildren();
|
|
23
29
|
const chartContainer = this.chartContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PieSeries } from \"./PieSeries\";\n\nimport { Percent } from \"../../core/util/Percent\";\nimport { PercentChart, IPercentChartPrivate, IPercentChartSettings } from \"../percent/PercentChart\";\nimport { p50 } from \"../../core/util/Percent\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface IPieChartSettings extends IPercentChartSettings {\n\n\t/**\n\t * Outer radius of the pie chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t * @default 80%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * Inner radius of the pie chart. Setting to any non-zero value will result\n\t * in a donut chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * A start angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * An end angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieChartPrivate extends IPercentChartPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tirModifyer?: number;\n\n}\n\n/**\n * Creates a pie chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieChart extends PercentChart {\n\n\tpublic static className: string = \"PieChart\";\n\tpublic static classNames: Array<string> = PercentChart.classNames.concat([PieChart.className]);\n\n\tdeclare public _settings: IPieChartSettings;\n\tdeclare public _privateSettings: IPieChartPrivate;\n\tdeclare public _seriesType: PieSeries;\n\n\tpublic _maxRadius: number = 1;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.seriesContainer.setAll({ x: p50, y: p50 });\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst chartContainer = this.chartContainer;\n\t\tconst w = chartContainer.innerWidth();\n\t\tconst h = chartContainer.innerHeight();\n\n\t\tconst startAngle = this.get(\"startAngle\", 0);\n\t\tconst endAngle = this.get(\"endAngle\", 0);\n\t\tconst innerRadius = this.get(\"innerRadius\");\n\n\t\tlet bounds = $math.getArcBounds(0, 0, startAngle, endAngle, 1);\n\n\t\tconst wr = w / (bounds.right - bounds.left);\n\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\tlet innerBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\t\tif (innerRadius instanceof Percent) {\n\t\t\tlet value = innerRadius.value;\n\t\t\tlet mr = Math.min(wr, hr);\n\t\t\tvalue = Math.max(mr * value, mr - Math.min(h, w)) / mr;\n\t\t\tinnerBounds = $math.getArcBounds(0, 0, startAngle, endAngle, value);\n\t\t\tthis.setPrivateRaw(\"irModifyer\", value / innerRadius.value);\n\t\t}\n\n\t\tbounds = $math.mergeBounds([bounds, innerBounds]);\n\n\t\tconst prevRadius = this._maxRadius;\n\t\tthis._maxRadius = Math.min(wr, hr);\n\n\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tthis.seriesContainer.setAll({\n\t\t\tdy: -radius * (bounds.bottom + bounds.top) / 2, dx: -radius * (bounds.right + bounds.left) / 2\n\t\t})\n\n\t\tif (this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || prevRadius != this._maxRadius) {\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"startAngle\");\n\t\t\t})\n\t\t}\n\n\t\tif(this.isDirty(\"innerRadius\") || this.isDirty(\"radius\")){\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"innerRadius\");\n\t\t\t})\t\t\t\n\t\t}\n\t}\n\n\t/**\n\t * Returns outer radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return outer radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic radius(series?: PieSeries): number {\n\n\t\tlet radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesRadius = series.get(\"radius\");\n\t\t\tif (seriesRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * (index + 1);\n\t\t\t}\n\t\t}\n\t\treturn radius;\n\t}\n\n\t/**\n\t * Returns inner radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return inner radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic innerRadius(series?: PieSeries): number {\n\t\tconst radius = this.radius();\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (innerRadius < 0) {\n\t\t\tinnerRadius = radius + innerRadius;\n\t\t}\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesInnerRadius = series.get(\"innerRadius\");\n\t\t\tif (seriesInnerRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesInnerRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * index;\n\t\t\t}\n\t\t}\n\t\treturn innerRadius;\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\t\tthis.markDirtyKey(\"radius\");\n\t}\t\t\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PieChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PieSeries } from \"./PieSeries\";\n\nimport { Percent } from \"../../core/util/Percent\";\nimport { PercentChart, IPercentChartPrivate, IPercentChartSettings } from \"../percent/PercentChart\";\nimport { p50 } from \"../../core/util/Percent\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface IPieChartSettings extends IPercentChartSettings {\n\n\t/**\n\t * Outer radius of the pie chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t * @default 80%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * Inner radius of the pie chart. Setting to any non-zero value will result\n\t * in a donut chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * A start angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * An end angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieChartPrivate extends IPercentChartPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tirModifyer?: number;\n\n}\n\n/**\n * Creates a pie chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieChart extends PercentChart {\n\n\tpublic static className: string = \"PieChart\";\n\tpublic static classNames: Array<string> = PercentChart.classNames.concat([PieChart.className]);\n\n\tdeclare public _settings: IPieChartSettings;\n\tdeclare public _privateSettings: IPieChartPrivate;\n\tdeclare public _seriesType: PieSeries;\n\n\tpublic _maxRadius: number = 1;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.seriesContainer.setAll({ x: p50, y: p50 });\n\t}\n\n\tprotected _processSeries(series: this[\"_seriesType\"]) {\n\t\tsuper._processSeries(series);\n\t\tthis.series.each((s) => {\n\t\t\ts._markDirtyKey(\"innerRadius\");\n\t\t});\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst chartContainer = this.chartContainer;\n\t\tconst w = chartContainer.innerWidth();\n\t\tconst h = chartContainer.innerHeight();\n\n\t\tconst startAngle = this.get(\"startAngle\", 0);\n\t\tconst endAngle = this.get(\"endAngle\", 0);\n\t\tconst innerRadius = this.get(\"innerRadius\");\n\n\t\tlet bounds = $math.getArcBounds(0, 0, startAngle, endAngle, 1);\n\n\t\tconst wr = w / (bounds.right - bounds.left);\n\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\tlet innerBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\t\tif (innerRadius instanceof Percent) {\n\t\t\tlet value = innerRadius.value;\n\t\t\tlet mr = Math.min(wr, hr);\n\t\t\tvalue = Math.max(mr * value, mr - Math.min(h, w)) / mr;\n\t\t\tinnerBounds = $math.getArcBounds(0, 0, startAngle, endAngle, value);\n\t\t\tthis.setPrivateRaw(\"irModifyer\", value / innerRadius.value);\n\t\t}\n\n\t\tbounds = $math.mergeBounds([bounds, innerBounds]);\n\n\t\tconst prevRadius = this._maxRadius;\n\t\tthis._maxRadius = Math.min(wr, hr);\n\n\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tthis.seriesContainer.setAll({\n\t\t\tdy: -radius * (bounds.bottom + bounds.top) / 2, dx: -radius * (bounds.right + bounds.left) / 2\n\t\t})\n\n\t\tif (this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || prevRadius != this._maxRadius) {\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"startAngle\");\n\t\t\t})\n\t\t}\n\n\t\tif(this.isDirty(\"innerRadius\") || this.isDirty(\"radius\")){\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"innerRadius\");\n\t\t\t})\t\t\t\n\t\t}\n\t}\n\n\t/**\n\t * Returns outer radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return outer radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic radius(series?: PieSeries): number {\n\n\t\tlet radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesRadius = series.get(\"radius\");\n\t\t\tif (seriesRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * (index + 1);\n\t\t\t}\n\t\t}\n\t\treturn radius;\n\t}\n\n\t/**\n\t * Returns inner radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return inner radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic innerRadius(series?: PieSeries): number {\n\t\tconst radius = this.radius();\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (innerRadius < 0) {\n\t\t\tinnerRadius = radius + innerRadius;\n\t\t}\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesInnerRadius = series.get(\"innerRadius\");\n\t\t\tif (seriesInnerRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesInnerRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * index;\n\t\t\t}\n\t\t}\n\t\treturn innerRadius;\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\t\tthis.markDirtyKey(\"radius\");\n\t}\t\t\n}\n"]}
|
|
@@ -159,7 +159,7 @@ export class SettingsModal extends Modal {
|
|
|
159
159
|
});
|
|
160
160
|
// Title
|
|
161
161
|
const title = document.createElement("h1");
|
|
162
|
-
title.
|
|
162
|
+
title.innerText = target.get("name");
|
|
163
163
|
content.appendChild(title);
|
|
164
164
|
// Add fields
|
|
165
165
|
const table = document.createElement("div");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsModal.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/SettingsModal.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Indicator, IIndicatorEditableSetting } from \"./indicators/Indicator\";\r\nimport type { StockChart } from \"./StockChart\";\r\nimport type { XYSeries } from \"../xy/series/XYSeries\";\r\n\r\nimport { CandlestickSeries } from \"../xy/series/CandlestickSeries\";\r\nimport { LineSeries } from \"../xy/series/LineSeries\";\r\nimport { Modal, IModalSettings, IModalPrivate, IModalEvents } from \"../../core/util/Modal\";\r\nimport { ColorControl } from \"./toolbar/ColorControl\";\r\n\r\nimport * as $array from \"../../core/util/Array\";\r\nimport * as $object from \"../../core/util/Object\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $type from \"../../core/util/Type\";\r\n\r\n\r\nexport interface ISettingsModalSettings extends IModalSettings {\r\n\r\n\t/**\r\n\t * A target [[StockChart]].\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * Show the \"Reset to default\" link?\r\n\t *\r\n\t * @default true\r\n\t * @since 5.9.0\r\n\t */\r\n\tshowResetLink?: boolean;\r\n\r\n\t/**\r\n\t * Available line widths for user to choose from.\r\n\t *\r\n\t * @default [1, 2, 4, 10]\r\n\t * @since 5.11.2\r\n\t */\r\n\tstrokeWidths?: number[];\r\n\r\n}\r\n\r\nexport interface ISettingsModalPrivate extends IModalPrivate {\r\n}\r\n\r\nexport interface ISettingsModalEvents extends IModalEvents {\r\n\r\n\t/**\r\n\t * Invoked when modal is closed/saved.\r\n\t */\r\n\tdone: {\r\n\t\tsettings?: any,\r\n\t\tsettingsTarget?: Indicator | XYSeries\r\n\t}\r\n\r\n\t/**\r\n\t * Invoked when modal starts generating actual content.\r\n\t *\r\n\t * It's a good place to modify settings.\r\n\t */\r\n\tinitstarted: {\r\n\t\tsettings?: any,\r\n\t\tsettingsTarget?: Indicator | XYSeries\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * @ignore\r\n */\r\ninterface ISeriesEditableSetting extends IIndicatorEditableSetting {\r\n\tid?: string;\r\n\ttarget?: any;\r\n\tadditionalKeys?: string[];\r\n\tcurrentValue?: any;\r\n\tinvalidateTarget?: XYSeries;\r\n}\r\n\r\n/**\r\n * Used to display a modal dialog with HTML content.\r\n */\r\nexport class SettingsModal extends Modal {\r\n\tpublic static className: string = \"SettingsModal\";\r\n\tpublic static classNames: Array<string> = Modal.classNames.concat([SettingsModal.className]);\r\n\r\n\tdeclare public _settings: ISettingsModalSettings;\r\n\tdeclare public _privateSettings: ISettingsModalPrivate;\r\n\tdeclare public _events: ISettingsModalEvents;\r\n\r\n\tprotected _updatedSettings: { [index: string]: any } = {};\r\n\tprotected _settingsTarget?: Indicator | XYSeries;\r\n\tprotected _colorControl?: ColorControl;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis._defaultThemes = this.get(\"stockChart\")._defaultThemes;\r\n\t\tsuper._afterNewApplyThemes();\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\r\n\t\t// if (this.isDirty(\"content\")) {\r\n\t\t// \tthis.getPrivate(\"content\").innerHTML = this.get(\"content\", \"\");\r\n\t\t// }\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings modal for an [[Indicator]].\r\n\t * \r\n\t * @param target Target indicator\r\n\t */\r\n\tpublic openIndicator(target: Indicator): void {\r\n\t\tthis._settingsTarget = target;\r\n\t\tthis.initContent(target._editableSettings, target);\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings editing for the any [[XYSeries]].\r\n\t * \r\n\t * @param series target series\r\n\t */\r\n\tpublic openSeries(series: XYSeries): void {\r\n\t\tthis._settingsTarget = series;\r\n\r\n\t\tconst l = this._root.language;\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst isline = series instanceof LineSeries;\r\n\r\n\t\tlet settings: ISeriesEditableSetting[] = [];\r\n\r\n\t\tif (series == stockChart.get(\"stockSeries\") && !isline) {\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"stockPositiveColor\",\r\n\t\t\t\tkey: \"stockPositiveColor\",\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"stockPositiveColor\", this._root.interfaceColors.get(\"positive\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"stockNegativeColor\",\r\n\t\t\t\tkey: \"stockNegativeColor\",\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"stockNegativeColor\", this._root.interfaceColors.get(\"negative\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (series == stockChart.get(\"volumeSeries\") && !isline) {\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"volumePositiveColor\",\r\n\t\t\t\tkey: \"volumePositiveColor\",\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"volumePositiveColor\", this._root.interfaceColors.get(\"positive\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"volumeNegativeColor\",\r\n\t\t\t\tkey: \"volumeNegativeColor\",\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"volumeNegativeColor\", this._root.interfaceColors.get(\"negative\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (series instanceof CandlestickSeries && series.columns.length) {\r\n\t\t\tconst column = series.columns.getIndex(0);\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"riseFromOpen.fill\",\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tadditionalKeys: [\"stroke\"],\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: column!.states.lookup(\"riseFromOpen\")!.get(\"fill\"),\r\n\t\t\t\ttarget: series.columns.template.states.create(\"riseFromOpen\", {}),\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"dropFromOpen.fill\",\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tadditionalKeys: [\"stroke\"],\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: column!.states.lookup(\"dropFromOpen\")!.get(\"fill\"),\r\n\t\t\t\ttarget: series.columns.template.states.create(\"dropFromOpen\", {}),\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (isline) {\r\n\t\t\tconst widths = this.get(\"strokeWidths\", [1, 2, 4, 10]);\r\n\t\t\tconst widthOptions = widths.map((width) => {\r\n\t\t\t\treturn { value: width, text: width + \"px\" };\r\n\t\t\t});\r\n\t\t\tsettings = [{\r\n\t\t\t\tkey: \"stroke\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tadditionalKeys: [\"fill\"],\r\n\t\t\t\ttarget: (<LineSeries>series),\r\n\t\t\t}, {\r\n\t\t\t\tkey: \"strokeWidth\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"dropdown\",\r\n\t\t\t\toptions: widthOptions,\r\n\t\t\t\tcurrentValue: (<LineSeries>series).strokes.template.get(\"strokeWidth\", 1),\r\n\t\t\t\ttarget: (<LineSeries>series).strokes.template,\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t}];\r\n\t\t\tif ((<LineSeries>series).fills.template.get(\"visible\")) {\r\n\t\t\t\tsettings.push({\r\n\t\t\t\t\tkey: \"fill\",\r\n\t\t\t\t\tname: l.translateAny(\"Fill\"),\r\n\t\t\t\t\ttype: \"color\"\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsettings = [{\r\n\t\t\t\tkey: \"stroke\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"color\"\r\n\t\t\t}, {\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tname: l.translateAny(\"Fill\"),\r\n\t\t\t\ttype: \"color\"\r\n\t\t\t}];\r\n\t\t}\r\n\t\tthis.initContent(settings, series);\r\n\t}\r\n\r\n\tprivate initContent(settings: ISeriesEditableSetting[], target: any) {\r\n\t\tthis._updatedSettings = {};\r\n\t\tconst content = this.getPrivate(\"content\");\r\n\r\n\t\t// Clear\r\n\t\tthis.clear();\r\n\r\n\t\t// Init started event\r\n\t\tthis.events.dispatch(\"initstarted\", {\r\n\t\t\ttype: \"initstarted\",\r\n\t\t\tsettings: settings,\r\n\t\t\tsettingsTarget: target,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\r\n\t\t// Title\r\n\t\tconst title = document.createElement(\"h1\");\r\n\t\ttitle.innerHTML = target.get(\"name\");\r\n\t\tcontent.appendChild(title);\r\n\r\n\t\t// Add fields\r\n\t\tconst table = document.createElement(\"div\");\r\n\t\ttable.className = \"am5-modal-table\";\r\n\t\tcontent.appendChild(table);\r\n\r\n\t\t// Log defaults\r\n\t\tlet populateDefaults = false;\r\n\t\tlet defaults: any = {};\r\n\t\tif (!target.get(\"userData\")) {\r\n\t\t\ttarget.set(\"userData\", {});\r\n\t\t}\r\n\t\tif (!target.get(\"userData\")[\"__defaults\"]) {\r\n\t\t\ttarget.get(\"userData\")[\"__defaults\"] = defaults;\r\n\t\t\tpopulateDefaults = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdefaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t}\r\n\r\n\t\tconst settingInputs: { [index: string]: HTMLInputElement | HTMLSelectElement } = {};\r\n\t\tconst controls: { [index: string]: ColorControl } = {};\r\n\t\tconst settingsWithTarget: { [index: string]: any } = {};\r\n\t\tlet prevName = \"\";\r\n\t\tlet prevLine: HTMLDivElement;\r\n\t\t$array.each(settings, (setting) => {\r\n\t\t\tconst key = this._getSettingKey(setting);\r\n\t\t\tconst keyTarget = setting.target || target;\r\n\t\t\tconst currentValue = setting.currentValue || keyTarget.get(setting.key);\r\n\r\n\t\t\tif (populateDefaults) {\r\n\t\t\t\tdefaults[key] = currentValue;\r\n\t\t\t}\r\n\r\n\t\t\tif (setting.target) {\r\n\t\t\t\tsettingsWithTarget[key] = setting;\r\n\t\t\t}\r\n\r\n\t\t\tlet element: HTMLElement | undefined;\r\n\t\t\tswitch (setting.type) {\r\n\t\t\t\tcase \"dropdown\":\r\n\t\t\t\t\telement = this.getDropdown(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLSelectElement>element;\r\n\t\t\t\t\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\tconst input: HTMLSelectElement = ev.target!;\r\n\t\t\t\t\t\tconst option = input.options[input!.selectedIndex];\r\n\t\t\t\t\t\tconst extTarget = option.getAttribute(\"data-target\");\r\n\t\t\t\t\t\tif (extTarget) {\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].value = option.getAttribute(\"data-target-value\") + \"\";\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].setAttribute(\"data-min-value\", option.getAttribute(\"data-target-min-value\") + \"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"number\":\r\n\t\t\t\t\telement = this.getNumber(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tif (setting.minValue !== undefined) {\r\n\t\t\t\t\t\telement.setAttribute(\"data-min-value\", setting.minValue + \"\");\r\n\t\t\t\t\t\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\t\tconst input: HTMLInputElement = ev.target!;\r\n\t\t\t\t\t\t\tconst minValue = Number(input.getAttribute(\"data-min-value\"));\r\n\t\t\t\t\t\t\tconst value = Number(input.value);\r\n\t\t\t\t\t\t\tif (value < minValue) {\r\n\t\t\t\t\t\t\t\tinput.value = minValue + \"\";\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\tbreak;\r\n\t\t\t\tcase \"color\":\r\n\t\t\t\t\tconst control = this.getColor(setting, currentValue);\r\n\t\t\t\t\telement = control.getPrivate(\"button\")!;\r\n\t\t\t\t\tcontrols[key] = control;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"checkbox\":\r\n\t\t\t\t\telement = this.getCheckbox(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"text\":\r\n\t\t\t\t\telement = this.getText(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tif (element) {\r\n\r\n\t\t\t\tlet line: HTMLDivElement;\r\n\t\t\t\tif (setting.name == prevName && prevLine) {\r\n\t\t\t\t\tline = prevLine;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tline = document.createElement(\"div\");\r\n\t\t\t\t\tline.className = \"am5-modal-table-row\";\r\n\t\t\t\t\ttable.appendChild(line);\r\n\r\n\t\t\t\t\tconst heading = document.createElement(\"div\");\r\n\t\t\t\t\theading.className = \"am5-modal-table-heading\";\r\n\t\t\t\t\theading.innerHTML = setting.name;\r\n\t\t\t\t\tline.appendChild(heading);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst cell = document.createElement(\"div\");\r\n\t\t\t\tcell.className = \"am5-modal-table-cell\";\r\n\t\t\t\tline.appendChild(cell);\r\n\t\t\t\tcell.appendChild(element);\r\n\r\n\t\t\t\tprevName = setting.name;\r\n\t\t\t\tprevLine = line;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Reset\r\n\t\tif (this.get(\"showResetLink\", true)) {\r\n\t\t\tconst resetLink = document.createElement(\"a\");\r\n\t\t\tresetLink.className = \"am5-modal-link am5-modal-table-cell am5-modal-link-reset\";\r\n\t\t\tresetLink.innerHTML = this._root.language.translateAny(\"Reset to default\");\r\n\t\t\ttable.appendChild(resetLink);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(resetLink, \"click\", () => {\r\n\t\t\t\tconst defaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t\t\t$object.each(settingInputs, (key, element) => {\r\n\t\t\t\t\tif (element.type === \"checkbox\") {\r\n\t\t\t\t\t\t(element as HTMLInputElement).checked = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\telement.value = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$object.each(controls, (key, control) => {\r\n\t\t\t\t\tcontrol.setColor(defaults[key]);\r\n\t\t\t\t});\r\n\t\t\t}));\r\n\t\t}\r\n\r\n\t\t// Buttons\r\n\t\tconst saveButton = document.createElement(\"input\");\r\n\t\tsaveButton.type = \"button\";\r\n\t\tsaveButton.value = this._root.language.translateAny(\"Save\");\r\n\t\tsaveButton.className = \"am5-modal-button am5-modal-primary\";\r\n\t\tcontent.appendChild(saveButton);\r\n\r\n\t\tthis._disposers.push($utils.addEventListener(saveButton, \"click\", () => {\r\n\t\t\t$object.each(settingInputs, (key, element) => {\r\n\t\t\t\tif (element.type == \"checkbox\") {\r\n\t\t\t\t\tthis._updatedSettings[key] = (<HTMLInputElement>element).checked;\r\n\t\t\t\t}\r\n\t\t\t\telse if (element.type == \"number\") {\r\n\t\t\t\t\tthis._updatedSettings[key] = $type.toNumber(element.value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis._updatedSettings[key] = element.value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$object.each(this._updatedSettings, (key, value) => {\r\n\t\t\t\tconst targetKey = (<string>key).split(\".\").pop();\r\n\t\t\t\tif (targetKey && [\"fill\", \"stroke\"].indexOf(targetKey) != -1 && target.className == \"ColumnSeries\") {\r\n\t\t\t\t\ttarget.columns.template.remove(targetKey);\r\n\t\t\t\t}\r\n\t\t\t\tif ($type.isObject(value) && value.value) {\r\n\t\t\t\t\tif (value.setting && value.setting.target) {\r\n\t\t\t\t\t\tvalue.setting.target.set(targetKey, value.value);\r\n\t\t\t\t\t\tif (value.setting.additionalKeys) {\r\n\t\t\t\t\t\t\t$array.each(value.setting.additionalKeys, (additionalKey) => {\r\n\t\t\t\t\t\t\t\tvalue.setting.target.set(additionalKey, value.value);\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\telse {\r\n\t\t\t\t\t\ttarget.set(targetKey, value.value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (settingsWithTarget[targetKey!]) {\r\n\t\t\t\t\tsettingsWithTarget[targetKey!].target.set(targetKey, value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\ttarget.set(targetKey, value);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (value.setting && value.setting.invalidateTarget) {\r\n\t\t\t\t\tvalue.setting.invalidateTarget.markDirtyValues();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.close();\r\n\t\t}));\r\n\r\n\t\tconst cancelButton = document.createElement(\"input\");\r\n\t\tcancelButton.type = \"button\";\r\n\t\tcancelButton.value = this._root.language.translateAny(\"Cancel\");\r\n\t\tcancelButton.className = \"am5-modal-button am5-modal-scondary\";\r\n\t\tcontent.appendChild(cancelButton);\r\n\r\n\t\tthis._disposers.push($utils.addEventListener(cancelButton, \"click\", () => {\r\n\t\t\tthis.cancel();\r\n\t\t}));\r\n\r\n\t\t// Open modal\r\n\t\tthis.open();\r\n\r\n\t\t// Auto-focus Save button\r\n\t\tthis.setTimeout(() => {\r\n\t\t\t// Delayed so that pressing ENTER in the list does not trigger save, too\r\n\t\t\tsaveButton.focus();\r\n\t\t}, 10);\r\n\r\n\t}\r\n\r\n\tprivate getDropdown(setting: any, currentValue: any): HTMLSelectElement {\r\n\t\tconst element = document.createElement(\"select\");\r\n\t\t$array.each(setting.options, (option) => {\r\n\t\t\tif (option) {\r\n\t\t\t\tconst optionElement = document.createElement(\"option\");\r\n\t\t\t\tlet value;\r\n\t\t\t\tif ($type.isObject(option)) {\r\n\t\t\t\t\toptionElement.value = <string>((<any>option).value);\r\n\t\t\t\t\toptionElement.text = <string>((<any>option).text);\r\n\t\t\t\t\tvalue = ((<any>option).value);\r\n\r\n\t\t\t\t\tif ((option as any).minValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-min-value\", (option as any).minValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTarget) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target\", (option as any).extTarget);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-value\", (option as any).extTargetValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetMinValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-min-value\", (option as any).extTargetMinValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\toptionElement.value = <string>option;\r\n\t\t\t\t\toptionElement.text = <string>option;\r\n\t\t\t\t\tvalue = option;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (value == currentValue) {\r\n\t\t\t\t\toptionElement.selected = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\telement.appendChild(optionElement);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getNumber(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"number\";\r\n\t\telement.value = currentValue;\r\n\t\telement.className = \"am5-modal-input-narrow\"\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getText(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"text\";\r\n\t\telement.value = currentValue;\r\n\t\telement.className = \"am5-modal-input\"\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getCheckbox(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"checkbox\";\r\n\t\telement.checked = currentValue === true;\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getColor(setting: any, currentValue: any): ColorControl {\r\n\t\tconst control = ColorControl.new(this.root, {\r\n\t\t\tstockChart: this.get(\"stockChart\"),\r\n\t\t\tuseOpacity: false\r\n\t\t});\r\n\t\tcontrol.setPrivate(\"color\", currentValue);\r\n\t\tcontrol.events.on(\"selected\", (ev) => {\r\n\t\t\tthis._updatedSettings[this._getSettingKey(setting)] = {\r\n\t\t\t\tvalue: ev.color,\r\n\t\t\t\tsetting: setting\r\n\t\t\t};\r\n\t\t});\r\n\t\tthis._disposers.push(control);\r\n\t\treturn control;\r\n\t}\r\n\r\n\t/**\r\n\t * Closes the modal, saving settings.\r\n\t */\r\n\tpublic close(): void {\r\n\t\tsuper.close();\r\n\t\tthis.events.dispatch(\"done\", {\r\n\t\t\ttype: \"done\",\r\n\t\t\tsettings: this._updatedSettings,\r\n\t\t\tsettingsTarget: this._settingsTarget,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Closes the modal without applying any changes.\r\n\t */\r\n\tpublic cancel(): void {\r\n\t\tsuper.cancel();\r\n\t\tthis.events.dispatch(\"done\", {\r\n\t\t\ttype: \"done\",\r\n\t\t\tsettings: null,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Clears contents of the modal.\r\n\t */\r\n\tpublic clear(): void {\r\n\t\tconst content = this.getPrivate(\"content\");\r\n\t\tcontent.innerHTML = \"\";\r\n\t\tif (this._colorControl) {\r\n\t\t\tthis._colorControl.dispose();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _getSettingKey(setting: ISeriesEditableSetting): string {\r\n\t\treturn setting.id || setting.key;\r\n\t}\r\n\r\n}"]}
|
|
1
|
+
{"version":3,"file":"SettingsModal.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/SettingsModal.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Indicator, IIndicatorEditableSetting } from \"./indicators/Indicator\";\r\nimport type { StockChart } from \"./StockChart\";\r\nimport type { XYSeries } from \"../xy/series/XYSeries\";\r\n\r\nimport { CandlestickSeries } from \"../xy/series/CandlestickSeries\";\r\nimport { LineSeries } from \"../xy/series/LineSeries\";\r\nimport { Modal, IModalSettings, IModalPrivate, IModalEvents } from \"../../core/util/Modal\";\r\nimport { ColorControl } from \"./toolbar/ColorControl\";\r\n\r\nimport * as $array from \"../../core/util/Array\";\r\nimport * as $object from \"../../core/util/Object\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $type from \"../../core/util/Type\";\r\n\r\n\r\nexport interface ISettingsModalSettings extends IModalSettings {\r\n\r\n\t/**\r\n\t * A target [[StockChart]].\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * Show the \"Reset to default\" link?\r\n\t *\r\n\t * @default true\r\n\t * @since 5.9.0\r\n\t */\r\n\tshowResetLink?: boolean;\r\n\r\n\t/**\r\n\t * Available line widths for user to choose from.\r\n\t *\r\n\t * @default [1, 2, 4, 10]\r\n\t * @since 5.11.2\r\n\t */\r\n\tstrokeWidths?: number[];\r\n\r\n}\r\n\r\nexport interface ISettingsModalPrivate extends IModalPrivate {\r\n}\r\n\r\nexport interface ISettingsModalEvents extends IModalEvents {\r\n\r\n\t/**\r\n\t * Invoked when modal is closed/saved.\r\n\t */\r\n\tdone: {\r\n\t\tsettings?: any,\r\n\t\tsettingsTarget?: Indicator | XYSeries\r\n\t}\r\n\r\n\t/**\r\n\t * Invoked when modal starts generating actual content.\r\n\t *\r\n\t * It's a good place to modify settings.\r\n\t */\r\n\tinitstarted: {\r\n\t\tsettings?: any,\r\n\t\tsettingsTarget?: Indicator | XYSeries\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * @ignore\r\n */\r\ninterface ISeriesEditableSetting extends IIndicatorEditableSetting {\r\n\tid?: string;\r\n\ttarget?: any;\r\n\tadditionalKeys?: string[];\r\n\tcurrentValue?: any;\r\n\tinvalidateTarget?: XYSeries;\r\n}\r\n\r\n/**\r\n * Used to display a modal dialog with HTML content.\r\n */\r\nexport class SettingsModal extends Modal {\r\n\tpublic static className: string = \"SettingsModal\";\r\n\tpublic static classNames: Array<string> = Modal.classNames.concat([SettingsModal.className]);\r\n\r\n\tdeclare public _settings: ISettingsModalSettings;\r\n\tdeclare public _privateSettings: ISettingsModalPrivate;\r\n\tdeclare public _events: ISettingsModalEvents;\r\n\r\n\tprotected _updatedSettings: { [index: string]: any } = {};\r\n\tprotected _settingsTarget?: Indicator | XYSeries;\r\n\tprotected _colorControl?: ColorControl;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis._defaultThemes = this.get(\"stockChart\")._defaultThemes;\r\n\t\tsuper._afterNewApplyThemes();\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\r\n\t\t// if (this.isDirty(\"content\")) {\r\n\t\t// \tthis.getPrivate(\"content\").innerHTML = this.get(\"content\", \"\");\r\n\t\t// }\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings modal for an [[Indicator]].\r\n\t *\r\n\t * @param target Target indicator\r\n\t */\r\n\tpublic openIndicator(target: Indicator): void {\r\n\t\tthis._settingsTarget = target;\r\n\t\tthis.initContent(target._editableSettings, target);\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings editing for the any [[XYSeries]].\r\n\t *\r\n\t * @param series target series\r\n\t */\r\n\tpublic openSeries(series: XYSeries): void {\r\n\t\tthis._settingsTarget = series;\r\n\r\n\t\tconst l = this._root.language;\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst isline = series instanceof LineSeries;\r\n\r\n\t\tlet settings: ISeriesEditableSetting[] = [];\r\n\r\n\t\tif (series == stockChart.get(\"stockSeries\") && !isline) {\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"stockPositiveColor\",\r\n\t\t\t\tkey: \"stockPositiveColor\",\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"stockPositiveColor\", this._root.interfaceColors.get(\"positive\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"stockNegativeColor\",\r\n\t\t\t\tkey: \"stockNegativeColor\",\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"stockNegativeColor\", this._root.interfaceColors.get(\"negative\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (series == stockChart.get(\"volumeSeries\") && !isline) {\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"volumePositiveColor\",\r\n\t\t\t\tkey: \"volumePositiveColor\",\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"volumePositiveColor\", this._root.interfaceColors.get(\"positive\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"volumeNegativeColor\",\r\n\t\t\t\tkey: \"volumeNegativeColor\",\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"volumeNegativeColor\", this._root.interfaceColors.get(\"negative\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (series instanceof CandlestickSeries && series.columns.length) {\r\n\t\t\tconst column = series.columns.getIndex(0);\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"riseFromOpen.fill\",\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tadditionalKeys: [\"stroke\"],\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: column!.states.lookup(\"riseFromOpen\")!.get(\"fill\"),\r\n\t\t\t\ttarget: series.columns.template.states.create(\"riseFromOpen\", {}),\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"dropFromOpen.fill\",\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tadditionalKeys: [\"stroke\"],\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: column!.states.lookup(\"dropFromOpen\")!.get(\"fill\"),\r\n\t\t\t\ttarget: series.columns.template.states.create(\"dropFromOpen\", {}),\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (isline) {\r\n\t\t\tconst widths = this.get(\"strokeWidths\", [1, 2, 4, 10]);\r\n\t\t\tconst widthOptions = widths.map((width) => {\r\n\t\t\t\treturn { value: width, text: width + \"px\" };\r\n\t\t\t});\r\n\t\t\tsettings = [{\r\n\t\t\t\tkey: \"stroke\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tadditionalKeys: [\"fill\"],\r\n\t\t\t\ttarget: (<LineSeries>series),\r\n\t\t\t}, {\r\n\t\t\t\tkey: \"strokeWidth\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"dropdown\",\r\n\t\t\t\toptions: widthOptions,\r\n\t\t\t\tcurrentValue: (<LineSeries>series).strokes.template.get(\"strokeWidth\", 1),\r\n\t\t\t\ttarget: (<LineSeries>series).strokes.template,\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t}];\r\n\t\t\tif ((<LineSeries>series).fills.template.get(\"visible\")) {\r\n\t\t\t\tsettings.push({\r\n\t\t\t\t\tkey: \"fill\",\r\n\t\t\t\t\tname: l.translateAny(\"Fill\"),\r\n\t\t\t\t\ttype: \"color\"\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsettings = [{\r\n\t\t\t\tkey: \"stroke\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"color\"\r\n\t\t\t}, {\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tname: l.translateAny(\"Fill\"),\r\n\t\t\t\ttype: \"color\"\r\n\t\t\t}];\r\n\t\t}\r\n\t\tthis.initContent(settings, series);\r\n\t}\r\n\r\n\tprivate initContent(settings: ISeriesEditableSetting[], target: any) {\r\n\t\tthis._updatedSettings = {};\r\n\t\tconst content = this.getPrivate(\"content\");\r\n\r\n\t\t// Clear\r\n\t\tthis.clear();\r\n\r\n\t\t// Init started event\r\n\t\tthis.events.dispatch(\"initstarted\", {\r\n\t\t\ttype: \"initstarted\",\r\n\t\t\tsettings: settings,\r\n\t\t\tsettingsTarget: target,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\r\n\t\t// Title\r\n\t\tconst title = document.createElement(\"h1\");\r\n\t\ttitle.innerText = target.get(\"name\");\r\n\t\tcontent.appendChild(title);\r\n\r\n\t\t// Add fields\r\n\t\tconst table = document.createElement(\"div\");\r\n\t\ttable.className = \"am5-modal-table\";\r\n\t\tcontent.appendChild(table);\r\n\r\n\t\t// Log defaults\r\n\t\tlet populateDefaults = false;\r\n\t\tlet defaults: any = {};\r\n\t\tif (!target.get(\"userData\")) {\r\n\t\t\ttarget.set(\"userData\", {});\r\n\t\t}\r\n\t\tif (!target.get(\"userData\")[\"__defaults\"]) {\r\n\t\t\ttarget.get(\"userData\")[\"__defaults\"] = defaults;\r\n\t\t\tpopulateDefaults = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdefaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t}\r\n\r\n\t\tconst settingInputs: { [index: string]: HTMLInputElement | HTMLSelectElement } = {};\r\n\t\tconst controls: { [index: string]: ColorControl } = {};\r\n\t\tconst settingsWithTarget: { [index: string]: any } = {};\r\n\t\tlet prevName = \"\";\r\n\t\tlet prevLine: HTMLDivElement;\r\n\t\t$array.each(settings, (setting) => {\r\n\t\t\tconst key = this._getSettingKey(setting);\r\n\t\t\tconst keyTarget = setting.target || target;\r\n\t\t\tconst currentValue = setting.currentValue || keyTarget.get(setting.key);\r\n\r\n\t\t\tif (populateDefaults) {\r\n\t\t\t\tdefaults[key] = currentValue;\r\n\t\t\t}\r\n\r\n\t\t\tif (setting.target) {\r\n\t\t\t\tsettingsWithTarget[key] = setting;\r\n\t\t\t}\r\n\r\n\t\t\tlet element: HTMLElement | undefined;\r\n\t\t\tswitch (setting.type) {\r\n\t\t\t\tcase \"dropdown\":\r\n\t\t\t\t\telement = this.getDropdown(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLSelectElement>element;\r\n\t\t\t\t\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\tconst input: HTMLSelectElement = ev.target!;\r\n\t\t\t\t\t\tconst option = input.options[input!.selectedIndex];\r\n\t\t\t\t\t\tconst extTarget = option.getAttribute(\"data-target\");\r\n\t\t\t\t\t\tif (extTarget) {\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].value = option.getAttribute(\"data-target-value\") + \"\";\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].setAttribute(\"data-min-value\", option.getAttribute(\"data-target-min-value\") + \"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"number\":\r\n\t\t\t\t\telement = this.getNumber(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tif (setting.minValue !== undefined) {\r\n\t\t\t\t\t\telement.setAttribute(\"data-min-value\", setting.minValue + \"\");\r\n\t\t\t\t\t\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\t\tconst input: HTMLInputElement = ev.target!;\r\n\t\t\t\t\t\t\tconst minValue = Number(input.getAttribute(\"data-min-value\"));\r\n\t\t\t\t\t\t\tconst value = Number(input.value);\r\n\t\t\t\t\t\t\tif (value < minValue) {\r\n\t\t\t\t\t\t\t\tinput.value = minValue + \"\";\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\tbreak;\r\n\t\t\t\tcase \"color\":\r\n\t\t\t\t\tconst control = this.getColor(setting, currentValue);\r\n\t\t\t\t\telement = control.getPrivate(\"button\")!;\r\n\t\t\t\t\tcontrols[key] = control;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"checkbox\":\r\n\t\t\t\t\telement = this.getCheckbox(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"text\":\r\n\t\t\t\t\telement = this.getText(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tif (element) {\r\n\r\n\t\t\t\tlet line: HTMLDivElement;\r\n\t\t\t\tif (setting.name == prevName && prevLine) {\r\n\t\t\t\t\tline = prevLine;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tline = document.createElement(\"div\");\r\n\t\t\t\t\tline.className = \"am5-modal-table-row\";\r\n\t\t\t\t\ttable.appendChild(line);\r\n\r\n\t\t\t\t\tconst heading = document.createElement(\"div\");\r\n\t\t\t\t\theading.className = \"am5-modal-table-heading\";\r\n\t\t\t\t\theading.innerHTML = setting.name;\r\n\t\t\t\t\tline.appendChild(heading);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst cell = document.createElement(\"div\");\r\n\t\t\t\tcell.className = \"am5-modal-table-cell\";\r\n\t\t\t\tline.appendChild(cell);\r\n\t\t\t\tcell.appendChild(element);\r\n\r\n\t\t\t\tprevName = setting.name;\r\n\t\t\t\tprevLine = line;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Reset\r\n\t\tif (this.get(\"showResetLink\", true)) {\r\n\t\t\tconst resetLink = document.createElement(\"a\");\r\n\t\t\tresetLink.className = \"am5-modal-link am5-modal-table-cell am5-modal-link-reset\";\r\n\t\t\tresetLink.innerHTML = this._root.language.translateAny(\"Reset to default\");\r\n\t\t\ttable.appendChild(resetLink);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(resetLink, \"click\", () => {\r\n\t\t\t\tconst defaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t\t\t$object.each(settingInputs, (key, element) => {\r\n\t\t\t\t\tif (element.type === \"checkbox\") {\r\n\t\t\t\t\t\t(element as HTMLInputElement).checked = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\telement.value = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$object.each(controls, (key, control) => {\r\n\t\t\t\t\tcontrol.setColor(defaults[key]);\r\n\t\t\t\t});\r\n\t\t\t}));\r\n\t\t}\r\n\r\n\t\t// Buttons\r\n\t\tconst saveButton = document.createElement(\"input\");\r\n\t\tsaveButton.type = \"button\";\r\n\t\tsaveButton.value = this._root.language.translateAny(\"Save\");\r\n\t\tsaveButton.className = \"am5-modal-button am5-modal-primary\";\r\n\t\tcontent.appendChild(saveButton);\r\n\r\n\t\tthis._disposers.push($utils.addEventListener(saveButton, \"click\", () => {\r\n\t\t\t$object.each(settingInputs, (key, element) => {\r\n\t\t\t\tif (element.type == \"checkbox\") {\r\n\t\t\t\t\tthis._updatedSettings[key] = (<HTMLInputElement>element).checked;\r\n\t\t\t\t}\r\n\t\t\t\telse if (element.type == \"number\") {\r\n\t\t\t\t\tthis._updatedSettings[key] = $type.toNumber(element.value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis._updatedSettings[key] = element.value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$object.each(this._updatedSettings, (key, value) => {\r\n\t\t\t\tconst targetKey = (<string>key).split(\".\").pop();\r\n\t\t\t\tif (targetKey && [\"fill\", \"stroke\"].indexOf(targetKey) != -1 && target.className == \"ColumnSeries\") {\r\n\t\t\t\t\ttarget.columns.template.remove(targetKey);\r\n\t\t\t\t}\r\n\t\t\t\tif ($type.isObject(value) && value.value) {\r\n\t\t\t\t\tif (value.setting && value.setting.target) {\r\n\t\t\t\t\t\tvalue.setting.target.set(targetKey, value.value);\r\n\t\t\t\t\t\tif (value.setting.additionalKeys) {\r\n\t\t\t\t\t\t\t$array.each(value.setting.additionalKeys, (additionalKey) => {\r\n\t\t\t\t\t\t\t\tvalue.setting.target.set(additionalKey, value.value);\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\telse {\r\n\t\t\t\t\t\ttarget.set(targetKey, value.value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (settingsWithTarget[targetKey!]) {\r\n\t\t\t\t\tsettingsWithTarget[targetKey!].target.set(targetKey, value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\ttarget.set(targetKey, value);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (value.setting && value.setting.invalidateTarget) {\r\n\t\t\t\t\tvalue.setting.invalidateTarget.markDirtyValues();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.close();\r\n\t\t}));\r\n\r\n\t\tconst cancelButton = document.createElement(\"input\");\r\n\t\tcancelButton.type = \"button\";\r\n\t\tcancelButton.value = this._root.language.translateAny(\"Cancel\");\r\n\t\tcancelButton.className = \"am5-modal-button am5-modal-scondary\";\r\n\t\tcontent.appendChild(cancelButton);\r\n\r\n\t\tthis._disposers.push($utils.addEventListener(cancelButton, \"click\", () => {\r\n\t\t\tthis.cancel();\r\n\t\t}));\r\n\r\n\t\t// Open modal\r\n\t\tthis.open();\r\n\r\n\t\t// Auto-focus Save button\r\n\t\tthis.setTimeout(() => {\r\n\t\t\t// Delayed so that pressing ENTER in the list does not trigger save, too\r\n\t\t\tsaveButton.focus();\r\n\t\t}, 10);\r\n\r\n\t}\r\n\r\n\tprivate getDropdown(setting: any, currentValue: any): HTMLSelectElement {\r\n\t\tconst element = document.createElement(\"select\");\r\n\t\t$array.each(setting.options, (option) => {\r\n\t\t\tif (option) {\r\n\t\t\t\tconst optionElement = document.createElement(\"option\");\r\n\t\t\t\tlet value;\r\n\t\t\t\tif ($type.isObject(option)) {\r\n\t\t\t\t\toptionElement.value = <string>((<any>option).value);\r\n\t\t\t\t\toptionElement.text = <string>((<any>option).text);\r\n\t\t\t\t\tvalue = ((<any>option).value);\r\n\r\n\t\t\t\t\tif ((option as any).minValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-min-value\", (option as any).minValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTarget) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target\", (option as any).extTarget);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-value\", (option as any).extTargetValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetMinValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-min-value\", (option as any).extTargetMinValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\toptionElement.value = <string>option;\r\n\t\t\t\t\toptionElement.text = <string>option;\r\n\t\t\t\t\tvalue = option;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (value == currentValue) {\r\n\t\t\t\t\toptionElement.selected = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\telement.appendChild(optionElement);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getNumber(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"number\";\r\n\t\telement.value = currentValue;\r\n\t\telement.className = \"am5-modal-input-narrow\"\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getText(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"text\";\r\n\t\telement.value = currentValue;\r\n\t\telement.className = \"am5-modal-input\"\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getCheckbox(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"checkbox\";\r\n\t\telement.checked = currentValue === true;\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getColor(setting: any, currentValue: any): ColorControl {\r\n\t\tconst control = ColorControl.new(this.root, {\r\n\t\t\tstockChart: this.get(\"stockChart\"),\r\n\t\t\tuseOpacity: false\r\n\t\t});\r\n\t\tcontrol.setPrivate(\"color\", currentValue);\r\n\t\tcontrol.events.on(\"selected\", (ev) => {\r\n\t\t\tthis._updatedSettings[this._getSettingKey(setting)] = {\r\n\t\t\t\tvalue: ev.color,\r\n\t\t\t\tsetting: setting\r\n\t\t\t};\r\n\t\t});\r\n\t\tthis._disposers.push(control);\r\n\t\treturn control;\r\n\t}\r\n\r\n\t/**\r\n\t * Closes the modal, saving settings.\r\n\t */\r\n\tpublic close(): void {\r\n\t\tsuper.close();\r\n\t\tthis.events.dispatch(\"done\", {\r\n\t\t\ttype: \"done\",\r\n\t\t\tsettings: this._updatedSettings,\r\n\t\t\tsettingsTarget: this._settingsTarget,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Closes the modal without applying any changes.\r\n\t */\r\n\tpublic cancel(): void {\r\n\t\tsuper.cancel();\r\n\t\tthis.events.dispatch(\"done\", {\r\n\t\t\ttype: \"done\",\r\n\t\t\tsettings: null,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Clears contents of the modal.\r\n\t */\r\n\tpublic clear(): void {\r\n\t\tconst content = this.getPrivate(\"content\");\r\n\t\tcontent.innerHTML = \"\";\r\n\t\tif (this._colorControl) {\r\n\t\t\tthis._colorControl.dispose();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _getSettingKey(setting: ISeriesEditableSetting): string {\r\n\t\treturn setting.id || setting.key;\r\n\t}\r\n\r\n}\r\n"]}
|