@amcharts/amcharts5 5.0.0-beta.3 → 5.0.0-beta.30
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 +0 -12
- package/.internal/charts/flow/Chord.d.ts.map +1 -1
- package/.internal/charts/flow/Chord.js +6 -24
- package/.internal/charts/flow/Chord.js.map +1 -1
- package/.internal/charts/flow/ChordDirected.d.ts +0 -12
- package/.internal/charts/flow/ChordDirected.d.ts.map +1 -1
- package/.internal/charts/flow/ChordDirected.js +6 -24
- package/.internal/charts/flow/ChordDirected.js.map +1 -1
- package/.internal/charts/flow/ChordLink.d.ts +0 -12
- package/.internal/charts/flow/ChordLink.d.ts.map +1 -1
- package/.internal/charts/flow/ChordLink.js +1 -20
- package/.internal/charts/flow/ChordLink.js.map +1 -1
- package/.internal/charts/flow/ChordLinkDirected.d.ts +1 -12
- package/.internal/charts/flow/ChordLinkDirected.d.ts.map +1 -1
- package/.internal/charts/flow/ChordLinkDirected.js +4 -15
- package/.internal/charts/flow/ChordLinkDirected.js.map +1 -1
- package/.internal/charts/flow/ChordNodes.d.ts +0 -12
- package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
- package/.internal/charts/flow/ChordNodes.js +6 -22
- package/.internal/charts/flow/ChordNodes.js.map +1 -1
- package/.internal/charts/flow/ChordNonRibbon.d.ts +1 -12
- package/.internal/charts/flow/ChordNonRibbon.d.ts.map +1 -1
- package/.internal/charts/flow/ChordNonRibbon.js +5 -16
- package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
- package/.internal/charts/flow/Flow.d.ts +2 -1
- package/.internal/charts/flow/Flow.d.ts.map +1 -1
- package/.internal/charts/flow/Flow.js +78 -63
- package/.internal/charts/flow/Flow.js.map +1 -1
- package/.internal/charts/flow/FlowNode.d.ts +0 -12
- package/.internal/charts/flow/FlowNode.d.ts.map +1 -1
- package/.internal/charts/flow/FlowNode.js +0 -19
- package/.internal/charts/flow/FlowNode.js.map +1 -1
- package/.internal/charts/flow/FlowNodes.d.ts +19 -1
- package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
- package/.internal/charts/flow/FlowNodes.js +25 -13
- package/.internal/charts/flow/FlowNodes.js.map +1 -1
- package/.internal/charts/flow/Sankey.d.ts +2 -12
- package/.internal/charts/flow/Sankey.d.ts.map +1 -1
- package/.internal/charts/flow/Sankey.js +16 -21
- package/.internal/charts/flow/Sankey.js.map +1 -1
- package/.internal/charts/flow/SankeyLink.d.ts +0 -12
- package/.internal/charts/flow/SankeyLink.d.ts.map +1 -1
- package/.internal/charts/flow/SankeyLink.js +5 -24
- package/.internal/charts/flow/SankeyLink.js.map +1 -1
- package/.internal/charts/flow/SankeyNodes.d.ts +0 -12
- package/.internal/charts/flow/SankeyNodes.d.ts.map +1 -1
- package/.internal/charts/flow/SankeyNodes.js +6 -24
- package/.internal/charts/flow/SankeyNodes.js.map +1 -1
- package/.internal/charts/funnel/FunnelSeries.d.ts +0 -12
- package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
- package/.internal/charts/funnel/FunnelSeries.js +16 -35
- package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
- package/.internal/charts/funnel/FunnelSlice.d.ts +0 -12
- package/.internal/charts/funnel/FunnelSlice.d.ts.map +1 -1
- package/.internal/charts/funnel/FunnelSlice.js +0 -21
- package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
- package/.internal/charts/funnel/PictorialStackedSeries.d.ts +1 -12
- package/.internal/charts/funnel/PictorialStackedSeries.d.ts.map +1 -1
- package/.internal/charts/funnel/PictorialStackedSeries.js +13 -20
- package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
- package/.internal/charts/funnel/PyramidSeries.d.ts +0 -12
- package/.internal/charts/funnel/PyramidSeries.d.ts.map +1 -1
- package/.internal/charts/funnel/PyramidSeries.js +0 -19
- package/.internal/charts/funnel/PyramidSeries.js.map +1 -1
- package/.internal/charts/funnel/SlicedChart.d.ts +0 -12
- package/.internal/charts/funnel/SlicedChart.d.ts.map +1 -1
- package/.internal/charts/funnel/SlicedChart.js +0 -19
- package/.internal/charts/funnel/SlicedChart.js.map +1 -1
- package/.internal/charts/hierarchy/BreadcrumbBar.d.ts +1 -12
- package/.internal/charts/hierarchy/BreadcrumbBar.d.ts.map +1 -1
- package/.internal/charts/hierarchy/BreadcrumbBar.js +7 -17
- package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.d.ts +2 -12
- package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.js +27 -22
- package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.d.ts +7 -0
- package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +38 -16
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.d.ts +1 -12
- package/.internal/charts/hierarchy/HierarchyLink.d.ts.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.js +0 -19
- package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyNode.d.ts +0 -12
- package/.internal/charts/hierarchy/HierarchyNode.d.ts.map +1 -1
- package/.internal/charts/hierarchy/HierarchyNode.js +0 -19
- package/.internal/charts/hierarchy/HierarchyNode.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +14 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.js +102 -19
- package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchyNode.d.ts +0 -12
- package/.internal/charts/hierarchy/LinkedHierarchyNode.d.ts.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchyNode.js +0 -19
- package/.internal/charts/hierarchy/LinkedHierarchyNode.js.map +1 -1
- package/.internal/charts/hierarchy/Pack.d.ts +0 -12
- package/.internal/charts/hierarchy/Pack.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Pack.js +6 -24
- package/.internal/charts/hierarchy/Pack.js.map +1 -1
- package/.internal/charts/hierarchy/Partition.d.ts +0 -12
- package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Partition.js +7 -24
- package/.internal/charts/hierarchy/Partition.js.map +1 -1
- package/.internal/charts/hierarchy/Sunburst.d.ts +0 -11
- package/.internal/charts/hierarchy/Sunburst.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Sunburst.js +17 -27
- package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
- package/.internal/charts/hierarchy/Tree.d.ts +0 -12
- package/.internal/charts/hierarchy/Tree.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Tree.js +0 -19
- package/.internal/charts/hierarchy/Tree.js.map +1 -1
- package/.internal/charts/hierarchy/Treemap.d.ts +1 -12
- package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js +6 -24
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/map/GraticuleSeries.d.ts +0 -12
- package/.internal/charts/map/GraticuleSeries.d.ts.map +1 -1
- package/.internal/charts/map/GraticuleSeries.js +1 -20
- package/.internal/charts/map/GraticuleSeries.js.map +1 -1
- package/.internal/charts/map/MapChart.d.ts +8 -32
- package/.internal/charts/map/MapChart.d.ts.map +1 -1
- package/.internal/charts/map/MapChart.js +198 -180
- package/.internal/charts/map/MapChart.js.map +1 -1
- package/.internal/charts/map/MapLine.d.ts +1 -13
- package/.internal/charts/map/MapLine.d.ts.map +1 -1
- package/.internal/charts/map/MapLine.js +14 -25
- package/.internal/charts/map/MapLine.js.map +1 -1
- package/.internal/charts/map/MapLineSeries.d.ts +13 -14
- package/.internal/charts/map/MapLineSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapLineSeries.js +34 -26
- package/.internal/charts/map/MapLineSeries.js.map +1 -1
- package/.internal/charts/map/MapPointSeries.d.ts +16 -14
- package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPointSeries.js +28 -27
- package/.internal/charts/map/MapPointSeries.js.map +1 -1
- package/.internal/charts/map/MapPolygon.d.ts +0 -12
- package/.internal/charts/map/MapPolygon.d.ts.map +1 -1
- package/.internal/charts/map/MapPolygon.js +0 -19
- package/.internal/charts/map/MapPolygon.js.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.d.ts +1 -12
- package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.js +17 -20
- package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
- package/.internal/charts/map/MapSeries.d.ts +3 -3
- package/.internal/charts/map/MapSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapSeries.js +30 -8
- package/.internal/charts/map/MapSeries.js.map +1 -1
- package/.internal/charts/map/MapUtils.d.ts.map +1 -1
- package/.internal/charts/map/MapUtils.js +6 -1
- package/.internal/charts/map/MapUtils.js.map +1 -1
- package/.internal/charts/map/ZoomControl.d.ts +0 -12
- package/.internal/charts/map/ZoomControl.d.ts.map +1 -1
- package/.internal/charts/map/ZoomControl.js +0 -19
- package/.internal/charts/map/ZoomControl.js.map +1 -1
- package/.internal/charts/percent/PercentSeries.d.ts +29 -0
- package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
- package/.internal/charts/percent/PercentSeries.js +32 -6
- package/.internal/charts/percent/PercentSeries.js.map +1 -1
- package/.internal/charts/pie/PieChart.d.ts +0 -12
- package/.internal/charts/pie/PieChart.d.ts.map +1 -1
- package/.internal/charts/pie/PieChart.js +0 -19
- package/.internal/charts/pie/PieChart.js.map +1 -1
- package/.internal/charts/pie/PieSeries.d.ts +1 -12
- package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
- package/.internal/charts/pie/PieSeries.js +27 -35
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/radar/AxisRendererCircular.d.ts +0 -12
- package/.internal/charts/radar/AxisRendererCircular.d.ts.map +1 -1
- package/.internal/charts/radar/AxisRendererCircular.js +37 -54
- package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
- package/.internal/charts/radar/AxisRendererRadial.d.ts +0 -12
- package/.internal/charts/radar/AxisRendererRadial.d.ts.map +1 -1
- package/.internal/charts/radar/AxisRendererRadial.js +4 -23
- package/.internal/charts/radar/AxisRendererRadial.js.map +1 -1
- package/.internal/charts/radar/ClockHand.d.ts +0 -12
- package/.internal/charts/radar/ClockHand.d.ts.map +1 -1
- package/.internal/charts/radar/ClockHand.js +10 -23
- package/.internal/charts/radar/ClockHand.js.map +1 -1
- package/.internal/charts/radar/RadarChart.d.ts +1 -12
- package/.internal/charts/radar/RadarChart.d.ts.map +1 -1
- package/.internal/charts/radar/RadarChart.js +12 -20
- package/.internal/charts/radar/RadarChart.js.map +1 -1
- package/.internal/charts/radar/RadarColumnSeries.d.ts +0 -13
- package/.internal/charts/radar/RadarColumnSeries.d.ts.map +1 -1
- package/.internal/charts/radar/RadarColumnSeries.js +28 -27
- package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
- package/.internal/charts/radar/RadarCursor.d.ts +1 -12
- package/.internal/charts/radar/RadarCursor.d.ts.map +1 -1
- package/.internal/charts/radar/RadarCursor.js +11 -19
- package/.internal/charts/radar/RadarCursor.js.map +1 -1
- package/.internal/charts/radar/RadarLineSeries.d.ts +0 -12
- package/.internal/charts/radar/RadarLineSeries.d.ts.map +1 -1
- package/.internal/charts/radar/RadarLineSeries.js +0 -19
- package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
- package/.internal/charts/radar/SmoothedRadarLineSeries.d.ts +0 -12
- package/.internal/charts/radar/SmoothedRadarLineSeries.d.ts.map +1 -1
- package/.internal/charts/radar/SmoothedRadarLineSeries.js +0 -19
- package/.internal/charts/radar/SmoothedRadarLineSeries.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts +27 -25
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +263 -245
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYChartScrollbar.d.ts +0 -12
- package/.internal/charts/xy/XYChartScrollbar.d.ts.map +1 -1
- package/.internal/charts/xy/XYChartScrollbar.js +18 -27
- package/.internal/charts/xy/XYChartScrollbar.js.map +1 -1
- package/.internal/charts/xy/XYCursor.d.ts +3 -14
- package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
- package/.internal/charts/xy/XYCursor.js +69 -43
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +25 -4
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +70 -56
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisBullet.d.ts +0 -12
- package/.internal/charts/xy/axes/AxisBullet.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisBullet.js +4 -22
- package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
- package/.internal/charts/xy/axes/AxisLabel.d.ts +0 -12
- package/.internal/charts/xy/axes/AxisLabel.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisLabel.js +0 -19
- package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
- package/.internal/charts/xy/axes/AxisLabelRadial.d.ts +0 -12
- package/.internal/charts/xy/axes/AxisLabelRadial.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisLabelRadial.js +0 -19
- package/.internal/charts/xy/axes/AxisLabelRadial.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.js +24 -15
- package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.d.ts +0 -11
- package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.js +20 -33
- package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.d.ts +0 -11
- package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.js +34 -40
- package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
- package/.internal/charts/xy/axes/AxisTick.d.ts +0 -12
- package/.internal/charts/xy/axes/AxisTick.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisTick.js +0 -19
- package/.internal/charts/xy/axes/AxisTick.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.d.ts +8 -12
- package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.js +11 -25
- package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.d.ts +0 -12
- package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.js +1 -20
- package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +3 -15
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +14 -33
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/Grid.d.ts +0 -12
- package/.internal/charts/xy/axes/Grid.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Grid.js +0 -19
- package/.internal/charts/xy/axes/Grid.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +33 -13
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +121 -22
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts +20 -4
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +100 -70
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/Candlestick.d.ts +0 -12
- package/.internal/charts/xy/series/Candlestick.d.ts.map +1 -1
- package/.internal/charts/xy/series/Candlestick.js +0 -19
- package/.internal/charts/xy/series/Candlestick.js.map +1 -1
- package/.internal/charts/xy/series/CandlestickSeries.d.ts +0 -13
- package/.internal/charts/xy/series/CandlestickSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/CandlestickSeries.js +5 -22
- package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.d.ts +0 -13
- package/.internal/charts/xy/series/ColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.js +6 -22
- package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts +0 -11
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +97 -105
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/charts/xy/series/OHLC.d.ts +0 -12
- package/.internal/charts/xy/series/OHLC.d.ts.map +1 -1
- package/.internal/charts/xy/series/OHLC.js +0 -19
- package/.internal/charts/xy/series/OHLC.js.map +1 -1
- package/.internal/charts/xy/series/OHLCSeries.d.ts +0 -13
- package/.internal/charts/xy/series/OHLCSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/OHLCSeries.js +5 -22
- package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedXLineSeries.d.ts +0 -12
- package/.internal/charts/xy/series/SmoothedXLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/SmoothedXLineSeries.js +0 -19
- package/.internal/charts/xy/series/SmoothedXLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedXYLineSeries.d.ts +0 -12
- package/.internal/charts/xy/series/SmoothedXYLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/SmoothedXYLineSeries.js +0 -19
- package/.internal/charts/xy/series/SmoothedXYLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedYLineSeries.d.ts +0 -12
- package/.internal/charts/xy/series/SmoothedYLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/SmoothedYLineSeries.js +0 -19
- package/.internal/charts/xy/series/SmoothedYLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/StepLineSeries.d.ts +1 -12
- package/.internal/charts/xy/series/StepLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/StepLineSeries.js +6 -14
- package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +8 -67
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +97 -121
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Registry.d.ts +15 -1
- package/.internal/core/Registry.d.ts.map +1 -1
- package/.internal/core/Registry.js +28 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts +18 -8
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +99 -48
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/Theme.d.ts +1 -2
- package/.internal/core/Theme.d.ts.map +1 -1
- package/.internal/core/Theme.js.map +1 -1
- package/.internal/core/render/Bullet.d.ts +22 -12
- package/.internal/core/render/Bullet.d.ts.map +1 -1
- package/.internal/core/render/Bullet.js +0 -19
- package/.internal/core/render/Bullet.js.map +1 -1
- package/.internal/core/render/Button.d.ts +1 -12
- package/.internal/core/render/Button.d.ts.map +1 -1
- package/.internal/core/render/Button.js +11 -32
- package/.internal/core/render/Button.js.map +1 -1
- package/.internal/core/render/Chart.d.ts +0 -15
- package/.internal/core/render/Chart.d.ts.map +1 -1
- package/.internal/core/render/Chart.js +0 -38
- package/.internal/core/render/Chart.js.map +1 -1
- package/.internal/core/render/Circle.d.ts +0 -12
- package/.internal/core/render/Circle.d.ts.map +1 -1
- package/.internal/core/render/Circle.js +0 -19
- package/.internal/core/render/Circle.js.map +1 -1
- package/.internal/core/render/Component.d.ts +7 -10
- package/.internal/core/render/Component.d.ts.map +1 -1
- package/.internal/core/render/Component.js +37 -65
- package/.internal/core/render/Component.js.map +1 -1
- package/.internal/core/render/Container.d.ts +5 -13
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +71 -52
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Graphics.d.ts +40 -14
- package/.internal/core/render/Graphics.d.ts.map +1 -1
- package/.internal/core/render/Graphics.js +20 -28
- package/.internal/core/render/Graphics.js.map +1 -1
- package/.internal/core/render/GridLayout.d.ts +0 -12
- package/.internal/core/render/GridLayout.d.ts.map +1 -1
- package/.internal/core/render/GridLayout.js +0 -19
- package/.internal/core/render/GridLayout.js.map +1 -1
- package/.internal/core/render/HeatLegend.d.ts +0 -12
- package/.internal/core/render/HeatLegend.d.ts.map +1 -1
- package/.internal/core/render/HeatLegend.js +3 -22
- package/.internal/core/render/HeatLegend.js.map +1 -1
- package/.internal/core/render/HorizontalLayout.d.ts +0 -12
- package/.internal/core/render/HorizontalLayout.d.ts.map +1 -1
- package/.internal/core/render/HorizontalLayout.js +0 -19
- package/.internal/core/render/HorizontalLayout.js.map +1 -1
- package/.internal/core/render/Label.d.ts +47 -16
- package/.internal/core/render/Label.d.ts.map +1 -1
- package/.internal/core/render/Label.js +24 -26
- package/.internal/core/render/Label.js.map +1 -1
- package/.internal/core/render/Legend.d.ts +5 -13
- package/.internal/core/render/Legend.d.ts.map +1 -1
- package/.internal/core/render/Legend.js +44 -47
- package/.internal/core/render/Legend.js.map +1 -1
- package/.internal/core/render/Line.d.ts +0 -12
- package/.internal/core/render/Line.d.ts.map +1 -1
- package/.internal/core/render/Line.js +0 -19
- package/.internal/core/render/Line.js.map +1 -1
- package/.internal/core/render/MonotoneXTension.js.map +1 -1
- package/.internal/core/render/MonotoneYTension.js.map +1 -1
- package/.internal/core/render/Picture.d.ts +39 -13
- package/.internal/core/render/Picture.d.ts.map +1 -1
- package/.internal/core/render/Picture.js +21 -19
- package/.internal/core/render/Picture.js.map +1 -1
- package/.internal/core/render/PointedRectangle.d.ts +0 -12
- package/.internal/core/render/PointedRectangle.d.ts.map +1 -1
- package/.internal/core/render/PointedRectangle.js +0 -19
- package/.internal/core/render/PointedRectangle.js.map +1 -1
- package/.internal/core/render/RadialLabel.d.ts +0 -12
- package/.internal/core/render/RadialLabel.d.ts.map +1 -1
- package/.internal/core/render/RadialLabel.js +0 -19
- package/.internal/core/render/RadialLabel.js.map +1 -1
- package/.internal/core/render/RadialText.d.ts +0 -11
- package/.internal/core/render/RadialText.d.ts.map +1 -1
- package/.internal/core/render/RadialText.js +0 -19
- package/.internal/core/render/RadialText.js.map +1 -1
- package/.internal/core/render/Rectangle.d.ts +0 -12
- package/.internal/core/render/Rectangle.d.ts.map +1 -1
- package/.internal/core/render/Rectangle.js +0 -19
- package/.internal/core/render/Rectangle.js.map +1 -1
- package/.internal/core/render/RoundedRectangle.d.ts +0 -12
- package/.internal/core/render/RoundedRectangle.d.ts.map +1 -1
- package/.internal/core/render/RoundedRectangle.js +0 -19
- package/.internal/core/render/RoundedRectangle.js.map +1 -1
- package/.internal/core/render/Scrollbar.d.ts +6 -13
- package/.internal/core/render/Scrollbar.d.ts.map +1 -1
- package/.internal/core/render/Scrollbar.js +66 -56
- package/.internal/core/render/Scrollbar.js.map +1 -1
- package/.internal/core/render/SerialChart.d.ts +9 -2
- package/.internal/core/render/SerialChart.d.ts.map +1 -1
- package/.internal/core/render/SerialChart.js +19 -10
- package/.internal/core/render/SerialChart.js.map +1 -1
- package/.internal/core/render/Series.d.ts +27 -9
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +52 -9
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/Slice.d.ts +0 -12
- package/.internal/core/render/Slice.d.ts.map +1 -1
- package/.internal/core/render/Slice.js +0 -19
- package/.internal/core/render/Slice.js.map +1 -1
- package/.internal/core/render/Slider.d.ts +0 -12
- package/.internal/core/render/Slider.d.ts.map +1 -1
- package/.internal/core/render/Slider.js +2 -20
- package/.internal/core/render/Slider.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +37 -27
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +120 -83
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/Star.d.ts +2 -13
- package/.internal/core/render/Star.d.ts.map +1 -1
- package/.internal/core/render/Star.js +2 -21
- package/.internal/core/render/Star.js.map +1 -1
- package/.internal/core/render/Text.d.ts +9 -15
- package/.internal/core/render/Text.d.ts.map +1 -1
- package/.internal/core/render/Text.js +10 -26
- package/.internal/core/render/Text.js.map +1 -1
- package/.internal/core/render/Tick.d.ts +0 -12
- package/.internal/core/render/Tick.d.ts.map +1 -1
- package/.internal/core/render/Tick.js +0 -19
- package/.internal/core/render/Tick.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts +2 -12
- package/.internal/core/render/Tooltip.d.ts.map +1 -1
- package/.internal/core/render/Tooltip.js +33 -34
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/render/VerticalLayout.d.ts +0 -12
- package/.internal/core/render/VerticalLayout.d.ts.map +1 -1
- package/.internal/core/render/VerticalLayout.js +0 -19
- package/.internal/core/render/VerticalLayout.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +29 -4
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +418 -93
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/backend/Renderer.d.ts +12 -0
- package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
- package/.internal/core/render/backend/Renderer.js.map +1 -1
- package/.internal/core/render/gradients/LinearGradient.d.ts +0 -12
- package/.internal/core/render/gradients/LinearGradient.d.ts.map +1 -1
- package/.internal/core/render/gradients/LinearGradient.js +0 -19
- package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
- package/.internal/core/render/gradients/RadialGradient.d.ts +0 -12
- package/.internal/core/render/gradients/RadialGradient.d.ts.map +1 -1
- package/.internal/core/render/gradients/RadialGradient.js +0 -19
- package/.internal/core/render/gradients/RadialGradient.js.map +1 -1
- package/.internal/core/render/patterns/CirclePattern.d.ts +0 -12
- package/.internal/core/render/patterns/CirclePattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/CirclePattern.js +2 -21
- package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
- package/.internal/core/render/patterns/LinePattern.d.ts +0 -12
- package/.internal/core/render/patterns/LinePattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/LinePattern.js +17 -21
- package/.internal/core/render/patterns/LinePattern.js.map +1 -1
- package/.internal/core/render/patterns/Pattern.d.ts +15 -15
- package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/Pattern.js +3 -22
- package/.internal/core/render/patterns/Pattern.js.map +1 -1
- package/.internal/core/render/patterns/RectanglePattern.d.ts +0 -12
- package/.internal/core/render/patterns/RectanglePattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/RectanglePattern.js +2 -21
- package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
- package/.internal/core/util/Array.d.ts +11 -1
- package/.internal/core/util/Array.d.ts.map +1 -1
- package/.internal/core/util/Array.js +37 -1
- package/.internal/core/util/Array.js.map +1 -1
- package/.internal/core/util/Children.d.ts.map +1 -1
- package/.internal/core/util/Children.js +2 -0
- package/.internal/core/util/Children.js.map +1 -1
- package/.internal/core/util/ColorSet.d.ts +0 -12
- package/.internal/core/util/ColorSet.d.ts.map +1 -1
- package/.internal/core/util/ColorSet.js +2 -21
- package/.internal/core/util/ColorSet.js.map +1 -1
- package/.internal/core/util/DataProcessor.d.ts +0 -12
- package/.internal/core/util/DataProcessor.d.ts.map +1 -1
- package/.internal/core/util/DataProcessor.js +2 -21
- package/.internal/core/util/DataProcessor.js.map +1 -1
- package/.internal/core/util/DateFormatter.d.ts +23 -15
- package/.internal/core/util/DateFormatter.d.ts.map +1 -1
- package/.internal/core/util/DateFormatter.js +21 -21
- package/.internal/core/util/DateFormatter.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +62 -17
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +247 -75
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/InterfaceColors.d.ts +0 -12
- package/.internal/core/util/InterfaceColors.d.ts.map +1 -1
- package/.internal/core/util/InterfaceColors.js +0 -19
- package/.internal/core/util/InterfaceColors.js.map +1 -1
- package/.internal/core/util/Language.d.ts +0 -12
- package/.internal/core/util/Language.d.ts.map +1 -1
- package/.internal/core/util/Language.js +1 -20
- package/.internal/core/util/Language.js.map +1 -1
- package/.internal/core/util/List.d.ts +21 -2
- package/.internal/core/util/List.d.ts.map +1 -1
- package/.internal/core/util/List.js +89 -1
- package/.internal/core/util/List.js.map +1 -1
- package/.internal/core/util/NumberFormatter.d.ts +1 -22
- package/.internal/core/util/NumberFormatter.d.ts.map +1 -1
- package/.internal/core/util/NumberFormatter.js +0 -30
- package/.internal/core/util/NumberFormatter.js.map +1 -1
- package/.internal/core/util/PopulateString.js +0 -17
- package/.internal/core/util/PopulateString.js.map +1 -1
- package/.internal/core/util/States.d.ts +7 -4
- package/.internal/core/util/States.d.ts.map +1 -1
- package/.internal/core/util/States.js +32 -42
- package/.internal/core/util/States.js.map +1 -1
- package/.internal/core/util/Template.d.ts +18 -4
- package/.internal/core/util/Template.d.ts.map +1 -1
- package/.internal/core/util/Template.js +74 -14
- package/.internal/core/util/Template.js.map +1 -1
- package/.internal/core/util/TextFormatter.d.ts +19 -19
- package/.internal/core/util/TextFormatter.d.ts.map +1 -1
- package/.internal/core/util/TextFormatter.js +19 -19
- package/.internal/core/util/TextFormatter.js.map +1 -1
- package/.internal/core/util/Throttler.d.ts +3 -1
- package/.internal/core/util/Throttler.d.ts.map +1 -1
- package/.internal/core/util/Throttler.js +16 -9
- package/.internal/core/util/Throttler.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +6 -1
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +24 -6
- package/.internal/core/util/Utils.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.d.ts +2 -13
- package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +2 -21
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.d.ts +0 -12
- package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.js +1 -20
- package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
- package/.internal/themes/AnimatedTheme.js.map +1 -1
- package/.internal/themes/DarkTheme.d.ts.map +1 -1
- package/.internal/themes/DarkTheme.js +21 -1
- package/.internal/themes/DarkTheme.js.map +1 -1
- package/.internal/themes/DefaultTheme.d.ts.map +1 -1
- package/.internal/themes/DefaultTheme.js +69 -30
- package/.internal/themes/DefaultTheme.js.map +1 -1
- package/.internal/themes/MicrochartTheme.d.ts.map +1 -1
- package/.internal/themes/MicrochartTheme.js +30 -0
- package/.internal/themes/MicrochartTheme.js.map +1 -1
- package/CHANGELOG.md +317 -0
- package/examples/javascript/flow-chord/index.js +22 -24
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/index.js +25 -27
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/index.js +24 -26
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/index.js +23 -25
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/index.js +34 -39
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/index.js +39 -47
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/index.js +34 -39
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/index.js +34 -39
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/index.js +35 -40
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/index.js +34 -39
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/index.js +34 -39
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/index.js +33 -38
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/index.js +80 -66
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/index.js +154 -101
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/index.js +33 -45
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/index.js +36 -48
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/index.js +1094 -228
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/index.js +28 -31
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/README.md +0 -0
- package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/index.css +0 -0
- package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/index.html +1 -1
- package/examples/javascript/misc-40-charts/index.js +167 -0
- package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/package.json +2 -2
- package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/webpack.config.js +0 -0
- package/examples/{typescript/xy-100%stacked-column → javascript/misc-microchart-grid}/README.md +0 -0
- package/examples/{typescript/xy-100%stacked-column → javascript/misc-microchart-grid}/index.css +0 -0
- package/examples/{typescript/xy-100%stacked-column → javascript/misc-microchart-grid}/index.html +1 -1
- package/examples/javascript/misc-microchart-grid/index.js +171 -0
- package/examples/javascript/misc-microchart-grid/package.json +16 -0
- package/examples/javascript/misc-microchart-grid/webpack.config.js +38 -0
- package/examples/javascript/pie-chart/index.js +30 -35
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/index.js +43 -46
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/index.js +68 -68
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/README.md +6 -0
- package/examples/javascript/radar-column-iwatch-style/index.css +11 -0
- package/examples/javascript/radar-column-iwatch-style/index.html +12 -0
- package/examples/javascript/radar-column-iwatch-style/index.js +152 -0
- package/examples/javascript/radar-column-iwatch-style/package.json +16 -0
- package/examples/javascript/radar-column-iwatch-style/webpack.config.js +38 -0
- package/examples/javascript/radar-heat-map/index.js +36 -57
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/index.js +52 -67
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/index.js +81 -111
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/index.js +45 -53
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/index.js +29 -39
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/index.js +44 -56
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/README.md +6 -0
- package/examples/javascript/xy-100-percent-stacked-column/index.css +11 -0
- package/examples/javascript/xy-100-percent-stacked-column/index.html +12 -0
- package/examples/javascript/xy-100-percent-stacked-column/index.js +140 -0
- package/examples/javascript/xy-100-percent-stacked-column/package.json +16 -0
- package/examples/javascript/xy-100-percent-stacked-column/webpack.config.js +38 -0
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/README.md +6 -0
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.css +11 -0
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.html +12 -0
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.js +168 -0
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +16 -0
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/webpack.config.js +38 -0
- package/examples/javascript/xy-bubble/index.js +92 -65
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/index.js +112 -78
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/index.js +71 -47
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/index.js +59 -48
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/README.md +6 -0
- package/examples/javascript/xy-comparing-series-google-analytics-style/index.css +11 -0
- package/examples/javascript/xy-comparing-series-google-analytics-style/index.html +12 -0
- package/examples/javascript/xy-comparing-series-google-analytics-style/index.js +142 -0
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +16 -0
- package/examples/javascript/xy-comparing-series-google-analytics-style/webpack.config.js +38 -0
- package/examples/javascript/xy-data-grouping/index.js +62 -49
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/README.md +6 -0
- package/examples/javascript/xy-draggable-range/index.css +11 -0
- package/examples/javascript/xy-draggable-range/index.html +12 -0
- package/examples/javascript/xy-draggable-range/index.js +176 -0
- package/examples/javascript/xy-draggable-range/package.json +16 -0
- package/examples/javascript/xy-draggable-range/webpack.config.js +38 -0
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/README.md +6 -0
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.css +11 -0
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.html +12 -0
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.js +201 -0
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +16 -0
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/webpack.config.js +38 -0
- package/examples/javascript/xy-dumbbell plot/README.md +6 -0
- package/examples/javascript/xy-dumbbell plot/index.css +11 -0
- package/examples/javascript/xy-dumbbell plot/index.html +12 -0
- package/examples/javascript/xy-dumbbell plot/index.js +156 -0
- package/examples/javascript/xy-dumbbell plot/package.json +16 -0
- package/examples/javascript/xy-dumbbell plot/webpack.config.js +38 -0
- package/examples/javascript/xy-evenly-spaced-date-axis/index.js +58 -38
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/index.js +70 -46
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/README.md +6 -0
- package/examples/javascript/xy-line-highlight-on-legend-hover/index.css +11 -0
- package/examples/javascript/xy-line-highlight-on-legend-hover/index.html +12 -0
- package/examples/javascript/xy-line-highlight-on-legend-hover/index.js +183 -0
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +16 -0
- package/examples/javascript/xy-line-highlight-on-legend-hover/webpack.config.js +38 -0
- package/examples/javascript/xy-live-data/index.js +91 -55
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/README.md +6 -0
- package/examples/javascript/xy-multiple-synced-value-axes/index.css +11 -0
- package/examples/javascript/xy-multiple-synced-value-axes/index.html +12 -0
- package/examples/javascript/xy-multiple-synced-value-axes/index.js +168 -0
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +16 -0
- package/examples/javascript/xy-multiple-synced-value-axes/webpack.config.js +38 -0
- package/examples/javascript/xy-ohlc/index.js +123 -59
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/README.md +6 -0
- package/examples/javascript/xy-real-time-data-sorting/index.css +11 -0
- package/examples/javascript/xy-real-time-data-sorting/index.html +12 -0
- package/examples/javascript/xy-real-time-data-sorting/index.js +220 -0
- package/examples/javascript/xy-real-time-data-sorting/package.json +16 -0
- package/examples/javascript/xy-real-time-data-sorting/webpack.config.js +38 -0
- package/examples/javascript/xy-smoothed-line/index.js +67 -37
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/index.js +60 -33
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/index.js +71 -55
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/index.js +64 -48
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/index.js +147 -42
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/index.js +198 -70
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-chord/index.ts +22 -24
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/index.ts +25 -27
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/index.ts +24 -26
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/index.ts +23 -25
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/index.ts +34 -39
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/index.ts +39 -47
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/index.ts +34 -39
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/index.ts +34 -39
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/index.ts +35 -40
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/index.ts +34 -39
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/index.ts +34 -39
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/index.ts +33 -38
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/index.ts +80 -66
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/index.ts +154 -101
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/index.ts +33 -45
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/index.ts +36 -48
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/index.ts +1095 -229
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/index.ts +28 -31
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/README.md +6 -0
- package/examples/typescript/misc-40-charts/index.css +11 -0
- package/examples/typescript/misc-40-charts/index.html +12 -0
- package/examples/typescript/misc-40-charts/index.ts +167 -0
- package/examples/typescript/{xy-100%stacked-column → misc-40-charts}/package.json +2 -2
- package/examples/typescript/{xy-100%stacked-column → misc-40-charts}/tsconfig.json +0 -0
- package/examples/typescript/{xy-100%stacked-column → misc-40-charts}/webpack.config.js +0 -0
- package/examples/typescript/misc-microchart-grid/README.md +6 -0
- package/examples/typescript/misc-microchart-grid/index.css +11 -0
- package/examples/typescript/misc-microchart-grid/index.html +12 -0
- package/examples/typescript/misc-microchart-grid/index.ts +171 -0
- package/examples/typescript/misc-microchart-grid/package.json +18 -0
- package/examples/typescript/misc-microchart-grid/tsconfig.json +12 -0
- package/examples/typescript/misc-microchart-grid/webpack.config.js +45 -0
- package/examples/typescript/pie-chart/index.ts +30 -35
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/index.ts +43 -46
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/index.ts +69 -69
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/README.md +6 -0
- package/examples/typescript/radar-column-iwatch-style/index.css +11 -0
- package/examples/typescript/radar-column-iwatch-style/index.html +12 -0
- package/examples/typescript/radar-column-iwatch-style/index.ts +152 -0
- package/examples/typescript/radar-column-iwatch-style/package.json +18 -0
- package/examples/typescript/radar-column-iwatch-style/tsconfig.json +12 -0
- package/examples/typescript/radar-column-iwatch-style/webpack.config.js +45 -0
- package/examples/typescript/radar-heat-map/index.ts +36 -57
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/index.ts +52 -67
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/index.ts +81 -111
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/index.ts +45 -53
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/index.ts +29 -39
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/index.ts +44 -56
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/README.md +6 -0
- package/examples/typescript/xy-100-percent-stacked-column/index.css +11 -0
- package/examples/typescript/xy-100-percent-stacked-column/index.html +12 -0
- package/examples/typescript/xy-100-percent-stacked-column/index.ts +140 -0
- package/examples/typescript/xy-100-percent-stacked-column/package.json +18 -0
- package/examples/typescript/xy-100-percent-stacked-column/tsconfig.json +12 -0
- package/examples/typescript/xy-100-percent-stacked-column/webpack.config.js +45 -0
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/README.md +6 -0
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.css +11 -0
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.html +12 -0
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.ts +168 -0
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +18 -0
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/tsconfig.json +12 -0
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/webpack.config.js +45 -0
- package/examples/typescript/xy-bubble/index.ts +92 -65
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/index.ts +112 -78
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/index.ts +71 -47
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/index.ts +59 -48
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/README.md +6 -0
- package/examples/typescript/xy-comparing-series-google-analytics-style/index.css +11 -0
- package/examples/typescript/xy-comparing-series-google-analytics-style/index.html +12 -0
- package/examples/typescript/xy-comparing-series-google-analytics-style/index.ts +142 -0
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +18 -0
- package/examples/typescript/xy-comparing-series-google-analytics-style/tsconfig.json +12 -0
- package/examples/typescript/xy-comparing-series-google-analytics-style/webpack.config.js +45 -0
- package/examples/typescript/xy-data-grouping/index.ts +62 -49
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/README.md +6 -0
- package/examples/typescript/xy-draggable-range/index.css +11 -0
- package/examples/typescript/xy-draggable-range/index.html +12 -0
- package/examples/typescript/xy-draggable-range/index.ts +176 -0
- package/examples/typescript/xy-draggable-range/package.json +18 -0
- package/examples/typescript/xy-draggable-range/tsconfig.json +12 -0
- package/examples/typescript/xy-draggable-range/webpack.config.js +45 -0
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/README.md +6 -0
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.css +11 -0
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.html +12 -0
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.ts +201 -0
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +18 -0
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/tsconfig.json +12 -0
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/webpack.config.js +45 -0
- package/examples/typescript/xy-dumbbell plot/README.md +6 -0
- package/examples/typescript/xy-dumbbell plot/index.css +11 -0
- package/examples/typescript/xy-dumbbell plot/index.html +12 -0
- package/examples/typescript/xy-dumbbell plot/index.ts +156 -0
- package/examples/typescript/xy-dumbbell plot/package.json +18 -0
- package/examples/typescript/xy-dumbbell plot/tsconfig.json +12 -0
- package/examples/typescript/xy-dumbbell plot/webpack.config.js +45 -0
- package/examples/typescript/xy-evenly-spaced-date-axis/index.ts +58 -38
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/index.ts +70 -46
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/README.md +6 -0
- package/examples/typescript/xy-line-highlight-on-legend-hover/index.css +11 -0
- package/examples/typescript/xy-line-highlight-on-legend-hover/index.html +12 -0
- package/examples/typescript/xy-line-highlight-on-legend-hover/index.ts +183 -0
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +18 -0
- package/examples/typescript/xy-line-highlight-on-legend-hover/tsconfig.json +12 -0
- package/examples/typescript/xy-line-highlight-on-legend-hover/webpack.config.js +45 -0
- package/examples/typescript/xy-live-data/index.ts +91 -55
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/README.md +6 -0
- package/examples/typescript/xy-multiple-synced-value-axes/index.css +11 -0
- package/examples/typescript/xy-multiple-synced-value-axes/index.html +12 -0
- package/examples/typescript/xy-multiple-synced-value-axes/index.ts +168 -0
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +18 -0
- package/examples/typescript/xy-multiple-synced-value-axes/tsconfig.json +12 -0
- package/examples/typescript/xy-multiple-synced-value-axes/webpack.config.js +45 -0
- package/examples/typescript/xy-ohlc/index.ts +124 -60
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/README.md +6 -0
- package/examples/typescript/xy-real-time-data-sorting/index.css +11 -0
- package/examples/typescript/xy-real-time-data-sorting/index.html +12 -0
- package/examples/typescript/xy-real-time-data-sorting/index.ts +220 -0
- package/examples/typescript/xy-real-time-data-sorting/package.json +18 -0
- package/examples/typescript/xy-real-time-data-sorting/tsconfig.json +12 -0
- package/examples/typescript/xy-real-time-data-sorting/webpack.config.js +45 -0
- package/examples/typescript/xy-smoothed-line/index.ts +67 -37
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/index.ts +60 -33
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/index.ts +71 -55
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/index.ts +64 -48
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/index.ts +147 -42
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/index.ts +198 -70
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/index.d.ts +1 -2
- package/index.d.ts.map +1 -1
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/locales/ar.d.ts +1 -1
- package/locales/ar.d.ts.map +1 -1
- package/locales/ar.js +2 -5
- package/locales/ar.js.map +1 -1
- package/locales/bs_BA.d.ts +1 -1
- package/locales/bs_BA.d.ts.map +1 -1
- package/locales/bs_BA.js +2 -5
- package/locales/bs_BA.js.map +1 -1
- package/locales/ca_ES.d.ts +1 -1
- package/locales/ca_ES.d.ts.map +1 -1
- package/locales/ca_ES.js +2 -5
- package/locales/ca_ES.js.map +1 -1
- package/locales/cs_CZ.d.ts +1 -1
- package/locales/cs_CZ.d.ts.map +1 -1
- package/locales/cs_CZ.js +2 -5
- package/locales/cs_CZ.js.map +1 -1
- package/locales/da_DK.d.ts +1 -1
- package/locales/da_DK.d.ts.map +1 -1
- package/locales/da_DK.js +2 -5
- package/locales/da_DK.js.map +1 -1
- package/locales/de_CH.d.ts +1 -1
- package/locales/de_CH.js +2 -2
- package/locales/de_CH.js.map +1 -1
- package/locales/de_DE.d.ts +1 -1
- package/locales/de_DE.js +2 -2
- package/locales/de_DE.js.map +1 -1
- package/locales/el_GR.d.ts +1 -1
- package/locales/el_GR.d.ts.map +1 -1
- package/locales/el_GR.js +2 -5
- package/locales/el_GR.js.map +1 -1
- package/locales/en.js +1 -1
- package/locales/en.js.map +1 -1
- package/locales/en_CA.d.ts +1 -1
- package/locales/en_CA.js +1 -1
- package/locales/en_CA.js.map +1 -1
- package/locales/en_US.d.ts +1 -1
- package/locales/en_US.js +1 -1
- package/locales/en_US.js.map +1 -1
- package/locales/es_ES.d.ts +1 -1
- package/locales/es_ES.js +1 -1
- package/locales/es_ES.js.map +1 -1
- package/locales/et_EE.d.ts +1 -1
- package/locales/et_EE.d.ts.map +1 -1
- package/locales/et_EE.js +2 -5
- package/locales/et_EE.js.map +1 -1
- package/locales/fi_FI.d.ts +1 -1
- package/locales/fi_FI.d.ts.map +1 -1
- package/locales/fi_FI.js +2 -5
- package/locales/fi_FI.js.map +1 -1
- package/locales/fr_FR.d.ts +1 -1
- package/locales/fr_FR.js +2 -2
- package/locales/fr_FR.js.map +1 -1
- package/locales/he_IL.d.ts +1 -1
- package/locales/he_IL.d.ts.map +1 -1
- package/locales/he_IL.js +2 -5
- package/locales/he_IL.js.map +1 -1
- package/locales/hi_IN.d.ts +1 -1
- package/locales/hi_IN.d.ts.map +1 -1
- package/locales/hi_IN.js +2 -5
- package/locales/hi_IN.js.map +1 -1
- package/locales/hr_HR.d.ts +1 -1
- package/locales/hr_HR.d.ts.map +1 -1
- package/locales/hr_HR.js +2 -5
- package/locales/hr_HR.js.map +1 -1
- package/locales/hu_HU.d.ts +1 -1
- package/locales/hu_HU.d.ts.map +1 -1
- package/locales/hu_HU.js +2 -5
- package/locales/hu_HU.js.map +1 -1
- package/locales/id_ID.d.ts +1 -1
- package/locales/id_ID.d.ts.map +1 -1
- package/locales/id_ID.js +2 -5
- package/locales/id_ID.js.map +1 -1
- package/locales/it_IT.d.ts +1 -1
- package/locales/it_IT.js +2 -2
- package/locales/it_IT.js.map +1 -1
- package/locales/ja_JP.d.ts +1 -1
- package/locales/ja_JP.d.ts.map +1 -1
- package/locales/ja_JP.js +2 -5
- package/locales/ja_JP.js.map +1 -1
- package/locales/ko_KR.d.ts +1 -1
- package/locales/ko_KR.d.ts.map +1 -1
- package/locales/ko_KR.js +2 -5
- package/locales/ko_KR.js.map +1 -1
- package/locales/lt_LT.d.ts +1 -1
- package/locales/lt_LT.js +1 -1
- package/locales/lt_LT.js.map +1 -1
- package/locales/lv_LV.d.ts +1 -1
- package/locales/lv_LV.d.ts.map +1 -1
- package/locales/lv_LV.js +2 -5
- package/locales/lv_LV.js.map +1 -1
- package/locales/nb_NO.d.ts +1 -1
- package/locales/nb_NO.d.ts.map +1 -1
- package/locales/nb_NO.js +2 -5
- package/locales/nb_NO.js.map +1 -1
- package/locales/nl_NL.d.ts +1 -1
- package/locales/nl_NL.js +2 -2
- package/locales/nl_NL.js.map +1 -1
- package/locales/pl_PL.d.ts +1 -1
- package/locales/pl_PL.d.ts.map +1 -1
- package/locales/pl_PL.js +2 -5
- package/locales/pl_PL.js.map +1 -1
- package/locales/pt_BR.d.ts +1 -1
- package/locales/pt_BR.js +2 -2
- package/locales/pt_BR.js.map +1 -1
- package/locales/pt_PT.d.ts +1 -1
- package/locales/pt_PT.js +2 -2
- package/locales/pt_PT.js.map +1 -1
- package/locales/ro_RO.d.ts +1 -1
- package/locales/ro_RO.d.ts.map +1 -1
- package/locales/ro_RO.js +2 -5
- package/locales/ro_RO.js.map +1 -1
- package/locales/ru_RU.d.ts +1 -1
- package/locales/ru_RU.js +1 -1
- package/locales/ru_RU.js.map +1 -1
- package/locales/sl_SL.d.ts +1 -1
- package/locales/sl_SL.js +2 -2
- package/locales/sl_SL.js.map +1 -1
- package/locales/sr_RS.d.ts +1 -1
- package/locales/sr_RS.d.ts.map +1 -1
- package/locales/sr_RS.js +2 -5
- package/locales/sr_RS.js.map +1 -1
- package/locales/sv_SE.d.ts +1 -1
- package/locales/sv_SE.js +2 -2
- package/locales/sv_SE.js.map +1 -1
- package/locales/th_TH.d.ts +1 -1
- package/locales/th_TH.d.ts.map +1 -1
- package/locales/th_TH.js +2 -5
- package/locales/th_TH.js.map +1 -1
- package/locales/tr_TR.d.ts +1 -1
- package/locales/tr_TR.d.ts.map +1 -1
- package/locales/tr_TR.js +2 -5
- package/locales/tr_TR.js.map +1 -1
- package/locales/uk_UA.d.ts +1 -1
- package/locales/uk_UA.d.ts.map +1 -1
- package/locales/uk_UA.js +2 -5
- package/locales/uk_UA.js.map +1 -1
- package/locales/vi_VN.d.ts +1 -1
- package/locales/vi_VN.d.ts.map +1 -1
- package/locales/vi_VN.js +2 -5
- package/locales/vi_VN.js.map +1 -1
- package/locales/zh_Hans.d.ts +1 -1
- package/locales/zh_Hans.d.ts.map +1 -1
- package/locales/zh_Hans.js +2 -5
- package/locales/zh_Hans.js.map +1 -1
- package/locales/zh_Hant.d.ts +1 -1
- package/locales/zh_Hant.d.ts.map +1 -1
- package/locales/zh_Hant.js +2 -5
- package/locales/zh_Hant.js.map +1 -1
- package/package.json +7 -1
- package/.internal/core/util/DurationFormatter.d.ts +0 -131
- package/.internal/core/util/DurationFormatter.d.ts.map +0 -1
- package/.internal/core/util/DurationFormatter.js +0 -534
- package/.internal/core/util/DurationFormatter.js.map +0 -1
- package/examples/javascript/xy-100%stacked-column/index.js +0 -116
- package/examples/typescript/xy-100%stacked-column/index.ts +0 -116
|
@@ -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 { Root } from \"../../core/Root\";\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { Template } from \"../../core/util/Template\";\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 * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @param settings Settings\n\t * @param template Template\n\t * @return Instantiated object\n\t */\n\tpublic static new(root: Root, settings: ForceDirected[\"_settings\"], template?: Template<ForceDirected>): ForceDirected {\n\t\tconst x = new ForceDirected(root, settings, true, template);\n\t\tx._afterNew();\n\t\treturn x;\n\t}\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\tif (this.isDirty(\"velocityDecay\")) {\n\t\t\tthis.d3forceSimulation.velocityDecay(this.get(\"velocityDecay\", 0));\n\t\t}\n\n\t\tif (this.isDirty(\"initialFrames\")) {\n\t\t\tthis.d3forceSimulation.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\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\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\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\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t}\n\n\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\treturn radius + this.get(\"nodePadding\", 0);\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\tthis._links.push({ link: link, source: source.get(\"d3ForceNode\").index, target: target.get(\"d3ForceNode\").index, sourceDataItem: source, targetDataItem: target });\n\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._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\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\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\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t}\n\n\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\treturn radius + this.get(\"nodePadding\", 0);\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"]}
|
|
@@ -18,6 +18,7 @@ export interface IHierarchyDataObject {
|
|
|
18
18
|
value?: number;
|
|
19
19
|
children?: IHierarchyDataObject[];
|
|
20
20
|
dataItem?: DataItem<IHierarchyDataItem>;
|
|
21
|
+
customValue?: boolean;
|
|
21
22
|
}
|
|
22
23
|
export interface IHierarchyDataItem extends ISeriesDataItem {
|
|
23
24
|
value: number;
|
|
@@ -59,6 +60,11 @@ export interface IHierarchySettings extends ISeriesSettings {
|
|
|
59
60
|
* disabled (collapsed).
|
|
60
61
|
*/
|
|
61
62
|
disabledField?: string;
|
|
63
|
+
/**
|
|
64
|
+
* A field in data that holds color used for fills for various elements, such
|
|
65
|
+
* as nodes.
|
|
66
|
+
*/
|
|
67
|
+
fillField?: string;
|
|
62
68
|
/**
|
|
63
69
|
* A [[ColorSet]] to use when asigning colors for nodes.
|
|
64
70
|
*
|
|
@@ -170,6 +176,7 @@ export declare abstract class Hierarchy extends Series {
|
|
|
170
176
|
protected _updateNode(_dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
171
177
|
_getDataItemById(dataItems: Array<DataItem<this["_dataItemSettings"]>>, id: string): DataItem<this["_dataItemSettings"]> | undefined;
|
|
172
178
|
protected _handleBullets(dataItems: Array<DataItem<this["_dataItemSettings"]>>): void;
|
|
179
|
+
protected _onDataClear(): void;
|
|
173
180
|
protected processDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
174
181
|
protected _processDataItem(_dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
175
182
|
protected _updateValues(d3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hierarchy.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Hierarchy.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACrB,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAE1D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEhD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAEzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IAExD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAEjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD,gBAAgB,EAAE;QACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;KACvC,CAAC;CACF;AAED;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC7C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmD;IAE3E,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,OAAO,EAAE,gBAAgB,CAAC;IAEzC;;;;OAIG;IACH,SAAgB,cAAc,YAAwE;IAE/F,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;IAEvE,SAAS,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAEnD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAE7B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAe;IAErC;;;;OAIG;IACH,SAAgB,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,CAKhD;IAEF;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,aAAa;IA2B7E;;;;OAIG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAKzC;IAEK,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7C,SAAS,CAAC,SAAS;IAQZ,gBAAgB;IAiChB,QAAQ;IAOf,SAAS,CAAC,cAAc;IAMxB,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC;IAmBrF,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAI7D,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,SAAS;IAsB3I,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAoB9E,SAAS,CAAC,YAAY;IAOtB,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA0DvE,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAIzE,SAAS,CAAC,aAAa,CAAC,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC;IA+CxF,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IA0B/F;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAqBpE;;;;;;OAMG;IACU,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC1G;;;;;;OAMG;IACU,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B1G;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAoDzH;;;;;OAKG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM;IAWvF,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM;IA4D5F,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAG9D,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAcrE;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAwBnE,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAkBnL,eAAe,CAAC,MAAM,EAAE,MAAM;CAgBrC"}
|
|
@@ -102,10 +102,10 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
102
102
|
node.series = this;
|
|
103
103
|
node._setDataItem(dataItem);
|
|
104
104
|
this.nodes.push(node);
|
|
105
|
-
dataItem.
|
|
105
|
+
dataItem.setRaw("node", node);
|
|
106
106
|
var label = this.labels.make();
|
|
107
107
|
label._setDataItem(dataItem);
|
|
108
|
-
dataItem.
|
|
108
|
+
dataItem.setRaw("label", label);
|
|
109
109
|
this.labels.push(label);
|
|
110
110
|
if (!childData || childData.length == 0) {
|
|
111
111
|
node.addTag("last");
|
|
@@ -121,7 +121,7 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
121
121
|
configurable: true,
|
|
122
122
|
writable: true,
|
|
123
123
|
value: function () {
|
|
124
|
-
this.fields.push("category", "childData", "disabled");
|
|
124
|
+
this.fields.push("category", "childData", "disabled", "fill");
|
|
125
125
|
this.children.push(this.bulletsContainer);
|
|
126
126
|
_super.prototype._afterNew.call(this);
|
|
127
127
|
}
|
|
@@ -252,6 +252,17 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
252
252
|
this._updateVisuals();
|
|
253
253
|
}
|
|
254
254
|
});
|
|
255
|
+
Object.defineProperty(Hierarchy.prototype, "_onDataClear", {
|
|
256
|
+
enumerable: false,
|
|
257
|
+
configurable: true,
|
|
258
|
+
writable: true,
|
|
259
|
+
value: function () {
|
|
260
|
+
var colors = this.get("colors");
|
|
261
|
+
if (colors) {
|
|
262
|
+
colors.reset();
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
});
|
|
255
266
|
Object.defineProperty(Hierarchy.prototype, "processDataItem", {
|
|
256
267
|
enumerable: false,
|
|
257
268
|
configurable: true,
|
|
@@ -261,32 +272,32 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
261
272
|
_super.prototype.processDataItem.call(this, dataItem);
|
|
262
273
|
var childData = dataItem.get("childData");
|
|
263
274
|
var colors = this.get("colors");
|
|
275
|
+
var topDepth = this.get("topDepth", 0);
|
|
264
276
|
if (!dataItem.get("parent")) {
|
|
265
|
-
dataItem.
|
|
266
|
-
if (colors) {
|
|
267
|
-
dataItem.
|
|
277
|
+
dataItem.setRaw("depth", 0);
|
|
278
|
+
if (colors && topDepth == 0 && dataItem.get("fill") == null) {
|
|
279
|
+
dataItem.setRaw("fill", colors.next());
|
|
268
280
|
}
|
|
269
281
|
}
|
|
270
282
|
var depth = dataItem.get("depth");
|
|
271
283
|
var initialDepth = this.get("initialDepth", 1);
|
|
272
|
-
var topDepth = this.get("topDepth", 0);
|
|
273
284
|
this.makeNode(dataItem);
|
|
274
285
|
this._processDataItem(dataItem);
|
|
275
286
|
if (childData) {
|
|
276
287
|
var children_1 = [];
|
|
277
|
-
dataItem.
|
|
288
|
+
dataItem.setRaw("children", children_1);
|
|
278
289
|
$array.each(childData, function (child) {
|
|
279
290
|
var childDataItem = new DataItem(_this, child, _this._makeDataItem(child));
|
|
280
291
|
children_1.push(childDataItem);
|
|
281
|
-
childDataItem.
|
|
282
|
-
childDataItem.
|
|
292
|
+
childDataItem.setRaw("parent", dataItem);
|
|
293
|
+
childDataItem.setRaw("depth", depth + 1);
|
|
283
294
|
if (_this.dataItems.length == 1 && depth == 0) {
|
|
284
|
-
if (colors) {
|
|
285
|
-
childDataItem.
|
|
295
|
+
if (colors && childDataItem.get("fill") == null) {
|
|
296
|
+
childDataItem.setRaw("fill", colors.next());
|
|
286
297
|
}
|
|
287
298
|
}
|
|
288
299
|
else {
|
|
289
|
-
childDataItem.
|
|
300
|
+
childDataItem.setRaw("fill", dataItem.get("fill"));
|
|
290
301
|
}
|
|
291
302
|
_this.processDataItem(childDataItem);
|
|
292
303
|
});
|
|
@@ -325,7 +336,12 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
325
336
|
d3HierarchyNode.index = this._index;
|
|
326
337
|
this._index++;
|
|
327
338
|
dataItem.get("node").set("disabled", dataItem.get("disabled"));
|
|
339
|
+
var dataValue = d3HierarchyNode.data.value;
|
|
328
340
|
var value = d3HierarchyNode.value;
|
|
341
|
+
if (dataValue != null) {
|
|
342
|
+
value = dataValue;
|
|
343
|
+
d3HierarchyNode["value"] = value;
|
|
344
|
+
}
|
|
329
345
|
if ($type.isNumber(value)) {
|
|
330
346
|
dataItem.setRaw("sum", value);
|
|
331
347
|
if (this.getPrivate("valueLow") > value) {
|
|
@@ -361,6 +377,10 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
361
377
|
childrenDataArray_1.push(childData);
|
|
362
378
|
_this._makeHierarchyData(childData, childDataItem);
|
|
363
379
|
});
|
|
380
|
+
var value = dataItem.get("valueWorking");
|
|
381
|
+
if ($type.isNumber(value)) {
|
|
382
|
+
data.value = value;
|
|
383
|
+
}
|
|
364
384
|
}
|
|
365
385
|
else {
|
|
366
386
|
var value = dataItem.get("valueWorking");
|
|
@@ -411,7 +431,7 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
411
431
|
writable: true,
|
|
412
432
|
value: function (dataItem, duration) {
|
|
413
433
|
return __awaiter(this, void 0, void 0, function () {
|
|
414
|
-
var promises, hiddenState, easing, children, node;
|
|
434
|
+
var promises, hiddenState, stateAnimationDuration, stateAnimationEasing, easing, children, node;
|
|
415
435
|
var _this = this;
|
|
416
436
|
return __generator(this, function (_a) {
|
|
417
437
|
switch (_a.label) {
|
|
@@ -419,9 +439,11 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
419
439
|
promises = [_super.prototype.hideDataItem.call(this, dataItem, duration)];
|
|
420
440
|
hiddenState = this.states.create("hidden", {});
|
|
421
441
|
if (!$type.isNumber(duration)) {
|
|
422
|
-
|
|
442
|
+
stateAnimationDuration = "stateAnimationDuration";
|
|
443
|
+
duration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));
|
|
423
444
|
}
|
|
424
|
-
|
|
445
|
+
stateAnimationEasing = "stateAnimationEasing";
|
|
446
|
+
easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));
|
|
425
447
|
children = dataItem.get("children");
|
|
426
448
|
if ((!children || children.length == 0) && $type.isNumber(dataItem.get("value"))) {
|
|
427
449
|
promises.push(dataItem.animate({ key: "valueWorking", to: 0, duration: duration, easing: easing }).waitForStop());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hierarchy.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../../core/util/Color\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { Easing } from \"../../core/util/Ease\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { DataItem } from \"../../core/render/Component\";\nimport { HierarchyNode } from \"./HierarchyNode\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\n/**\n * @ignore\n */\nexport interface IHierarchyDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IHierarchyDataObject[],\n\tdataItem?: DataItem<IHierarchyDataItem>\n};\n\nexport interface IHierarchyDataItem extends ISeriesDataItem {\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\t\n\tvaluePercentTotal: number;\n\tsum: number;\n\tcategory: string;\n\tchildren: Array<DataItem<IHierarchyDataItem>>;\n\tchildData: Array<any>\n\tparent: DataItem<IHierarchyDataItem>;\n\tdepth: number;\n\tnode: HierarchyNode;\n\tlabel: Label;\n\tfill: Color;\n\tdisabled: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\td3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>;\n}\n\nexport interface IHierarchySettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data that holds numeric value for the node.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A field in data that holds string-based identificator for node.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * A field in data that holds an array of child node data.\n\t */\n\tchildDataField?: string;\n\n\t/**\n\t * A field in data that holds boolean value indicating if node is\n\t * disabled (collapsed).\n\t */\n\tdisabledField?: string;\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for nodes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Node_colors} for more info\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * Number of child levels to open when clicking on a node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tdownDepth?: number;\n\n\t/**\n\t * Number of levels parent levels to show from currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tupDepth?: number;\n\n\t/**\n\t * Number of levels to show on chart's first load.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\tinitialDepth?: number;\n\n\t/**\n\t * If set, will show nodes starting from set level.\n\t *\n\t * It could be used to eliminate top level branches, that do not need to be\n\t * shown.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\ttopDepth?: number;\n\n\t/**\n\t * If set to `true` will make all other branches collapse when some branch is\n\t * expanded.\n\t */\n\tsingleBranchOnly?: boolean;\n\n\t/**\n\t * A data item for currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Pre_selected_branch} for more info\n\t */\n\tselectedDataItem?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Duration for all drill animations in milliseconds.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * An easing function to use for drill animations.\n\t */\n\tanimationEasing?: Easing;\n\n}\n\nexport interface IHierarchyPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Level count in series.\n\t */\n\tmaxDepth: number;\n\n}\n\nexport interface IHierarchyEvents extends ISeriesEvents {\n\tdataitemselected: {\n\t\tdataItem?: DataItem<IHierarchyDataItem>\n\t};\n}\n\n/**\n * A base class for all hierarchy charts.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/} for more info\n */\nexport abstract class Hierarchy extends Series {\n\tpublic static className: string = \"Hierarchy\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Hierarchy.className]);\n\n\tdeclare public _settings: IHierarchySettings;\n\tdeclare public _privateSettings: IHierarchyPrivate;\n\tdeclare public _dataItemSettings: IHierarchyDataItem;\n\tdeclare public _events: IHierarchyEvents;\n\n\t/**\n\t * A [[Container]] that nodes are placed in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly nodesContainer = this.children.push(Container.new(this._root, { isMeasured: false }));\n\n\tpublic _rootNode: d3hierarchy.HierarchyNode<IHierarchyDataObject> | undefined;\n\n\tpublic _treeData: IHierarchyDataObject | undefined;\n\n\tprotected _index: number = 0;\n\n\tprotected _tag: string = \"hierarchy\";\n\n\t/**\n\t * A list of nodes in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<HierarchyNode>\n\t */\n\tpublic readonly nodes: ListTemplate<HierarchyNode> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => HierarchyNode.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.nodes.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\"])\n\t\t}, this.nodes.template)\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\n\t\tconst childData = dataItem.get(\"childData\");\n\n\t\tconst node = this.nodes.make();\n\n\t\tnode.series = this;\n\t\tnode._setDataItem(dataItem);\n\t\tthis.nodes.push(node);\n\t\tdataItem.set(\"node\", node);\n\n\t\tconst label = this.labels.make();\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.set(\"label\", label);\n\t\tthis.labels.push(label);\n\n\t\tif (!childData || childData.length == 0) {\n\t\t\tnode.addTag(\"last\");\n\t\t\tlabel.addTag(\"last\");\n\t\t}\n\n\t\tthis.nodesContainer.children.push(node);\n\t\tnode.children.push(label);\n\n\t\treturn node;\n\t}\n\n\t/**\n\t * A list of label elements in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\"])\n\t\t}, this.labels.template)\n\t);\n\n\tpublic _currentDownDepth: number | undefined;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"category\", \"childData\", \"disabled\");\n\n\t\tthis.children.push(this.bulletsContainer);\n\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._treeData = {};\n\n\t\t\tconst first = this.dataItems[0];\n\t\t\tif (first) {\n\t\t\t\tthis._makeHierarchyData(this._treeData, first);\n\t\t\t\tthis._index = 0;\n\t\t\t\tthis._rootNode = (d3hierarchy.hierarchy(this._treeData) as any);\n\t\t\t\tif (this._rootNode) {\n\t\t\t\t\tthis._rootNode.sum((d) => {\n\t\t\t\t\t\treturn d.value as any;\n\t\t\t\t\t});\n\t\t\t\t\t//this._rootNode.sort((a, b) => (b.value as any) - (a.value as any));\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", -Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"maxDepth\", 0);\n\t\t\t\t\tthis._updateValues(this._rootNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._valuesDirty || this._sizeDirty) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\n\t\tif (this._sizeDirty) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"), this._currentDownDepth);\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\t\tif (this.isDirty(\"selectedDataItem\")) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"));\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNodes(hierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\n\t\tif (dataItem) {\n\t\t\tthis._updateNode(dataItem);\n\n\t\t\tif (this.bullets.length > 0 && !dataItem.bullets) {\n\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t}\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodes(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateNode(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tpublic _getDataItemById(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>, id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\n\t\tlet di: DataItem<this[\"_dataItemSettings\"]> | undefined;\n\n\t\t$array.each(dataItems, (dataItem: any) => {\n\n\t\t\tif (dataItem.get(\"id\") == id) {\n\t\t\t\tdi = dataItem;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tlet childDataItem = this._getDataItemById(children, id);\n\t\t\t\tif (childDataItem) {\n\t\t\t\t\tdi = childDataItem\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\treturn di;\n\t}\n\n\tprotected _handleBullets(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif (bullets) {\n\t\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children) {\n\t\t\t\tthis._handleBullets(children);\n\t\t\t}\n\t\t})\n\n\t\tthis._updateVisuals();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst childData = dataItem.get(\"childData\");\n\t\tlet colors = this.get(\"colors\");\n\n\t\tif (!dataItem.get(\"parent\")) {\n\t\t\tdataItem.set(\"depth\", 0);\n\n\t\t\tif (colors) {\n\t\t\t\tdataItem.set(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tlet depth = dataItem.get(\"depth\");\n\t\tconst initialDepth = this.get(\"initialDepth\", 1);\n\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\tthis.makeNode(dataItem);\n\t\tthis._processDataItem(dataItem);\n\n\t\tif (childData) {\n\t\t\tconst children: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\t\tdataItem.set(\"children\", children);\n\n\t\t\t$array.each(childData, (child) => {\n\t\t\t\tconst childDataItem = new DataItem(this, child, this._makeDataItem(child));\n\n\t\t\t\tchildren.push(childDataItem);\n\n\t\t\t\tchildDataItem.set(\"parent\", dataItem);\n\t\t\t\tchildDataItem.set(\"depth\", depth + 1);\n\n\t\t\t\tif (this.dataItems.length == 1 && depth == 0) {\n\t\t\t\t\tif (colors) {\n\t\t\t\t\t\tchildDataItem.set(\"fill\", colors.next());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tchildDataItem.set(\"fill\", dataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tthis.processDataItem(childDataItem);\n\t\t\t})\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (!children || children.length == 0) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tnode.setAll({ toggleKey: undefined, cursorOverStyle: \"default\" });\n\t\t}\n\n\n\t\tif (dataItem.get(\"disabled\") == null) {\n\t\t\tif (depth >= topDepth + initialDepth) {\n\t\t\t\tthis.disableDataItem(dataItem, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _processDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = d3HierarchyNode.data.dataItem;\n\n\t\tif (d3HierarchyNode.depth > this.getPrivate(\"maxDepth\")) {\n\t\t\tthis.setPrivateRaw(\"maxDepth\", d3HierarchyNode.depth);\n\t\t}\n\n\t\tif (dataItem) {\n\t\t\tdataItem.setRaw(\"d3HierarchyNode\", d3HierarchyNode);\n\n\t\t\t(d3HierarchyNode as any).index = this._index;\n\n\t\t\tthis._index++;\n\n\t\t\tdataItem.get(\"node\").set(\"disabled\", dataItem.get(\"disabled\"));\n\n\t\t\tconst value = d3HierarchyNode.value;\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdataItem.setRaw(\"sum\", value);\n\n\t\t\t\tif (this.getPrivate(\"valueLow\") > value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", value);\n\t\t\t\t}\n\n\t\t\t\tif (this.getPrivate(\"valueHigh\") < value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateLegendValue(dataItem);\n\t\t}\n\n\t\tconst hierarchyChildren = d3HierarchyNode.children;\n\t\tif (hierarchyChildren) {\n\t\t\t$array.each(hierarchyChildren, (d3HierarchyChild) => {\n\t\t\t\tthis._updateValues(d3HierarchyChild);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _makeHierarchyData(data: IHierarchyDataObject, dataItem: DataItem<IHierarchyDataItem>) {\n\t\tdata.dataItem = dataItem;\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tconst childrenDataArray: Array<IHierarchyDataObject> = [];\n\t\t\tdata.children = childrenDataArray;\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tconst childData = {};\n\t\t\t\tchildrenDataArray.push(childData);\n\t\t\t\tthis._makeHierarchyData(childData, childDataItem);\n\t\t\t})\n\t\t}\n\t\telse {\n\t\t\tconst value = dataItem.get(\"valueWorking\");\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdata.value = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tthis.nodes.removeValue(node);\n\t\t\tnode.dispose();\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disposeDataItem(child);\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Hides hierarchy's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: 0, duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.hide();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.hideDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows hierarchy's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.show();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.showDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Enables a disabled data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic enableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth?: number, depth?: number, duration?: number) {\n\n\t\tif (depth == null) {\n\t\t\tdepth = 0;\n\t\t}\n\n\t\tif (maxDepth == null) {\n\t\t\tmaxDepth = 1;\n\t\t}\n\n\t\tdataItem.set(\"disabled\", false);\n\t\tdataItem.get(\"node\").set(\"disabled\", false);\n\n\t\tif (!dataItem.isHidden()) {\n\t\t\tdataItem.get(\"node\").show(duration);\n\t\t}\n\n\t\tif (depth == 0) {\n\t\t\tconst upDepth = this.get(\"upDepth\", Infinity);\n\t\t\tlet parent = dataItem;\n\t\t\tlet count = 0;\n\n\t\t\twhile (parent !== undefined) {\n\t\t\t\tif (count > upDepth) {\n\t\t\t\t\tparent.get(\"node\").hide();\n\t\t\t\t}\n\t\t\t\tparent = parent.get(\"parent\");\n\t\t\t\tcount++;\n\t\t\t}\n\t\t}\n\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tif (depth < maxDepth - 1) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tthis.enableDataItem(child, maxDepth, depth as number + 1, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (!child.isHidden()) {\n\t\t\t\t\t\tchild.get(\"node\").show(duration);\n\t\t\t\t\t\tchild.get(\"node\").states.applyAnimate(\"disabled\");\n\t\t\t\t\t\tchild.set(\"disabled\", true);\n\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Disables a data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic disableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number) {\n\t\tdataItem.set(\"disabled\", true);\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disableDataItem(child, duration);\n\t\t\t\tchild.get(\"node\").hide(duration);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number) {\n\t\tif (dataItem) {\n\t\t\tconst type = \"dataitemselected\";\n\t\t\tthis.events.dispatch(type, { type: type, target: this, dataItem: dataItem });\n\n\t\t\tlet maxDepth = this.getPrivate(\"maxDepth\", 1);\n\t\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\t\tif (downDepth == null) {\n\t\t\t\tdownDepth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\t\t\t}\n\n\t\t\tif (!this.inited) {\n\t\t\t\tdownDepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - topDepth);\n\t\t\t}\n\n\t\t\tthis._currentDownDepth = downDepth;\n\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\t\t\tlet currentDepth = hierarchyNode.depth;\n\n\t\t\tif (currentDepth + downDepth > maxDepth) {\n\t\t\t\tdownDepth = maxDepth - currentDepth;\n\t\t\t}\n\n\t\t\tif (currentDepth < topDepth) {\n\t\t\t\tdownDepth += topDepth - currentDepth;\n\t\t\t\tcurrentDepth = topDepth;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children && children.length > 0) {\n\t\t\t\tif (downDepth > 0) {\n\t\t\t\t\tthis.enableDataItem(dataItem, downDepth);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdataItem.get(\"node\").show();\n\t\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\t\tchild.get(\"node\").hide();\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (hierarchyNode.depth < topDepth) {\n\t\t\t\t\tdataItem.get(\"node\").hide(0);\n\t\t\t\t}\n\n\t\t\t\tif (this.get(\"singleBranchOnly\")) {\n\t\t\t\t\tthis._handleSingle(dataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.enableDataItem(this.dataItems[0], downDepth, 0);\n\t\t\t}\n\n\t\t\tthis._zoom(dataItem);\n\t\t}\n\n\t}\n\n\tprotected _zoom(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tif (parent) {\n\t\t\tconst children = parent.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (child != dataItem) {\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Selects specific data item.\n\t *\n\t * @param dataItem Target data item\n\t */\n\tpublic selectDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tconst maxDepth = this.getPrivate(\"maxDepth\", 1);\n\n\t\tif (this.get(\"selectedDataItem\") == dataItem) {\n\t\t\tif (parent) {\n\t\t\t\tthis.set(\"selectedDataItem\", parent);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet depth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\n\t\t\t\tif (this._currentDownDepth == depth) {\n\t\t\t\t\tdepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - this.get(\"topDepth\", 0));\n\t\t\t\t}\n\n\t\t\t\tthis._selectDataItem(dataItem, depth);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.set(\"selectedDataItem\", dataItem);\n\t\t}\n\t}\n\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction: (root: Root, series: Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet, index?: number) {\n\t\tconst bullet = super._makeBullet(dataItem, bulletFunction, index);\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tconst node = dataItem.get(\"node\");\n\n\t\tif (sprite) {\n\t\t\tnode.children.push(sprite);\n\t\t\tnode.on(\"width\", () => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t})\n\t\t\tnode.on(\"height\", () => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t})\n\t\t}\n\n\t\treturn bullet;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tsprite.set(\"x\", node.width() * locationX);\n\t\t\tsprite.set(\"y\", node.height() * locationY);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Hierarchy.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../../core/util/Color\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { Easing } from \"../../core/util/Ease\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { DataItem } from \"../../core/render/Component\";\nimport { HierarchyNode } from \"./HierarchyNode\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\n/**\n * @ignore\n */\nexport interface IHierarchyDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IHierarchyDataObject[],\n\tdataItem?: DataItem<IHierarchyDataItem>\n\tcustomValue?: boolean;\n};\n\nexport interface IHierarchyDataItem extends ISeriesDataItem {\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\n\tvaluePercentTotal: number;\n\tsum: number;\n\tcategory: string;\n\tchildren: Array<DataItem<IHierarchyDataItem>>;\n\tchildData: Array<any>\n\tparent: DataItem<IHierarchyDataItem>;\n\tdepth: number;\n\tnode: HierarchyNode;\n\tlabel: Label;\n\tfill: Color;\n\tdisabled: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\td3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>;\n}\n\nexport interface IHierarchySettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data that holds numeric value for the node.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A field in data that holds string-based identificator for node.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * A field in data that holds an array of child node data.\n\t */\n\tchildDataField?: string;\n\n\t/**\n\t * A field in data that holds boolean value indicating if node is\n\t * disabled (collapsed).\n\t */\n\tdisabledField?: string;\n\n\t/**\n\t * A field in data that holds color used for fills for various elements, such\n\t * as nodes.\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for nodes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Node_colors} for more info\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * Number of child levels to open when clicking on a node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tdownDepth?: number;\n\n\t/**\n\t * Number of levels parent levels to show from currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tupDepth?: number;\n\n\t/**\n\t * Number of levels to show on chart's first load.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\tinitialDepth?: number;\n\n\t/**\n\t * If set, will show nodes starting from set level.\n\t *\n\t * It could be used to eliminate top level branches, that do not need to be\n\t * shown.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\ttopDepth?: number;\n\n\t/**\n\t * If set to `true` will make all other branches collapse when some branch is\n\t * expanded.\n\t */\n\tsingleBranchOnly?: boolean;\n\n\t/**\n\t * A data item for currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Pre_selected_branch} for more info\n\t */\n\tselectedDataItem?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Duration for all drill animations in milliseconds.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * An easing function to use for drill animations.\n\t */\n\tanimationEasing?: Easing;\n\n}\n\nexport interface IHierarchyPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Level count in series.\n\t */\n\tmaxDepth: number;\n\n}\n\nexport interface IHierarchyEvents extends ISeriesEvents {\n\tdataitemselected: {\n\t\tdataItem?: DataItem<IHierarchyDataItem>\n\t};\n}\n\n/**\n * A base class for all hierarchy charts.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/} for more info\n */\nexport abstract class Hierarchy extends Series {\n\tpublic static className: string = \"Hierarchy\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Hierarchy.className]);\n\n\tdeclare public _settings: IHierarchySettings;\n\tdeclare public _privateSettings: IHierarchyPrivate;\n\tdeclare public _dataItemSettings: IHierarchyDataItem;\n\tdeclare public _events: IHierarchyEvents;\n\n\t/**\n\t * A [[Container]] that nodes are placed in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly nodesContainer = this.children.push(Container.new(this._root, { isMeasured: false }));\n\n\tpublic _rootNode: d3hierarchy.HierarchyNode<IHierarchyDataObject> | undefined;\n\n\tpublic _treeData: IHierarchyDataObject | undefined;\n\n\tprotected _index: number = 0;\n\n\tprotected _tag: string = \"hierarchy\";\n\n\t/**\n\t * A list of nodes in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<HierarchyNode>\n\t */\n\tpublic readonly nodes: ListTemplate<HierarchyNode> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => HierarchyNode.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.nodes.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\"])\n\t\t}, this.nodes.template)\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\n\t\tconst childData = dataItem.get(\"childData\");\n\n\t\tconst node = this.nodes.make();\n\n\t\tnode.series = this;\n\t\tnode._setDataItem(dataItem);\n\t\tthis.nodes.push(node);\n\t\tdataItem.setRaw(\"node\", node);\n\n\t\tconst label = this.labels.make();\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.setRaw(\"label\", label);\n\t\tthis.labels.push(label);\n\n\t\tif (!childData || childData.length == 0) {\n\t\t\tnode.addTag(\"last\");\n\t\t\tlabel.addTag(\"last\");\n\t\t}\n\n\t\tthis.nodesContainer.children.push(node);\n\t\tnode.children.push(label);\n\n\t\treturn node;\n\t}\n\n\t/**\n\t * A list of label elements in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\"])\n\t\t}, this.labels.template)\n\t);\n\n\tpublic _currentDownDepth: number | undefined;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"category\", \"childData\", \"disabled\", \"fill\");\n\n\t\tthis.children.push(this.bulletsContainer);\n\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._treeData = {};\n\n\t\t\tconst first = this.dataItems[0];\n\t\t\tif (first) {\n\t\t\t\tthis._makeHierarchyData(this._treeData, first);\n\t\t\t\tthis._index = 0;\n\t\t\t\tthis._rootNode = (d3hierarchy.hierarchy(this._treeData) as any);\n\t\t\t\tif (this._rootNode) {\n\t\t\t\t\tthis._rootNode.sum((d) => {\n\t\t\t\t\t\treturn d.value as any;\n\t\t\t\t\t});\n\t\t\t\t\t//this._rootNode.sort((a, b) => (b.value as any) - (a.value as any));\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", -Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"maxDepth\", 0);\n\t\t\t\t\tthis._updateValues(this._rootNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._valuesDirty || this._sizeDirty) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\n\t\tif (this._sizeDirty) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"), this._currentDownDepth);\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\t\tif (this.isDirty(\"selectedDataItem\")) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"));\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNodes(hierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\n\t\tif (dataItem) {\n\t\t\tthis._updateNode(dataItem);\n\n\t\t\tif (this.bullets.length > 0 && !dataItem.bullets) {\n\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t}\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodes(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateNode(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tpublic _getDataItemById(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>, id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\n\t\tlet di: DataItem<this[\"_dataItemSettings\"]> | undefined;\n\n\t\t$array.each(dataItems, (dataItem: any) => {\n\n\t\t\tif (dataItem.get(\"id\") == id) {\n\t\t\t\tdi = dataItem;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tlet childDataItem = this._getDataItemById(children, id);\n\t\t\t\tif (childDataItem) {\n\t\t\t\t\tdi = childDataItem\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\treturn di;\n\t}\n\n\tprotected _handleBullets(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif (bullets) {\n\t\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children) {\n\t\t\t\tthis._handleBullets(children);\n\t\t\t}\n\t\t})\n\n\t\tthis._updateVisuals();\n\t}\n\n\tprotected _onDataClear() {\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst childData = dataItem.get(\"childData\");\n\t\tconst colors = this.get(\"colors\");\n\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\tif (!dataItem.get(\"parent\")) {\n\t\t\tdataItem.setRaw(\"depth\", 0);\n\t\t\tif (colors && topDepth == 0 && dataItem.get(\"fill\") == null) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tlet depth = dataItem.get(\"depth\");\n\t\tconst initialDepth = this.get(\"initialDepth\", 1);\n\n\t\tthis.makeNode(dataItem);\n\t\tthis._processDataItem(dataItem);\n\n\t\tif (childData) {\n\t\t\tconst children: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\t\tdataItem.setRaw(\"children\", children);\n\n\t\t\t$array.each(childData, (child) => {\n\t\t\t\tconst childDataItem = new DataItem(this, child, this._makeDataItem(child));\n\n\t\t\t\tchildren.push(childDataItem);\n\n\t\t\t\tchildDataItem.setRaw(\"parent\", dataItem);\n\t\t\t\tchildDataItem.setRaw(\"depth\", depth + 1);\n\n\t\t\t\tif (this.dataItems.length == 1 && depth == 0) {\n\t\t\t\t\tif (colors && childDataItem.get(\"fill\") == null) {\n\t\t\t\t\t\tchildDataItem.setRaw(\"fill\", colors.next());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tchildDataItem.setRaw(\"fill\", dataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tthis.processDataItem(childDataItem);\n\t\t\t})\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (!children || children.length == 0) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tnode.setAll({ toggleKey: undefined, cursorOverStyle: \"default\" });\n\t\t}\n\n\t\tif (dataItem.get(\"disabled\") == null) {\n\t\t\tif (depth >= topDepth + initialDepth) {\n\t\t\t\tthis.disableDataItem(dataItem, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _processDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = d3HierarchyNode.data.dataItem;\n\n\t\tif (d3HierarchyNode.depth > this.getPrivate(\"maxDepth\")) {\n\t\t\tthis.setPrivateRaw(\"maxDepth\", d3HierarchyNode.depth);\n\t\t}\n\n\t\tif (dataItem) {\n\t\t\tdataItem.setRaw(\"d3HierarchyNode\", d3HierarchyNode);\n\n\t\t\t(d3HierarchyNode as any).index = this._index;\n\n\t\t\tthis._index++;\n\n\t\t\tdataItem.get(\"node\").set(\"disabled\", dataItem.get(\"disabled\"));\n\n\t\t\tlet dataValue = d3HierarchyNode.data.value;\n\t\t\tlet value = d3HierarchyNode.value\n\n\t\t\tif (dataValue != null) {\n\t\t\t\tvalue = dataValue;\n\t\t\t\t(d3HierarchyNode as any)[\"value\"] = value;\n\t\t\t}\n\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdataItem.setRaw(\"sum\", value);\n\n\t\t\t\tif (this.getPrivate(\"valueLow\") > value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", value);\n\t\t\t\t}\n\n\t\t\t\tif (this.getPrivate(\"valueHigh\") < value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateLegendValue(dataItem);\n\t\t}\n\n\t\tconst hierarchyChildren = d3HierarchyNode.children;\n\t\tif (hierarchyChildren) {\n\t\t\t$array.each(hierarchyChildren, (d3HierarchyChild) => {\n\t\t\t\tthis._updateValues(d3HierarchyChild);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _makeHierarchyData(data: IHierarchyDataObject, dataItem: DataItem<IHierarchyDataItem>) {\n\t\tdata.dataItem = dataItem;\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tconst childrenDataArray: Array<IHierarchyDataObject> = [];\n\t\t\tdata.children = childrenDataArray;\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tconst childData = {};\n\t\t\t\tchildrenDataArray.push(childData);\n\t\t\t\tthis._makeHierarchyData(childData, childDataItem);\n\t\t\t})\n\n\t\t\tconst value = dataItem.get(\"valueWorking\");\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdata.value = value;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconst value = dataItem.get(\"valueWorking\");\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdata.value = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tthis.nodes.removeValue(node);\n\t\t\tnode.dispose();\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disposeDataItem(child);\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Hides hierarchy's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tconst stateAnimationDuration = \"stateAnimationDuration\"\n\t\t\tduration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));\n\t\t}\n\n\t\tconst stateAnimationEasing = \"stateAnimationEasing\";\n\t\tconst easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));\n\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: 0, duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.hide();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.hideDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows hierarchy's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.show();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.showDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Enables a disabled data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic enableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth?: number, depth?: number, duration?: number) {\n\n\t\tif (depth == null) {\n\t\t\tdepth = 0;\n\t\t}\n\n\t\tif (maxDepth == null) {\n\t\t\tmaxDepth = 1;\n\t\t}\n\n\t\tdataItem.set(\"disabled\", false);\n\t\tdataItem.get(\"node\").set(\"disabled\", false);\n\n\t\tif (!dataItem.isHidden()) {\n\t\t\tdataItem.get(\"node\").show(duration);\n\t\t}\n\n\t\tif (depth == 0) {\n\t\t\tconst upDepth = this.get(\"upDepth\", Infinity);\n\t\t\tlet parent = dataItem;\n\t\t\tlet count = 0;\n\n\t\t\twhile (parent !== undefined) {\n\t\t\t\tif (count > upDepth) {\n\t\t\t\t\tparent.get(\"node\").hide();\n\t\t\t\t}\n\t\t\t\tparent = parent.get(\"parent\");\n\t\t\t\tcount++;\n\t\t\t}\n\t\t}\n\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tif (depth < maxDepth - 1) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tthis.enableDataItem(child, maxDepth, depth as number + 1, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (!child.isHidden()) {\n\t\t\t\t\t\tchild.get(\"node\").show(duration);\n\t\t\t\t\t\tchild.get(\"node\").states.applyAnimate(\"disabled\");\n\t\t\t\t\t\tchild.set(\"disabled\", true);\n\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Disables a data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic disableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number) {\n\t\tdataItem.set(\"disabled\", true);\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disableDataItem(child, duration);\n\t\t\t\tchild.get(\"node\").hide(duration);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number) {\n\t\tif (dataItem) {\n\t\t\tconst type = \"dataitemselected\";\n\t\t\tthis.events.dispatch(type, { type: type, target: this, dataItem: dataItem });\n\n\t\t\tlet maxDepth = this.getPrivate(\"maxDepth\", 1);\n\t\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\t\tif (downDepth == null) {\n\t\t\t\tdownDepth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\t\t\t}\n\n\t\t\tif (!this.inited) {\n\t\t\t\tdownDepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - topDepth);\n\t\t\t}\n\n\t\t\tthis._currentDownDepth = downDepth;\n\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\t\t\tlet currentDepth = hierarchyNode.depth;\n\n\t\t\tif (currentDepth + downDepth > maxDepth) {\n\t\t\t\tdownDepth = maxDepth - currentDepth;\n\t\t\t}\n\n\t\t\tif (currentDepth < topDepth) {\n\t\t\t\tdownDepth += topDepth - currentDepth;\n\t\t\t\tcurrentDepth = topDepth;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children && children.length > 0) {\n\t\t\t\tif (downDepth > 0) {\n\t\t\t\t\tthis.enableDataItem(dataItem, downDepth);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdataItem.get(\"node\").show();\n\t\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\t\tchild.get(\"node\").hide();\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (hierarchyNode.depth < topDepth) {\n\t\t\t\t\tdataItem.get(\"node\").hide(0);\n\t\t\t\t}\n\n\t\t\t\tif (this.get(\"singleBranchOnly\")) {\n\t\t\t\t\tthis._handleSingle(dataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.enableDataItem(this.dataItems[0], downDepth, 0);\n\t\t\t}\n\n\t\t\tthis._zoom(dataItem);\n\t\t}\n\n\t}\n\n\tprotected _zoom(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tif (parent) {\n\t\t\tconst children = parent.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (child != dataItem) {\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Selects specific data item.\n\t *\n\t * @param dataItem Target data item\n\t */\n\tpublic selectDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tconst maxDepth = this.getPrivate(\"maxDepth\", 1);\n\n\t\tif (this.get(\"selectedDataItem\") == dataItem) {\n\t\t\tif (parent) {\n\t\t\t\tthis.set(\"selectedDataItem\", parent);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet depth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\n\t\t\t\tif (this._currentDownDepth == depth) {\n\t\t\t\t\tdepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - this.get(\"topDepth\", 0));\n\t\t\t\t}\n\n\t\t\t\tthis._selectDataItem(dataItem, depth);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.set(\"selectedDataItem\", dataItem);\n\t\t}\n\t}\n\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction: (root: Root, series: Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet, index?: number) {\n\t\tconst bullet = super._makeBullet(dataItem, bulletFunction, index);\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tconst node = dataItem.get(\"node\");\n\n\t\tif (sprite) {\n\t\t\tnode.children.push(sprite);\n\t\t\tnode.on(\"width\", () => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t})\n\t\t\tnode.on(\"height\", () => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t})\n\t\t}\n\n\t\treturn bullet;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tsprite.set(\"x\", node.width() * locationX);\n\t\t\tsprite.set(\"y\", node.height() * locationY);\n\t\t}\n\t}\n\n}\n"]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type { Root } from "../../core/Root";
|
|
2
1
|
import type { IHierarchyDataItem } from "./Hierarchy";
|
|
3
2
|
import type { DataItem } from "../../core/render/Component";
|
|
4
|
-
import type { Template } from "../../core/util/Template";
|
|
5
3
|
import { Graphics, IGraphicsSettings, IGraphicsPrivate } from "../../core/render/Graphics";
|
|
6
4
|
export interface IHierarchyLinkSettings extends IGraphicsSettings {
|
|
7
5
|
/**
|
|
@@ -22,21 +20,12 @@ export interface IHierarchyLinkSettings extends IGraphicsSettings {
|
|
|
22
20
|
distance?: number;
|
|
23
21
|
}
|
|
24
22
|
export interface IHierarchyLinkPrivate extends IGraphicsPrivate {
|
|
23
|
+
d3Link: any;
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
26
|
* Draws a link between nodes in a hierarchy series.
|
|
28
27
|
*/
|
|
29
28
|
export declare class HierarchyLink extends Graphics {
|
|
30
|
-
/**
|
|
31
|
-
* Use this method to create an instance of this class.
|
|
32
|
-
*
|
|
33
|
-
* @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info
|
|
34
|
-
* @param root Root element
|
|
35
|
-
* @param settings Settings
|
|
36
|
-
* @param template Template
|
|
37
|
-
* @return Instantiated object
|
|
38
|
-
*/
|
|
39
|
-
static new(root: Root, settings: HierarchyLink["_settings"], template?: Template<HierarchyLink>): HierarchyLink;
|
|
40
29
|
_settings: IHierarchyLinkSettings;
|
|
41
30
|
_privateSettings: IHierarchyLinkPrivate;
|
|
42
31
|
static className: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchyLink.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"HierarchyLink.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAEhE;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC9D,MAAM,EAAC,GAAG,CAAC;CACX;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IAC3B,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IAEvD,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyD;IAEzF,QAAQ;IAcR,cAAc;CAsBrB"}
|
|
@@ -8,25 +8,6 @@ var HierarchyLink = /** @class */ (function (_super) {
|
|
|
8
8
|
function HierarchyLink() {
|
|
9
9
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Use this method to create an instance of this class.
|
|
13
|
-
*
|
|
14
|
-
* @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info
|
|
15
|
-
* @param root Root element
|
|
16
|
-
* @param settings Settings
|
|
17
|
-
* @param template Template
|
|
18
|
-
* @return Instantiated object
|
|
19
|
-
*/
|
|
20
|
-
Object.defineProperty(HierarchyLink, "new", {
|
|
21
|
-
enumerable: false,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true,
|
|
24
|
-
value: function (root, settings, template) {
|
|
25
|
-
var x = new HierarchyLink(root, settings, true, template);
|
|
26
|
-
x._afterNew();
|
|
27
|
-
return x;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
11
|
Object.defineProperty(HierarchyLink.prototype, "_changed", {
|
|
31
12
|
enumerable: false,
|
|
32
13
|
configurable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchyLink.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"HierarchyLink.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAuC,MAAM,4BAA4B,CAAC;AA8B3F;;GAEG;AACH;IAAmC,iCAAQ;IAA3C;;IA2CA,CAAC;;;;;eApCA;YACC,iBAAM,QAAQ,WAAE,CAAC;YACjB,IAAI,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,MAAM,IAAI,MAAM,EAAE;oBACrB,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;oBACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrD;aACD;QACF,CAAC;;;;;;eAED;YAAA,iBAqBC;YApBA,iBAAM,cAAc,WAAE,CAAC;YAEvB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE;oBACX,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE;wBACvC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAA;iBACF;aACD;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE;oBACX,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE;wBACvC,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAA;iBACF;aACD;QACF,CAAC;;IAtCD;;;;eAAkC,eAAe;OAAC;IAClD;;;;eAA0C,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;OAAC;IAsCjG,oBAAC;CAAA,AA3CD,CAAmC,QAAQ,GA2C1C;SA3CY,aAAa","sourcesContent":["import type { IHierarchyDataItem } from \"./Hierarchy\";\nimport type { DataItem } from \"../../core/render/Component\";\n\nimport { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\n\nexport interface IHierarchyLinkSettings extends IGraphicsSettings {\n\n\t/**\n\t * Source node data item.\n\t */\n\tsource?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Target node data item.\n\t */\n\ttarget?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Strength of the link.\n\t */\n\tstrength?: number;\n\n\t/**\n\t * Distance in pixels.\n\t */\n\tdistance?: number;\n\n}\n\nexport interface IHierarchyLinkPrivate extends IGraphicsPrivate {\n\td3Link:any;\n}\n\n/**\n * Draws a link between nodes in a hierarchy series.\n */\nexport class HierarchyLink extends Graphics {\n\tdeclare public _settings: IHierarchyLinkSettings;\n\tdeclare public _privateSettings: IHierarchyLinkPrivate;\n\n\tpublic static className: string = \"HierarchyLink\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([HierarchyLink.className]);\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\t\tif (this._clear) {\n\t\t\tlet source = this.get(\"source\");\n\t\t\tlet target = this.get(\"target\");\n\t\t\tif (source && target) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tconst targetNode = target.get(\"node\");\n\t\t\t\tthis._display.moveTo(sourceNode.x(), sourceNode.y());\n\t\t\t\tthis._display.lineTo(targetNode.x(), targetNode.y());\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"source\")) {\n\t\t\tconst source = this.get(\"source\");\n\t\t\tif (source) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tsourceNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"target\")) {\n\t\t\tconst target = this.get(\"target\");\n\t\t\tif (target) {\n\t\t\t\tconst targetNode = target.get(\"node\");\n\t\t\t\ttargetNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|