@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
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { Entity } from "./Entity";
|
|
8
8
|
import type { Template } from "./Template";
|
|
9
|
+
import type { IDisposer } from "./Disposer";
|
|
9
10
|
import { EventDispatcher, Events } from "./EventDispatcher";
|
|
10
11
|
import type { Optional } from "./Type";
|
|
11
12
|
export interface IListEvents<A> {
|
|
@@ -36,7 +37,7 @@ export declare class List<T> {
|
|
|
36
37
|
/**
|
|
37
38
|
* List values.
|
|
38
39
|
*/
|
|
39
|
-
|
|
40
|
+
protected _values: Array<T>;
|
|
40
41
|
events: EventDispatcher<Events<this, IListEvents<T>>>;
|
|
41
42
|
/**
|
|
42
43
|
* Constructor
|
|
@@ -202,13 +203,31 @@ export declare class List<T> {
|
|
|
202
203
|
*/
|
|
203
204
|
each(f: (value: T, index: number) => void): void;
|
|
204
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* A version of a [[List]] where the elements are disposed automatically when removed from the list, unless autoDispose is set to false.
|
|
208
|
+
* @todo review
|
|
209
|
+
*/
|
|
210
|
+
export declare class ListAutoDispose<A extends IDisposer> extends List<A> implements IDisposer {
|
|
211
|
+
/**
|
|
212
|
+
* Automatically disposes elements that are removed from the list.
|
|
213
|
+
*
|
|
214
|
+
* @default true
|
|
215
|
+
*/
|
|
216
|
+
autoDispose: boolean;
|
|
217
|
+
private _disposed;
|
|
218
|
+
protected _onSetIndex(index: number, oldValue: A, newValue: A): void;
|
|
219
|
+
protected _onRemoveIndex(index: number, oldValue: A): void;
|
|
220
|
+
protected _onClear(oldValues: Array<A>): void;
|
|
221
|
+
isDisposed(): boolean;
|
|
222
|
+
dispose(): void;
|
|
223
|
+
}
|
|
205
224
|
/**
|
|
206
225
|
* A version of a [[List]] that is able to create new elements as well as
|
|
207
226
|
* apply additional settings to newly created items.
|
|
208
227
|
*
|
|
209
228
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/settings/list-templates/} for more info
|
|
210
229
|
*/
|
|
211
|
-
export declare class ListTemplate<A extends Entity> extends
|
|
230
|
+
export declare class ListTemplate<A extends Entity> extends ListAutoDispose<A> {
|
|
212
231
|
template: Template<A>;
|
|
213
232
|
make: () => A;
|
|
214
233
|
constructor(template: Template<A>, make: () => A);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAiBvC,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B,KAAK,EAAE;QACN,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;IACF,WAAW,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;IACF,QAAQ,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC;QACZ,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;IACF,WAAW,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;CACF;AAGD;;GAEG;AACH,qBAAa,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAiBvC,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B,KAAK,EAAE;QACN,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;IACF,WAAW,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;IACF,QAAQ,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC;QACZ,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;IACF,WAAW,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC;KACZ,CAAC;CACF;AAGD;;GAEG;AACH,qBAAa,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,gDAAuD;IAEpE;;;;OAIG;gBACS,OAAO,GAAE,KAAK,CAAC,CAAC,CAAM;IAIlC;;;;;;;;OAQG;IACH,IAAW,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAE5B;IAED;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO;IAIlC;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAgBlC;;;;;OAKG;IACI,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM;IAIhC;;;;;OAKG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI7C,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAU7B,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAWnD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IAY7D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAWnD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAUtC;;;;;;;;OAQG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAc3C;;;;;;OAMG;IACI,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAQ3D;;;;;OAKG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAkBvC;;;;;OAKG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;IAWpC;;;;;;;;OAQG;IACI,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IAuB5D;;;;OAIG;IACI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAMrC;;;;OAIG;IACI,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAKxC;;;;OAIG;IACI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAMtC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAInC;;;;OAIG;IACI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;IAKzB;;;;OAIG;IACI,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;IAI3B;;;;;;OAMG;IACI,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAWvC;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAQxC;;;;;OAKG;IACI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;CAGvD;AAGD;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAE,YAAW,SAAS;IACrF;;;;OAIG;IACI,WAAW,EAAE,OAAO,CAAQ;IAEnC,OAAO,CAAC,SAAS,CAAkB;IAEnC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IAQ7D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAQnD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAU/B,UAAU,IAAI,OAAO;IAIrB,OAAO,IAAI,IAAI;CAWtB;AAGD;;;;;GAKG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC9D,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC,CAAC;gBAET,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC;CAKhD"}
|
|
@@ -505,6 +505,94 @@ var List = /** @class */ (function () {
|
|
|
505
505
|
return List;
|
|
506
506
|
}());
|
|
507
507
|
export { List };
|
|
508
|
+
/**
|
|
509
|
+
* A version of a [[List]] where the elements are disposed automatically when removed from the list, unless autoDispose is set to false.
|
|
510
|
+
* @todo review
|
|
511
|
+
*/
|
|
512
|
+
var ListAutoDispose = /** @class */ (function (_super) {
|
|
513
|
+
__extends(ListAutoDispose, _super);
|
|
514
|
+
function ListAutoDispose() {
|
|
515
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
516
|
+
/**
|
|
517
|
+
* Automatically disposes elements that are removed from the list.
|
|
518
|
+
*
|
|
519
|
+
* @default true
|
|
520
|
+
*/
|
|
521
|
+
Object.defineProperty(_this, "autoDispose", {
|
|
522
|
+
enumerable: true,
|
|
523
|
+
configurable: true,
|
|
524
|
+
writable: true,
|
|
525
|
+
value: true
|
|
526
|
+
});
|
|
527
|
+
Object.defineProperty(_this, "_disposed", {
|
|
528
|
+
enumerable: true,
|
|
529
|
+
configurable: true,
|
|
530
|
+
writable: true,
|
|
531
|
+
value: false
|
|
532
|
+
});
|
|
533
|
+
return _this;
|
|
534
|
+
}
|
|
535
|
+
Object.defineProperty(ListAutoDispose.prototype, "_onSetIndex", {
|
|
536
|
+
enumerable: false,
|
|
537
|
+
configurable: true,
|
|
538
|
+
writable: true,
|
|
539
|
+
value: function (index, oldValue, newValue) {
|
|
540
|
+
if (this.autoDispose) {
|
|
541
|
+
oldValue.dispose();
|
|
542
|
+
}
|
|
543
|
+
_super.prototype._onSetIndex.call(this, index, oldValue, newValue);
|
|
544
|
+
}
|
|
545
|
+
});
|
|
546
|
+
Object.defineProperty(ListAutoDispose.prototype, "_onRemoveIndex", {
|
|
547
|
+
enumerable: false,
|
|
548
|
+
configurable: true,
|
|
549
|
+
writable: true,
|
|
550
|
+
value: function (index, oldValue) {
|
|
551
|
+
if (this.autoDispose) {
|
|
552
|
+
oldValue.dispose();
|
|
553
|
+
}
|
|
554
|
+
_super.prototype._onRemoveIndex.call(this, index, oldValue);
|
|
555
|
+
}
|
|
556
|
+
});
|
|
557
|
+
Object.defineProperty(ListAutoDispose.prototype, "_onClear", {
|
|
558
|
+
enumerable: false,
|
|
559
|
+
configurable: true,
|
|
560
|
+
writable: true,
|
|
561
|
+
value: function (oldValues) {
|
|
562
|
+
if (this.autoDispose) {
|
|
563
|
+
$array.each(oldValues, function (x) {
|
|
564
|
+
x.dispose();
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
_super.prototype._onClear.call(this, oldValues);
|
|
568
|
+
}
|
|
569
|
+
});
|
|
570
|
+
Object.defineProperty(ListAutoDispose.prototype, "isDisposed", {
|
|
571
|
+
enumerable: false,
|
|
572
|
+
configurable: true,
|
|
573
|
+
writable: true,
|
|
574
|
+
value: function () {
|
|
575
|
+
return this._disposed;
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
Object.defineProperty(ListAutoDispose.prototype, "dispose", {
|
|
579
|
+
enumerable: false,
|
|
580
|
+
configurable: true,
|
|
581
|
+
writable: true,
|
|
582
|
+
value: function () {
|
|
583
|
+
if (!this._disposed) {
|
|
584
|
+
this._disposed = true;
|
|
585
|
+
if (this.autoDispose) {
|
|
586
|
+
$array.each(this._values, function (x) {
|
|
587
|
+
x.dispose();
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
});
|
|
593
|
+
return ListAutoDispose;
|
|
594
|
+
}(List));
|
|
595
|
+
export { ListAutoDispose };
|
|
508
596
|
/**
|
|
509
597
|
* A version of a [[List]] that is able to create new elements as well as
|
|
510
598
|
* apply additional settings to newly created items.
|
|
@@ -532,6 +620,6 @@ var ListTemplate = /** @class */ (function (_super) {
|
|
|
532
620
|
return _this;
|
|
533
621
|
}
|
|
534
622
|
return ListTemplate;
|
|
535
|
-
}(
|
|
623
|
+
}(ListAutoDispose));
|
|
536
624
|
export { ListTemplate };
|
|
537
625
|
//# sourceMappingURL=List.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport type { Entity } from \"./Entity\";\nimport type { Template } from \"./Template\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport * as $array from \"./Array\";\nimport type { Optional } from \"./Type\";\n\n\n/**\n * Checks if specific index fits into length.\n *\n * @param index Index\n * @param len Length\n * @ignore\n */\nfunction checkBounds(index: number, len: number): void {\n\tif (!(index >= 0 && index < len)) {\n\t\tthrow new Error(\"Index out of bounds: \" + index);\n\t}\n}\n\n\nexport interface IListEvents<A> {\n\tclear: {\n\t\toldValues: Array<A>,\n\t};\n\tpush: {\n\t\tnewValue: A,\n\t};\n\tinsertIndex: {\n\t\tindex: number,\n\t\tnewValue: A,\n\t};\n\tsetIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t\tnewValue: A,\n\t};\n\tremoveIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t};\n}\n\n\n/**\n * A List class is used to hold a number of indexed items of the same type.\n */\nexport class List<T> {\n\n\t/**\n\t * List values.\n\t */\n\tprivate _values: Array<T>;\n\n\tpublic events = new EventDispatcher<Events<this, IListEvents<T>>>();\n\n\t/**\n\t * Constructor\n\t *\n\t * @param initial Inital list of values to add to list\n\t */\n\tconstructor(initial: Array<T> = []) {\n\t\tthis._values = initial;\n\t}\n\n\t/**\n\t * An array of values in the list.\n\t *\n\t * Do not use this property to add values. Rather use dedicated methods, like\n\t * `push()`, `removeIndex()`, etc.\n\t *\n\t * @readonly\n\t * @return List values\n\t */\n\tpublic get values(): Array<T> {\n\t\treturn this._values;\n\t}\n\n\t/**\n\t * Checks if list contains specific item reference.\n\t *\n\t * @param item Item to search for\n\t * @return `true` if found, `false` if not found\n\t */\n\tpublic contains(value: T): boolean {\n\t\treturn this._values.indexOf(value) !== -1;\n\t}\n\n\t/**\n\t * Removes specific item from the list.\n\t *\n\t * @param item An item to remove\n\t */\n\tpublic removeValue(value: T): void {\n\t\tlet i = 0;\n\t\tlet length = this._values.length;\n\n\t\twhile (i < length) {\n\t\t\t// TODO handle NaN\n\t\t\tif (this._values[i] === value) {\n\t\t\t\tthis.removeIndex(i);\n\t\t\t\t--length;\n\n\t\t\t} else {\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Searches the list for specific item and returns its index.\n\t *\n\t * @param item An item to search for\n\t * @return Index or -1 if not found\n\t */\n\tpublic indexOf(value: T): number {\n\t\treturn $array.indexOf(this._values, value);\n\t}\n\n\t/**\n\t * Number of items in list.\n\t *\n\t * @readonly\n\t * @return Number of items\n\t */\n\tpublic get length(): number {\n\t\treturn this._values.length;\n\t}\n\n\t/**\n\t * Checks if there's a value at specific index.\n\t *\n\t * @param index Index\n\t * @return Value exists?\n\t */\n\tpublic hasIndex(index: number): boolean {\n\t\treturn index >= 0 && index < this._values.length;\n\t}\n\n\t/**\n\t * Returns an item at specified index.\n\t *\n\t * @param index Index\n\t * @return List item\n\t */\n\tpublic getIndex(index: number): T | undefined {\n\t\treturn this._values[index];\n\t}\n\n\tprotected _onPush(newValue: T) {\n\t\tif (this.events.isEnabled(\"push\")) {\n\t\t\tthis.events.dispatch(\"push\", {\n\t\t\t\ttype: \"push\",\n\t\t\t\ttarget: this,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onInsertIndex(index: number, newValue: T) {\n\t\tif (this.events.isEnabled(\"insertIndex\")) {\n\t\t\tthis.events.dispatch(\"insertIndex\", {\n\t\t\t\ttype: \"insertIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onSetIndex(index: number, oldValue: T, newValue: T) {\n\t\tif (this.events.isEnabled(\"setIndex\")) {\n\t\t\tthis.events.dispatch(\"setIndex\", {\n\t\t\t\ttype: \"setIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onRemoveIndex(index: number, oldValue: T) {\n\t\tif (this.events.isEnabled(\"removeIndex\")) {\n\t\t\tthis.events.dispatch(\"removeIndex\", {\n\t\t\t\ttype: \"removeIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onClear(oldValues: Array<T>) {\n\t\tif (this.events.isEnabled(\"clear\")) {\n\t\t\tthis.events.dispatch(\"clear\", {\n\t\t\t\ttype: \"clear\",\n\t\t\t\ttarget: this,\n\t\t\t\toldValues\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Sets value at specific index.\n\t *\n\t * If there's already a value at the index, it is overwritten.\n\t *\n\t * @param index Index\n\t * @param value New value\n\t * @return New value\n\t */\n\tpublic setIndex(index: number, value: T): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t// Do nothing if the old value and the new value are the same\n\t\tif (oldValue !== value) {\n\t\t\tthis._values[index] = value;\n\t\t\tthis._onSetIndex(index, oldValue, value);\n\t\t}\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Adds an item to the list at a specific index, which pushes all the other\n\t * items further down the list.\n\t *\n\t * @param index Index\n\t * @param item An item to add\n\t */\n\tpublic insertIndex<K extends T>(index: number, value: K): K {\n\t\tcheckBounds(index, this._values.length + 1);\n\n\t\t$array.insertIndex(this._values, index, value);\n\t\tthis._onInsertIndex(index, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Swaps indexes of two items in the list.\n\t *\n\t * @param a Item 1\n\t * @param b Item 2\n\t */\n\tpublic swap(a: number, b: number): void {\n\t\tconst len = this._values.length;\n\n\t\tcheckBounds(a, len);\n\t\tcheckBounds(b, len);\n\n\t\tif (a !== b) {\n\t\t\tconst value_a = this._values[a];\n\t\t\tconst value_b = this._values[b];\n\n\t\t\tthis._values[a] = value_b;\n\t\t\tthis._onSetIndex(a, value_a, value_b);\n\n\t\t\tthis._values[b] = value_a;\n\t\t\tthis._onSetIndex(b, value_b, value_a);\n\t\t}\n\t}\n\n\t/**\n\t * Removes a value at specific index.\n\t *\n\t * @param index Index of value to remove\n\t * @return Removed value\n\t */\n\tpublic removeIndex(index: number): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t$array.removeIndex(this._values, index);\n\t\tthis._onRemoveIndex(index, oldValue);\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Moves an item to a specific index within the list.\n\t *\n\t * If the index is not specified it will move the item to the end of the\n\t * list.\n\t *\n\t * @param value Item to move\n\t * @param index Index to place item at\n\t */\n\tpublic moveValue<K extends T>(value: K, toIndex?: number): K {\n\t\t// TODO don't do anything if the desired index is the same as the current index\n\t\tlet index = this.indexOf(value);\n\n\t\t// TODO remove all old values rather than only the first ?\n\t\tif (index !== -1) {\n\t\t\tconst oldValue = this._values[index];\n\n\t\t\t$array.removeIndex(this._values, index);\n\t\t\tthis._onRemoveIndex(index, oldValue);\n\t\t}\n\n\t\tif (toIndex == null) {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\n\t\t} else {\n\t\t\t$array.insertIndex(this._values, toIndex, value);\n\t\t\tthis._onInsertIndex(toIndex, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item to the end of the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic push<K extends T>(value: K): K {\n\t\tthis._values.push(value);\n\t\tthis._onPush(value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item as a first item in the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic unshift<K extends T>(value: K): K {\n\t\tthis.insertIndex(0, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds multiple items to the list.\n\t *\n\t * @param items An Array of items to add\n\t */\n\tpublic pushAll(values: Array<T>): void {\n\t\t$array.each(values, (value) => {\n\t\t\tthis.push(value);\n\t\t});\n\t}\n\n\t/**\n\t * Copies and adds items from abother list.\n\t *\n\t * @param source A list top copy items from\n\t */\n\tpublic copyFrom(source: this): void {\n\t\tthis.pushAll(source._values);\n\t}\n\n\t/**\n\t * Returns the last item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic pop(): Optional<T> {\n\t\tlet index = this._values.length - 1;\n\t\treturn index < 0 ? undefined : this.removeIndex(this._values.length - 1);\n\t}\n\n\t/**\n\t * Returns the first item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic shift(): Optional<T> {\n\t\treturn this._values.length ? this.removeIndex(0) : undefined;\n\t}\n\n\t/**\n\t * Sets multiple items to the list.\n\t *\n\t * All current items are removed.\n\t *\n\t * @param newArray New items\n\t */\n\tpublic setAll(newArray: Array<T>): void {\n\t\tconst old = this._values;\n\t\tthis._values = [];\n\t\tthis._onClear(old);\n\n\t\t$array.each(newArray, (value) => {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\t\t});\n\t}\n\n\t/**\n\t * Removes all items from the list.\n\t */\n\tpublic clear(): void {\n\t\tthis.setAll([]);\n\t}\n\n\t/**\n\t * Returns an ES6 iterator for the list.\n\t */\n\tpublic *[Symbol.iterator](): Iterator<T> {\n\t\tconst length = this._values.length;\n\n\t\tfor (let i = 0; i < length; ++i) {\n\t\t\tyield this._values[i];\n\t\t}\n\t}\n\n\t/**\n\t * Calls `f` for each element in the list.\n\t *\n\t * `f` should have at least one parameter defined which will get a current\n\t * item, with optional second argument - index.\n\t */\n\tpublic each(f: (value: T, index: number) => void): void {\n\t\t$array.each(this._values, f);\n\t}\n}\n\n/**\n * A version of a [[List]] that is able to create new elements as well as\n * apply additional settings to newly created items.\n * \n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/list-templates/} for more info\n */\nexport class ListTemplate<A extends Entity> extends List<A> {\n\tpublic template: Template<A>;\n\tpublic make: () => A;\n\n\tconstructor(template: Template<A>, make: () => A) {\n\t\tsuper();\n\t\tthis.template = template;\n\t\tthis.make = make;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport type { Entity } from \"./Entity\";\nimport type { Template } from \"./Template\";\nimport type { IDisposer } from \"./Disposer\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport * as $array from \"./Array\";\nimport type { Optional } from \"./Type\";\n\n\n/**\n * Checks if specific index fits into length.\n *\n * @param index Index\n * @param len Length\n * @ignore\n */\nfunction checkBounds(index: number, len: number): void {\n\tif (!(index >= 0 && index < len)) {\n\t\tthrow new Error(\"Index out of bounds: \" + index);\n\t}\n}\n\n\nexport interface IListEvents<A> {\n\tclear: {\n\t\toldValues: Array<A>,\n\t};\n\tpush: {\n\t\tnewValue: A,\n\t};\n\tinsertIndex: {\n\t\tindex: number,\n\t\tnewValue: A,\n\t};\n\tsetIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t\tnewValue: A,\n\t};\n\tremoveIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t};\n}\n\n\n/**\n * A List class is used to hold a number of indexed items of the same type.\n */\nexport class List<T> {\n\n\t/**\n\t * List values.\n\t */\n\tprotected _values: Array<T>;\n\n\tpublic events = new EventDispatcher<Events<this, IListEvents<T>>>();\n\n\t/**\n\t * Constructor\n\t *\n\t * @param initial Inital list of values to add to list\n\t */\n\tconstructor(initial: Array<T> = []) {\n\t\tthis._values = initial;\n\t}\n\n\t/**\n\t * An array of values in the list.\n\t *\n\t * Do not use this property to add values. Rather use dedicated methods, like\n\t * `push()`, `removeIndex()`, etc.\n\t *\n\t * @readonly\n\t * @return List values\n\t */\n\tpublic get values(): Array<T> {\n\t\treturn this._values;\n\t}\n\n\t/**\n\t * Checks if list contains specific item reference.\n\t *\n\t * @param item Item to search for\n\t * @return `true` if found, `false` if not found\n\t */\n\tpublic contains(value: T): boolean {\n\t\treturn this._values.indexOf(value) !== -1;\n\t}\n\n\t/**\n\t * Removes specific item from the list.\n\t *\n\t * @param item An item to remove\n\t */\n\tpublic removeValue(value: T): void {\n\t\tlet i = 0;\n\t\tlet length = this._values.length;\n\n\t\twhile (i < length) {\n\t\t\t// TODO handle NaN\n\t\t\tif (this._values[i] === value) {\n\t\t\t\tthis.removeIndex(i);\n\t\t\t\t--length;\n\n\t\t\t} else {\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Searches the list for specific item and returns its index.\n\t *\n\t * @param item An item to search for\n\t * @return Index or -1 if not found\n\t */\n\tpublic indexOf(value: T): number {\n\t\treturn $array.indexOf(this._values, value);\n\t}\n\n\t/**\n\t * Number of items in list.\n\t *\n\t * @readonly\n\t * @return Number of items\n\t */\n\tpublic get length(): number {\n\t\treturn this._values.length;\n\t}\n\n\t/**\n\t * Checks if there's a value at specific index.\n\t *\n\t * @param index Index\n\t * @return Value exists?\n\t */\n\tpublic hasIndex(index: number): boolean {\n\t\treturn index >= 0 && index < this._values.length;\n\t}\n\n\t/**\n\t * Returns an item at specified index.\n\t *\n\t * @param index Index\n\t * @return List item\n\t */\n\tpublic getIndex(index: number): T | undefined {\n\t\treturn this._values[index];\n\t}\n\n\tprotected _onPush(newValue: T) {\n\t\tif (this.events.isEnabled(\"push\")) {\n\t\t\tthis.events.dispatch(\"push\", {\n\t\t\t\ttype: \"push\",\n\t\t\t\ttarget: this,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onInsertIndex(index: number, newValue: T) {\n\t\tif (this.events.isEnabled(\"insertIndex\")) {\n\t\t\tthis.events.dispatch(\"insertIndex\", {\n\t\t\t\ttype: \"insertIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onSetIndex(index: number, oldValue: T, newValue: T) {\n\t\tif (this.events.isEnabled(\"setIndex\")) {\n\t\t\tthis.events.dispatch(\"setIndex\", {\n\t\t\t\ttype: \"setIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onRemoveIndex(index: number, oldValue: T) {\n\t\tif (this.events.isEnabled(\"removeIndex\")) {\n\t\t\tthis.events.dispatch(\"removeIndex\", {\n\t\t\t\ttype: \"removeIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onClear(oldValues: Array<T>) {\n\t\tif (this.events.isEnabled(\"clear\")) {\n\t\t\tthis.events.dispatch(\"clear\", {\n\t\t\t\ttype: \"clear\",\n\t\t\t\ttarget: this,\n\t\t\t\toldValues\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Sets value at specific index.\n\t *\n\t * If there's already a value at the index, it is overwritten.\n\t *\n\t * @param index Index\n\t * @param value New value\n\t * @return New value\n\t */\n\tpublic setIndex(index: number, value: T): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t// Do nothing if the old value and the new value are the same\n\t\tif (oldValue !== value) {\n\t\t\tthis._values[index] = value;\n\t\t\tthis._onSetIndex(index, oldValue, value);\n\t\t}\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Adds an item to the list at a specific index, which pushes all the other\n\t * items further down the list.\n\t *\n\t * @param index Index\n\t * @param item An item to add\n\t */\n\tpublic insertIndex<K extends T>(index: number, value: K): K {\n\t\tcheckBounds(index, this._values.length + 1);\n\n\t\t$array.insertIndex(this._values, index, value);\n\t\tthis._onInsertIndex(index, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Swaps indexes of two items in the list.\n\t *\n\t * @param a Item 1\n\t * @param b Item 2\n\t */\n\tpublic swap(a: number, b: number): void {\n\t\tconst len = this._values.length;\n\n\t\tcheckBounds(a, len);\n\t\tcheckBounds(b, len);\n\n\t\tif (a !== b) {\n\t\t\tconst value_a = this._values[a];\n\t\t\tconst value_b = this._values[b];\n\n\t\t\tthis._values[a] = value_b;\n\t\t\tthis._onSetIndex(a, value_a, value_b);\n\n\t\t\tthis._values[b] = value_a;\n\t\t\tthis._onSetIndex(b, value_b, value_a);\n\t\t}\n\t}\n\n\t/**\n\t * Removes a value at specific index.\n\t *\n\t * @param index Index of value to remove\n\t * @return Removed value\n\t */\n\tpublic removeIndex(index: number): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t$array.removeIndex(this._values, index);\n\t\tthis._onRemoveIndex(index, oldValue);\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Moves an item to a specific index within the list.\n\t *\n\t * If the index is not specified it will move the item to the end of the\n\t * list.\n\t *\n\t * @param value Item to move\n\t * @param index Index to place item at\n\t */\n\tpublic moveValue<K extends T>(value: K, toIndex?: number): K {\n\t\t// TODO don't do anything if the desired index is the same as the current index\n\t\tlet index = this.indexOf(value);\n\n\t\t// TODO remove all old values rather than only the first ?\n\t\tif (index !== -1) {\n\t\t\tconst oldValue = this._values[index];\n\n\t\t\t$array.removeIndex(this._values, index);\n\t\t\tthis._onRemoveIndex(index, oldValue);\n\t\t}\n\n\t\tif (toIndex == null) {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\n\t\t} else {\n\t\t\t$array.insertIndex(this._values, toIndex, value);\n\t\t\tthis._onInsertIndex(toIndex, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item to the end of the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic push<K extends T>(value: K): K {\n\t\tthis._values.push(value);\n\t\tthis._onPush(value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item as a first item in the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic unshift<K extends T>(value: K): K {\n\t\tthis.insertIndex(0, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds multiple items to the list.\n\t *\n\t * @param items An Array of items to add\n\t */\n\tpublic pushAll(values: Array<T>): void {\n\t\t$array.each(values, (value) => {\n\t\t\tthis.push(value);\n\t\t});\n\t}\n\n\t/**\n\t * Copies and adds items from abother list.\n\t *\n\t * @param source A list top copy items from\n\t */\n\tpublic copyFrom(source: this): void {\n\t\tthis.pushAll(source._values);\n\t}\n\n\t/**\n\t * Returns the last item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic pop(): Optional<T> {\n\t\tlet index = this._values.length - 1;\n\t\treturn index < 0 ? undefined : this.removeIndex(this._values.length - 1);\n\t}\n\n\t/**\n\t * Returns the first item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic shift(): Optional<T> {\n\t\treturn this._values.length ? this.removeIndex(0) : undefined;\n\t}\n\n\t/**\n\t * Sets multiple items to the list.\n\t *\n\t * All current items are removed.\n\t *\n\t * @param newArray New items\n\t */\n\tpublic setAll(newArray: Array<T>): void {\n\t\tconst old = this._values;\n\t\tthis._values = [];\n\t\tthis._onClear(old);\n\n\t\t$array.each(newArray, (value) => {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\t\t});\n\t}\n\n\t/**\n\t * Removes all items from the list.\n\t */\n\tpublic clear(): void {\n\t\tthis.setAll([]);\n\t}\n\n\t/**\n\t * Returns an ES6 iterator for the list.\n\t */\n\tpublic *[Symbol.iterator](): Iterator<T> {\n\t\tconst length = this._values.length;\n\n\t\tfor (let i = 0; i < length; ++i) {\n\t\t\tyield this._values[i];\n\t\t}\n\t}\n\n\t/**\n\t * Calls `f` for each element in the list.\n\t *\n\t * `f` should have at least one parameter defined which will get a current\n\t * item, with optional second argument - index.\n\t */\n\tpublic each(f: (value: T, index: number) => void): void {\n\t\t$array.each(this._values, f);\n\t}\n}\n\n\n/**\n * A version of a [[List]] where the elements are disposed automatically when removed from the list, unless autoDispose is set to false.\n * @todo review\n */\nexport class ListAutoDispose<A extends IDisposer> extends List<A> implements IDisposer {\n\t/**\n\t * Automatically disposes elements that are removed from the list.\n\t *\n\t * @default true\n\t */\n\tpublic autoDispose: boolean = true;\n\n\tprivate _disposed: boolean = false;\n\n\tprotected _onSetIndex(index: number, oldValue: A, newValue: A) {\n\t\tif (this.autoDispose) {\n\t\t\toldValue.dispose();\n\t\t}\n\n\t\tsuper._onSetIndex(index, oldValue, newValue);\n\t}\n\n\tprotected _onRemoveIndex(index: number, oldValue: A) {\n\t\tif (this.autoDispose) {\n\t\t\toldValue.dispose();\n\t\t}\n\n\t\tsuper._onRemoveIndex(index, oldValue);\n\t}\n\n\tprotected _onClear(oldValues: Array<A>) {\n\t\tif (this.autoDispose) {\n\t\t\t$array.each(oldValues, (x) => {\n\t\t\t\tx.dispose();\n\t\t\t});\n\t\t}\n\n\t\tsuper._onClear(oldValues);\n\t}\n\n\tpublic isDisposed(): boolean {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose(): void {\n\t\tif (!this._disposed) {\n\t\t\tthis._disposed = true;\n\n\t\t\tif (this.autoDispose) {\n\t\t\t\t$array.each(this._values, (x) => {\n\t\t\t\t\tx.dispose();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/**\n * A version of a [[List]] that is able to create new elements as well as\n * apply additional settings to newly created items.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/list-templates/} for more info\n */\nexport class ListTemplate<A extends Entity> extends ListAutoDispose<A> {\n\tpublic template: Template<A>;\n\tpublic make: () => A;\n\n\tconstructor(template: Template<A>, make: () => A) {\n\t\tsuper();\n\t\tthis.template = template;\n\t\tthis.make = make;\n\t}\n}\n"]}
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Number formatting-related functionality.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* ============================================================================
|
|
6
|
-
* IMPORTS
|
|
7
|
-
* ============================================================================
|
|
8
|
-
* @hidden
|
|
9
|
-
*/
|
|
10
|
-
import { Entity, IEntitySettings, IEntityPrivate } from "./Entity";
|
|
11
|
-
import type { Root } from "../Root";
|
|
12
1
|
import type { Language } from "./Language";
|
|
13
|
-
import
|
|
2
|
+
import { Entity, IEntitySettings, IEntityPrivate } from "./Entity";
|
|
14
3
|
/**
|
|
15
4
|
* @ignore
|
|
16
5
|
*/
|
|
@@ -78,16 +67,6 @@ export interface INumberFormatterPrivate extends IEntityPrivate {
|
|
|
78
67
|
* @important
|
|
79
68
|
*/
|
|
80
69
|
export declare class NumberFormatter extends Entity {
|
|
81
|
-
/**
|
|
82
|
-
* Use this method to create an instance of this class.
|
|
83
|
-
*
|
|
84
|
-
* @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info
|
|
85
|
-
* @param root Root element
|
|
86
|
-
* @param settings Settings
|
|
87
|
-
* @param template Template
|
|
88
|
-
* @return Instantiated object
|
|
89
|
-
*/
|
|
90
|
-
static new(root: Root, settings: NumberFormatter["_settings"], template?: Template<NumberFormatter>): NumberFormatter;
|
|
91
70
|
_settings: INumberFormatterSettings;
|
|
92
71
|
_privateSettings: INumberFormatterPrivate;
|
|
93
72
|
protected _setDefaults(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAOlE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CAErB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC3B,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,YAAY;IAwCf,cAAc;IAIrB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAgE7G;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IA6M9D;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;IAmI1D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,OAAe,GAAG,GAAG,EAAE;IA0CpF;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIrC"}
|
|
@@ -1,17 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Number formatting-related functionality.
|
|
3
|
-
*/
|
|
4
1
|
import { __extends } from "tslib";
|
|
5
|
-
/**
|
|
6
|
-
* ============================================================================
|
|
7
|
-
* IMPORTS
|
|
8
|
-
* ============================================================================
|
|
9
|
-
* @hidden
|
|
10
|
-
*/
|
|
11
2
|
import { Entity } from "./Entity";
|
|
12
3
|
import { TextFormatter } from "./TextFormatter";
|
|
13
|
-
// import { BaseObject } from "../Base";
|
|
14
|
-
// import { registry } from "../Registry";
|
|
15
4
|
import * as $object from "./Object";
|
|
16
5
|
import * as $utils from "./Utils";
|
|
17
6
|
import * as $type from "./Type";
|
|
@@ -26,25 +15,6 @@ var NumberFormatter = /** @class */ (function (_super) {
|
|
|
26
15
|
function NumberFormatter() {
|
|
27
16
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
28
17
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Use this method to create an instance of this class.
|
|
31
|
-
*
|
|
32
|
-
* @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info
|
|
33
|
-
* @param root Root element
|
|
34
|
-
* @param settings Settings
|
|
35
|
-
* @param template Template
|
|
36
|
-
* @return Instantiated object
|
|
37
|
-
*/
|
|
38
|
-
Object.defineProperty(NumberFormatter, "new", {
|
|
39
|
-
enumerable: false,
|
|
40
|
-
configurable: true,
|
|
41
|
-
writable: true,
|
|
42
|
-
value: function (root, settings, template) {
|
|
43
|
-
var x = new NumberFormatter(root, settings, true, template);
|
|
44
|
-
x._afterNew();
|
|
45
|
-
return x;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
18
|
Object.defineProperty(NumberFormatter.prototype, "_setDefaults", {
|
|
49
19
|
enumerable: false,
|
|
50
20
|
configurable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Number formatting-related functionality.\n */\n\n/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\";\nimport type { Root } from \"../Root\"\nimport type { Language } from \"./Language\";\nimport type { Template } from \"./Template\";\n// import { BaseObject } from \"../Base\";\n// import { registry } from \"../Registry\";\nimport * as $object from \"./Object\";\nimport * as $utils from \"./Utils\";\nimport * as $type from \"./Type\";\n\n/**\n * @ignore\n */\nexport interface INumberSuffix {\n\tnumber: number;\n\tsuffix: string;\n}\n\nexport interface INumberFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Number format to be used when formatting numbers.\n\t * \n\t * @default \"#,###.#####\"\n\t */\n\tnumberFormat?: string | Intl.NumberFormatOptions;\n\n\t/**\n\t * A threshold value for negative numbers.\n\t *\n\t * @default 0\n\t */\n\tnegativeBase?: number;\n\n\t/**\n\t * Prefixes and thresholds to group big numbers into, e.g. 1M.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tbigNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * Prefixes and thresholds to group small numbers into, e.g. 1m.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tsmallNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * All numbers below this value are considered small.\n\t * \n\t * @default 1\n\t */\n\tsmallNumberThreshold?: number;\n\n\t/**\n\t * Prefixes to and thresholds to use when grouping data size numbers, e.g. 1MB.\n\t *\n\t * Used in conjunction with `b` modifier of the number format.\n\t */\n\tbytePrefixes?: INumberSuffix[];\n\n\t/**\n\t * Indicates which fields in data should be considered numeric.\n\t *\n\t * It is used when formatting data placeholder values.\n\t */\n\tnumericFields?: string[];\n\n\t/**\n\t * Locales if you are using date formats in `Intl.NumberFormatOptions` syntax.\n\t *\n\t * @see (@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) about using Intl for number formatting\n\t * @param value Locales\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface INumberFormatterPrivate extends IEntityPrivate {\n}\n\n/**\n * Number formatter\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-numbers/} for more info\n * @important\n */\nexport class NumberFormatter extends Entity {\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: NumberFormatter[\"_settings\"], template?: Template<NumberFormatter>): NumberFormatter {\n\t\tconst x = new NumberFormatter(root, settings, true, template);\n\t\tx._afterNew();\n\t\treturn x;\n\t}\n\n\tdeclare public _settings: INumberFormatterSettings;\n\tdeclare public _privateSettings: INumberFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"negativeBase\", 0);\n\t\tthis._setDefault(\"numberFormat\", \"#,###.#####\");\n\t\tthis._setDefault(\"smallNumberThreshold\", 1.00);\n\n\t\tthis._setDefault(\"bigNumberPrefixes\", [\n\t\t\t{ \"number\": 1e+3, \"suffix\": this._root.language.translate(\"_big_number_suffix_3\") },\n\t\t\t{ \"number\": 1e+6, \"suffix\": this._root.language.translate(\"_big_number_suffix_6\") },\n\t\t\t{ \"number\": 1e+9, \"suffix\": this._root.language.translate(\"_big_number_suffix_9\") },\n\t\t\t{ \"number\": 1e+12, \"suffix\": this._root.language.translate(\"_big_number_suffix_12\") },\n\t\t\t{ \"number\": 1e+15, \"suffix\": this._root.language.translate(\"_big_number_suffix_15\") },\n\t\t\t{ \"number\": 1e+18, \"suffix\": this._root.language.translate(\"_big_number_suffix_18\") },\n\t\t\t{ \"number\": 1e+21, \"suffix\": this._root.language.translate(\"_big_number_suffix_21\") },\n\t\t\t{ \"number\": 1e+24, \"suffix\": this._root.language.translate(\"_big_number_suffix_24\") }\n\t\t]);\n\n\t\tthis._setDefault(\"smallNumberPrefixes\", [\n\t\t\t{ \"number\": 1e-24, \"suffix\": this._root.language.translate(\"_small_number_suffix_24\") },\n\t\t\t{ \"number\": 1e-21, \"suffix\": this._root.language.translate(\"_small_number_suffix_21\") },\n\t\t\t{ \"number\": 1e-18, \"suffix\": this._root.language.translate(\"_small_number_suffix_18\") },\n\t\t\t{ \"number\": 1e-15, \"suffix\": this._root.language.translate(\"_small_number_suffix_15\") },\n\t\t\t{ \"number\": 1e-12, \"suffix\": this._root.language.translate(\"_small_number_suffix_12\") },\n\t\t\t{ \"number\": 1e-9, \"suffix\": this._root.language.translate(\"_small_number_suffix_9\") },\n\t\t\t{ \"number\": 1e-6, \"suffix\": this._root.language.translate(\"_small_number_suffix_6\") },\n\t\t\t{ \"number\": 1e-3, \"suffix\": this._root.language.translate(\"_small_number_suffix_3\") }\n\t\t]);\n\n\t\tthis._setDefault(\"bytePrefixes\", [\n\t\t\t{ \"number\": 1, suffix: this._root.language.translate(\"_byte_suffix_B\") },\n\t\t\t{ \"number\": 1024, suffix: this._root.language.translate(\"_byte_suffix_KB\") },\n\t\t\t{ \"number\": 1048576, suffix: this._root.language.translate(\"_byte_suffix_MB\") },\n\t\t\t{ \"number\": 1073741824, suffix: this._root.language.translate(\"_byte_suffix_GB\") },\n\t\t\t{ \"number\": 1099511627776, suffix: this._root.language.translate(\"_byte_suffix_TB\") },\n\t\t\t{ \"number\": 1125899906842624, suffix: this._root.language.translate(\"_byte_suffix_PB\") }\n\t\t]);\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\t/**\n\t * Formats the number according to specific format.\n\t *\n\t * @param value Value to format\n\t * @param format Format to apply\n\t * @return Formatted number\n\t */\n\tpublic format(value: number | string, format?: string | Intl.NumberFormatOptions, precision?: number): string {\n\n\t\t// no format passed in or \"Number\"\n\t\tif (format == null || ($type.isString(format) && format.toLowerCase() === \"number\")) {\n\t\t\tformat = this.get(\"numberFormat\", \"\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast to number just in case\n\t\t// TODO: maybe use better casting\n\t\tlet source: number = Number(value);\n\n\t\t// Is it a built-in format or Intl.NumberFormatOptions\n\t\tif ($type.isObject(format)) {\n\t\t\ttry {\n\t\t\t\tif (this.get(\"intlLocales\")) {\n\t\t\t\t\treturn new Intl.NumberFormat(this.get(\"intlLocales\"), <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.NumberFormat(undefined, <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\t\telse {\n\n\t\t\t// Clean format\n\t\t\tformat = $utils.cleanFormat(format!);\n\n\t\t\t// Get format info (it will also deal with parser caching)\n\t\t\tlet info = this.parseFormat(format, this._root.language);\n\n\n\t\t\t// format and replace the number\n\t\t\tlet details;\n\t\t\tif (source > this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.positive;\n\t\t\t}\n\t\t\telse if (source < this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.negative;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdetails = info.zero;\n\t\t\t}\n\n\t\t\t// Adjust precision\n\t\t\tif (precision != null && !details.mod) {\n\t\t\t\tdetails = $object.copy(details);\n\t\t\t\tdetails.decimals.active = source == 0 ? 0 : precision;\n\t\t\t}\n\n\t\t\t// Format\n\t\t\tformatted = details.template.split($type.PLACEHOLDER).join(this.applyFormat(source, details));\n\n\t\t}\n\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Parses supplied format into structured object which can be used to format\n\t * the number.\n\t *\n\t * @param format Format string, i.e. \"#,###.00\"\n\t * @param language Language\n\t * @ignore\n\t */\n\tprotected parseFormat(format: string, language: Language): any {\n\n\t\t// Check cache\n\t\t// TODO\n\t\t// let cached = this.getCache(format);\n\t\t// if (cached != null) {\n\t\t// \treturn cached;\n\t\t// }\n\n\t\t// init format parse info holder\n\t\tlet info: any = {\n\t\t\t\"positive\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"negative\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"zero\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t}\n\t\t};\n\n\t\t// Escape double vertical bars (that mean display one vertical bar)\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\n\n\t\t// Split it up and deal with different formats\n\t\tlet parts = format.split(\"|\");\n\t\tinfo.positive.source = parts[0];\n\n\t\tif (typeof parts[2] === \"undefined\") {\n\t\t\tinfo.zero = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.zero.source = parts[2];\n\t\t}\n\n\t\tif (typeof parts[1] === \"undefined\") {\n\t\t\tinfo.negative = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.negative.source = parts[1];\n\t\t}\n\n\t\t// Parse each\n\t\t$object.each(info, (_part, item) => {\n\t\t\t// Already parsed\n\t\t\tif (item.parsed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check cached\n\t\t\t// TODO\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\n\t\t\t// \tinfo[part] = this.getCache(item.source);\n\t\t\t// \treturn;\n\t\t\t// }\n\n\t\t\t// Begin parsing\n\t\t\tlet partFormat = item.source;\n\n\t\t\t// Just \"Number\"?\n\t\t\tif (partFormat.toLowerCase() === \"number\") {\n\t\t\t\tpartFormat = this.get(\"numberFormat\", \"#,###.#####\");\n\t\t\t}\n\n\t\t\t// Let TextFormatter split into chunks\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\t\tlet chunk = chunks[i];\n\n\t\t\t\t// replace back double vertical bar\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\n\n\t\t\t\tif (chunk.type === \"value\") {\n\t\t\t\t\t// Parse format\n\n\t\t\t\t\t// Look for codes\n\t\t\t\t\tlet matches: string[] | null = chunk.text.match(/[#0.,]+[ ]?[abesABES%!]?[abesABES‰!]?/);\n\n\t\t\t\t\tif (matches) {\n\t\t\t\t\t\tif (matches === null || matches[0] === \"\") {\n\t\t\t\t\t\t\t// no codes here - assume string\n\t\t\t\t\t\t\t// nothing to do here\n\t\t\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t// look for the format modifiers at the end\n\t\t\t\t\t\t\tlet mods: string[] | null = matches[0].match(/[abesABES%‰!]{2}|[abesABES%‰]{1}$/);\n\n\t\t\t\t\t\t\tif (mods) {\n\t\t\t\t\t\t\t\titem.mod = mods[0].toLowerCase();\n\t\t\t\t\t\t\t\titem.modSpacing = matches[0].match(/[ ]{1}[abesABES%‰!]{1}$/) ? true : false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// break the format up\n\t\t\t\t\t\t\tlet a = matches[0].split(\".\");\n\n\t\t\t\t\t\t\t// Deal with thousands\n\t\t\t\t\t\t\tif (a[0] === \"\") {\n\t\t\t\t\t\t\t\t// No directives for thousands\n\t\t\t\t\t\t\t\t// Leave default settings (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.thousands.active = (a[0].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.thousands.passive = (a[0].match(/\\#/g) || []).length + item.thousands.active;\n\n\t\t\t\t\t\t\t\t// Separator interval\n\t\t\t\t\t\t\t\tlet b = a[0].split(\",\");\n\t\t\t\t\t\t\t\tif (b.length === 1) {\n\t\t\t\t\t\t\t\t\t// No thousands separators\n\t\t\t\t\t\t\t\t\t// Do nothing\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t// Use length fo the last chunk as thousands length\n\t\t\t\t\t\t\t\t\titem.thousands.interval = (b.pop() || \"\").length;\n\n\t\t\t\t\t\t\t\t\tif (item.thousands.interval === 0) {\n\t\t\t\t\t\t\t\t\t\titem.thousands.interval = -1;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Deal with decimals\n\t\t\t\t\t\t\tif (typeof (a[1]) === \"undefined\") {\n\t\t\t\t\t\t\t\t// No directives for decimals\n\t\t\t\t\t\t\t\t// Leave at defaults (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.decimals.active = (a[1].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.decimals.passive = (a[1].match(/\\#/g) || []).length + item.decimals.active;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Add special code to template\n\t\t\t\t\t\t\titem.template += chunk.text.split(matches[0]).join($type.PLACEHOLDER);\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Quoted string - take it as it is\n\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply style formatting\n\t\t\t//item.template = getTextFormatter().format(item.template, this.outputFormat);\n\n\t\t\t// Save cache\n\t\t\t// TODO\n\t\t\t//this.setCache(item.source, item);\n\n\t\t\t// Mark this as parsed\n\t\t\titem.parsed = true;\n\n\t\t});\n\n\t\t// Save cache (the whole thing)\n\t\t// TODO\n\t\t//this.setCache(format, info);\n\n\t\treturn info;\n\t}\n\n\t/**\n\t * Applies parsed format to a numeric value.\n\t *\n\t * @param value Value\n\t * @param details Parsed format as returned by parseFormat()\n\t * @return Formatted number\n\t * @ignore\n\t */\n\tprotected applyFormat(value: number, details: any): string {\n\n\t\t// Use absolute values\n\t\tlet negative: boolean = value < 0;\n\t\tvalue = Math.abs(value);\n\n\t\t// Recalculate according to modifier\n\t\tlet prefix: string = \"\", suffix: string = \"\";\n\t\tlet mods: string[] = details.mod ? details.mod.split(\"\") : [];\n\t\tif (mods.indexOf(\"b\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, this.get(\"bytePrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"a\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, value < this.get(\"smallNumberThreshold\")! ? this.get(\"smallNumberPrefixes\")! : this.get(\"bigNumberPrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"%\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\tvalue *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"%\";\n\t\t}\n\t\telse if (mods.indexOf(\"‰\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 3, 21);\n\t\t\tvalue *= 1000;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"‰\";\n\t\t}\n\n\t\t// Round to passive\n\t\tif (mods.indexOf(\"e\") !== -1) {\n\t\t\t// convert the value to exponential\n\t\t\tlet exp: string[];\n\t\t\tif (details.decimals.passive >= 0) {\n\t\t\t\texp = value.toExponential(details.decimals.passive).split(\"e\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\texp = value.toExponential().split(\"e\");\n\t\t\t}\n\t\t\tvalue = Number(exp[0]);\n\t\t\tsuffix = \"e\" + exp[1];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (details.decimals.passive === 0) {\n\t\t\tvalue = Math.round(value);\n\t\t}\n\t\telse if (details.decimals.passive > 0) {\n\t\t\tlet d: number = Math.pow(10, details.decimals.passive);\n\t\t\tvalue = Math.round(value * d) / d;\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: string = \"\";\n\n\t\t// Calc integer and decimal parts\n\t\tlet a = $type.numberToString(value).split(\".\");\n\n\t\t// Format integers\n\t\tlet ints = a[0];\n\n\t\t// Pad integers to active length\n\t\tif (ints.length < details.thousands.active) {\n\t\t\tints = Array(details.thousands.active - ints.length + 1).join(\"0\") + ints;\n\t\t}\n\n\t\t// Insert thousands separators\n\t\tif (details.thousands.interval > 0) {\n\t\t\tlet ip: string[] = [];\n\t\t\tlet intsr: string = ints.split(\"\").reverse().join(\"\");\n\t\t\tfor (let i = 0, len = ints.length; i <= len; i += details.thousands.interval) {\n\t\t\t\tlet c: string = intsr.substr(i, details.thousands.interval).split(\"\").reverse().join(\"\");\n\t\t\t\tif (c !== \"\") {\n\t\t\t\t\tip.unshift(c);\n\t\t\t\t}\n\t\t\t}\n\t\t\tints = ip.join(details.thousands.separator);\n\t\t}\n\n\t\t// Add integers\n\t\tres += ints;\n\n\t\t// Add decimals\n\t\tif (a.length === 1) {\n\t\t\ta.push(\"\");\n\t\t}\n\t\tlet decs: string = a[1];\n\n\t\t// Fill zeros?\n\t\tif (decs.length < details.decimals.active) {\n\t\t\tdecs += Array(details.decimals.active - decs.length + 1).join(\"0\");\n\t\t}\n\n\t\tif (decs !== \"\") {\n\t\t\tres += details.decimals.separator + decs;\n\t\t}\n\n\t\t// Can't have empty return value\n\t\tif (res === \"\") {\n\t\t\tres = \"0\";\n\t\t}\n\n\t\t// Add minus sign back\n\t\tif (value !== 0 && negative && (mods.indexOf(\"s\") === -1)) {\n\t\t\tres = \"-\" + res;\n\t\t}\n\n\t\t// Add suffixes/prefixes\n\t\tif (prefix) {\n\t\t\tres = prefix + res;\n\t\t}\n\t\tif (suffix) {\n\t\t\tres += suffix;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\n\tprotected applyPrefix(value: number, prefixes: any[], force: boolean = false): any[] {\n\t\tlet newvalue = value;\n\t\tlet prefix = \"\";\n\t\tlet suffix = \"\";\n\t\tlet applied = false;\n\t\tlet k = 1;\n\n\t\tfor (let i = 0, len = prefixes.length; i < len; i++) {\n\t\t\tif (prefixes[i].number <= value) {\n\t\t\t\tif (prefixes[i].number === 0) {\n\t\t\t\t\tnewvalue = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewvalue = value / prefixes[i].number;\n\t\t\t\t\tk = prefixes[i].number;\n\t\t\t\t}\n\t\t\t\tprefix = prefixes[i].prefix;\n\t\t\t\tsuffix = prefixes[i].suffix;\n\t\t\t\tapplied = true;\n\t\t\t}\n\t\t}\n\n\n\t\tif (!applied && force && prefixes.length && value != 0) {\n\t\t\t// Prefix was not applied. Use the first prefix.\n\t\t\tnewvalue = value / prefixes[0].number;\n\t\t\tprefix = prefixes[0].prefix;\n\t\t\tsuffix = prefixes[0].suffix;\n\t\t\tapplied = true;\n\t\t}\n\n\t\tif (applied) {\n\t\t\tnewvalue = parseFloat(\n\t\t\t\tnewvalue.toPrecision(\n\t\t\t\t\tMath.min(k.toString().length + Math.floor(newvalue).toString().replace(/[^0-9]*/g, \"\").length, 21)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn [newvalue, prefix, suffix];\n\t}\n\n\t/**\n\t * Replaces brackets with temporary placeholders.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Input text\n\t * @return Escaped text\n\t */\n\tpublic escape(text: string): string {\n\t\treturn text.replace(\"||\", $type.PLACEHOLDER2);\n\t}\n\n\t/**\n\t * Replaces placeholders back to brackets.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Escaped text\n\t * @return Unescaped text\n\t */\n\tpublic unescape(text: string): string {\n\t\treturn text.replace($type.PLACEHOLDER2, \"|\");\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Language } from \"./Language\";\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\";\n\nimport * as $object from \"./Object\";\nimport * as $utils from \"./Utils\";\nimport * as $type from \"./Type\";\n\n/**\n * @ignore\n */\nexport interface INumberSuffix {\n\tnumber: number;\n\tsuffix: string;\n}\n\nexport interface INumberFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Number format to be used when formatting numbers.\n\t *\n\t * @default \"#,###.#####\"\n\t */\n\tnumberFormat?: string | Intl.NumberFormatOptions;\n\n\t/**\n\t * A threshold value for negative numbers.\n\t *\n\t * @default 0\n\t */\n\tnegativeBase?: number;\n\n\t/**\n\t * Prefixes and thresholds to group big numbers into, e.g. 1M.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tbigNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * Prefixes and thresholds to group small numbers into, e.g. 1m.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tsmallNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * All numbers below this value are considered small.\n\t *\n\t * @default 1\n\t */\n\tsmallNumberThreshold?: number;\n\n\t/**\n\t * Prefixes to and thresholds to use when grouping data size numbers, e.g. 1MB.\n\t *\n\t * Used in conjunction with `b` modifier of the number format.\n\t */\n\tbytePrefixes?: INumberSuffix[];\n\n\t/**\n\t * Indicates which fields in data should be considered numeric.\n\t *\n\t * It is used when formatting data placeholder values.\n\t */\n\tnumericFields?: string[];\n\n\t/**\n\t * Locales if you are using date formats in `Intl.NumberFormatOptions` syntax.\n\t *\n\t * @see (@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) about using Intl for number formatting\n\t * @param value Locales\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface INumberFormatterPrivate extends IEntityPrivate {\n}\n\n/**\n * Number formatter\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-numbers/} for more info\n * @important\n */\nexport class NumberFormatter extends Entity {\n\tdeclare public _settings: INumberFormatterSettings;\n\tdeclare public _privateSettings: INumberFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"negativeBase\", 0);\n\t\tthis._setDefault(\"numberFormat\", \"#,###.#####\");\n\t\tthis._setDefault(\"smallNumberThreshold\", 1.00);\n\n\t\tthis._setDefault(\"bigNumberPrefixes\", [\n\t\t\t{ \"number\": 1e+3, \"suffix\": this._root.language.translate(\"_big_number_suffix_3\") },\n\t\t\t{ \"number\": 1e+6, \"suffix\": this._root.language.translate(\"_big_number_suffix_6\") },\n\t\t\t{ \"number\": 1e+9, \"suffix\": this._root.language.translate(\"_big_number_suffix_9\") },\n\t\t\t{ \"number\": 1e+12, \"suffix\": this._root.language.translate(\"_big_number_suffix_12\") },\n\t\t\t{ \"number\": 1e+15, \"suffix\": this._root.language.translate(\"_big_number_suffix_15\") },\n\t\t\t{ \"number\": 1e+18, \"suffix\": this._root.language.translate(\"_big_number_suffix_18\") },\n\t\t\t{ \"number\": 1e+21, \"suffix\": this._root.language.translate(\"_big_number_suffix_21\") },\n\t\t\t{ \"number\": 1e+24, \"suffix\": this._root.language.translate(\"_big_number_suffix_24\") }\n\t\t]);\n\n\t\tthis._setDefault(\"smallNumberPrefixes\", [\n\t\t\t{ \"number\": 1e-24, \"suffix\": this._root.language.translate(\"_small_number_suffix_24\") },\n\t\t\t{ \"number\": 1e-21, \"suffix\": this._root.language.translate(\"_small_number_suffix_21\") },\n\t\t\t{ \"number\": 1e-18, \"suffix\": this._root.language.translate(\"_small_number_suffix_18\") },\n\t\t\t{ \"number\": 1e-15, \"suffix\": this._root.language.translate(\"_small_number_suffix_15\") },\n\t\t\t{ \"number\": 1e-12, \"suffix\": this._root.language.translate(\"_small_number_suffix_12\") },\n\t\t\t{ \"number\": 1e-9, \"suffix\": this._root.language.translate(\"_small_number_suffix_9\") },\n\t\t\t{ \"number\": 1e-6, \"suffix\": this._root.language.translate(\"_small_number_suffix_6\") },\n\t\t\t{ \"number\": 1e-3, \"suffix\": this._root.language.translate(\"_small_number_suffix_3\") }\n\t\t]);\n\n\t\tthis._setDefault(\"bytePrefixes\", [\n\t\t\t{ \"number\": 1, suffix: this._root.language.translate(\"_byte_suffix_B\") },\n\t\t\t{ \"number\": 1024, suffix: this._root.language.translate(\"_byte_suffix_KB\") },\n\t\t\t{ \"number\": 1048576, suffix: this._root.language.translate(\"_byte_suffix_MB\") },\n\t\t\t{ \"number\": 1073741824, suffix: this._root.language.translate(\"_byte_suffix_GB\") },\n\t\t\t{ \"number\": 1099511627776, suffix: this._root.language.translate(\"_byte_suffix_TB\") },\n\t\t\t{ \"number\": 1125899906842624, suffix: this._root.language.translate(\"_byte_suffix_PB\") }\n\t\t]);\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\t/**\n\t * Formats the number according to specific format.\n\t *\n\t * @param value Value to format\n\t * @param format Format to apply\n\t * @return Formatted number\n\t */\n\tpublic format(value: number | string, format?: string | Intl.NumberFormatOptions, precision?: number): string {\n\n\t\t// no format passed in or \"Number\"\n\t\tif (format == null || ($type.isString(format) && format.toLowerCase() === \"number\")) {\n\t\t\tformat = this.get(\"numberFormat\", \"\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast to number just in case\n\t\t// TODO: maybe use better casting\n\t\tlet source: number = Number(value);\n\n\t\t// Is it a built-in format or Intl.NumberFormatOptions\n\t\tif ($type.isObject(format)) {\n\t\t\ttry {\n\t\t\t\tif (this.get(\"intlLocales\")) {\n\t\t\t\t\treturn new Intl.NumberFormat(this.get(\"intlLocales\"), <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.NumberFormat(undefined, <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\t\telse {\n\n\t\t\t// Clean format\n\t\t\tformat = $utils.cleanFormat(format!);\n\n\t\t\t// Get format info (it will also deal with parser caching)\n\t\t\tlet info = this.parseFormat(format, this._root.language);\n\n\n\t\t\t// format and replace the number\n\t\t\tlet details;\n\t\t\tif (source > this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.positive;\n\t\t\t}\n\t\t\telse if (source < this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.negative;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdetails = info.zero;\n\t\t\t}\n\n\t\t\t// Adjust precision\n\t\t\tif (precision != null && !details.mod) {\n\t\t\t\tdetails = $object.copy(details);\n\t\t\t\tdetails.decimals.active = source == 0 ? 0 : precision;\n\t\t\t}\n\n\t\t\t// Format\n\t\t\tformatted = details.template.split($type.PLACEHOLDER).join(this.applyFormat(source, details));\n\n\t\t}\n\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Parses supplied format into structured object which can be used to format\n\t * the number.\n\t *\n\t * @param format Format string, i.e. \"#,###.00\"\n\t * @param language Language\n\t * @ignore\n\t */\n\tprotected parseFormat(format: string, language: Language): any {\n\n\t\t// Check cache\n\t\t// TODO\n\t\t// let cached = this.getCache(format);\n\t\t// if (cached != null) {\n\t\t// \treturn cached;\n\t\t// }\n\n\t\t// init format parse info holder\n\t\tlet info: any = {\n\t\t\t\"positive\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"negative\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"zero\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t}\n\t\t};\n\n\t\t// Escape double vertical bars (that mean display one vertical bar)\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\n\n\t\t// Split it up and deal with different formats\n\t\tlet parts = format.split(\"|\");\n\t\tinfo.positive.source = parts[0];\n\n\t\tif (typeof parts[2] === \"undefined\") {\n\t\t\tinfo.zero = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.zero.source = parts[2];\n\t\t}\n\n\t\tif (typeof parts[1] === \"undefined\") {\n\t\t\tinfo.negative = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.negative.source = parts[1];\n\t\t}\n\n\t\t// Parse each\n\t\t$object.each(info, (_part, item) => {\n\t\t\t// Already parsed\n\t\t\tif (item.parsed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check cached\n\t\t\t// TODO\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\n\t\t\t// \tinfo[part] = this.getCache(item.source);\n\t\t\t// \treturn;\n\t\t\t// }\n\n\t\t\t// Begin parsing\n\t\t\tlet partFormat = item.source;\n\n\t\t\t// Just \"Number\"?\n\t\t\tif (partFormat.toLowerCase() === \"number\") {\n\t\t\t\tpartFormat = this.get(\"numberFormat\", \"#,###.#####\");\n\t\t\t}\n\n\t\t\t// Let TextFormatter split into chunks\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\t\tlet chunk = chunks[i];\n\n\t\t\t\t// replace back double vertical bar\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\n\n\t\t\t\tif (chunk.type === \"value\") {\n\t\t\t\t\t// Parse format\n\n\t\t\t\t\t// Look for codes\n\t\t\t\t\tlet matches: string[] | null = chunk.text.match(/[#0.,]+[ ]?[abesABES%!]?[abesABES‰!]?/);\n\n\t\t\t\t\tif (matches) {\n\t\t\t\t\t\tif (matches === null || matches[0] === \"\") {\n\t\t\t\t\t\t\t// no codes here - assume string\n\t\t\t\t\t\t\t// nothing to do here\n\t\t\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t// look for the format modifiers at the end\n\t\t\t\t\t\t\tlet mods: string[] | null = matches[0].match(/[abesABES%‰!]{2}|[abesABES%‰]{1}$/);\n\n\t\t\t\t\t\t\tif (mods) {\n\t\t\t\t\t\t\t\titem.mod = mods[0].toLowerCase();\n\t\t\t\t\t\t\t\titem.modSpacing = matches[0].match(/[ ]{1}[abesABES%‰!]{1}$/) ? true : false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// break the format up\n\t\t\t\t\t\t\tlet a = matches[0].split(\".\");\n\n\t\t\t\t\t\t\t// Deal with thousands\n\t\t\t\t\t\t\tif (a[0] === \"\") {\n\t\t\t\t\t\t\t\t// No directives for thousands\n\t\t\t\t\t\t\t\t// Leave default settings (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.thousands.active = (a[0].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.thousands.passive = (a[0].match(/\\#/g) || []).length + item.thousands.active;\n\n\t\t\t\t\t\t\t\t// Separator interval\n\t\t\t\t\t\t\t\tlet b = a[0].split(\",\");\n\t\t\t\t\t\t\t\tif (b.length === 1) {\n\t\t\t\t\t\t\t\t\t// No thousands separators\n\t\t\t\t\t\t\t\t\t// Do nothing\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t// Use length fo the last chunk as thousands length\n\t\t\t\t\t\t\t\t\titem.thousands.interval = (b.pop() || \"\").length;\n\n\t\t\t\t\t\t\t\t\tif (item.thousands.interval === 0) {\n\t\t\t\t\t\t\t\t\t\titem.thousands.interval = -1;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Deal with decimals\n\t\t\t\t\t\t\tif (typeof (a[1]) === \"undefined\") {\n\t\t\t\t\t\t\t\t// No directives for decimals\n\t\t\t\t\t\t\t\t// Leave at defaults (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.decimals.active = (a[1].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.decimals.passive = (a[1].match(/\\#/g) || []).length + item.decimals.active;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Add special code to template\n\t\t\t\t\t\t\titem.template += chunk.text.split(matches[0]).join($type.PLACEHOLDER);\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Quoted string - take it as it is\n\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply style formatting\n\t\t\t//item.template = getTextFormatter().format(item.template, this.outputFormat);\n\n\t\t\t// Save cache\n\t\t\t// TODO\n\t\t\t//this.setCache(item.source, item);\n\n\t\t\t// Mark this as parsed\n\t\t\titem.parsed = true;\n\n\t\t});\n\n\t\t// Save cache (the whole thing)\n\t\t// TODO\n\t\t//this.setCache(format, info);\n\n\t\treturn info;\n\t}\n\n\t/**\n\t * Applies parsed format to a numeric value.\n\t *\n\t * @param value Value\n\t * @param details Parsed format as returned by parseFormat()\n\t * @return Formatted number\n\t * @ignore\n\t */\n\tprotected applyFormat(value: number, details: any): string {\n\n\t\t// Use absolute values\n\t\tlet negative: boolean = value < 0;\n\t\tvalue = Math.abs(value);\n\n\t\t// Recalculate according to modifier\n\t\tlet prefix: string = \"\", suffix: string = \"\";\n\t\tlet mods: string[] = details.mod ? details.mod.split(\"\") : [];\n\t\tif (mods.indexOf(\"b\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, this.get(\"bytePrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"a\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, value < this.get(\"smallNumberThreshold\")! ? this.get(\"smallNumberPrefixes\")! : this.get(\"bigNumberPrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"%\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\tvalue *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"%\";\n\t\t}\n\t\telse if (mods.indexOf(\"‰\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 3, 21);\n\t\t\tvalue *= 1000;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"‰\";\n\t\t}\n\n\t\t// Round to passive\n\t\tif (mods.indexOf(\"e\") !== -1) {\n\t\t\t// convert the value to exponential\n\t\t\tlet exp: string[];\n\t\t\tif (details.decimals.passive >= 0) {\n\t\t\t\texp = value.toExponential(details.decimals.passive).split(\"e\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\texp = value.toExponential().split(\"e\");\n\t\t\t}\n\t\t\tvalue = Number(exp[0]);\n\t\t\tsuffix = \"e\" + exp[1];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (details.decimals.passive === 0) {\n\t\t\tvalue = Math.round(value);\n\t\t}\n\t\telse if (details.decimals.passive > 0) {\n\t\t\tlet d: number = Math.pow(10, details.decimals.passive);\n\t\t\tvalue = Math.round(value * d) / d;\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: string = \"\";\n\n\t\t// Calc integer and decimal parts\n\t\tlet a = $type.numberToString(value).split(\".\");\n\n\t\t// Format integers\n\t\tlet ints = a[0];\n\n\t\t// Pad integers to active length\n\t\tif (ints.length < details.thousands.active) {\n\t\t\tints = Array(details.thousands.active - ints.length + 1).join(\"0\") + ints;\n\t\t}\n\n\t\t// Insert thousands separators\n\t\tif (details.thousands.interval > 0) {\n\t\t\tlet ip: string[] = [];\n\t\t\tlet intsr: string = ints.split(\"\").reverse().join(\"\");\n\t\t\tfor (let i = 0, len = ints.length; i <= len; i += details.thousands.interval) {\n\t\t\t\tlet c: string = intsr.substr(i, details.thousands.interval).split(\"\").reverse().join(\"\");\n\t\t\t\tif (c !== \"\") {\n\t\t\t\t\tip.unshift(c);\n\t\t\t\t}\n\t\t\t}\n\t\t\tints = ip.join(details.thousands.separator);\n\t\t}\n\n\t\t// Add integers\n\t\tres += ints;\n\n\t\t// Add decimals\n\t\tif (a.length === 1) {\n\t\t\ta.push(\"\");\n\t\t}\n\t\tlet decs: string = a[1];\n\n\t\t// Fill zeros?\n\t\tif (decs.length < details.decimals.active) {\n\t\t\tdecs += Array(details.decimals.active - decs.length + 1).join(\"0\");\n\t\t}\n\n\t\tif (decs !== \"\") {\n\t\t\tres += details.decimals.separator + decs;\n\t\t}\n\n\t\t// Can't have empty return value\n\t\tif (res === \"\") {\n\t\t\tres = \"0\";\n\t\t}\n\n\t\t// Add minus sign back\n\t\tif (value !== 0 && negative && (mods.indexOf(\"s\") === -1)) {\n\t\t\tres = \"-\" + res;\n\t\t}\n\n\t\t// Add suffixes/prefixes\n\t\tif (prefix) {\n\t\t\tres = prefix + res;\n\t\t}\n\t\tif (suffix) {\n\t\t\tres += suffix;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\n\tprotected applyPrefix(value: number, prefixes: any[], force: boolean = false): any[] {\n\t\tlet newvalue = value;\n\t\tlet prefix = \"\";\n\t\tlet suffix = \"\";\n\t\tlet applied = false;\n\t\tlet k = 1;\n\n\t\tfor (let i = 0, len = prefixes.length; i < len; i++) {\n\t\t\tif (prefixes[i].number <= value) {\n\t\t\t\tif (prefixes[i].number === 0) {\n\t\t\t\t\tnewvalue = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewvalue = value / prefixes[i].number;\n\t\t\t\t\tk = prefixes[i].number;\n\t\t\t\t}\n\t\t\t\tprefix = prefixes[i].prefix;\n\t\t\t\tsuffix = prefixes[i].suffix;\n\t\t\t\tapplied = true;\n\t\t\t}\n\t\t}\n\n\n\t\tif (!applied && force && prefixes.length && value != 0) {\n\t\t\t// Prefix was not applied. Use the first prefix.\n\t\t\tnewvalue = value / prefixes[0].number;\n\t\t\tprefix = prefixes[0].prefix;\n\t\t\tsuffix = prefixes[0].suffix;\n\t\t\tapplied = true;\n\t\t}\n\n\t\tif (applied) {\n\t\t\tnewvalue = parseFloat(\n\t\t\t\tnewvalue.toPrecision(\n\t\t\t\t\tMath.min(k.toString().length + Math.floor(newvalue).toString().replace(/[^0-9]*/g, \"\").length, 21)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn [newvalue, prefix, suffix];\n\t}\n\n\t/**\n\t * Replaces brackets with temporary placeholders.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Input text\n\t * @return Escaped text\n\t */\n\tpublic escape(text: string): string {\n\t\treturn text.replace(\"||\", $type.PLACEHOLDER2);\n\t}\n\n\t/**\n\t * Replaces placeholders back to brackets.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Escaped text\n\t * @return Unescaped text\n\t */\n\tpublic unescape(text: string): string {\n\t\treturn text.replace($type.PLACEHOLDER2, \"|\");\n\t}\n\n}\n"]}
|
|
@@ -54,7 +54,6 @@ function getTagValue(target, tagName, format) {
|
|
|
54
54
|
// Check if maybe we should force a formatter on this value
|
|
55
55
|
var dateFields = target.getDateFormatter().get("dateFields", []);
|
|
56
56
|
var numericFields = target.getNumberFormatter().get("numericFields", []);
|
|
57
|
-
var durationFields = target.getDurationFormatter().get("durationFields", []);
|
|
58
57
|
if (dateFields.indexOf(matches[3]) !== -1) {
|
|
59
58
|
parts.push({
|
|
60
59
|
method: "formatDate",
|
|
@@ -67,12 +66,6 @@ function getTagValue(target, tagName, format) {
|
|
|
67
66
|
params: []
|
|
68
67
|
});
|
|
69
68
|
}
|
|
70
|
-
else if (durationFields.indexOf(matches[3]) !== -1) {
|
|
71
|
-
parts.push({
|
|
72
|
-
method: "formatDuration",
|
|
73
|
-
params: []
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
69
|
}
|
|
77
70
|
else {
|
|
78
71
|
// Method
|
|
@@ -179,13 +172,6 @@ function getTagValueFromObject(target, parts, object, format) {
|
|
|
179
172
|
formatApplied = true;
|
|
180
173
|
}
|
|
181
174
|
break;
|
|
182
|
-
case "formatDuration":
|
|
183
|
-
var durationValue = $type.toNumber(current);
|
|
184
|
-
if (durationValue != null) {
|
|
185
|
-
current = target.getDurationFormatter().format(durationValue, format || part.params[0] || undefined, part.params[1] || undefined);
|
|
186
|
-
formatApplied = true;
|
|
187
|
-
}
|
|
188
|
-
break;
|
|
189
175
|
case "urlEncode":
|
|
190
176
|
case "encodeURIComponent":
|
|
191
177
|
current = encodeURIComponent(current);
|
|
@@ -227,9 +213,6 @@ function getTagValueFromObject(target, parts, object, format) {
|
|
|
227
213
|
else if (formatterType === "date") {
|
|
228
214
|
formatParts[0].method = "formatDate";
|
|
229
215
|
}
|
|
230
|
-
else if (formatterType === "duration") {
|
|
231
|
-
formatParts[0].method = "formatDuration";
|
|
232
|
-
}
|
|
233
216
|
}
|
|
234
217
|
// Apply format
|
|
235
218
|
if (formatParts[0].method) {
|