@amcharts/amcharts5 5.1.3 → 5.1.6
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/Chord.d.ts.map +1 -1
- package/.internal/charts/flow/Chord.js +7 -0
- package/.internal/charts/flow/Chord.js.map +1 -1
- package/.internal/charts/flow/Flow.d.ts +11 -0
- package/.internal/charts/flow/Flow.d.ts.map +1 -1
- package/.internal/charts/flow/Flow.js +17 -5
- package/.internal/charts/flow/Flow.js.map +1 -1
- package/.internal/charts/flow/SankeyLink.d.ts +2 -0
- package/.internal/charts/flow/SankeyLink.d.ts.map +1 -1
- package/.internal/charts/flow/SankeyLink.js +8 -0
- package/.internal/charts/flow/SankeyLink.js.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.js +1 -2
- package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
- package/.internal/charts/map/MapSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapSeries.js +7 -1
- package/.internal/charts/map/MapSeries.js.map +1 -1
- package/.internal/charts/radar/RadarCursor.d.ts.map +1 -1
- package/.internal/charts/radar/RadarCursor.js +6 -0
- package/.internal/charts/radar/RadarCursor.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts +2 -2
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +54 -25
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js +12 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
- package/.internal/charts/xy/XYCursor.d.ts +18 -1
- package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
- package/.internal/charts/xy/XYCursor.js +37 -5
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +20 -6
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +23 -2
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +14 -12
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DurationAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DurationAxis.js +6 -3
- package/.internal/charts/xy/axes/DurationAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +1 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +21 -39
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +7 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +28 -0
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +4 -1
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Root.d.ts +7 -0
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +18 -0
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Line.d.ts +6 -0
- package/.internal/core/render/Line.d.ts.map +1 -1
- package/.internal/core/render/Line.js +5 -1
- package/.internal/core/render/Line.js.map +1 -1
- package/.internal/core/render/Scrollbar.d.ts +2 -0
- package/.internal/core/render/Scrollbar.d.ts.map +1 -1
- package/.internal/core/render/Scrollbar.js +10 -1
- package/.internal/core/render/Scrollbar.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +2 -1
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +3 -2
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +27 -15
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/util/DateFormatter.js +1 -1
- package/.internal/core/util/DateFormatter.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +1 -1
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/Language.d.ts +7 -0
- package/.internal/core/util/Language.d.ts.map +1 -1
- package/.internal/core/util/Language.js.map +1 -1
- package/.internal/core/util/Modal.d.ts.map +1 -1
- package/.internal/core/util/Modal.js +5 -3
- package/.internal/core/util/Modal.js.map +1 -1
- package/.internal/core/util/PopulateString.js +10 -1
- package/.internal/core/util/PopulateString.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +15 -0
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +57 -0
- package/.internal/core/util/Utils.js.map +1 -1
- package/CHANGELOG.md +58 -7
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/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/index.js +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/index.js +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/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/index.ts +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/index.ts +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/locales/ar.d.ts +7 -0
- package/locales/ar.d.ts.map +1 -1
- package/locales/ar.js +7 -0
- package/locales/ar.js.map +1 -1
- package/locales/bs_BA.d.ts +7 -0
- package/locales/bs_BA.d.ts.map +1 -1
- package/locales/bs_BA.js +7 -0
- package/locales/bs_BA.js.map +1 -1
- package/locales/ca_ES.d.ts +7 -0
- package/locales/ca_ES.d.ts.map +1 -1
- package/locales/ca_ES.js +7 -0
- package/locales/ca_ES.js.map +1 -1
- package/locales/cs_CZ.d.ts +7 -0
- package/locales/cs_CZ.d.ts.map +1 -1
- package/locales/cs_CZ.js +7 -0
- package/locales/cs_CZ.js.map +1 -1
- package/locales/da_DK.d.ts +7 -0
- package/locales/da_DK.d.ts.map +1 -1
- package/locales/da_DK.js +7 -0
- package/locales/da_DK.js.map +1 -1
- package/locales/de_CH.d.ts +11 -4
- package/locales/de_CH.d.ts.map +1 -1
- package/locales/de_CH.js +11 -4
- package/locales/de_CH.js.map +1 -1
- package/locales/de_DE.d.ts +7 -0
- package/locales/de_DE.d.ts.map +1 -1
- package/locales/de_DE.js +7 -0
- package/locales/de_DE.js.map +1 -1
- package/locales/el_GR.d.ts +7 -0
- package/locales/el_GR.d.ts.map +1 -1
- package/locales/el_GR.js +7 -0
- package/locales/el_GR.js.map +1 -1
- package/locales/en.d.ts +7 -0
- package/locales/en.d.ts.map +1 -1
- package/locales/en.js +7 -0
- package/locales/en.js.map +1 -1
- package/locales/en_CA.d.ts +7 -0
- package/locales/en_CA.d.ts.map +1 -1
- package/locales/en_CA.js +8 -1
- package/locales/en_CA.js.map +1 -1
- package/locales/en_US.d.ts +7 -0
- package/locales/en_US.d.ts.map +1 -1
- package/locales/en_US.js +8 -1
- package/locales/en_US.js.map +1 -1
- package/locales/es_ES.d.ts +7 -0
- package/locales/es_ES.d.ts.map +1 -1
- package/locales/es_ES.js +7 -0
- package/locales/es_ES.js.map +1 -1
- package/locales/et_EE.d.ts +7 -0
- package/locales/et_EE.d.ts.map +1 -1
- package/locales/et_EE.js +7 -0
- package/locales/et_EE.js.map +1 -1
- package/locales/fi_FI.d.ts +7 -0
- package/locales/fi_FI.d.ts.map +1 -1
- package/locales/fi_FI.js +7 -0
- package/locales/fi_FI.js.map +1 -1
- package/locales/fr_FR.d.ts +7 -0
- package/locales/fr_FR.d.ts.map +1 -1
- package/locales/fr_FR.js +7 -0
- package/locales/fr_FR.js.map +1 -1
- package/locales/he_IL.d.ts +7 -0
- package/locales/he_IL.d.ts.map +1 -1
- package/locales/he_IL.js +7 -0
- package/locales/he_IL.js.map +1 -1
- package/locales/hi_IN.d.ts +7 -0
- package/locales/hi_IN.d.ts.map +1 -1
- package/locales/hi_IN.js +7 -0
- package/locales/hi_IN.js.map +1 -1
- package/locales/hr_HR.d.ts +7 -0
- package/locales/hr_HR.d.ts.map +1 -1
- package/locales/hr_HR.js +7 -0
- package/locales/hr_HR.js.map +1 -1
- package/locales/hu_HU.d.ts +7 -0
- package/locales/hu_HU.d.ts.map +1 -1
- package/locales/hu_HU.js +7 -0
- package/locales/hu_HU.js.map +1 -1
- package/locales/id_ID.d.ts +7 -0
- package/locales/id_ID.d.ts.map +1 -1
- package/locales/id_ID.js +7 -0
- package/locales/id_ID.js.map +1 -1
- package/locales/it_IT.d.ts +7 -0
- package/locales/it_IT.d.ts.map +1 -1
- package/locales/it_IT.js +7 -0
- package/locales/it_IT.js.map +1 -1
- package/locales/ja_JP.d.ts +7 -0
- package/locales/ja_JP.d.ts.map +1 -1
- package/locales/ja_JP.js +7 -0
- package/locales/ja_JP.js.map +1 -1
- package/locales/ko_KR.d.ts +7 -0
- package/locales/ko_KR.d.ts.map +1 -1
- package/locales/ko_KR.js +7 -0
- package/locales/ko_KR.js.map +1 -1
- package/locales/lt_LT.d.ts +7 -0
- package/locales/lt_LT.d.ts.map +1 -1
- package/locales/lt_LT.js +9 -2
- package/locales/lt_LT.js.map +1 -1
- package/locales/lv_LV.d.ts +7 -0
- package/locales/lv_LV.d.ts.map +1 -1
- package/locales/lv_LV.js +7 -0
- package/locales/lv_LV.js.map +1 -1
- package/locales/nb_NO.d.ts +7 -0
- package/locales/nb_NO.d.ts.map +1 -1
- package/locales/nb_NO.js +7 -0
- package/locales/nb_NO.js.map +1 -1
- package/locales/nl_NL.d.ts +7 -0
- package/locales/nl_NL.d.ts.map +1 -1
- package/locales/nl_NL.js +7 -0
- package/locales/nl_NL.js.map +1 -1
- package/locales/pl_PL.d.ts +7 -0
- package/locales/pl_PL.d.ts.map +1 -1
- package/locales/pl_PL.js +7 -0
- package/locales/pl_PL.js.map +1 -1
- package/locales/pt_BR.d.ts +7 -0
- package/locales/pt_BR.d.ts.map +1 -1
- package/locales/pt_BR.js +7 -0
- package/locales/pt_BR.js.map +1 -1
- package/locales/pt_PT.d.ts +7 -0
- package/locales/pt_PT.d.ts.map +1 -1
- package/locales/pt_PT.js +7 -0
- package/locales/pt_PT.js.map +1 -1
- package/locales/ro_RO.d.ts +7 -0
- package/locales/ro_RO.d.ts.map +1 -1
- package/locales/ro_RO.js +7 -0
- package/locales/ro_RO.js.map +1 -1
- package/locales/ru_RU.d.ts +7 -0
- package/locales/ru_RU.d.ts.map +1 -1
- package/locales/ru_RU.js +7 -0
- package/locales/ru_RU.js.map +1 -1
- package/locales/sl_SL.d.ts +7 -0
- package/locales/sl_SL.d.ts.map +1 -1
- package/locales/sl_SL.js +7 -0
- package/locales/sl_SL.js.map +1 -1
- package/locales/sr_RS.d.ts +7 -0
- package/locales/sr_RS.d.ts.map +1 -1
- package/locales/sr_RS.js +7 -0
- package/locales/sr_RS.js.map +1 -1
- package/locales/sv_SE.d.ts +7 -0
- package/locales/sv_SE.d.ts.map +1 -1
- package/locales/sv_SE.js +7 -0
- package/locales/sv_SE.js.map +1 -1
- package/locales/th_TH.d.ts +7 -0
- package/locales/th_TH.d.ts.map +1 -1
- package/locales/th_TH.js +7 -0
- package/locales/th_TH.js.map +1 -1
- package/locales/tr_TR.d.ts +7 -0
- package/locales/tr_TR.d.ts.map +1 -1
- package/locales/tr_TR.js +7 -0
- package/locales/tr_TR.js.map +1 -1
- package/locales/uk_UA.d.ts +7 -0
- package/locales/uk_UA.d.ts.map +1 -1
- package/locales/uk_UA.js +7 -0
- package/locales/uk_UA.js.map +1 -1
- package/locales/vi_VN.d.ts +7 -0
- package/locales/vi_VN.d.ts.map +1 -1
- package/locales/vi_VN.js +7 -0
- package/locales/vi_VN.js.map +1 -1
- package/locales/zh_Hans.d.ts +7 -0
- package/locales/zh_Hans.d.ts.map +1 -1
- package/locales/zh_Hans.js +7 -0
- package/locales/zh_Hans.js.map +1 -1
- package/locales/zh_Hant.d.ts +7 -0
- package/locales/zh_Hant.d.ts.map +1 -1
- package/locales/zh_Hant.js +7 -0
- package/locales/zh_Hant.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForceDirected.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport type { HierarchyLink } from \"./HierarchyLink\";\nimport type * as d3Hierarchy from \"d3-hierarchy\";\n\nimport { LinkedHierarchy, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyPrivate, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as d3Force from \"d3-force\";\n\n/**\n * @ignore\n */\nexport interface IForceDirectedDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IForceDirectedDataObject[],\n\tdataItem?: DataItem<IForceDirectedDataItem>\n};\n\nexport interface IForceDirectedDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of data items of child nodes.\n\t */\n\tchildren: Array<DataItem<IForceDirectedDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<IForceDirectedDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3ForceNode: d3Force.SimulationNodeDatum;\n\n\t/**\n\t * X coordinate.\n\t */\n\tx: number;\n\n\t/**\n\t * Y coordinate.\n\t */\n\ty: number;\n\n}\n\nexport interface IForceDirectedSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Minimum gap in pixels between the nodes.\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to the center of the\n\t * chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tcenterStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to each other.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default -15\n\t */\n\tmanyBodyStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) nodes that are linked together\n\t * via `linkWithField`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tlinkWithStrength?: number | undefined;\n\n\t/**\n\t * Resistance acting agains node speed.\n\t *\n\t * The greater the value, the more \"sluggish\" the nodes will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tvelocityDecay?: number;\n\n\t/**\n\t * Length of how long initial force simulation would run in frames.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 500\n\t */\n\tinitialFrames?: number;\n\n\t/**\n\t * If set to a number will wait X number of frames before revealing\n\t * the tree.\n\t *\n\t * Can be used to hide initial animations where nodes settle into their\n\t * places.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 10\n\t */\n\tshowOnFrame?: number;\n\n\t/**\n\t * Smallest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 1%\n\t */\n\tminRadius?: number | Percent;\n\n\t/**\n\t * Biggest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 8%\n\t */\n\tmaxRadius?: number | Percent;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\txField?: string;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\tyField?: string;\n\n}\n\nexport interface IForceDirectedPrivate extends ILinkedHierarchyPrivate {\n}\n\nexport interface IForceDirectedEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Creates a force-directed tree.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/} for more info\n * @important\n */\nexport class ForceDirected extends LinkedHierarchy {\n\n\tprotected _tag: string = \"forcedirected\";\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly d3forceSimulation: d3Force.Simulation<{}, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceSimulation();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly collisionForce: d3Force.ForceCollide<d3Force.SimulationNodeDatum> = d3Force.forceCollide(20);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic linkForce: d3Force.ForceLink<d3Force.SimulationNodeDatum, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceLink();\n\n\tpublic static className: string = \"ForceDirected\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([ForceDirected.className]);\n\n\tdeclare public _settings: IForceDirectedSettings;\n\tdeclare public _privateSettings: IForceDirectedPrivate;\n\tdeclare public _dataItemSettings: IForceDirectedDataItem;\n\tdeclare public _events: IForceDirectedEvents;\n\n\tprotected _nodes: Array<any> = [];\n\tprotected _links: Array<any> = [];\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.d3forceSimulation.on(\"tick\", () => {\n\t\t\tthis._tick++;\n\t\t\tthis.updateNodePositions();\n\t\t});\n\t}\n\n\tprotected _tick: number = 0;\n\tprotected _nodesDirty: boolean = false;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"showOnFrame\")) {\n\t\t\tconst showOnFrame = this.get(\"showOnFrame\");\n\t\t\tif (showOnFrame > this._tick) {\n\t\t\t\tthis.nodesContainer.setPrivate(\"visible\", false);\n\t\t\t\tthis.linksContainer.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this.isDirty(\"velocityDecay\")) {\n\t\t\td3forceSimulation.velocityDecay(this.get(\"velocityDecay\", 0));\n\t\t}\n\n\t\tif (this.isDirty(\"initialFrames\")) {\n\t\t\td3forceSimulation.alphaDecay(1 - Math.pow(0.001, 1 / this.get(\"initialFrames\", 500)));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic restartSimulation(alpha: number): void {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\tif (d3forceSimulation.alpha() < alpha) {\n\t\t\td3forceSimulation.alpha(alpha);\n\t\t\td3forceSimulation.restart();\n\t\t}\n\t}\n\n\tpublic _handleRadiusChange() {\n\t\tthis._updateForces();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3ForceNode: any = { index: this._index, x: this.innerWidth() / 2, y: this.innerHeight() / 2, dataItem: dataItem };\n\t\tconst index = this._nodes.push(d3ForceNode) - 1;\n\t\td3ForceNode.index = index;\n\n\t\tthis.d3forceSimulation.nodes(this._nodes);\n\n\t\tdataItem.set(\"d3ForceNode\", d3ForceNode);\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.on(\"scale\", () => {\n\t\t\tthis._nodesDirty = true;\n\t\t\tthis.markDirty();\n\t\t})\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\td3ForceNode.fx = node.x();\n\t\t\td3ForceNode.fy = node.y();\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragstop\", () => {\n\t\t\tif (dataItem.get(\"x\") == null) {\n\t\t\t\td3ForceNode.fx = undefined;\n\t\t\t}\n\t\t\tif (dataItem.get(\"y\") == null) {\n\t\t\t\td3ForceNode.fy = undefined;\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3Hierarchy.HierarchyNode<IForceDirectedDataObject>) {\n\t\tsuper._updateValues(d3HierarchyNode);\n\n\t\tthis._nodesDirty = true;\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"collision\", this.collisionForce);\n\t\td3forceSimulation.nodes(this._nodes);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\td3forceSimulation.force(\"link\", this.linkForce);\n\t}\n\n\tprotected _updateVisuals() {\n\t\tsuper._updateVisuals();\n\t\tthis.restartSimulation(1);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this._sizeDirty) {\n\t\t\tlet w = Math.max(50, this.innerWidth());\n\t\t\tlet h = Math.max(50, this.innerHeight());\n\t\t\tlet pt = this.get(\"paddingTop\", 0);\n\t\t\tlet pl = this.get(\"paddingLeft\", 0);\n\n\t\t\tlet centerStrength = this.get(\"centerStrength\", 1);\n\n\t\t\td3forceSimulation.force(\"x\", d3Force.forceX().x(w / 2 + pl).strength(centerStrength * 100 / w));\n\t\t\td3forceSimulation.force(\"y\", d3Force.forceY().y(h / 2 + pt).strength(centerStrength * 100 / h));\n\t\t}\n\n\t\tif (this._nodesDirty) {\n\t\t\tthis._updateForces();\n\t\t}\n\t}\n\n\tpublic _updateForces() {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"manybody\", d3Force.forceManyBody().strength((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet manyBodyStrength = this.get(\"manyBodyStrength\", -15);\n\n\t\t\tif(circle){\n\t\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}));\n\n\t\tthis.collisionForce.radius((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet outerCircle = dataItem.get(\"outerCircle\");\n\t\t\tif(circle && outerCircle){\n\t\t\t\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t\t}\n\n\t\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\t\treturn radius + this.get(\"nodePadding\", 0);\n\t\t\t}\n\t\t})\n\n\t\tthis.restartSimulation(1);\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._nodesDirty = false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateNodePositions() {\n\t\tconst linkForce = this.linkForce;\n\t\tif (linkForce) {\n\t\t\tlinkForce.distance((linkDatum) => {\n\t\t\t\treturn this.getDistance(linkDatum)\n\t\t\t});\n\t\t\tlinkForce.strength((linkDatum) => {\n\t\t\t\treturn this.getStrength(linkDatum)\n\t\t\t});\n\t\t}\n\t\tif (this._tick == this.get(\"showOnFrame\")) {\n\t\t\tthis.nodesContainer.setPrivate(\"visible\", true);\n\t\t\tthis.linksContainer.setPrivate(\"visible\", true);\n\t\t}\n\n\t\tlet d3Nodes = this.d3forceSimulation.nodes();\n\n\t\t$array.each(d3Nodes, (d3Node: any) => {\n\t\t\tconst dataItem = d3Node.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tnode.set(\"x\", d3Node.x);\n\t\t\tnode.set(\"y\", d3Node.y);\n\t\t})\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLinkWith(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst linkWith = dataItem.get(\"linkWith\");\n\t\t\tif (linkWith) {\n\t\t\t\t$array.each(linkWith, (id) => {\n\t\t\t\t\tconst linkWithDataItem = this._getDataItemById(this.dataItems, id);\n\n\t\t\t\t\tif (linkWithDataItem) {\n\t\t\t\t\t\tthis.linkDataItems(dataItem, linkWithDataItem, this.get(\"linkWithStrength\"));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tthis.updateLinkWith(children);\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected getDistance(linkDatum: any) {\n\t\tlet sourceDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.sourceDataItem;\n\t\tlet targetDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.targetDataItem;\n\n\t\tlet distance = 0;\n\n\t\tif (sourceDataItem && targetDataItem) {\n\n\t\t\tconst targetNode = targetDataItem.get(\"node\");\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet link = linkDatum.link;\n\t\t\tif (link) {\n\t\t\t\tdistance = link.get(\"distance\", 1);\n\t\t\t}\n\n\t\t\tconst sourceNode = sourceDataItem.get(\"node\");\n\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\tdistance = 1;\n\t\t\t}\n\n\t\t\treturn (distance * (sourceDataItem.get(\"circle\").get(\"radius\", 1) * sourceNode.get(\"scale\", 1) + targetDataItem.get(\"circle\").get(\"radius\", 1) * targetNode.get(\"scale\", 1)));\n\t\t}\n\t\treturn distance;\n\t}\n\n\t/**\n\t * @ignore\n\t * @todo description\n\t */\n\tprotected getStrength(linkDatum: any) {\n\t\tlet strength = 0;\n\n\t\tlet link = linkDatum.link;\n\t\tif (link) {\n\t\t\tstrength = link.get(\"strength\", 1);\n\t\t}\n\n\t\tconst targetDataItem = linkDatum.targetDataItem;\n\t\tstrength *= targetDataItem.get(\"node\").get(\"scale\");\n\n\t\treturn strength;\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\t\tthis._updateRadius(dataItem);\n\n\t\tconst x = dataItem.get(\"x\");\n\t\tconst y = dataItem.get(\"y\");\n\n\t\tconst d3Node = dataItem.get(\"d3ForceNode\");\n\n\t\tif (x != null) {\n\t\t\t(d3Node as any).fx = $utils.relativeToValue(x, this.innerWidth());\n\t\t}\n\n\t\tif (y != null) {\n\t\t\t(d3Node as any).fy = $utils.relativeToValue(y, this.innerHeight());\n\t\t}\n\t}\n\n\tprotected _updateRadius(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet size = (this.innerWidth() + this.innerHeight()) / 2;\n\n\t\tlet minRadius = $utils.relativeToValue(this.get(\"minRadius\", 1), size);\n\t\tlet maxRadius = $utils.relativeToValue(this.get(\"maxRadius\", 5), size);\n\n\t\tlet valueWorking = dataItem.get(\"sum\");\n\n\t\tlet radius = maxRadius;\n\n\t\tconst min = this.getPrivate(\"valueLow\", 0);\n\t\tconst max = this.getPrivate(\"valueHigh\", 0);\n\n\t\tif (max > 0) {\n\t\t\tradius = minRadius + (valueWorking - min) / (max - min) * (maxRadius - minRadius);\n\t\t}\n\n\t\tif (!$type.isNumber(radius)) {\n\t\t\tradius = minRadius;\n\t\t}\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tdataItem.get(\"circle\").animate({ key: \"radius\", to: radius, duration: duration, easing: easing });\n\t}\n\n\tprotected _processLink(link: HierarchyLink, source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3Link = { link: link, source: source.get(\"d3ForceNode\").index, target: target.get(\"d3ForceNode\").index, sourceDataItem: source, targetDataItem: target };\n\t\tthis._links.push(d3Link);\n\t\tlink.setPrivate(\"d3Link\", d3Link);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\tthis.d3forceSimulation.force(\"link\", this.linkForce);\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tsuper._disposeLink(link);\n\t\t$array.remove(this._links, link.getPrivate(\"d3Link\"));\n\t}\n\n\tprotected _handleUnlink() {\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _onDataClear() {\n\t\t\t\t\n\t\tsuper._onDataClear();\n\n\t\tthis._nodes = [];\n\t\tthis._links = [];\n\t}\t\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ForceDirected.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport type { HierarchyLink } from \"./HierarchyLink\";\nimport type * as d3Hierarchy from \"d3-hierarchy\";\n\nimport { LinkedHierarchy, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyPrivate, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as d3Force from \"d3-force\";\n\n/**\n * @ignore\n */\nexport interface IForceDirectedDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IForceDirectedDataObject[],\n\tdataItem?: DataItem<IForceDirectedDataItem>\n};\n\nexport interface IForceDirectedDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of data items of child nodes.\n\t */\n\tchildren: Array<DataItem<IForceDirectedDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<IForceDirectedDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3ForceNode: d3Force.SimulationNodeDatum;\n\n\t/**\n\t * X coordinate.\n\t */\n\tx: number;\n\n\t/**\n\t * Y coordinate.\n\t */\n\ty: number;\n\n}\n\nexport interface IForceDirectedSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Minimum gap in pixels between the nodes.\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to the center of the\n\t * chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tcenterStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to each other.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default -15\n\t */\n\tmanyBodyStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) nodes that are linked together\n\t * via `linkWithField`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tlinkWithStrength?: number | undefined;\n\n\t/**\n\t * Resistance acting agains node speed.\n\t *\n\t * The greater the value, the more \"sluggish\" the nodes will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tvelocityDecay?: number;\n\n\t/**\n\t * Length of how long initial force simulation would run in frames.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 500\n\t */\n\tinitialFrames?: number;\n\n\t/**\n\t * If set to a number will wait X number of frames before revealing\n\t * the tree.\n\t *\n\t * Can be used to hide initial animations where nodes settle into their\n\t * places.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 10\n\t */\n\tshowOnFrame?: number;\n\n\t/**\n\t * Smallest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 1%\n\t */\n\tminRadius?: number | Percent;\n\n\t/**\n\t * Biggest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 8%\n\t */\n\tmaxRadius?: number | Percent;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\txField?: string;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\tyField?: string;\n\n}\n\nexport interface IForceDirectedPrivate extends ILinkedHierarchyPrivate {\n}\n\nexport interface IForceDirectedEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Creates a force-directed tree.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/} for more info\n * @important\n */\nexport class ForceDirected extends LinkedHierarchy {\n\n\tprotected _tag: string = \"forcedirected\";\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly d3forceSimulation: d3Force.Simulation<{}, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceSimulation();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly collisionForce: d3Force.ForceCollide<d3Force.SimulationNodeDatum> = d3Force.forceCollide(20);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic linkForce: d3Force.ForceLink<d3Force.SimulationNodeDatum, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceLink();\n\n\tpublic static className: string = \"ForceDirected\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([ForceDirected.className]);\n\n\tdeclare public _settings: IForceDirectedSettings;\n\tdeclare public _privateSettings: IForceDirectedPrivate;\n\tdeclare public _dataItemSettings: IForceDirectedDataItem;\n\tdeclare public _events: IForceDirectedEvents;\n\n\tprotected _nodes: Array<any> = [];\n\tprotected _links: Array<any> = [];\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.d3forceSimulation.on(\"tick\", () => {\n\t\t\tthis._tick++;\n\t\t\tthis.updateNodePositions();\n\t\t});\n\t}\n\n\tprotected _tick: number = 0;\n\tprotected _nodesDirty: boolean = false;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"showOnFrame\")) {\n\t\t\tconst showOnFrame = this.get(\"showOnFrame\");\n\t\t\tif (showOnFrame > this._tick) {\n\t\t\t\tthis.nodesContainer.setPrivate(\"visible\", false);\n\t\t\t\tthis.linksContainer.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this.isDirty(\"velocityDecay\")) {\n\t\t\td3forceSimulation.velocityDecay(this.get(\"velocityDecay\", 0));\n\t\t}\n\n\t\tif (this.isDirty(\"initialFrames\")) {\n\t\t\td3forceSimulation.alphaDecay(1 - Math.pow(0.001, 1 / this.get(\"initialFrames\", 500)));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic restartSimulation(alpha: number): void {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\tif (d3forceSimulation.alpha() < alpha) {\n\t\t\td3forceSimulation.alpha(alpha);\n\t\t\td3forceSimulation.restart();\n\t\t}\n\t}\n\n\tpublic _handleRadiusChange() {\n\t\tthis._updateForces();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3ForceNode: any = { index: this._index, x: this.innerWidth() / 2, y: this.innerHeight() / 2, dataItem: dataItem };\n\t\tconst index = this._nodes.push(d3ForceNode) - 1;\n\t\td3ForceNode.index = index;\n\n\t\tthis.d3forceSimulation.nodes(this._nodes);\n\n\t\tdataItem.set(\"d3ForceNode\", d3ForceNode);\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.on(\"scale\", () => {\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\td3ForceNode.fx = node.x();\n\t\t\td3ForceNode.fy = node.y();\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragstop\", () => {\n\t\t\tif (dataItem.get(\"x\") == null) {\n\t\t\t\td3ForceNode.fx = undefined;\n\t\t\t}\n\t\t\tif (dataItem.get(\"y\") == null) {\n\t\t\t\td3ForceNode.fy = undefined;\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3Hierarchy.HierarchyNode<IForceDirectedDataObject>) {\n\t\tsuper._updateValues(d3HierarchyNode);\n\n\t\tthis._nodesDirty = true;\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"collision\", this.collisionForce);\n\t\td3forceSimulation.nodes(this._nodes);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\td3forceSimulation.force(\"link\", this.linkForce);\n\t}\n\n\tprotected _updateVisuals() {\n\t\tsuper._updateVisuals();\n\t\tthis.restartSimulation(1);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this._sizeDirty) {\n\t\t\tlet w = Math.max(50, this.innerWidth());\n\t\t\tlet h = Math.max(50, this.innerHeight());\n\t\t\tlet pt = this.get(\"paddingTop\", 0);\n\t\t\tlet pl = this.get(\"paddingLeft\", 0);\n\n\t\t\tlet centerStrength = this.get(\"centerStrength\", 1);\n\n\t\t\td3forceSimulation.force(\"x\", d3Force.forceX().x(w / 2 + pl).strength(centerStrength * 100 / w));\n\t\t\td3forceSimulation.force(\"y\", d3Force.forceY().y(h / 2 + pt).strength(centerStrength * 100 / h));\n\t\t}\n\n\t\tif (this._nodesDirty) {\n\t\t\tthis._updateForces();\n\t\t}\n\t}\n\n\tpublic _updateForces() {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"manybody\", d3Force.forceManyBody().strength((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet manyBodyStrength = this.get(\"manyBodyStrength\", -15);\n\n\t\t\tif(circle){\n\t\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}));\n\n\t\tthis.collisionForce.radius((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet outerCircle = dataItem.get(\"outerCircle\");\n\t\t\tif(circle && outerCircle){\n\t\t\t\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t\t}\n\n\t\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\t\treturn radius + this.get(\"nodePadding\", 0);\n\t\t\t}\n\t\t})\n\n\t\tthis.restartSimulation(1);\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._nodesDirty = false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateNodePositions() {\n\t\tconst linkForce = this.linkForce;\n\t\tif (linkForce) {\n\t\t\tlinkForce.distance((linkDatum) => {\n\t\t\t\treturn this.getDistance(linkDatum)\n\t\t\t});\n\t\t\tlinkForce.strength((linkDatum) => {\n\t\t\t\treturn this.getStrength(linkDatum)\n\t\t\t});\n\t\t}\n\t\tif (this._tick == this.get(\"showOnFrame\")) {\n\t\t\tthis.nodesContainer.setPrivate(\"visible\", true);\n\t\t\tthis.linksContainer.setPrivate(\"visible\", true);\n\t\t}\n\n\t\tlet d3Nodes = this.d3forceSimulation.nodes();\n\n\t\t$array.each(d3Nodes, (d3Node: any) => {\n\t\t\tconst dataItem = d3Node.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tnode.set(\"x\", d3Node.x);\n\t\t\tnode.set(\"y\", d3Node.y);\n\t\t})\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLinkWith(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst linkWith = dataItem.get(\"linkWith\");\n\t\t\tif (linkWith) {\n\t\t\t\t$array.each(linkWith, (id) => {\n\t\t\t\t\tconst linkWithDataItem = this._getDataItemById(this.dataItems, id);\n\n\t\t\t\t\tif (linkWithDataItem) {\n\t\t\t\t\t\tthis.linkDataItems(dataItem, linkWithDataItem, this.get(\"linkWithStrength\"));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tthis.updateLinkWith(children);\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected getDistance(linkDatum: any) {\n\t\tlet sourceDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.sourceDataItem;\n\t\tlet targetDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.targetDataItem;\n\n\t\tlet distance = 0;\n\n\t\tif (sourceDataItem && targetDataItem) {\n\n\t\t\tconst targetNode = targetDataItem.get(\"node\");\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet link = linkDatum.link;\n\t\t\tif (link) {\n\t\t\t\tdistance = link.get(\"distance\", 1);\n\t\t\t}\n\n\t\t\tconst sourceNode = sourceDataItem.get(\"node\");\n\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\tdistance = 1;\n\t\t\t}\n\n\t\t\treturn (distance * (sourceDataItem.get(\"circle\").get(\"radius\", 1) * sourceNode.get(\"scale\", 1) + targetDataItem.get(\"circle\").get(\"radius\", 1) * targetNode.get(\"scale\", 1)));\n\t\t}\n\t\treturn distance;\n\t}\n\n\t/**\n\t * @ignore\n\t * @todo description\n\t */\n\tprotected getStrength(linkDatum: any) {\n\t\tlet strength = 0;\n\n\t\tlet link = linkDatum.link;\n\t\tif (link) {\n\t\t\tstrength = link.get(\"strength\", 1);\n\t\t}\n\n\t\tconst targetDataItem = linkDatum.targetDataItem;\n\t\tstrength *= targetDataItem.get(\"node\").get(\"scale\");\n\n\t\treturn strength;\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\t\tthis._updateRadius(dataItem);\n\n\t\tconst x = dataItem.get(\"x\");\n\t\tconst y = dataItem.get(\"y\");\n\n\t\tconst d3Node = dataItem.get(\"d3ForceNode\");\n\n\t\tif (x != null) {\n\t\t\t(d3Node as any).fx = $utils.relativeToValue(x, this.innerWidth());\n\t\t}\n\n\t\tif (y != null) {\n\t\t\t(d3Node as any).fy = $utils.relativeToValue(y, this.innerHeight());\n\t\t}\n\t}\n\n\tprotected _updateRadius(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet size = (this.innerWidth() + this.innerHeight()) / 2;\n\n\t\tlet minRadius = $utils.relativeToValue(this.get(\"minRadius\", 1), size);\n\t\tlet maxRadius = $utils.relativeToValue(this.get(\"maxRadius\", 5), size);\n\n\t\tlet valueWorking = dataItem.get(\"sum\");\n\n\t\tlet radius = maxRadius;\n\n\t\tconst min = this.getPrivate(\"valueLow\", 0);\n\t\tconst max = this.getPrivate(\"valueHigh\", 0);\n\n\t\tif (max > 0) {\n\t\t\tradius = minRadius + (valueWorking - min) / (max - min) * (maxRadius - minRadius);\n\t\t}\n\n\t\tif (!$type.isNumber(radius)) {\n\t\t\tradius = minRadius;\n\t\t}\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tdataItem.get(\"circle\").animate({ key: \"radius\", to: radius, duration: duration, easing: easing });\n\t}\n\n\tprotected _processLink(link: HierarchyLink, source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3Link = { link: link, source: source.get(\"d3ForceNode\").index, target: target.get(\"d3ForceNode\").index, sourceDataItem: source, targetDataItem: target };\n\t\tthis._links.push(d3Link);\n\t\tlink.setPrivate(\"d3Link\", d3Link);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\tthis.d3forceSimulation.force(\"link\", this.linkForce);\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tsuper._disposeLink(link);\n\t\t$array.remove(this._links, link.getPrivate(\"d3Link\"));\n\t}\n\n\tprotected _handleUnlink() {\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _onDataClear() {\n\t\t\t\t\n\t\tsuper._onDataClear();\n\n\t\tthis._nodes = [];\n\t\tthis._links = [];\n\t}\t\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKnH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAE1D;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAE1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IAEtD;;OAEG;IACH,gBAAgB,EAAE,EAAE,CAAC;CAErB;AAED;;GAEG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC7C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmD;IAE3E,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAM;IAEpD,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAM;IACjD,SAAS,CAAC,cAAc,EAAE,OAAO,CAAS;IAE1C,SAAS,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"MapSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKnH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAE1D;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAE1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IAEtD;;OAEG;IACH,gBAAgB,EAAE,EAAE,CAAC;CAErB;AAED;;GAEG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC7C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmD;IAE3E,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAM;IAEpD,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAM;IACjD,SAAS,CAAC,cAAc,EAAE,OAAO,CAAS;IAE1C,SAAS,CAAC,SAAS;IAgBZ,gBAAgB;IAmBvB,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,OAAO;IAoB5G,SAAS,CAAC,aAAa;IAsFvB;;OAEG;aACa,mBAAmB,IAAI,IAAI;IAEpC,sBAAsB,CAAC,MAAM,EAAE,QAAQ;IAIvC,uBAAuB;IAI9B;;OAEG;IACI,UAAU,IAAI,aAAa,GAAG,SAAS;IAO9C;;OAEG;IACI,OAAO,IAAI,OAAO,GAAG,SAAS;IAOrC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;IAWpC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG;IAWvC,SAAS,CAAC,QAAQ;CAQlB"}
|
|
@@ -34,10 +34,17 @@ var MapSeries = /** @class */ (function (_super) {
|
|
|
34
34
|
configurable: true,
|
|
35
35
|
writable: true,
|
|
36
36
|
value: function () {
|
|
37
|
+
var _this = this;
|
|
37
38
|
this.fields.push("geometry", "geometryType");
|
|
38
39
|
this._setRawDefault("geometryField", "geometry");
|
|
39
40
|
this._setRawDefault("geometryTypeField", "geometryType");
|
|
40
41
|
this._setRawDefault("idField", "id");
|
|
42
|
+
this.on("geoJSON", function (geoJSON) {
|
|
43
|
+
var previous = _this._prevSettings.geoJSON;
|
|
44
|
+
if (previous && previous != geoJSON) {
|
|
45
|
+
_this.data.clear();
|
|
46
|
+
}
|
|
47
|
+
});
|
|
41
48
|
_super.prototype._afterNew.call(this);
|
|
42
49
|
}
|
|
43
50
|
});
|
|
@@ -53,7 +60,6 @@ var MapSeries = /** @class */ (function (_super) {
|
|
|
53
60
|
if (previous && previous != geoJSON) {
|
|
54
61
|
this._prevSettings.geoJSON = undefined;
|
|
55
62
|
this._geoJSONparsed = false;
|
|
56
|
-
this.data.clear();
|
|
57
63
|
}
|
|
58
64
|
if (!this._geoJSONparsed) {
|
|
59
65
|
this._parseGeoJSON();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapSeries.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,MAAM,EAAmE,MAAM,0BAA0B,CAAC;AAEnH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAyDlD;;GAEG;AACH;IAAwC,6BAAM;IAA9C;QAAA,qEAqNC;QA3MA;;;;mBAAwD,EAAE;WAAC;QAE3D;;;;mBAA8C,EAAE;WAAC;QACjD;;;;mBAAoC,KAAK;WAAC;;IAwM3C,CAAC;;;;;eAtMA;YACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAErC,iBAAM,SAAS,WAAE,CAAC;QACnB,CAAC;;;;;;eAED;YACC,iBAAM,gBAAgB,WAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACvG,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBAE1C,IAAI,QAAQ,IAAI,QAAQ,IAAI,OAAO,EAAE;oBACpC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;oBACvC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;iBAClB;gBAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACzB,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;iBAC3B;aACD;QACF,CAAC;;;;;;eAED,UAAuB,EAAU,EAAE,QAA8B,EAAE,QAA+B;YACjG,IAAI,QAAQ,EAAE;gBACb,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;oBACzB,OAAO,KAAK,CAAC;iBACb;qBACI;oBACJ,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC/B,OAAO,KAAK,CAAC;qBACb;iBACD;aACD;YAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpC,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;oBAC/B,OAAO,KAAK,CAAC;iBACb;aACD;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;;;;eAED;YAEC,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,OAAO,EAAE;gBAEZ,IAAI,QAAQ,SAAQ,CAAC;gBAErB,IAAI,OAAO,CAAC,IAAI,IAAI,mBAAmB,EAAE;oBACxC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;iBAC5B;qBACI,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE;oBACnC,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC;iBACrB;qBACI,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;oBACzH,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;iBACnC;qBACI;oBACJ,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;iBACxC;gBAED,IAAI,QAAQ,EAAE;4CAEJ,CAAC,EAAM,GAAG;wBAClB,IAAI,OAAO,GAAQ,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC/B,IAAI,QAAQ,GAAQ,OAAO,CAAC,QAAQ,CAAC;wBAErC,IAAI,QAAQ,EAAE;4BACb,IAAI,MAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;4BACzB,IAAI,IAAE,GAAW,OAAO,CAAC,EAAE,CAAC;4BAE5B,QAAQ;4BACR,+DAA+D;4BAC/D,yDAAyD;4BACzD,GAAG;4BAEH,IAAI,OAAK,MAAM,CAAC,OAAO,CAAC,MAAI,CAAC,IAAI,CAAC,CAAC,EAAE;gCACpC,IAAI,CAAC,OAAK,YAAY,CAAC,IAAE,EAAE,OAAK,GAAG,CAAC,SAAS,CAAC,EAAE,OAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE;;iCAErE;gCAED,IAAI,QAAQ,SAAK,CAAC;gCAElB,IAAI,IAAE,IAAI,IAAI,EAAE;oCACf,yCAAyC;oCACzC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAK,SAAS,EAAE,UAAC,KAAU;wCACjD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAE,CAAC;oCAC9B,CAAC,CAAC,CAAA;iCACF;gCAED,IAAI,UAAU,SAAK,CAAC;gCAEpB,IAAI,QAAQ,EAAE;oCACb,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC;iCAClC;gCAED,0BAA0B;gCAC1B,IAAI,CAAC,QAAQ,EAAE;oCACd,UAAU,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAI,EAAE,EAAE,EAAE,IAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;oCACvF,OAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iCAC3B;gCACD,gBAAgB;qCACX;oCACJ,wEAAwE;oCACxE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;wCACzB,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;wCAC/B,UAAU,CAAC,YAAY,GAAG,MAAI,CAAC;wCAC/B,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wCACnC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,MAAI,CAAC,CAAC;wCACnC,OAAK,eAAe,CAAC,QAAQ,CAAC,CAAC;qCAC/B;iCACD;gCAED,sCAAsC;gCACtC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;6BAC3D;yBACD;;;oBArDF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;gCAA1C,CAAC,EAAM,GAAG;qBAsDlB;iBACD;gBAED,IAAM,IAAI,GAAG,kBAAkB,CAAC;gBAChC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzD;aACD;QACF,CAAC;;;;;;eAOD,UAA8B,MAAgB;YAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;;;;;;eAED;QAEA,CAAC;;IAED;;OAEG;;;;;eACH;YACC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,EAAE;gBACV,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAC/B;QACF,CAAC;;IAED;;OAEG;;;;;eACH;YACC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,EAAE;gBACV,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aACnC;QACF,CAAC;;;;;;eAED,UAAuB,QAAa;YACnC,IAAI,QAAQ,EAAE;gBACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEhC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,KAAK,EAAE;oBACV,KAAK,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;aACD;QACF,CAAC;;;;;;eAED,UAA0B,QAAa;YACtC,IAAI,QAAQ,EAAE;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAE1C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,KAAK,EAAE;oBACV,KAAK,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;aACD;QACF,CAAC;;;;;;eAED;YACC,iBAAM,QAAQ,WAAE,CAAC;YAEjB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,EAAE;gBACV,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC/B;QACF,CAAC;;IAnND;;;;eAAkC,WAAW;OAAC;IAC9C;;;;eAA0C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;OAAC;IAmN3F,gBAAC;CAAA,AArND,CAAwC,MAAM,GAqN7C;SArNqB,SAAS","sourcesContent":["import type { MapChart } from \"./MapChart\";\nimport type { GeoProjection, GeoPath } from \"d3-geo\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nexport interface IMapSeriesDataItem extends ISeriesDataItem {\n\tgeometry?: GeoJSON.Geometry;\n\tgeometryType?: GeoJSON.GeoJsonGeometryTypes;\n\tvalue?: number;\n}\n\nexport interface IMapSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * Map data in GeoJSON format.\n\t */\n\tgeoJSON?: GeoJSON.GeoJSON;\n\n\t/**\n\t * An array of map object ids from geodata to include in the map.\n\t *\n\t * If set, only those objects listed in `include` will be shown.\n\t */\n\tinclude?: Array<string>;\n\n\t/**\n\t * An array of map object ids from geodata to omit when showing the map.\n\t */\n\texclude?: Array<string>;\n\n\t/**\n\t * A field in series `data` that will hold map object's numeric value.\n\t *\n\t * It can be used in a number of places, e.g. tooltips, heat rules, etc.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * @ignore\n\t */\n\tgeometryField?: string;\n\n\t/**\n\t * @ignore\n\t */\n\tgeometryTypeField?: string;\n}\n\nexport interface IMapSeriesPrivate extends ISeriesPrivate {\n}\n\nexport interface IMapSeriesEvents extends ISeriesEvents {\n\n\t/**\n\t * Invoked when geodata is finished loading and processed.\n\t */\n\tgeodataprocessed: {};\n\n}\n\n/**\n * Base class for map series.\n */\nexport abstract class MapSeries extends Series {\n\tpublic static className: string = \"MapSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([MapSeries.className]);\n\n\tdeclare public chart: MapChart | undefined;\n\tdeclare public _settings: IMapSeriesSettings;\n\tdeclare public _privateSettings: IMapSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapSeriesDataItem;\n\tdeclare public _events: IMapSeriesEvents;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [];\n\n\tpublic _geometries: Array<GeoJSON.Geometry> = [];\n\tprotected _geoJSONparsed: boolean = false;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"geometry\", \"geometryType\");\n\t\tthis._setRawDefault(\"geometryField\", \"geometry\");\n\t\tthis._setRawDefault(\"geometryTypeField\", \"geometryType\");\n\t\tthis._setRawDefault(\"idField\", \"id\");\n\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty || this.isDirty(\"geoJSON\") || this.isDirty(\"include\") || this.isDirty(\"exclude\")) {\n\t\t\tconst geoJSON = this.get(\"geoJSON\");\n\t\t\tlet previous = this._prevSettings.geoJSON;\n\n\t\t\tif (previous && previous != geoJSON) {\n\t\t\t\tthis._prevSettings.geoJSON = undefined;\n\t\t\t\tthis._geoJSONparsed = false;\n\t\t\t\tthis.data.clear();\n\t\t\t}\n\n\t\t\tif (!this._geoJSONparsed) {\n\t\t\t\tthis._parseGeoJSON();\n\t\t\t\tthis._geoJSONparsed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected checkInclude(id: string, includes: string[] | undefined, excludes?: string[] | undefined): boolean {\n\t\tif (includes) {\n\t\t\tif (includes.length == 0) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (includes.indexOf(id) == -1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (excludes && excludes.length > 0) {\n\t\t\tif (excludes.indexOf(id) != -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected _parseGeoJSON() {\n\n\t\tconst geoJSON = this.get(\"geoJSON\");\n\t\tif (geoJSON) {\n\n\t\t\tlet features!: any[];\n\n\t\t\tif (geoJSON.type == \"FeatureCollection\") {\n\t\t\t\tfeatures = geoJSON.features;\n\t\t\t}\n\t\t\telse if (geoJSON.type == \"Feature\") {\n\t\t\t\tfeatures = [geoJSON];\n\t\t\t}\n\t\t\telse if ([\"Point\", \"LineString\", \"Polygon\", \"MultiPoint\", \"MultiLineString\", \"MultiPolygon\"].indexOf(geoJSON.type) != -1) {\n\t\t\t\tfeatures = [{ geometry: geoJSON }];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.log(\"nothing found in geoJSON\");\n\t\t\t}\n\n\t\t\tif (features) {\n\n\t\t\t\tfor (let i = 0, len = features.length; i < len; i++) {\n\t\t\t\t\tlet feature: any = features[i];\n\t\t\t\t\tlet geometry: any = feature.geometry;\n\n\t\t\t\t\tif (geometry) {\n\t\t\t\t\t\tlet type = geometry.type;\n\t\t\t\t\t\tlet id: string = feature.id;\n\n\t\t\t\t\t\t// @todo\n\t\t\t\t\t\t//if (this.chart.geodataNames && this.chart.geodataNames[id]) {\n\t\t\t\t\t\t//\tfeature.properties.name = this.chart.geodataNames[id];\n\t\t\t\t\t\t//}\n\n\t\t\t\t\t\tif (this._types.indexOf(type) != -1) {\n\t\t\t\t\t\t\tif (!this.checkInclude(id, this.get(\"include\"), this.get(\"exclude\"))) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet dataItem: any;\n\n\t\t\t\t\t\t\tif (id != null) {\n\t\t\t\t\t\t\t\t// find data object in user-provided data\n\t\t\t\t\t\t\t\tdataItem = $array.find(this.dataItems, (value: any) => {\n\t\t\t\t\t\t\t\t\treturn value.get(\"id\") == id;\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet dataObject: any;\n\n\t\t\t\t\t\t\tif (dataItem) {\n\t\t\t\t\t\t\t\tdataObject = dataItem.dataContext;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// create one if not found\n\t\t\t\t\t\t\tif (!dataItem) {\n\t\t\t\t\t\t\t\tdataObject = { geometry: geometry, geometryType: type, id: id, madeFromGeoData: true };\n\t\t\t\t\t\t\t\tthis.data.push(dataObject);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// in case found\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// if user-provided object doesn't have points data provided in any way:\n\t\t\t\t\t\t\t\tif (!dataObject.geometry) {\n\t\t\t\t\t\t\t\t\tdataObject.geometry = geometry;\n\t\t\t\t\t\t\t\t\tdataObject.geometryType = type;\n\t\t\t\t\t\t\t\t\tdataItem.set(\"geometry\", geometry);\n\t\t\t\t\t\t\t\t\tdataItem.set(\"geometryType\", type);\n\t\t\t\t\t\t\t\t\tthis.processDataItem(dataItem);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// copy properties data to datacontext\n\t\t\t\t\t\t\t$object.softCopyProperties(feature.properties, dataObject);\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 type = \"geodataprocessed\";\n\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract markDirtyProjection(): void\n\n\tpublic _placeBulletsContainer(_chart: MapChart) {\n\t\tthis.children.moveValue(this.bulletsContainer);\n\t}\n\n\tpublic _removeBulletsContainer() {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic projection(): GeoProjection | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.get(\"projection\");\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic geoPath(): GeoPath | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.getPrivate(\"geoPath\");\n\t\t}\n\t}\n\n\tprotected _addGeometry(geometry: any) {\n\t\tif (geometry) {\n\t\t\tthis._geometries.push(geometry);\n\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.markDirtyGeometries();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _removeGeometry(geometry: any) {\n\t\tif (geometry) {\n\t\t\t$array.remove(this._geometries, geometry);\n\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.markDirtyGeometries();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.removeValue(this);\n\t\t}\n\t}\t\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MapSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MapChart } from \"./MapChart\";\nimport type { GeoProjection, GeoPath } from \"d3-geo\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nexport interface IMapSeriesDataItem extends ISeriesDataItem {\n\tgeometry?: GeoJSON.Geometry;\n\tgeometryType?: GeoJSON.GeoJsonGeometryTypes;\n\tvalue?: number;\n}\n\nexport interface IMapSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * Map data in GeoJSON format.\n\t */\n\tgeoJSON?: GeoJSON.GeoJSON;\n\n\t/**\n\t * An array of map object ids from geodata to include in the map.\n\t *\n\t * If set, only those objects listed in `include` will be shown.\n\t */\n\tinclude?: Array<string>;\n\n\t/**\n\t * An array of map object ids from geodata to omit when showing the map.\n\t */\n\texclude?: Array<string>;\n\n\t/**\n\t * A field in series `data` that will hold map object's numeric value.\n\t *\n\t * It can be used in a number of places, e.g. tooltips, heat rules, etc.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * @ignore\n\t */\n\tgeometryField?: string;\n\n\t/**\n\t * @ignore\n\t */\n\tgeometryTypeField?: string;\n}\n\nexport interface IMapSeriesPrivate extends ISeriesPrivate {\n}\n\nexport interface IMapSeriesEvents extends ISeriesEvents {\n\n\t/**\n\t * Invoked when geodata is finished loading and processed.\n\t */\n\tgeodataprocessed: {};\n\n}\n\n/**\n * Base class for map series.\n */\nexport abstract class MapSeries extends Series {\n\tpublic static className: string = \"MapSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([MapSeries.className]);\n\n\tdeclare public chart: MapChart | undefined;\n\tdeclare public _settings: IMapSeriesSettings;\n\tdeclare public _privateSettings: IMapSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapSeriesDataItem;\n\tdeclare public _events: IMapSeriesEvents;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [];\n\n\tpublic _geometries: Array<GeoJSON.Geometry> = [];\n\tprotected _geoJSONparsed: boolean = false;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"geometry\", \"geometryType\");\n\t\tthis._setRawDefault(\"geometryField\", \"geometry\");\n\t\tthis._setRawDefault(\"geometryTypeField\", \"geometryType\");\n\t\tthis._setRawDefault(\"idField\", \"id\");\n\n\t\tthis.on(\"geoJSON\", (geoJSON) => {\n\t\t\tlet previous = this._prevSettings.geoJSON;\n\t\t\tif (previous && previous != geoJSON) {\n\t\t\t\tthis.data.clear();\n\t\t\t}\n\t\t})\n\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty || this.isDirty(\"geoJSON\") || this.isDirty(\"include\") || this.isDirty(\"exclude\")) {\n\t\t\tconst geoJSON = this.get(\"geoJSON\");\n\t\t\tlet previous = this._prevSettings.geoJSON;\n\n\t\t\tif (previous && previous != geoJSON) {\n\t\t\t\tthis._prevSettings.geoJSON = undefined;\n\t\t\t\tthis._geoJSONparsed = false;\n\t\t\t}\n\n\t\t\tif (!this._geoJSONparsed) {\n\t\t\t\tthis._parseGeoJSON();\n\t\t\t\tthis._geoJSONparsed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected checkInclude(id: string, includes: string[] | undefined, excludes?: string[] | undefined): boolean {\n\t\tif (includes) {\n\t\t\tif (includes.length == 0) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (includes.indexOf(id) == -1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (excludes && excludes.length > 0) {\n\t\t\tif (excludes.indexOf(id) != -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected _parseGeoJSON() {\n\n\t\tconst geoJSON = this.get(\"geoJSON\");\n\t\tif (geoJSON) {\n\n\t\t\tlet features!: any[];\n\n\t\t\tif (geoJSON.type == \"FeatureCollection\") {\n\t\t\t\tfeatures = geoJSON.features;\n\t\t\t}\n\t\t\telse if (geoJSON.type == \"Feature\") {\n\t\t\t\tfeatures = [geoJSON];\n\t\t\t}\n\t\t\telse if ([\"Point\", \"LineString\", \"Polygon\", \"MultiPoint\", \"MultiLineString\", \"MultiPolygon\"].indexOf(geoJSON.type) != -1) {\n\t\t\t\tfeatures = [{ geometry: geoJSON }];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.log(\"nothing found in geoJSON\");\n\t\t\t}\n\n\t\t\tif (features) {\n\n\t\t\t\tfor (let i = 0, len = features.length; i < len; i++) {\n\t\t\t\t\tlet feature: any = features[i];\n\t\t\t\t\tlet geometry: any = feature.geometry;\n\n\t\t\t\t\tif (geometry) {\n\t\t\t\t\t\tlet type = geometry.type;\n\t\t\t\t\t\tlet id: string = feature.id;\n\n\t\t\t\t\t\t// @todo\n\t\t\t\t\t\t//if (this.chart.geodataNames && this.chart.geodataNames[id]) {\n\t\t\t\t\t\t//\tfeature.properties.name = this.chart.geodataNames[id];\n\t\t\t\t\t\t//}\n\n\t\t\t\t\t\tif (this._types.indexOf(type) != -1) {\n\t\t\t\t\t\t\tif (!this.checkInclude(id, this.get(\"include\"), this.get(\"exclude\"))) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet dataItem: any;\n\n\t\t\t\t\t\t\tif (id != null) {\n\t\t\t\t\t\t\t\t// find data object in user-provided data\n\t\t\t\t\t\t\t\tdataItem = $array.find(this.dataItems, (value: any) => {\n\t\t\t\t\t\t\t\t\treturn value.get(\"id\") == id;\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet dataObject: any;\n\n\t\t\t\t\t\t\tif (dataItem) {\n\t\t\t\t\t\t\t\tdataObject = dataItem.dataContext;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// create one if not found\n\t\t\t\t\t\t\tif (!dataItem) {\n\t\t\t\t\t\t\t\tdataObject = { geometry: geometry, geometryType: type, id: id, madeFromGeoData: true };\n\t\t\t\t\t\t\t\tthis.data.push(dataObject);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// in case found\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// if user-provided object doesn't have points data provided in any way:\n\t\t\t\t\t\t\t\tif (!dataObject.geometry) {\n\t\t\t\t\t\t\t\t\tdataObject.geometry = geometry;\n\t\t\t\t\t\t\t\t\tdataObject.geometryType = type;\n\t\t\t\t\t\t\t\t\tdataItem.set(\"geometry\", geometry);\n\t\t\t\t\t\t\t\t\tdataItem.set(\"geometryType\", type);\n\t\t\t\t\t\t\t\t\tthis.processDataItem(dataItem);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// copy properties data to datacontext\n\t\t\t\t\t\t\t$object.softCopyProperties(feature.properties, dataObject);\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 type = \"geodataprocessed\";\n\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract markDirtyProjection(): void\n\n\tpublic _placeBulletsContainer(_chart: MapChart) {\n\t\tthis.children.moveValue(this.bulletsContainer);\n\t}\n\n\tpublic _removeBulletsContainer() {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic projection(): GeoProjection | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.get(\"projection\");\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic geoPath(): GeoPath | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.getPrivate(\"geoPath\");\n\t\t}\n\t}\n\n\tprotected _addGeometry(geometry: any) {\n\t\tif (geometry) {\n\t\t\tthis._geometries.push(geometry);\n\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.markDirtyGeometries();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _removeGeometry(geometry: any) {\n\t\tif (geometry) {\n\t\t\t$array.remove(this._geometries, geometry);\n\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.markDirtyGeometries();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.removeValue(this);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadarCursor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarCursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQhG,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAE9D;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAK1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;CAC1D;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACxC,OAAc,SAAS,EAAE,MAAM,CAAiB;IAChD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAE/E,SAAS,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,OAAO,EAAE,kBAAkB,CAAC;IAE3C;;OAEG;IACY,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAE7C,SAAS,CAAC,cAAc,mEAAS;IAEjC,SAAS,CAAC,SAAS;IAMnB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"RadarCursor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarCursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQhG,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAE9D;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAK1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;CAC1D;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACxC,OAAc,SAAS,EAAE,MAAM,CAAiB;IAChD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAE/E,SAAS,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,OAAO,EAAE,kBAAkB,CAAC;IAE3C;;OAEG;IACY,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAE7C,SAAS,CAAC,cAAc,mEAAS;IAEjC,SAAS,CAAC,SAAS;IAMnB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkC7C,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAajE;;OAEG;IACI,YAAY;IAsBnB,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAS3C,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAWzC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAQzC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO;IAQvC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO;IAQvC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASzC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;CAsDxC"}
|
|
@@ -64,6 +64,12 @@ var RadarCursor = /** @class */ (function (_super) {
|
|
|
64
64
|
if (xPos < 0) {
|
|
65
65
|
xPos = 1 + xPos;
|
|
66
66
|
}
|
|
67
|
+
if (xPos < 0.003) {
|
|
68
|
+
xPos = 0;
|
|
69
|
+
}
|
|
70
|
+
if (xPos > 0.997) {
|
|
71
|
+
xPos = 1;
|
|
72
|
+
}
|
|
67
73
|
return { x: xPos, y: (radius - innerRadius) / (this.getPrivate("radius") - innerRadius) };
|
|
68
74
|
}
|
|
69
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadarCursor.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarCursor.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,QAAQ,EAAwD,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAwChD;;;;GAIG;AACH;IAAiC,+BAAQ;IAAzC;QAAA,qEAuMC;QA1LA;;;;mBAA2B,GAAG,EAAE;WAAC;;IA0LlC,CAAC;;;;;eAxLA;YACC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAE3F,iBAAM,SAAS,WAAE,CAAC;QACnB,CAAC;;;;;;eAED;QAEA,CAAC;;;;;;eAED;QAEA,CAAC;;;;;;eAED,UAAuB,KAAa;YACnC,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/E,IAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YACrE,IAAI,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjE,IAAI,QAAQ,GAAG,UAAU,IAAI,QAAQ,IAAI,UAAU,EAAE;gBACpD,IAAI,KAAK,GAAG,UAAU,EAAE;oBACvB,KAAK,IAAI,GAAG,CAAA;iBACZ;gBAED,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC;aAC1B;YAED,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;YAE1D,IAAI,IAAI,GAAG,CAAC,EAAE;gBACb,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;aAChB;YAED,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;QAC3F,CAAC;;;;;;eAED,UAAoB,SAAiB,EAAE,SAAiB;YAEvD,IAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACnD,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjD,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAM,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;YAC/D,IAAM,CAAC,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;YAE3D,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,CAAC;;IAED;;OAEG;;;;;eACH;YACC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,EAAE;gBACV,IAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAE7C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBAEpF,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC9G,IAAI,WAAW,GAAG,CAAC,EAAE;oBACpB,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;iBACnC;gBAED,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;gBAE5C,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;gBAEhE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACtC;QACF,CAAC;;;;;;eAED,UAAuB,CAAS,EAAE,CAAS;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;QACF,CAAC;;;;;;eAED,UAAqB,CAAS,EAAE,CAAS;YACxC,IAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACnD,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;gBAC9B,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED,UAAqB,CAAS,EAAE,CAAS;YAAzC,iBAMC;YALA,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;gBAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,KAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YACrI,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED,UAAuB,OAAgB;YACtC,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE;gBACV,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAClC;QACF,CAAC;;;;;;eAED,UAAuB,OAAgB;YACtC,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAClC,IAAI,KAAK,EAAE;gBACV,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAClC;QACF,CAAC;;;;;;eAED,UAAkB,KAAa;YAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,IAAI,KAAK,EAAE;gBACV,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;aACtF;YACD,OAAO,KAAK,CAAC;QACd,CAAC;;;;;;eAED,UAA2B,KAAa;YAAxC,iBAqDC;YAnDA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;;gBAClC,IAAM,QAAQ,GAAG,KAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAEtC,IAAM,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC;gBAClC,IAAM,gBAAgB,GAAG,KAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACvD,IAAM,cAAc,GAAG,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,YAAY,GAAG,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,iBAAiB,GAAG,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAEvD,IAAI,YAAY,GAAG,iBAAiB,EAAE;oBACrC,KAAA,OAAoC,CAAC,iBAAiB,EAAE,YAAY,CAAC,IAAA,EAApE,YAAY,QAAA,EAAE,iBAAiB,QAAA,CAAsC;iBACtE;gBAED,IAAI,UAAU,GAAG,gBAAgB,CAAC;gBAClC,IAAI,QAAQ,GAAG,cAAc,CAAC;gBAC9B,IAAI,MAAM,GAAG,YAAY,CAAC;gBAC1B,IAAI,WAAW,GAAG,iBAAiB,CAAC;gBAEpC,IAAI,SAAS,EAAE;oBACd,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,UAAU,EAAE;wBACnD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;wBAClE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;wBACxD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBACnD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;qBACtC;yBACI,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,IAAI,SAAS,EAAE;wBACtD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;wBAClE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;qBACxD;yBACI,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,IAAI,SAAS,EAAE;wBACtD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBACnD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;qBACtC;iBACD;gBAED,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;gBAC7E,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;gBAEnE,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBACjF,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBAE7E,IAAI,UAAU,IAAI,QAAQ,EAAE;oBAC3B,QAAQ,GAAG,UAAU,GAAG,GAAG,CAAC;iBAC5B;gBAED,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC;gBAC5B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;gBAE1B,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC;gBAC5C,KAAI,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAChJ,CAAC,CAAC,CAAA;QACH,CAAC;;IArMD;;;;eAAkC,aAAa;OAAC;IAChD;;;;eAA0C,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;OAAC;IAqM/F,kBAAC;CAAA,AAvMD,CAAiC,QAAQ,GAuMxC;SAvMY,WAAW","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\nimport type { RadarChart } from \"./RadarChart\"\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\n\nimport { XYCursor, IXYCursorSettings, IXYCursorPrivate, IXYCursorEvents } from \"../xy/XYCursor\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { arc } from \"d3-shape\";\n\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\n\nexport interface IRadarCursorSettings extends IXYCursorSettings {\n\n\t/**\n\t * Cursor's inner radius.\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * Cursor's inner radius.\n\t */\n\tradius?: number | Percent;\n\n\t//xAxis?: Axis<AxisRendererCircular>;\n\t//yAxis?: Axis<AxisRendererRadial>;\n\n\t/**\n\t * Cursor's position angle in degrees.\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * Cursor's selection end angle in degrees.\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IRadarCursorPrivate extends IXYCursorPrivate {\n\tinnerRadius: number;\n\tradius: number;\n\tstartAngle: number;\n\tendAngle: number;\n}\n\nexport interface IRadarCursorEvents extends IXYCursorEvents {\n}\n\n/**\n * Creates a cursor for a [[RadarChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Cursor} for more info\n */\nexport class RadarCursor extends XYCursor {\n\tpublic static className: string = \"RadarCursor\";\n\tpublic static classNames: Array<string> = XYCursor.classNames.concat([RadarCursor.className]);\n\n\tdeclare public _settings: IRadarCursorSettings;\n\tdeclare public _privateSettings: IRadarCursorPrivate;\n\tdeclare public _events: IRadarCursorEvents;\n\n\t/**\n\t * A chart cursor is attached to.\n\t */\n\tdeclare public chart: RadarChart | undefined;\n\n\tprotected _fillGenerator = arc();\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"radar\", \"cursor\"]);\n\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _handleXLine() {\n\n\t}\n\n\tprotected _handleYLine() {\n\n\t}\n\n\tprotected _getPosition(point: IPoint): IPoint {\n\t\tconst radius = Math.hypot(point.x, point.y);\n\t\tlet angle = $math.normalizeAngle(Math.atan2(point.y, point.x) * $math.DEGREES);\n\t\tconst innerRadius = this.getPrivate(\"innerRadius\");\n\n\t\tlet startAngle = $math.normalizeAngle(this.getPrivate(\"startAngle\"));\n\t\tlet endAngle = $math.normalizeAngle(this.getPrivate(\"endAngle\"));\n\n\t\tif (endAngle < startAngle || endAngle == startAngle) {\n\t\t\tif (angle < startAngle) {\n\t\t\t\tangle += 360\n\t\t\t}\n\n\t\t\tendAngle = endAngle + 360;\n\t\t}\n\n\t\tlet xPos = (angle - startAngle) / (endAngle - startAngle);\n\n\t\tif (xPos < 0) {\n\t\t\txPos = 1 + xPos;\n\t\t}\n\n\t\treturn { x: xPos, y: (radius - innerRadius) / (this.getPrivate(\"radius\") - innerRadius) };\n\t}\n\n\tprotected _getPoint(positionX: number, positionY: number): IPoint {\n\n\t\tconst innerRadius = this.getPrivate(\"innerRadius\");\n\t\tconst startAngle = this.getPrivate(\"startAngle\");\n\t\tconst endAngle = this.getPrivate(\"endAngle\");\n\t\tconst radius = this.getPrivate(\"radius\");\n\n\t\tconst angle = startAngle + positionX * (endAngle - startAngle);\n\t\tconst r = innerRadius + (radius - innerRadius) * positionY;\n\n\t\treturn { x: r * $math.cos(angle), y: r * $math.sin(angle) };\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLayout() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst radius = chart.getPrivate(\"radius\", 0);\n\n\t\t\tthis.setPrivate(\"radius\", $utils.relativeToValue(this.get(\"radius\", p100), radius));\n\n\t\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", chart.getPrivate(\"innerRadius\", 0)), radius);\n\t\t\tif (innerRadius < 0) {\n\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t}\n\n\t\t\tthis.setPrivate(\"innerRadius\", innerRadius);\n\n\t\t\tlet startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\tlet endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\n\t\t\tthis.setPrivate(\"startAngle\", startAngle);\n\t\t\tthis.setPrivate(\"endAngle\", endAngle);\n\t\t}\n\t}\n\n\tprotected _updateLines(x: number, y: number) {\n\t\tif (!this._tooltipX) {\n\t\t\tthis._drawXLine(x, y);\n\t\t}\n\t\tif (!this._tooltipY) {\n\t\t\tthis._drawYLine(x, y);\n\t\t}\n\t}\n\n\tprotected _drawXLine(x: number, y: number) {\n\t\tconst innerRadius = this.getPrivate(\"innerRadius\");\n\t\tconst radius = this.getPrivate(\"radius\");\n\t\tconst angle = Math.atan2(y, x);\n\n\t\tthis.lineX.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(innerRadius * Math.cos(angle), innerRadius * Math.sin(angle));\n\t\t\tdisplay.lineTo(radius * Math.cos(angle), radius * Math.sin(angle));\n\t\t})\n\t}\n\n\tprotected _drawYLine(x: number, y: number) {\n\t\tconst positionRadius = Math.hypot(x, y);\n\n\t\tthis.lineY.set(\"draw\", (display) => {\n\t\t\tdisplay.arc(0, 0, positionRadius, this.getPrivate(\"startAngle\", 0) * $math.RADIANS, this.getPrivate(\"endAngle\", 0) * $math.RADIANS);\n\t\t})\n\t}\n\n\tprotected _updateXLine(tooltip: Tooltip) {\n\t\tlet point = tooltip.get(\"pointTo\");\n\t\tif (point) {\n\t\t\tpoint = this._display.toLocal(point);\n\t\t\tthis._drawXLine(point.x, point.y);\n\t\t}\n\t}\n\n\tprotected _updateYLine(tooltip: Tooltip) {\n\t\tlet point = tooltip.get(\"pointTo\")\n\t\tif (point) {\n\t\t\tpoint = this._display.toLocal(point);\n\t\t\tthis._drawYLine(point.x, point.y);\n\t\t}\n\t}\n\n\tprotected _inPlot(point: IPoint): boolean {\n\t\tconst chart = this.chart;\n\n\t\tif (chart) {\n\t\t\treturn chart.inPlot(point, this.getPrivate(\"radius\"), this.getPrivate(\"innerRadius\"));\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _updateSelection(point: IPoint) {\n\n\t\tthis.selection.set(\"draw\", (display) => {\n\t\t\tconst behavior = this.get(\"behavior\");\n\n\t\t\tconst downPoint = this._downPoint;\n\t\t\tconst cursorStartAngle = this.getPrivate(\"startAngle\");\n\t\t\tconst cursorEndAngle = this.getPrivate(\"endAngle\");\n\t\t\tlet cursorRadius = this.getPrivate(\"radius\");\n\t\t\tlet cursorInnerRadius = this.getPrivate(\"innerRadius\");\n\n\t\t\tif (cursorRadius < cursorInnerRadius) {\n\t\t\t\t[cursorRadius, cursorInnerRadius] = [cursorInnerRadius, cursorRadius];\n\t\t\t}\n\n\t\t\tlet startAngle = cursorStartAngle;\n\t\t\tlet endAngle = cursorEndAngle;\n\t\t\tlet radius = cursorRadius;\n\t\t\tlet innerRadius = cursorInnerRadius;\n\n\t\t\tif (downPoint) {\n\t\t\t\tif (behavior == \"zoomXY\" || behavior == \"selectXY\") {\n\t\t\t\t\tstartAngle = Math.atan2(downPoint.y, downPoint.x) * $math.DEGREES;\n\t\t\t\t\tendAngle = Math.atan2(point.y, point.x) * $math.DEGREES;\n\t\t\t\t\tinnerRadius = Math.hypot(downPoint.x, downPoint.y);\n\t\t\t\t\tradius = Math.hypot(point.x, point.y);\n\t\t\t\t}\n\t\t\t\telse if (behavior == \"zoomX\" || behavior == \"selectX\") {\n\t\t\t\t\tstartAngle = Math.atan2(downPoint.y, downPoint.x) * $math.DEGREES;\n\t\t\t\t\tendAngle = Math.atan2(point.y, point.x) * $math.DEGREES;\n\t\t\t\t}\n\t\t\t\telse if (behavior == \"zoomY\" || behavior == \"selectY\") {\n\t\t\t\t\tinnerRadius = Math.hypot(downPoint.x, downPoint.y);\n\t\t\t\t\tradius = Math.hypot(point.x, point.y);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinnerRadius = $math.fitToRange(innerRadius, cursorInnerRadius, cursorRadius);\n\t\t\tradius = $math.fitToRange(radius, cursorInnerRadius, cursorRadius);\n\n\t\t\tstartAngle = $math.fitAngleToRange(startAngle, cursorStartAngle, cursorEndAngle);\n\t\t\tendAngle = $math.fitAngleToRange(endAngle, cursorStartAngle, cursorEndAngle);\n\n\t\t\tif (startAngle == endAngle) {\n\t\t\t\tendAngle = startAngle + 360;\n\t\t\t}\n\n\t\t\tstartAngle *= $math.RADIANS;\n\t\t\tendAngle *= $math.RADIANS;\n\n\t\t\tthis._fillGenerator.context(display as any);\n\t\t\tthis._fillGenerator({ innerRadius: innerRadius, outerRadius: radius, startAngle: startAngle + Math.PI / 2, endAngle: endAngle + Math.PI / 2 });\n\t\t})\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RadarCursor.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarCursor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\nimport type { RadarChart } from \"./RadarChart\"\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\n\nimport { XYCursor, IXYCursorSettings, IXYCursorPrivate, IXYCursorEvents } from \"../xy/XYCursor\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { arc } from \"d3-shape\";\n\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\n\nexport interface IRadarCursorSettings extends IXYCursorSettings {\n\n\t/**\n\t * Cursor's inner radius.\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * Cursor's inner radius.\n\t */\n\tradius?: number | Percent;\n\n\t//xAxis?: Axis<AxisRendererCircular>;\n\t//yAxis?: Axis<AxisRendererRadial>;\n\n\t/**\n\t * Cursor's position angle in degrees.\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * Cursor's selection end angle in degrees.\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IRadarCursorPrivate extends IXYCursorPrivate {\n\tinnerRadius: number;\n\tradius: number;\n\tstartAngle: number;\n\tendAngle: number;\n}\n\nexport interface IRadarCursorEvents extends IXYCursorEvents {\n}\n\n/**\n * Creates a cursor for a [[RadarChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Cursor} for more info\n */\nexport class RadarCursor extends XYCursor {\n\tpublic static className: string = \"RadarCursor\";\n\tpublic static classNames: Array<string> = XYCursor.classNames.concat([RadarCursor.className]);\n\n\tdeclare public _settings: IRadarCursorSettings;\n\tdeclare public _privateSettings: IRadarCursorPrivate;\n\tdeclare public _events: IRadarCursorEvents;\n\n\t/**\n\t * A chart cursor is attached to.\n\t */\n\tdeclare public chart: RadarChart | undefined;\n\n\tprotected _fillGenerator = arc();\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"radar\", \"cursor\"]);\n\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _handleXLine() {\n\n\t}\n\n\tprotected _handleYLine() {\n\n\t}\n\n\tprotected _getPosition(point: IPoint): IPoint {\n\t\tconst radius = Math.hypot(point.x, point.y);\n\t\tlet angle = $math.normalizeAngle(Math.atan2(point.y, point.x) * $math.DEGREES);\n\n\t\tconst innerRadius = this.getPrivate(\"innerRadius\");\n\n\t\tlet startAngle = $math.normalizeAngle(this.getPrivate(\"startAngle\"));\n\t\tlet endAngle = $math.normalizeAngle(this.getPrivate(\"endAngle\"));\n\n\t\tif (endAngle < startAngle || endAngle == startAngle) {\n\t\t\tif (angle < startAngle) {\n\t\t\t\tangle += 360\n\t\t\t}\n\n\t\t\tendAngle = endAngle + 360;\n\t\t}\n\n\t\tlet xPos = (angle - startAngle) / (endAngle - startAngle);\n\n\t\tif (xPos < 0) {\n\t\t\txPos = 1 + xPos;\n\t\t}\n\n\t\tif(xPos < 0.003){\n\t\t\txPos = 0;\n\t\t}\n\n\t\tif(xPos > 0.997){\n\t\t\txPos = 1;\n\t\t}\t\t\n\n\t\treturn { x: xPos, y: (radius - innerRadius) / (this.getPrivate(\"radius\") - innerRadius) };\n\t}\n\n\tprotected _getPoint(positionX: number, positionY: number): IPoint {\n\n\t\tconst innerRadius = this.getPrivate(\"innerRadius\");\n\t\tconst startAngle = this.getPrivate(\"startAngle\");\n\t\tconst endAngle = this.getPrivate(\"endAngle\");\n\t\tconst radius = this.getPrivate(\"radius\");\n\n\t\tconst angle = startAngle + positionX * (endAngle - startAngle);\n\t\tconst r = innerRadius + (radius - innerRadius) * positionY;\n\n\t\treturn { x: r * $math.cos(angle), y: r * $math.sin(angle) };\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLayout() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst radius = chart.getPrivate(\"radius\", 0);\n\n\t\t\tthis.setPrivate(\"radius\", $utils.relativeToValue(this.get(\"radius\", p100), radius));\n\n\t\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", chart.getPrivate(\"innerRadius\", 0)), radius);\n\t\t\tif (innerRadius < 0) {\n\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t}\n\n\t\t\tthis.setPrivate(\"innerRadius\", innerRadius);\n\n\t\t\tlet startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\tlet endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\n\t\t\tthis.setPrivate(\"startAngle\", startAngle);\n\t\t\tthis.setPrivate(\"endAngle\", endAngle);\n\t\t}\n\t}\n\n\tprotected _updateLines(x: number, y: number) {\n\t\tif (!this._tooltipX) {\n\t\t\tthis._drawXLine(x, y);\n\t\t}\n\t\tif (!this._tooltipY) {\n\t\t\tthis._drawYLine(x, y);\n\t\t}\n\t}\n\n\tprotected _drawXLine(x: number, y: number) {\n\t\tconst innerRadius = this.getPrivate(\"innerRadius\");\n\t\tconst radius = this.getPrivate(\"radius\");\n\t\tconst angle = Math.atan2(y, x);\n\n\t\tthis.lineX.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(innerRadius * Math.cos(angle), innerRadius * Math.sin(angle));\n\t\t\tdisplay.lineTo(radius * Math.cos(angle), radius * Math.sin(angle));\n\t\t})\n\t}\n\n\tprotected _drawYLine(x: number, y: number) {\n\t\tconst positionRadius = Math.hypot(x, y);\n\n\t\tthis.lineY.set(\"draw\", (display) => {\n\t\t\tdisplay.arc(0, 0, positionRadius, this.getPrivate(\"startAngle\", 0) * $math.RADIANS, this.getPrivate(\"endAngle\", 0) * $math.RADIANS);\n\t\t})\n\t}\n\n\tprotected _updateXLine(tooltip: Tooltip) {\n\t\tlet point = tooltip.get(\"pointTo\");\n\t\tif (point) {\n\t\t\tpoint = this._display.toLocal(point);\n\t\t\tthis._drawXLine(point.x, point.y);\n\t\t}\n\t}\n\n\tprotected _updateYLine(tooltip: Tooltip) {\n\t\tlet point = tooltip.get(\"pointTo\")\n\t\tif (point) {\n\t\t\tpoint = this._display.toLocal(point);\n\t\t\tthis._drawYLine(point.x, point.y);\n\t\t}\n\t}\n\n\tprotected _inPlot(point: IPoint): boolean {\n\t\tconst chart = this.chart;\n\n\t\tif (chart) {\n\t\t\treturn chart.inPlot(point, this.getPrivate(\"radius\"), this.getPrivate(\"innerRadius\"));\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _updateSelection(point: IPoint) {\n\n\t\tthis.selection.set(\"draw\", (display) => {\n\t\t\tconst behavior = this.get(\"behavior\");\n\n\t\t\tconst downPoint = this._downPoint;\n\t\t\tconst cursorStartAngle = this.getPrivate(\"startAngle\");\n\t\t\tconst cursorEndAngle = this.getPrivate(\"endAngle\");\n\t\t\tlet cursorRadius = this.getPrivate(\"radius\");\n\t\t\tlet cursorInnerRadius = this.getPrivate(\"innerRadius\");\n\n\t\t\tif (cursorRadius < cursorInnerRadius) {\n\t\t\t\t[cursorRadius, cursorInnerRadius] = [cursorInnerRadius, cursorRadius];\n\t\t\t}\n\n\t\t\tlet startAngle = cursorStartAngle;\n\t\t\tlet endAngle = cursorEndAngle;\n\t\t\tlet radius = cursorRadius;\n\t\t\tlet innerRadius = cursorInnerRadius;\n\n\t\t\tif (downPoint) {\n\t\t\t\tif (behavior == \"zoomXY\" || behavior == \"selectXY\") {\n\t\t\t\t\tstartAngle = Math.atan2(downPoint.y, downPoint.x) * $math.DEGREES;\n\t\t\t\t\tendAngle = Math.atan2(point.y, point.x) * $math.DEGREES;\n\t\t\t\t\tinnerRadius = Math.hypot(downPoint.x, downPoint.y);\n\t\t\t\t\tradius = Math.hypot(point.x, point.y);\n\t\t\t\t}\n\t\t\t\telse if (behavior == \"zoomX\" || behavior == \"selectX\") {\n\t\t\t\t\tstartAngle = Math.atan2(downPoint.y, downPoint.x) * $math.DEGREES;\n\t\t\t\t\tendAngle = Math.atan2(point.y, point.x) * $math.DEGREES;\n\t\t\t\t}\n\t\t\t\telse if (behavior == \"zoomY\" || behavior == \"selectY\") {\n\t\t\t\t\tinnerRadius = Math.hypot(downPoint.x, downPoint.y);\n\t\t\t\t\tradius = Math.hypot(point.x, point.y);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinnerRadius = $math.fitToRange(innerRadius, cursorInnerRadius, cursorRadius);\n\t\t\tradius = $math.fitToRange(radius, cursorInnerRadius, cursorRadius);\n\n\t\t\tstartAngle = $math.fitAngleToRange(startAngle, cursorStartAngle, cursorEndAngle);\n\t\t\tendAngle = $math.fitAngleToRange(endAngle, cursorStartAngle, cursorEndAngle);\n\n\t\t\tif (startAngle == endAngle) {\n\t\t\t\tendAngle = startAngle + 360;\n\t\t\t}\n\n\t\t\tstartAngle *= $math.RADIANS;\n\t\t\tendAngle *= $math.RADIANS;\n\n\t\t\tthis._fillGenerator.context(display as any);\n\t\t\tthis._fillGenerator({ innerRadius: innerRadius, outerRadius: radius, startAngle: startAngle + Math.PI / 2, endAngle: endAngle + Math.PI / 2 });\n\t\t})\n\t}\n}\n"]}
|
|
@@ -228,7 +228,7 @@ export declare class XYChart extends SerialChart {
|
|
|
228
228
|
protected _processSeries(series: this["_seriesType"]): void;
|
|
229
229
|
protected _colorize(series: this["_seriesType"]): void;
|
|
230
230
|
protected _handleCursorSelectEnd(): void;
|
|
231
|
-
protected _handleScrollbar(axes: ListAutoDispose<Axis<any>>, start: number, end: number): void;
|
|
231
|
+
protected _handleScrollbar(axes: ListAutoDispose<Axis<any>>, start: number, end: number, priority?: "start" | "end"): void;
|
|
232
232
|
protected _processAxis<R extends AxisRenderer>(axes: ListAutoDispose<Axis<R>>, container: Container): IDisposer;
|
|
233
233
|
protected _removeAxis(axis: Axis<AxisRenderer>): void;
|
|
234
234
|
_updateChartLayout(): void;
|
|
@@ -236,7 +236,7 @@ export declare class XYChart extends SerialChart {
|
|
|
236
236
|
* @ignore
|
|
237
237
|
*/
|
|
238
238
|
processAxis(_axis: Axis<AxisRenderer>): void;
|
|
239
|
-
_handleAxisSelection(axis: Axis<any
|
|
239
|
+
_handleAxisSelection(axis: Axis<any>, force?: boolean): void;
|
|
240
240
|
protected _handleZoomOut(): void;
|
|
241
241
|
/**
|
|
242
242
|
* Checks if point is within plot area.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XYChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"XYChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ import { Button } from "../../core/render/Button";
|
|
|
10
10
|
import { Graphics } from "../../core/render/Graphics";
|
|
11
11
|
import { Percent } from "../../core/util/Percent";
|
|
12
12
|
import * as $array from "../../core/util/Array";
|
|
13
|
-
import * as $order from "../../core/util/Order";
|
|
14
13
|
import * as $type from "../../core/util/Type";
|
|
15
14
|
/**
|
|
16
15
|
* Creates an XY chart.
|
|
@@ -282,7 +281,7 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
282
281
|
var position = axis.fixPosition(plotPoint.x / plotContainer.width());
|
|
283
282
|
var newStart = start - wheelStep * (end - start) * shiftX * position;
|
|
284
283
|
var newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);
|
|
285
|
-
if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity)) {
|
|
284
|
+
if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
|
|
286
285
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
287
286
|
}
|
|
288
287
|
}
|
|
@@ -296,7 +295,7 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
296
295
|
var position = axis.fixPosition(plotPoint.x / plotContainer.width());
|
|
297
296
|
var newStart = start - wheelStep * (end - start) * shiftY * position;
|
|
298
297
|
var newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);
|
|
299
|
-
if (1 / (newEnd - newStart) < axis.
|
|
298
|
+
if (1 / (newEnd - newStart) < axis.getPrivate("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
|
|
300
299
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
301
300
|
}
|
|
302
301
|
}
|
|
@@ -310,7 +309,7 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
310
309
|
var position = axis.fixPosition(plotPoint.y / plotContainer.height());
|
|
311
310
|
var newStart = start - wheelStep * (end - start) * shiftX * position;
|
|
312
311
|
var newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);
|
|
313
|
-
if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity)) {
|
|
312
|
+
if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
|
|
314
313
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
315
314
|
}
|
|
316
315
|
}
|
|
@@ -324,7 +323,7 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
324
323
|
var position = axis.fixPosition(plotPoint.y / plotContainer.height());
|
|
325
324
|
var newStart = start - wheelStep * (end - start) * shiftY * position;
|
|
326
325
|
var newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);
|
|
327
|
-
if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity)) {
|
|
326
|
+
if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
|
|
328
327
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
329
328
|
}
|
|
330
329
|
}
|
|
@@ -336,8 +335,9 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
336
335
|
var start = axis.get("start");
|
|
337
336
|
var end = axis.get("end");
|
|
338
337
|
var position = axis.fixPosition(plotPoint.x / plotContainer.width());
|
|
339
|
-
var
|
|
340
|
-
var
|
|
338
|
+
var delta = wheelStep * (end - start) * shiftX * position;
|
|
339
|
+
var newStart = start + delta;
|
|
340
|
+
var newEnd = end + delta;
|
|
341
341
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
342
342
|
}
|
|
343
343
|
});
|
|
@@ -348,8 +348,9 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
348
348
|
var start = axis.get("start");
|
|
349
349
|
var end = axis.get("end");
|
|
350
350
|
var position = axis.fixPosition(plotPoint.x / plotContainer.width());
|
|
351
|
-
var
|
|
352
|
-
var
|
|
351
|
+
var delta = wheelStep * (end - start) * shiftY * position;
|
|
352
|
+
var newStart = start + delta;
|
|
353
|
+
var newEnd = end + delta;
|
|
353
354
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
354
355
|
}
|
|
355
356
|
});
|
|
@@ -360,8 +361,9 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
360
361
|
var start = axis.get("start");
|
|
361
362
|
var end = axis.get("end");
|
|
362
363
|
var position = axis.fixPosition(plotPoint.y / plotContainer.height());
|
|
363
|
-
var
|
|
364
|
-
var
|
|
364
|
+
var delta = wheelStep * (end - start) * shiftX * position;
|
|
365
|
+
var newStart = start + delta;
|
|
366
|
+
var newEnd = end + delta;
|
|
365
367
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
366
368
|
}
|
|
367
369
|
});
|
|
@@ -372,8 +374,9 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
372
374
|
var start = axis.get("start");
|
|
373
375
|
var end = axis.get("end");
|
|
374
376
|
var position = axis.fixPosition(plotPoint.y / plotContainer.height());
|
|
375
|
-
var
|
|
376
|
-
var
|
|
377
|
+
var delta = wheelStep * (end - start) * shiftY * position;
|
|
378
|
+
var newStart = start - delta;
|
|
379
|
+
var newEnd = end - delta;
|
|
377
380
|
_this._handleWheelAnimation(axis.zoom(newStart, newEnd));
|
|
378
381
|
}
|
|
379
382
|
});
|
|
@@ -677,7 +680,7 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
677
680
|
this.topAxesContainer.children.push(scrollbarX);
|
|
678
681
|
}
|
|
679
682
|
this._pushPropertyDisposer("scrollbarX", scrollbarX.events.on("rangechanged", function (e) {
|
|
680
|
-
_this._handleScrollbar(_this.xAxes, e.start, e.end);
|
|
683
|
+
_this._handleScrollbar(_this.xAxes, e.start, e.end, e.grip);
|
|
681
684
|
}));
|
|
682
685
|
// Used to populate `ariaLabel` with meaningful values
|
|
683
686
|
scrollbarX.setPrivate("positionTextFunction", function (position) {
|
|
@@ -701,7 +704,7 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
701
704
|
this.rightAxesContainer.children.push(scrollbarY);
|
|
702
705
|
}
|
|
703
706
|
this._pushPropertyDisposer("scrollbarY", scrollbarY.events.on("rangechanged", function (e) {
|
|
704
|
-
_this._handleScrollbar(_this.yAxes, e.start, e.end);
|
|
707
|
+
_this._handleScrollbar(_this.yAxes, e.start, e.end, e.grip);
|
|
705
708
|
}));
|
|
706
709
|
// Used to populate `ariaLabel` with meaningful values
|
|
707
710
|
scrollbarY.setPrivate("positionTextFunction", function (position) {
|
|
@@ -772,11 +775,11 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
772
775
|
enumerable: false,
|
|
773
776
|
configurable: true,
|
|
774
777
|
writable: true,
|
|
775
|
-
value: function (axes, start, end) {
|
|
778
|
+
value: function (axes, start, end, priority) {
|
|
776
779
|
axes.each(function (axis) {
|
|
777
780
|
var axisStart = axis.fixPosition(start);
|
|
778
781
|
var axisEnd = axis.fixPosition(end);
|
|
779
|
-
var zoomAnimation = axis.zoom(axisStart, axisEnd);
|
|
782
|
+
var zoomAnimation = axis.zoom(axisStart, axisEnd, undefined, priority);
|
|
780
783
|
var updateScrollbar = "updateScrollbar";
|
|
781
784
|
axis.setPrivateRaw(updateScrollbar, false);
|
|
782
785
|
if (zoomAnimation) {
|
|
@@ -879,7 +882,7 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
879
882
|
enumerable: false,
|
|
880
883
|
configurable: true,
|
|
881
884
|
writable: true,
|
|
882
|
-
value: function (axis) {
|
|
885
|
+
value: function (axis, force) {
|
|
883
886
|
var _a;
|
|
884
887
|
var start = axis.fixPosition(axis.get("start", 0));
|
|
885
888
|
var end = axis.fixPosition(axis.get("end", 1));
|
|
@@ -887,9 +890,9 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
887
890
|
_a = __read([end, start], 2), start = _a[0], end = _a[1];
|
|
888
891
|
}
|
|
889
892
|
if (this.xAxes.indexOf(axis) != -1) {
|
|
890
|
-
if (axis.getPrivate("updateScrollbar")) {
|
|
893
|
+
if (force || axis.getPrivate("updateScrollbar")) {
|
|
891
894
|
var scrollbarX = this.get("scrollbarX");
|
|
892
|
-
if (scrollbarX && !scrollbarX.getPrivate("isBusy")) {
|
|
895
|
+
if (scrollbarX && (!scrollbarX.getPrivate("isBusy") || force)) {
|
|
893
896
|
scrollbarX.setRaw("start", start);
|
|
894
897
|
scrollbarX.setRaw("end", end);
|
|
895
898
|
scrollbarX.updateGrips();
|
|
@@ -897,9 +900,9 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
897
900
|
}
|
|
898
901
|
}
|
|
899
902
|
else if (this.yAxes.indexOf(axis) != -1) {
|
|
900
|
-
if (axis.getPrivate("updateScrollbar")) {
|
|
903
|
+
if (force || axis.getPrivate("updateScrollbar")) {
|
|
901
904
|
var scrollbarY = this.get("scrollbarY");
|
|
902
|
-
if (scrollbarY && !scrollbarY.getPrivate("isBusy")) {
|
|
905
|
+
if (scrollbarY && (!scrollbarY.getPrivate("isBusy") || force)) {
|
|
903
906
|
scrollbarY.setRaw("start", start);
|
|
904
907
|
scrollbarY.setRaw("end", end);
|
|
905
908
|
scrollbarY.updateGrips();
|
|
@@ -960,7 +963,9 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
960
963
|
var chart = otherCharts[i];
|
|
961
964
|
if (chart != this) {
|
|
962
965
|
var chartPlotContainer = chart.plotContainer;
|
|
963
|
-
var
|
|
966
|
+
var documentPoint = this._root.rootPointToDocument(global);
|
|
967
|
+
var chartRoot = chart._root.documentPointToRoot(documentPoint);
|
|
968
|
+
var local = chartPlotContainer.toLocal(chartRoot);
|
|
964
969
|
if (local.x >= -0.1 && local.y >= -0.1 && local.x <= chartPlotContainer.width() + 0.1 && local.y <= chartPlotContainer.height() + 0.1) {
|
|
965
970
|
return true;
|
|
966
971
|
}
|
|
@@ -1052,11 +1057,22 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
1052
1057
|
this.setPrivate("tooltipSeries", tooltipSeries);
|
|
1053
1058
|
if (this.get("arrangeTooltips")) {
|
|
1054
1059
|
var tooltipContainer_1 = this._root.tooltipContainer;
|
|
1055
|
-
tooltips.sort(function (a, b) { return $order.compareNumber(a.get("pointTo").y, b.get("pointTo").y); });
|
|
1056
1060
|
var count = tooltips.length;
|
|
1057
1061
|
var average = sum / count;
|
|
1058
1062
|
if (average > h / 2 + plotT.y) {
|
|
1059
|
-
tooltips.
|
|
1063
|
+
tooltips.sort(function (a, b) {
|
|
1064
|
+
var ya = a.get("pointTo").y;
|
|
1065
|
+
var yb = b.get("pointTo").y;
|
|
1066
|
+
if (ya < yb) {
|
|
1067
|
+
return 1;
|
|
1068
|
+
}
|
|
1069
|
+
else if (ya > yb) {
|
|
1070
|
+
return -1;
|
|
1071
|
+
}
|
|
1072
|
+
else {
|
|
1073
|
+
return 1;
|
|
1074
|
+
}
|
|
1075
|
+
});
|
|
1060
1076
|
var prevY_1 = plotB.y;
|
|
1061
1077
|
$array.each(tooltips, function (tooltip) {
|
|
1062
1078
|
var height = tooltip.height();
|
|
@@ -1071,6 +1087,19 @@ var XYChart = /** @class */ (function (_super) {
|
|
|
1071
1087
|
});
|
|
1072
1088
|
}
|
|
1073
1089
|
else {
|
|
1090
|
+
tooltips.sort(function (a, b) {
|
|
1091
|
+
var ya = a.get("pointTo").y;
|
|
1092
|
+
var yb = b.get("pointTo").y;
|
|
1093
|
+
if (ya < yb) {
|
|
1094
|
+
return -1;
|
|
1095
|
+
}
|
|
1096
|
+
else if (ya > yb) {
|
|
1097
|
+
return 1;
|
|
1098
|
+
}
|
|
1099
|
+
else {
|
|
1100
|
+
return -1;
|
|
1101
|
+
}
|
|
1102
|
+
});
|
|
1074
1103
|
var prevY_2 = 0;
|
|
1075
1104
|
$array.each(tooltips, function (tooltip) {
|
|
1076
1105
|
var height = tooltip.height();
|