@amcharts/amcharts5 5.15.6 → 5.16.1
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/ArcDiagram.js +4 -24
- package/.internal/charts/flow/ArcDiagram.js.map +1 -1
- package/.internal/charts/flow/ArcDiagramLink.js +3 -30
- package/.internal/charts/flow/ArcDiagramLink.js.map +1 -1
- package/.internal/charts/flow/ArcDiagramNodes.js +5 -39
- package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -1
- package/.internal/charts/flow/Chord.d.ts.map +1 -1
- package/.internal/charts/flow/Chord.js +22 -59
- package/.internal/charts/flow/Chord.js.map +1 -1
- package/.internal/charts/flow/ChordDirected.js +5 -30
- package/.internal/charts/flow/ChordDirected.js.map +1 -1
- package/.internal/charts/flow/ChordLink.js +2 -33
- package/.internal/charts/flow/ChordLink.js.map +1 -1
- package/.internal/charts/flow/ChordLinkDirected.js +2 -12
- package/.internal/charts/flow/ChordLinkDirected.js.map +1 -1
- package/.internal/charts/flow/ChordNodes.js +6 -45
- package/.internal/charts/flow/ChordNodes.js.map +1 -1
- package/.internal/charts/flow/ChordNonRibbon.js +2 -12
- package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
- package/.internal/charts/flow/Flow.js +8 -48
- package/.internal/charts/flow/Flow.js.map +1 -1
- package/.internal/charts/flow/FlowLink.js +2 -33
- package/.internal/charts/flow/FlowLink.js.map +1 -1
- package/.internal/charts/flow/FlowNode.js +2 -24
- package/.internal/charts/flow/FlowNode.js.map +1 -1
- package/.internal/charts/flow/FlowNodes.js +5 -30
- package/.internal/charts/flow/FlowNodes.js.map +1 -1
- package/.internal/charts/flow/Sankey.js +7 -48
- package/.internal/charts/flow/Sankey.js.map +1 -1
- package/.internal/charts/flow/SankeyLink.js +4 -24
- package/.internal/charts/flow/SankeyLink.js.map +1 -1
- package/.internal/charts/flow/SankeyNodes.js +3 -27
- package/.internal/charts/flow/SankeyNodes.js.map +1 -1
- package/.internal/charts/funnel/FunnelSeries.js +8 -48
- package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
- package/.internal/charts/funnel/FunnelSlice.js +15 -90
- package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
- package/.internal/charts/funnel/PictorialStackedSeries.js +5 -30
- package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
- package/.internal/charts/funnel/PyramidSeries.js +3 -24
- package/.internal/charts/funnel/PyramidSeries.js.map +1 -1
- package/.internal/charts/funnel/SlicedChart.js +2 -12
- package/.internal/charts/funnel/SlicedChart.js.map +1 -1
- package/.internal/charts/gantt/Gantt.js +57 -188
- package/.internal/charts/gantt/Gantt.js.map +1 -1
- package/.internal/charts/gantt/GanttCategoryAxis.js +9 -110
- package/.internal/charts/gantt/GanttCategoryAxis.js.map +1 -1
- package/.internal/charts/gantt/GanttCategoryAxisRenderer.js +27 -72
- package/.internal/charts/gantt/GanttCategoryAxisRenderer.js.map +1 -1
- package/.internal/charts/gantt/GanttDateAxis.js +2 -24
- package/.internal/charts/gantt/GanttDateAxis.js.map +1 -1
- package/.internal/charts/gantt/GanttDateAxisRenderer.js +2 -12
- package/.internal/charts/gantt/GanttDateAxisRenderer.js.map +1 -1
- package/.internal/charts/gantt/GanttSeries.js +49 -173
- package/.internal/charts/gantt/GanttSeries.js.map +1 -1
- package/.internal/charts/hierarchy/BreadcrumbBar.js +8 -29
- package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.js +10 -60
- package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +11 -64
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.js +3 -24
- package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyNode.js +2 -30
- package/.internal/charts/hierarchy/HierarchyNode.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.js +18 -58
- package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchyNode.js +2 -12
- package/.internal/charts/hierarchy/LinkedHierarchyNode.js.map +1 -1
- package/.internal/charts/hierarchy/Pack.js +7 -38
- package/.internal/charts/hierarchy/Pack.js.map +1 -1
- package/.internal/charts/hierarchy/Partition.js +7 -32
- package/.internal/charts/hierarchy/Partition.js.map +1 -1
- package/.internal/charts/hierarchy/Sunburst.js +10 -40
- package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
- package/.internal/charts/hierarchy/Tree.js +4 -30
- package/.internal/charts/hierarchy/Tree.js.map +1 -1
- package/.internal/charts/hierarchy/Treemap.d.ts +1 -1
- package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js +17 -45
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.js +7 -32
- package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.d.ts +0 -2
- package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.js +128 -127
- package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
- package/.internal/charts/map/GraticuleSeries.js +3 -18
- package/.internal/charts/map/GraticuleSeries.js.map +1 -1
- package/.internal/charts/map/MapChart.d.ts +39 -1
- package/.internal/charts/map/MapChart.d.ts.map +1 -1
- package/.internal/charts/map/MapChart.js +168 -187
- package/.internal/charts/map/MapChart.js.map +1 -1
- package/.internal/charts/map/MapLine.js +3 -18
- package/.internal/charts/map/MapLine.js.map +1 -1
- package/.internal/charts/map/MapLineSeries.js +4 -24
- package/.internal/charts/map/MapLineSeries.js.map +1 -1
- package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPointSeries.js +5 -24
- package/.internal/charts/map/MapPointSeries.js.map +1 -1
- package/.internal/charts/map/MapPolygon.js +3 -27
- package/.internal/charts/map/MapPolygon.js.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.js +4 -24
- package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
- package/.internal/charts/map/MapSeries.js +7 -42
- package/.internal/charts/map/MapSeries.js.map +1 -1
- package/.internal/charts/map/ZoomControl.js +2 -12
- package/.internal/charts/map/ZoomControl.js.map +1 -1
- package/.internal/charts/percent/PercentChart.js +2 -12
- package/.internal/charts/percent/PercentChart.js.map +1 -1
- package/.internal/charts/percent/PercentSeries.js +11 -66
- package/.internal/charts/percent/PercentSeries.js.map +1 -1
- package/.internal/charts/pie/PieChart.js +3 -18
- package/.internal/charts/pie/PieChart.js.map +1 -1
- package/.internal/charts/pie/PieSeries.js +2 -12
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/radar/AxisRendererCircular.js +9 -34
- package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
- package/.internal/charts/radar/AxisRendererRadial.js +6 -26
- package/.internal/charts/radar/AxisRendererRadial.js.map +1 -1
- package/.internal/charts/radar/ClockHand.js +4 -24
- package/.internal/charts/radar/ClockHand.js.map +1 -1
- package/.internal/charts/radar/RadarChart.js +5 -30
- package/.internal/charts/radar/RadarChart.js.map +1 -1
- package/.internal/charts/radar/RadarColumnSeries.js +6 -21
- package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
- package/.internal/charts/radar/RadarCursor.js +3 -18
- package/.internal/charts/radar/RadarCursor.js.map +1 -1
- package/.internal/charts/radar/RadarLineSeries.js +2 -12
- package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
- package/.internal/charts/radar/SmoothedRadarLineSeries.js +2 -12
- package/.internal/charts/radar/SmoothedRadarLineSeries.js.map +1 -1
- package/.internal/charts/stock/PanelControls.js +26 -56
- package/.internal/charts/stock/PanelControls.js.map +1 -1
- package/.internal/charts/stock/SettingsModal.js +3 -30
- package/.internal/charts/stock/SettingsModal.js.map +1 -1
- package/.internal/charts/stock/StockChart.js +11 -108
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/StockLegend.js +14 -34
- package/.internal/charts/stock/StockLegend.js.map +1 -1
- package/.internal/charts/stock/StockPanel.js +3 -38
- package/.internal/charts/stock/StockPanel.js.map +1 -1
- package/.internal/charts/stock/drawing/AverageSeries.js +3 -18
- package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.js +3 -18
- package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/DoodleSeries.js +5 -42
- package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js +32 -200
- package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/EllipseSeries.js +7 -42
- package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciSeries.js +7 -42
- package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js +3 -18
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js +3 -18
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js +3 -18
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
- package/.internal/charts/stock/drawing/IconSeries.js +3 -24
- package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/LabelSeries.js +5 -36
- package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/LineArrowSeries.js +4 -24
- package/.internal/charts/stock/drawing/LineArrowSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/Measure.js +6 -36
- package/.internal/charts/stock/drawing/Measure.js.map +1 -1
- package/.internal/charts/stock/drawing/ParallelChannelSeries.js +5 -30
- package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/PolylineSeries.js +4 -24
- package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/QuadrantLineSeries.js +3 -18
- package/.internal/charts/stock/drawing/QuadrantLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/RectangleSeries.js +4 -24
- package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/RegressionSeries.js +3 -18
- package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.js +9 -54
- package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/TrendLineSeries.js +3 -18
- package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.js +3 -18
- package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
- package/.internal/charts/stock/indicators/AccelerationBands.js +23 -56
- package/.internal/charts/stock/indicators/AccelerationBands.js.map +1 -1
- package/.internal/charts/stock/indicators/AccumulationDistribution.js +11 -26
- package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -1
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +15 -42
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/Aroon.js +15 -30
- package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
- package/.internal/charts/stock/indicators/AverageTrueRange.js +11 -26
- package/.internal/charts/stock/indicators/AverageTrueRange.js.map +1 -1
- package/.internal/charts/stock/indicators/AwesomeOscillator.js +11 -26
- package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
- package/.internal/charts/stock/indicators/BollingerBands.js +33 -66
- package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
- package/.internal/charts/stock/indicators/BullBearPower.js +11 -26
- package/.internal/charts/stock/indicators/BullBearPower.js.map +1 -1
- package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js +11 -26
- package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
- package/.internal/charts/stock/indicators/ChaikinOscillator.js +15 -30
- package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -1
- package/.internal/charts/stock/indicators/ChartIndicator.js +3 -54
- package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
- package/.internal/charts/stock/indicators/CommodityChannelIndex.js +2 -12
- package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/DisparityIndex.js +21 -36
- package/.internal/charts/stock/indicators/DisparityIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/HeikinAshi.js +11 -26
- package/.internal/charts/stock/indicators/HeikinAshi.js.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.js +4 -42
- package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
- package/.internal/charts/stock/indicators/MACD.js +31 -64
- package/.internal/charts/stock/indicators/MACD.js.map +1 -1
- package/.internal/charts/stock/indicators/MACross.js +19 -34
- package/.internal/charts/stock/indicators/MACross.js.map +1 -1
- package/.internal/charts/stock/indicators/MedianPrice.js +11 -26
- package/.internal/charts/stock/indicators/MedianPrice.js.map +1 -1
- package/.internal/charts/stock/indicators/Momentum.js +18 -33
- package/.internal/charts/stock/indicators/Momentum.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverage.js +25 -40
- package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageDeviation.js +33 -48
- package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +42 -75
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
- package/.internal/charts/stock/indicators/OnBalanceVolume.js +7 -22
- package/.internal/charts/stock/indicators/OnBalanceVolume.js.map +1 -1
- package/.internal/charts/stock/indicators/OverboughtOversold.js +19 -64
- package/.internal/charts/stock/indicators/OverboughtOversold.js.map +1 -1
- package/.internal/charts/stock/indicators/PVT.js +7 -22
- package/.internal/charts/stock/indicators/PVT.js.map +1 -1
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +2 -24
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/StandardDeviation.js +16 -31
- package/.internal/charts/stock/indicators/StandardDeviation.js.map +1 -1
- package/.internal/charts/stock/indicators/StochasticMomentumIndex.js +2 -24
- package/.internal/charts/stock/indicators/StochasticMomentumIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/StochasticOscillator.js +2 -24
- package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
- package/.internal/charts/stock/indicators/SuperTrend.js +19 -52
- package/.internal/charts/stock/indicators/SuperTrend.js.map +1 -1
- package/.internal/charts/stock/indicators/Trix.js +20 -49
- package/.internal/charts/stock/indicators/Trix.js.map +1 -1
- package/.internal/charts/stock/indicators/TypicalPrice.js +11 -26
- package/.internal/charts/stock/indicators/TypicalPrice.js.map +1 -1
- package/.internal/charts/stock/indicators/VWAP.js +16 -31
- package/.internal/charts/stock/indicators/VWAP.js.map +1 -1
- package/.internal/charts/stock/indicators/Volume.js +11 -26
- package/.internal/charts/stock/indicators/Volume.js.map +1 -1
- package/.internal/charts/stock/indicators/VolumeProfile.js +32 -65
- package/.internal/charts/stock/indicators/VolumeProfile.js.map +1 -1
- package/.internal/charts/stock/indicators/WilliamsR.js +2 -12
- package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -1
- package/.internal/charts/stock/indicators/ZigZag.js +15 -30
- package/.internal/charts/stock/indicators/ZigZag.js.map +1 -1
- package/.internal/charts/stock/toolbar/ColorControl.js +2 -12
- package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/ComparisonControl.js +2 -12
- package/.internal/charts/stock/toolbar/ComparisonControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DataSaveControl.js +2 -12
- package/.internal/charts/stock/toolbar/DataSaveControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js +2 -12
- package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js +4 -24
- package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingToolControl.js +2 -12
- package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/Dropdown.js +2 -12
- package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownColors.js +2 -12
- package/.internal/charts/stock/toolbar/DropdownColors.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownControl.js +2 -12
- package/.internal/charts/stock/toolbar/DropdownControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js +2 -21
- package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.js +2 -12
- package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/IconControl.js +2 -12
- package/.internal/charts/stock/toolbar/IconControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.js +2 -12
- package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/IntervalControl.js +2 -12
- package/.internal/charts/stock/toolbar/IntervalControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.js +2 -27
- package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/ResetControl.js +2 -12
- package/.internal/charts/stock/toolbar/ResetControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/SeriesTypeControl.js +2 -12
- package/.internal/charts/stock/toolbar/SeriesTypeControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/SettingsControl.js +2 -12
- package/.internal/charts/stock/toolbar/SettingsControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockControl.js +2 -12
- package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.js +52 -57
- package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbar.js +2 -21
- package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
- package/.internal/charts/timeline/AxisRendererCurveX.js +11 -46
- package/.internal/charts/timeline/AxisRendererCurveX.js.map +1 -1
- package/.internal/charts/timeline/AxisRendererCurveY.js +6 -26
- package/.internal/charts/timeline/AxisRendererCurveY.js.map +1 -1
- package/.internal/charts/timeline/CurveChart.js +3 -18
- package/.internal/charts/timeline/CurveChart.js.map +1 -1
- package/.internal/charts/timeline/CurveColumnSeries.js +6 -21
- package/.internal/charts/timeline/CurveColumnSeries.js.map +1 -1
- package/.internal/charts/timeline/CurveCursor.js +2 -12
- package/.internal/charts/timeline/CurveCursor.js.map +1 -1
- package/.internal/charts/timeline/CurveLineSeries.js +2 -12
- package/.internal/charts/timeline/CurveLineSeries.js.map +1 -1
- package/.internal/charts/timeline/SerpentineChart.js +2 -12
- package/.internal/charts/timeline/SerpentineChart.js.map +1 -1
- package/.internal/charts/timeline/SpiralChart.js +2 -12
- package/.internal/charts/timeline/SpiralChart.js.map +1 -1
- package/.internal/charts/venn/Venn.js +8 -54
- package/.internal/charts/venn/Venn.js.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts +1 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.js +26 -89
- package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
- package/.internal/charts/xy/XYChart.js +23 -149
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYChartScrollbar.js +15 -35
- package/.internal/charts/xy/XYChartScrollbar.js.map +1 -1
- package/.internal/charts/xy/XYCursor.js +16 -93
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +27 -166
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisBullet.js +2 -24
- package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
- package/.internal/charts/xy/axes/AxisLabel.js +3 -18
- package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
- package/.internal/charts/xy/axes/AxisLabelRadial.js +3 -18
- package/.internal/charts/xy/axes/AxisLabelRadial.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.js +21 -131
- package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.js +3 -18
- package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.js +3 -24
- package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
- package/.internal/charts/xy/axes/AxisTick.js +3 -18
- package/.internal/charts/xy/axes/AxisTick.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.js +4 -24
- package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.js +4 -24
- package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +16 -57
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DurationAxis.js +5 -30
- package/.internal/charts/xy/axes/DurationAxis.js.map +1 -1
- package/.internal/charts/xy/axes/EditableAxisLabel.js +3 -18
- package/.internal/charts/xy/axes/EditableAxisLabel.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +16 -40
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/Grid.js +2 -12
- package/.internal/charts/xy/axes/Grid.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +15 -73
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +5 -30
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/Candlestick.js +2 -12
- package/.internal/charts/xy/series/Candlestick.js.map +1 -1
- package/.internal/charts/xy/series/CandlestickSeries.js +7 -22
- package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.js +8 -33
- package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +21 -95
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/charts/xy/series/OHLC.js +2 -12
- package/.internal/charts/xy/series/OHLC.js.map +1 -1
- package/.internal/charts/xy/series/OHLCSeries.js +7 -22
- package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedXLineSeries.js +2 -12
- package/.internal/charts/xy/series/SmoothedXLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedXYLineSeries.js +2 -12
- package/.internal/charts/xy/series/SmoothedXYLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedYLineSeries.js +2 -12
- package/.internal/charts/xy/series/SmoothedYLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/StepLineSeries.js +2 -12
- package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +45 -286
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Registry.js +5 -30
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts +1 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +49 -407
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/Theme.js +1 -12
- package/.internal/core/Theme.js.map +1 -1
- package/.internal/core/render/Bullet.js +2 -31
- package/.internal/core/render/Bullet.js.map +1 -1
- package/.internal/core/render/Button.js +2 -12
- package/.internal/core/render/Button.js.map +1 -1
- package/.internal/core/render/Chart.js +4 -24
- package/.internal/core/render/Chart.js.map +1 -1
- package/.internal/core/render/Circle.js +2 -12
- package/.internal/core/render/Circle.js.map +1 -1
- package/.internal/core/render/Component.js +11 -135
- package/.internal/core/render/Component.js.map +1 -1
- package/.internal/core/render/ConfirmButton.js +2 -21
- package/.internal/core/render/ConfirmButton.js.map +1 -1
- package/.internal/core/render/Container.js +13 -108
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/EditableLabel.js +2 -21
- package/.internal/core/render/EditableLabel.js.map +1 -1
- package/.internal/core/render/Ellipse.js +2 -12
- package/.internal/core/render/Ellipse.js.map +1 -1
- package/.internal/core/render/Graphics.js +4 -24
- package/.internal/core/render/Graphics.js.map +1 -1
- package/.internal/core/render/GridLayout.js +2 -12
- package/.internal/core/render/GridLayout.js.map +1 -1
- package/.internal/core/render/HeatLegend.js +9 -44
- package/.internal/core/render/HeatLegend.js.map +1 -1
- package/.internal/core/render/HorizontalLayout.js +2 -12
- package/.internal/core/render/HorizontalLayout.js.map +1 -1
- package/.internal/core/render/Label.js +41 -62
- package/.internal/core/render/Label.js.map +1 -1
- package/.internal/core/render/Layout.js +2 -12
- package/.internal/core/render/Layout.js.map +1 -1
- package/.internal/core/render/Legend.js +22 -57
- package/.internal/core/render/Legend.js.map +1 -1
- package/.internal/core/render/Line.js +2 -12
- package/.internal/core/render/Line.js.map +1 -1
- package/.internal/core/render/Link.js +10 -40
- package/.internal/core/render/Link.js.map +1 -1
- package/.internal/core/render/MonotoneXTension.js +8 -54
- package/.internal/core/render/MonotoneXTension.js.map +1 -1
- package/.internal/core/render/MonotoneYTension.js +8 -54
- package/.internal/core/render/MonotoneYTension.js.map +1 -1
- package/.internal/core/render/NumericStepper.js +6 -36
- package/.internal/core/render/NumericStepper.js.map +1 -1
- package/.internal/core/render/OrthogonalLine.js +2 -12
- package/.internal/core/render/OrthogonalLine.js.map +1 -1
- package/.internal/core/render/Picture.js +3 -18
- package/.internal/core/render/Picture.js.map +1 -1
- package/.internal/core/render/PointedRectangle.js +2 -12
- package/.internal/core/render/PointedRectangle.js.map +1 -1
- package/.internal/core/render/Polygon.js +2 -21
- package/.internal/core/render/Polygon.js.map +1 -1
- package/.internal/core/render/ProgressPie.js +8 -38
- package/.internal/core/render/ProgressPie.js.map +1 -1
- package/.internal/core/render/RadialLabel.js +3 -18
- package/.internal/core/render/RadialLabel.js.map +1 -1
- package/.internal/core/render/RadialText.js +3 -18
- package/.internal/core/render/RadialText.js.map +1 -1
- package/.internal/core/render/Rectangle.js +2 -12
- package/.internal/core/render/Rectangle.js.map +1 -1
- package/.internal/core/render/RoundedRectangle.js +2 -12
- package/.internal/core/render/RoundedRectangle.js.map +1 -1
- package/.internal/core/render/Scrollbar.js +9 -60
- package/.internal/core/render/Scrollbar.js.map +1 -1
- package/.internal/core/render/SerialChart.js +4 -24
- package/.internal/core/render/SerialChart.js.map +1 -1
- package/.internal/core/render/Series.js +8 -69
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/Slice.js +5 -30
- package/.internal/core/render/Slice.js.map +1 -1
- package/.internal/core/render/Slider.js +2 -12
- package/.internal/core/render/Slider.js.map +1 -1
- package/.internal/core/render/Sprite.js +86 -249
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/SpriteResizer.js +11 -72
- package/.internal/core/render/SpriteResizer.js.map +1 -1
- package/.internal/core/render/Star.js +2 -12
- package/.internal/core/render/Star.js.map +1 -1
- package/.internal/core/render/Text.js +35 -66
- package/.internal/core/render/Text.js.map +1 -1
- package/.internal/core/render/Tick.js +2 -12
- package/.internal/core/render/Tick.js.map +1 -1
- package/.internal/core/render/Tooltip.js +7 -78
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/render/Triangle.js +2 -12
- package/.internal/core/render/Triangle.js.map +1 -1
- package/.internal/core/render/VerticalLayout.js +2 -12
- package/.internal/core/render/VerticalLayout.js.map +1 -1
- package/.internal/core/render/ZoomTools.js +5 -42
- package/.internal/core/render/ZoomTools.js.map +1 -1
- package/.internal/core/render/ZoomableContainer.js +17 -82
- package/.internal/core/render/ZoomableContainer.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +142 -1205
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/gradients/Gradient.js +2 -12
- package/.internal/core/render/gradients/Gradient.js.map +1 -1
- package/.internal/core/render/gradients/LinearGradient.js +2 -12
- package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
- package/.internal/core/render/gradients/RadialGradient.js +2 -12
- package/.internal/core/render/gradients/RadialGradient.js.map +1 -1
- package/.internal/core/render/patterns/CirclePattern.js +2 -12
- package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
- package/.internal/core/render/patterns/GrainPattern.js +5 -30
- package/.internal/core/render/patterns/GrainPattern.js.map +1 -1
- package/.internal/core/render/patterns/LinePattern.js +2 -12
- package/.internal/core/render/patterns/LinePattern.js.map +1 -1
- package/.internal/core/render/patterns/PathPattern.js +2 -12
- package/.internal/core/render/patterns/PathPattern.js.map +1 -1
- package/.internal/core/render/patterns/Pattern.js +5 -36
- package/.internal/core/render/patterns/Pattern.js.map +1 -1
- package/.internal/core/render/patterns/PicturePattern.js +2 -21
- package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
- package/.internal/core/render/patterns/RectanglePattern.js +2 -12
- package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
- package/.internal/core/util/Animation.js +6 -54
- package/.internal/core/util/Animation.js.map +1 -1
- package/.internal/core/util/Array.d.ts.map +1 -1
- package/.internal/core/util/Array.js +5 -2
- package/.internal/core/util/Array.js.map +1 -1
- package/.internal/core/util/Benchmark.js +3 -18
- package/.internal/core/util/Benchmark.js.map +1 -1
- package/.internal/core/util/Children.js +1 -18
- package/.internal/core/util/Children.js.map +1 -1
- package/.internal/core/util/Color.js +0 -6
- package/.internal/core/util/Color.js.map +1 -1
- package/.internal/core/util/ColorSet.js +2 -12
- package/.internal/core/util/ColorSet.js.map +1 -1
- package/.internal/core/util/Counter.js +2 -18
- package/.internal/core/util/Counter.js.map +1 -1
- package/.internal/core/util/Data.js +0 -26
- package/.internal/core/util/Data.js.map +1 -1
- package/.internal/core/util/DataProcessor.js +5 -30
- package/.internal/core/util/DataProcessor.js.map +1 -1
- package/.internal/core/util/Disposer.js +2 -66
- package/.internal/core/util/Disposer.js.map +1 -1
- package/.internal/core/util/DurationFormatter.js +8 -13
- package/.internal/core/util/DurationFormatter.js.map +1 -1
- package/.internal/core/util/Entity.js +31 -271
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/EventDispatcher.js +0 -45
- package/.internal/core/util/EventDispatcher.js.map +1 -1
- package/.internal/core/util/InterfaceColors.js +2 -12
- package/.internal/core/util/InterfaceColors.js.map +1 -1
- package/.internal/core/util/List.js +3 -39
- package/.internal/core/util/List.js.map +1 -1
- package/.internal/core/util/Matrix.js +0 -36
- package/.internal/core/util/Matrix.js.map +1 -1
- package/.internal/core/util/Modal.js +2 -12
- package/.internal/core/util/Modal.js.map +1 -1
- package/.internal/core/util/PatternSet.js +2 -12
- package/.internal/core/util/PatternSet.js.map +1 -1
- package/.internal/core/util/Percent.js +0 -9
- package/.internal/core/util/Percent.js.map +1 -1
- package/.internal/core/util/ResizeSensor.js +5 -54
- package/.internal/core/util/ResizeSensor.js.map +1 -1
- package/.internal/core/util/States.js +2 -30
- package/.internal/core/util/States.js.map +1 -1
- package/.internal/core/util/Template.js +10 -96
- package/.internal/core/util/Template.js.map +1 -1
- package/.internal/core/util/TextFormatter.js +1 -6
- package/.internal/core/util/TextFormatter.js.map +1 -1
- package/.internal/core/util/Throttler.js +2 -18
- package/.internal/core/util/Throttler.js.map +1 -1
- package/.internal/core/util/Timezone.js +0 -18
- package/.internal/core/util/Timezone.js.map +1 -1
- package/.internal/core/util/Utils.js +0 -21
- package/.internal/core/util/Utils.js.map +1 -1
- package/.internal/core/util/Value.js +1 -18
- package/.internal/core/util/Value.js.map +1 -1
- package/.internal/plugins/colorPicker/ColorPicker.js +96 -235
- package/.internal/plugins/colorPicker/ColorPicker.js.map +1 -1
- package/.internal/plugins/colorPicker/ColorPickerButton.js +8 -34
- package/.internal/plugins/colorPicker/ColorPickerButton.js.map +1 -1
- package/.internal/plugins/exporting/Annotator.js +3 -36
- package/.internal/plugins/exporting/Annotator.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +2 -12
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.js +6 -66
- package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
- package/.internal/plugins/json/ChartSerializer.js +8 -48
- package/.internal/plugins/json/ChartSerializer.js.map +1 -1
- package/.internal/plugins/json/Json.js +3 -24
- package/.internal/plugins/json/Json.js.map +1 -1
- package/.internal/plugins/json/Serializer.js +3 -18
- package/.internal/plugins/json/Serializer.js.map +1 -1
- package/.internal/plugins/sliceGrouper/SliceGrouper.js +2 -24
- package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
- package/.internal/themes/ResponsiveTheme.js +8 -54
- package/.internal/themes/ResponsiveTheme.js.map +1 -1
- package/CHANGELOG.md +19 -0
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gantt/package.json +1 -1
- package/examples/javascript/gantt-multilevel/package.json +1 -1
- package/examples/javascript/gantt-simple/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-spiral-chart/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gantt/package.json +1 -1
- package/examples/typescript/gantt-multilevel/package.json +1 -1
- package/examples/typescript/gantt-simple/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-spiral-chart/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -10,42 +10,37 @@ import * as $array from "../../../core/util/Array";
|
|
|
10
10
|
export class MovingAverageDeviation extends ChartIndicator {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
name: this.root.language.translateAny("Decreasing"),
|
|
45
|
-
type: "color"
|
|
46
|
-
}
|
|
47
|
-
]
|
|
48
|
-
});
|
|
13
|
+
this._editableSettings = [
|
|
14
|
+
{
|
|
15
|
+
key: "period",
|
|
16
|
+
name: this.root.language.translateAny("Period"),
|
|
17
|
+
type: "number"
|
|
18
|
+
}, {
|
|
19
|
+
key: "field",
|
|
20
|
+
name: this.root.language.translateAny("Field"),
|
|
21
|
+
type: "dropdown",
|
|
22
|
+
options: ["open", "close", "low", "high", "hl/2", "hlc/3", "hlcc/4", "ohlc/4"]
|
|
23
|
+
}, {
|
|
24
|
+
key: "type",
|
|
25
|
+
name: this.root.language.translateAny("Type"),
|
|
26
|
+
type: "dropdown",
|
|
27
|
+
options: ["simple", "weighted", "exponential", "dema", "tema"]
|
|
28
|
+
}, {
|
|
29
|
+
key: "unit",
|
|
30
|
+
name: this.root.language.translateAny("Points/Percent"),
|
|
31
|
+
type: "dropdown",
|
|
32
|
+
options: ["points", "percent"]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
key: "increasingColor",
|
|
36
|
+
name: this.root.language.translateAny("Increasing"),
|
|
37
|
+
type: "color"
|
|
38
|
+
}, {
|
|
39
|
+
key: "decreasingColor",
|
|
40
|
+
name: this.root.language.translateAny("Decreasing"),
|
|
41
|
+
type: "color"
|
|
42
|
+
}
|
|
43
|
+
];
|
|
49
44
|
}
|
|
50
45
|
_afterNew() {
|
|
51
46
|
this._themeTags.push("movingaveragedeviation");
|
|
@@ -128,16 +123,6 @@ export class MovingAverageDeviation extends ChartIndicator {
|
|
|
128
123
|
}
|
|
129
124
|
}
|
|
130
125
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
configurable: true,
|
|
134
|
-
writable: true,
|
|
135
|
-
value: "MovingAverageDeviation"
|
|
136
|
-
});
|
|
137
|
-
Object.defineProperty(MovingAverageDeviation, "classNames", {
|
|
138
|
-
enumerable: true,
|
|
139
|
-
configurable: true,
|
|
140
|
-
writable: true,
|
|
141
|
-
value: ChartIndicator.classNames.concat([MovingAverageDeviation.className])
|
|
142
|
-
});
|
|
126
|
+
MovingAverageDeviation.className = "MovingAverageDeviation";
|
|
127
|
+
MovingAverageDeviation.classNames = ChartIndicator.classNames.concat([MovingAverageDeviation.className]);
|
|
143
128
|
//# sourceMappingURL=MovingAverageDeviation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MovingAverageDeviation.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageDeviation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { Color } from \"../../../core/util/Color\";\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IMovingAverageDeviationSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * Increasing color.\r\n\t */\r\n\tincreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Decreasing color.\r\n\t */\r\n\tdecreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Type of the moving average.\r\n\t *\r\n\t * @default \"simple\"\r\n\t */\r\n\ttype?: \"simple\" | \"weighted\" | \"exponential\" | \"dema\" | \"tema\";\r\n\r\n\t/**\r\n\t * How units are calculated.\r\n\t *\r\n\t * @default \"points\"\r\n\t */\r\n\tunit?: \"points\" | \"percent\"\r\n\r\n}\r\n\r\nexport interface IMovingAverageDeviationPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IMovingAverageDeviationEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class MovingAverageDeviation extends ChartIndicator {\r\n\tpublic static className: string = \"MovingAverageDeviation\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([MovingAverageDeviation.className]);\r\n\r\n\tdeclare public _settings: IMovingAverageDeviationSettings;\r\n\tdeclare public _privateSettings: IMovingAverageDeviationPrivate;\r\n\tdeclare public _events: IMovingAverageDeviationEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: ColumnSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [\r\n\t\t{\r\n\t\t\tkey: \"period\",\r\n\t\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\t\ttype: \"number\"\r\n\t\t}, {\r\n\t\t\tkey: \"field\",\r\n\t\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t\t}, {\r\n\t\t\tkey: \"type\",\r\n\t\t\tname: this.root.language.translateAny(\"Type\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"simple\", \"weighted\", \"exponential\", \"dema\", \"tema\"]\r\n\t\t}, {\r\n\t\t\tkey: \"unit\",\r\n\t\t\tname: this.root.language.translateAny(\"Points/Percent\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"points\", \"percent\"]\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: \"increasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Increasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}, {\r\n\t\t\tkey: \"decreasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Decreasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}];\r\n\r\n\tpublic _afterNew(){\r\n\t\tthis._themeTags.push(\"movingaveragedeviation\");\r\n\t\tsuper._afterNew();\r\n\t}\t\t\r\n\r\n\tpublic _createSeries(): ColumnSeries {\r\n\t\treturn this.panel.series.push(ColumnSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"deviation\",\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"increasingColor\") || this.isDirty(\"decreasingColor\")) {\r\n\t\t\tconst template = this.series.columns.template;\r\n\t\t\tconst increasing = this.get(\"increasingColor\");\r\n\t\t\tconst decreasing = this.get(\"decreasingColor\");\r\n\t\t\ttemplate.states.create(\"riseFromPrevious\", { fill: increasing, stroke: increasing });\r\n\t\t\ttemplate.states.create(\"dropFromPrevious\", { fill: decreasing, stroke: decreasing });\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"type\") || this.isDirty(\"unit\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\r\n\t\t\tlet decreasingColor = this.get(\"decreasingColor\", Color.fromHex(0xff0000)).toCSSHex();\r\n\t\t\tlet increasingColor = this.get(\"increasingColor\", Color.fromHex(0x00ff00)).toCSSHex();\r\n\r\n\t\t\tlet data = this._getDataArray(dataItems);\r\n\t\t\tlet period = this.get(\"period\", 50);\r\n\t\t\tconst type = this.get(\"type\");\r\n\t\t\tconst unit = this.get(\"unit\");\r\n\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase \"simple\":\r\n\t\t\t\t\tthis._sma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"weighted\":\r\n\t\t\t\t\tthis._wma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"exponential\":\r\n\t\t\t\t\tthis._ema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"dema\":\r\n\t\t\t\t\tthis._dema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"tema\":\r\n\t\t\t\t\tthis._tema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet previous = -Infinity;\r\n\t\t\tlet i = 0;\r\n\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet deviation = dataItem.value_y - dataItem.ma;\r\n\t\t\t\t\tif (unit == \"percent\") {\r\n\t\t\t\t\t\tdeviation = (dataItem.value_y / dataItem.ma - 1) * 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet color = increasingColor;\r\n\r\n\t\t\t\t\tif (deviation < previous) {\r\n\t\t\t\t\t\tcolor = decreasingColor;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdataItem.deviation = deviation;\r\n\t\t\t\t\tdataItem.deviationColor = color;\r\n\t\t\t\t\tprevious = deviation;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tthis.series.updateData(data);\r\n\t\t}\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"MovingAverageDeviation.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageDeviation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { Color } from \"../../../core/util/Color\";\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IMovingAverageDeviationSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * Increasing color.\r\n\t */\r\n\tincreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Decreasing color.\r\n\t */\r\n\tdecreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Type of the moving average.\r\n\t *\r\n\t * @default \"simple\"\r\n\t */\r\n\ttype?: \"simple\" | \"weighted\" | \"exponential\" | \"dema\" | \"tema\";\r\n\r\n\t/**\r\n\t * How units are calculated.\r\n\t *\r\n\t * @default \"points\"\r\n\t */\r\n\tunit?: \"points\" | \"percent\"\r\n\r\n}\r\n\r\nexport interface IMovingAverageDeviationPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IMovingAverageDeviationEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class MovingAverageDeviation extends ChartIndicator {\r\n\tpublic static className: string = \"MovingAverageDeviation\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([MovingAverageDeviation.className]);\r\n\r\n\tdeclare public _settings: IMovingAverageDeviationSettings;\r\n\tdeclare public _privateSettings: IMovingAverageDeviationPrivate;\r\n\tdeclare public _events: IMovingAverageDeviationEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: ColumnSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [\r\n\t\t{\r\n\t\t\tkey: \"period\",\r\n\t\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\t\ttype: \"number\"\r\n\t\t}, {\r\n\t\t\tkey: \"field\",\r\n\t\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t\t}, {\r\n\t\t\tkey: \"type\",\r\n\t\t\tname: this.root.language.translateAny(\"Type\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"simple\", \"weighted\", \"exponential\", \"dema\", \"tema\"]\r\n\t\t}, {\r\n\t\t\tkey: \"unit\",\r\n\t\t\tname: this.root.language.translateAny(\"Points/Percent\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"points\", \"percent\"]\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: \"increasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Increasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}, {\r\n\t\t\tkey: \"decreasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Decreasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}];\r\n\r\n\tpublic _afterNew(){\r\n\t\tthis._themeTags.push(\"movingaveragedeviation\");\r\n\t\tsuper._afterNew();\r\n\t}\t\t\r\n\r\n\tpublic _createSeries(): ColumnSeries {\r\n\t\treturn this.panel.series.push(ColumnSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"deviation\",\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"increasingColor\") || this.isDirty(\"decreasingColor\")) {\r\n\t\t\tconst template = this.series.columns.template;\r\n\t\t\tconst increasing = this.get(\"increasingColor\");\r\n\t\t\tconst decreasing = this.get(\"decreasingColor\");\r\n\t\t\ttemplate.states.create(\"riseFromPrevious\", { fill: increasing, stroke: increasing });\r\n\t\t\ttemplate.states.create(\"dropFromPrevious\", { fill: decreasing, stroke: decreasing });\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"type\") || this.isDirty(\"unit\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\r\n\t\t\tlet decreasingColor = this.get(\"decreasingColor\", Color.fromHex(0xff0000)).toCSSHex();\r\n\t\t\tlet increasingColor = this.get(\"increasingColor\", Color.fromHex(0x00ff00)).toCSSHex();\r\n\r\n\t\t\tlet data = this._getDataArray(dataItems);\r\n\t\t\tlet period = this.get(\"period\", 50);\r\n\t\t\tconst type = this.get(\"type\");\r\n\t\t\tconst unit = this.get(\"unit\");\r\n\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase \"simple\":\r\n\t\t\t\t\tthis._sma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"weighted\":\r\n\t\t\t\t\tthis._wma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"exponential\":\r\n\t\t\t\t\tthis._ema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"dema\":\r\n\t\t\t\t\tthis._dema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"tema\":\r\n\t\t\t\t\tthis._tema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet previous = -Infinity;\r\n\t\t\tlet i = 0;\r\n\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet deviation = dataItem.value_y - dataItem.ma;\r\n\t\t\t\t\tif (unit == \"percent\") {\r\n\t\t\t\t\t\tdeviation = (dataItem.value_y / dataItem.ma - 1) * 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet color = increasingColor;\r\n\r\n\t\t\t\t\tif (deviation < previous) {\r\n\t\t\t\t\t\tcolor = decreasingColor;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdataItem.deviation = deviation;\r\n\t\t\t\t\tdataItem.deviationColor = color;\r\n\t\t\t\t\tprevious = deviation;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tthis.series.updateData(data);\r\n\t\t}\r\n\t}\r\n}"]}
|
|
@@ -10,69 +10,46 @@ import * as $array from "../../../core/util/Array";
|
|
|
10
10
|
export class MovingAverageEnvelope extends MovingAverage {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
options: ["percent", "points"]
|
|
54
|
-
}, {
|
|
55
|
-
key: "shift",
|
|
56
|
-
name: this.root.language.translateAny("Shift"),
|
|
57
|
-
type: "number"
|
|
58
|
-
}, {
|
|
59
|
-
key: "offset",
|
|
60
|
-
name: this.root.language.translateAny("Offset"),
|
|
61
|
-
type: "number"
|
|
62
|
-
}, {
|
|
63
|
-
key: "upperColor",
|
|
64
|
-
name: this.root.language.translateAny("Top"),
|
|
65
|
-
type: "color"
|
|
66
|
-
}, {
|
|
67
|
-
key: "seriesColor",
|
|
68
|
-
name: this.root.language.translateAny("Median"),
|
|
69
|
-
type: "color"
|
|
70
|
-
}, {
|
|
71
|
-
key: "lowerColor",
|
|
72
|
-
name: this.root.language.translateAny("Bottom"),
|
|
73
|
-
type: "color"
|
|
74
|
-
}]
|
|
75
|
-
});
|
|
13
|
+
this._editableSettings = [{
|
|
14
|
+
key: "period",
|
|
15
|
+
name: this.root.language.translateAny("Period"),
|
|
16
|
+
type: "number"
|
|
17
|
+
}, {
|
|
18
|
+
key: "type",
|
|
19
|
+
name: this.root.language.translateAny("Type"),
|
|
20
|
+
type: "dropdown",
|
|
21
|
+
options: ["simple", "weighted", "exponential", "dema", "tema"]
|
|
22
|
+
}, {
|
|
23
|
+
key: "field",
|
|
24
|
+
name: this.root.language.translateAny("Field"),
|
|
25
|
+
type: "dropdown",
|
|
26
|
+
options: ["open", "close", "low", "high", "hl/2", "hlc/3", "hlcc/4", "ohlc/4"]
|
|
27
|
+
}, {
|
|
28
|
+
key: "shiftType",
|
|
29
|
+
name: this.root.language.translateAny("Shift type"),
|
|
30
|
+
type: "dropdown",
|
|
31
|
+
options: ["percent", "points"]
|
|
32
|
+
}, {
|
|
33
|
+
key: "shift",
|
|
34
|
+
name: this.root.language.translateAny("Shift"),
|
|
35
|
+
type: "number"
|
|
36
|
+
}, {
|
|
37
|
+
key: "offset",
|
|
38
|
+
name: this.root.language.translateAny("Offset"),
|
|
39
|
+
type: "number"
|
|
40
|
+
}, {
|
|
41
|
+
key: "upperColor",
|
|
42
|
+
name: this.root.language.translateAny("Top"),
|
|
43
|
+
type: "color"
|
|
44
|
+
}, {
|
|
45
|
+
key: "seriesColor",
|
|
46
|
+
name: this.root.language.translateAny("Median"),
|
|
47
|
+
type: "color"
|
|
48
|
+
}, {
|
|
49
|
+
key: "lowerColor",
|
|
50
|
+
name: this.root.language.translateAny("Bottom"),
|
|
51
|
+
type: "color"
|
|
52
|
+
}];
|
|
76
53
|
}
|
|
77
54
|
_afterNew() {
|
|
78
55
|
const stockSeries = this.get("stockSeries");
|
|
@@ -193,16 +170,6 @@ export class MovingAverageEnvelope extends MovingAverage {
|
|
|
193
170
|
});
|
|
194
171
|
}
|
|
195
172
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
configurable: true,
|
|
199
|
-
writable: true,
|
|
200
|
-
value: "MovingAverageEnvelope"
|
|
201
|
-
});
|
|
202
|
-
Object.defineProperty(MovingAverageEnvelope, "classNames", {
|
|
203
|
-
enumerable: true,
|
|
204
|
-
configurable: true,
|
|
205
|
-
writable: true,
|
|
206
|
-
value: MovingAverage.classNames.concat([MovingAverageEnvelope.className])
|
|
207
|
-
});
|
|
173
|
+
MovingAverageEnvelope.className = "MovingAverageEnvelope";
|
|
174
|
+
MovingAverageEnvelope.classNames = MovingAverage.classNames.concat([MovingAverageEnvelope.className]);
|
|
208
175
|
//# sourceMappingURL=MovingAverageEnvelope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MovingAverageEnvelope.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageEnvelope.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { MovingAverage, IMovingAverageSettings, IMovingAveragePrivate, IMovingAverageEvents } from \"./MovingAverage\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IMovingAverageEnvelopeSettings extends IMovingAverageSettings {\r\n\r\n\t/**\r\n\t * Shift.\r\n\t *\r\n\t * @default 5\r\n\t */\r\n\tshift?: number;\r\n\r\n\t/**\r\n\t * Type of the shift.\r\n\t *\r\n\t * @default \"percent\"\r\n\t */\r\n\tshiftType?: \"percent\" | \"points\";\r\n\r\n\t/**\r\n\t * A color for upper section.\r\n\t */\r\n\tupperColor?: Color;\r\n\r\n\t/**\r\n\t * A color for lower section.\r\n\t */\r\n\tlowerColor?: Color;\r\n\r\n}\r\n\r\nexport interface IMovingAverageEnvelopePrivate extends IMovingAveragePrivate {\r\n}\r\n\r\nexport interface IMovingAverageEnvelopeEvents extends IMovingAverageEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class MovingAverageEnvelope extends MovingAverage {\r\n\tpublic static className: string = \"MovingAverageEnvelope\";\r\n\tpublic static classNames: Array<string> = MovingAverage.classNames.concat([MovingAverageEnvelope.className]);\r\n\r\n\tdeclare public _settings: IMovingAverageEnvelopeSettings;\r\n\tdeclare public _privateSettings: IMovingAverageEnvelopePrivate;\r\n\tdeclare public _events: IMovingAverageEnvelopeEvents;\r\n\r\n\t/**\r\n\t * Indicator series for the upper band.\r\n\t */\r\n\tpublic upperBandSeries!: LineSeries;\r\n\r\n\t/**\r\n\t * Indicator series for the lower band.\r\n\t */\r\n\tpublic lowerBandSeries!: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"type\",\r\n\t\tname: this.root.language.translateAny(\"Type\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"simple\", \"weighted\", \"exponential\", \"dema\", \"tema\"]\r\n\t}, {\r\n\t\tkey: \"field\",\r\n\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t}, {\r\n\t\tkey: \"shiftType\",\r\n\t\tname: this.root.language.translateAny(\"Shift type\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"percent\", \"points\"]\r\n\t}, {\r\n\t\tkey: \"shift\",\r\n\t\tname: this.root.language.translateAny(\"Shift\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"offset\",\r\n\t\tname: this.root.language.translateAny(\"Offset\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"upperColor\",\r\n\t\tname: this.root.language.translateAny(\"Top\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Median\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"lowerColor\",\r\n\t\tname: this.root.language.translateAny(\"Bottom\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tconst chart = stockSeries.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst upperBandSeries = chart.series.push(LineSeries.new(this._root, {\r\n\t\t\t\tvalueXField: \"valueX\",\r\n\t\t\t\tvalueYField: \"upper\",\r\n\t\t\t\topenValueYField: \"lower\",\r\n\t\t\t\txAxis: stockSeries.get(\"xAxis\"),\r\n\t\t\t\tyAxis: stockSeries.get(\"yAxis\"),\r\n\t\t\t\tgroupDataDisabled: true,\r\n\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\tthemeTags: [\"indicator\", \"movingaverageenvelope\", \"upper\"]\r\n\t\t\t}))\r\n\r\n\t\t\tupperBandSeries.fills.template.set(\"visible\", true);\r\n\t\t\tupperBandSeries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\r\n\t\t\tthis.upperBandSeries = upperBandSeries;\r\n\r\n\t\t\tconst lowerBandSeries = chart.series.push(LineSeries.new(this._root, {\r\n\t\t\t\tvalueXField: \"valueX\",\r\n\t\t\t\tvalueYField: \"lower\",\r\n\t\t\t\txAxis: stockSeries.get(\"xAxis\"),\r\n\t\t\t\tyAxis: stockSeries.get(\"yAxis\"),\r\n\t\t\t\tgroupDataDisabled: true,\r\n\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\tthemeTags: [\"indicator\", \"movingaverageenvelope\", \"lower\"]\r\n\t\t\t}))\r\n\r\n\t\t\tlowerBandSeries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\t\t\tthis.lowerBandSeries = lowerBandSeries;\r\n\t\t}\r\n\r\n\t\tsuper._afterNew();\r\n\t\tthis.series.addTag(\"movingaverageenvelope\");\r\n\t\tthis.series._applyThemes();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\t\tif (this.isDirty(\"upperColor\")) {\r\n\t\t\tconst color = this.get(\"upperColor\");\r\n\t\t\tconst upperBandSeries = this.upperBandSeries;\r\n\t\t\tupperBandSeries.set(\"stroke\", color);\r\n\t\t\tupperBandSeries.set(\"fill\", color);\r\n\t\t\tupperBandSeries.strokes.template.set(\"stroke\", color);\r\n\r\n\t\t\tthis._updateSeriesColor(upperBandSeries, color, \"upperColor\");\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"lowerColor\")) {\r\n\t\t\tconst color = this.get(\"lowerColor\");\r\n\t\t\tconst lowerBandSeries = this.lowerBandSeries;\r\n\t\t\tlowerBandSeries.set(\"stroke\", color);\r\n\t\t\tlowerBandSeries.strokes.template.set(\"stroke\", color);\r\n\r\n\t\t\tthis._updateSeriesColor(lowerBandSeries, color, \"lowerColor\");\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"shiftType\") || this.isDirty(\"shift\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t\tthis.setCustomData(\"shift\", this.get(\"shift\"));\r\n\t\t\tthis.setCustomData(\"shiftType\", this.get(\"shiftType\"));\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tsuper.prepareData();\r\n\r\n\t\tif (this.series) {\r\n\t\t\tlet smaData = this.series.data.values as any;\r\n\t\t\tlet shift = Number(this.get(\"shift\", 5));\r\n\t\t\tlet shiftType = this.get(\"shiftType\");\r\n\r\n\t\t\t$array.each(smaData, (dataItem: any) => {\r\n\t\t\t\tlet value = dataItem.ma;\r\n\t\t\t\tif (value != null) {\r\n\t\t\t\t\tlet upper = value;\r\n\t\t\t\t\tlet lower = value;\r\n\t\t\t\t\tif (shiftType == \"points\") {\r\n\t\t\t\t\t\tupper += shift;\r\n\t\t\t\t\t\tlower -= shift;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tupper += upper * shift / 100;\r\n\t\t\t\t\t\tlower -= lower * shift / 100;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdataItem.upper = upper;\r\n\t\t\t\t\tdataItem.lower = lower;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tthis.upperBandSeries.updateData(smaData);\r\n\t\t\tthis.lowerBandSeries.updateData(smaData);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tthis.upperBandSeries.dispose();\r\n\t\tthis.lowerBandSeries.dispose();\r\n\t\tsuper._dispose();\r\n\t}\r\n\r\n\tpublic async hide(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.hide(duration),\r\n\t\t\tthis.upperBandSeries.hide(duration),\r\n\t\t\tthis.lowerBandSeries.hide(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tpublic async show(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.show(duration),\r\n\t\t\tthis.upperBandSeries.show(duration),\r\n\t\t\tthis.lowerBandSeries.show(duration)\r\n\t\t]);\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"MovingAverageEnvelope.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageEnvelope.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAuE,MAAM,iBAAiB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AAqCnD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IAAxD;;QAkBQ,sBAAiB,GAAgC,CAAC;gBACxD,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC/C,IAAI,EAAE,QAAQ;aACd,EAAE;gBACF,GAAG,EAAE,MAAM;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC7C,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC;aAC9D,EAAE;gBACF,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;aAC9E,EAAE;gBACF,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC;gBACnD,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;aAC9B,EAAE;gBACF,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,IAAI,EAAE,QAAQ;aACd,EAAE;gBACF,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC/C,IAAI,EAAE,QAAQ;aACd,EAAE;gBACF,GAAG,EAAE,YAAY;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC5C,IAAI,EAAE,OAAO;aACb,EAAE;gBACF,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC/C,IAAI,EAAE,OAAO;aACb,EAAE;gBACF,GAAG,EAAE,YAAY;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC/C,IAAI,EAAE,OAAO;aACb,CAAC,CAAC;IAmIJ,CAAC;IAjIU,SAAS;QAElB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAEhC,IAAI,KAAK,EAAE;YACV,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;gBACpE,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE,OAAO;gBACpB,eAAe,EAAE,OAAO;gBACxB,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/B,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/B,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,IAAI;gBACzB,SAAS,EAAE,CAAC,WAAW,EAAE,uBAAuB,EAAE,OAAO,CAAC;aAC1D,CAAC,CAAC,CAAA;YAEH,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACpD,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;YAE3D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YAEvC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;gBACpE,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE,OAAO;gBACpB,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/B,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/B,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,IAAI;gBACzB,SAAS,EAAE,CAAC,WAAW,EAAE,uBAAuB,EAAE,OAAO,CAAC;aAC1D,CAAC,CAAC,CAAA;YAEH,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;SACvC;QAED,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,eAAe;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7C,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEtD,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7C,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEtD,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;SAC9D;IAEF,CAAC;IAEM,gBAAgB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvD,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;SACvD;QACD,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,WAAW;QACjB,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAa,CAAC;YAC7C,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAEtC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE;gBACtC,IAAI,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACxB,IAAI,KAAK,IAAI,IAAI,EAAE;oBAClB,IAAI,KAAK,GAAG,KAAK,CAAC;oBAClB,IAAI,KAAK,GAAG,KAAK,CAAC;oBAClB,IAAI,SAAS,IAAI,QAAQ,EAAE;wBAC1B,KAAK,IAAI,KAAK,CAAC;wBACf,KAAK,IAAI,KAAK,CAAC;qBACf;yBACI;wBACJ,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;wBAC7B,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;qBAC7B;oBAED,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;oBACvB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;iBACvB;YACF,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SACzC;IACF,CAAC;IAES,QAAQ;QACjB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEY,IAAI,CAAC,QAAiB;;;;;YAClC,OAAO,OAAO,CAAC,GAAG,CAAC;gBAClB,OAAM,IAAI,YAAC,QAAQ;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;aACnC,CAAC,CAAC;QACJ,CAAC;KAAA;IAEY,IAAI,CAAC,QAAiB;;;;;YAClC,OAAO,OAAO,CAAC,GAAG,CAAC;gBAClB,OAAM,IAAI,YAAC,QAAQ;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;aACnC,CAAC,CAAC;QACJ,CAAC;KAAA;;AA1La,+BAAS,GAAW,uBAAuB,CAAC;AAC5C,gCAAU,GAAkB,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { MovingAverage, IMovingAverageSettings, IMovingAveragePrivate, IMovingAverageEvents } from \"./MovingAverage\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IMovingAverageEnvelopeSettings extends IMovingAverageSettings {\r\n\r\n\t/**\r\n\t * Shift.\r\n\t *\r\n\t * @default 5\r\n\t */\r\n\tshift?: number;\r\n\r\n\t/**\r\n\t * Type of the shift.\r\n\t *\r\n\t * @default \"percent\"\r\n\t */\r\n\tshiftType?: \"percent\" | \"points\";\r\n\r\n\t/**\r\n\t * A color for upper section.\r\n\t */\r\n\tupperColor?: Color;\r\n\r\n\t/**\r\n\t * A color for lower section.\r\n\t */\r\n\tlowerColor?: Color;\r\n\r\n}\r\n\r\nexport interface IMovingAverageEnvelopePrivate extends IMovingAveragePrivate {\r\n}\r\n\r\nexport interface IMovingAverageEnvelopeEvents extends IMovingAverageEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class MovingAverageEnvelope extends MovingAverage {\r\n\tpublic static className: string = \"MovingAverageEnvelope\";\r\n\tpublic static classNames: Array<string> = MovingAverage.classNames.concat([MovingAverageEnvelope.className]);\r\n\r\n\tdeclare public _settings: IMovingAverageEnvelopeSettings;\r\n\tdeclare public _privateSettings: IMovingAverageEnvelopePrivate;\r\n\tdeclare public _events: IMovingAverageEnvelopeEvents;\r\n\r\n\t/**\r\n\t * Indicator series for the upper band.\r\n\t */\r\n\tpublic upperBandSeries!: LineSeries;\r\n\r\n\t/**\r\n\t * Indicator series for the lower band.\r\n\t */\r\n\tpublic lowerBandSeries!: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"period\",\r\n\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"type\",\r\n\t\tname: this.root.language.translateAny(\"Type\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"simple\", \"weighted\", \"exponential\", \"dema\", \"tema\"]\r\n\t}, {\r\n\t\tkey: \"field\",\r\n\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t}, {\r\n\t\tkey: \"shiftType\",\r\n\t\tname: this.root.language.translateAny(\"Shift type\"),\r\n\t\ttype: \"dropdown\",\r\n\t\toptions: [\"percent\", \"points\"]\r\n\t}, {\r\n\t\tkey: \"shift\",\r\n\t\tname: this.root.language.translateAny(\"Shift\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"offset\",\r\n\t\tname: this.root.language.translateAny(\"Offset\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"upperColor\",\r\n\t\tname: this.root.language.translateAny(\"Top\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Median\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"lowerColor\",\r\n\t\tname: this.root.language.translateAny(\"Bottom\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tconst chart = stockSeries.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst upperBandSeries = chart.series.push(LineSeries.new(this._root, {\r\n\t\t\t\tvalueXField: \"valueX\",\r\n\t\t\t\tvalueYField: \"upper\",\r\n\t\t\t\topenValueYField: \"lower\",\r\n\t\t\t\txAxis: stockSeries.get(\"xAxis\"),\r\n\t\t\t\tyAxis: stockSeries.get(\"yAxis\"),\r\n\t\t\t\tgroupDataDisabled: true,\r\n\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\tthemeTags: [\"indicator\", \"movingaverageenvelope\", \"upper\"]\r\n\t\t\t}))\r\n\r\n\t\t\tupperBandSeries.fills.template.set(\"visible\", true);\r\n\t\t\tupperBandSeries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\r\n\t\t\tthis.upperBandSeries = upperBandSeries;\r\n\r\n\t\t\tconst lowerBandSeries = chart.series.push(LineSeries.new(this._root, {\r\n\t\t\t\tvalueXField: \"valueX\",\r\n\t\t\t\tvalueYField: \"lower\",\r\n\t\t\t\txAxis: stockSeries.get(\"xAxis\"),\r\n\t\t\t\tyAxis: stockSeries.get(\"yAxis\"),\r\n\t\t\t\tgroupDataDisabled: true,\r\n\t\t\t\tcalculateAggregates: true,\r\n\t\t\t\tthemeTags: [\"indicator\", \"movingaverageenvelope\", \"lower\"]\r\n\t\t\t}))\r\n\r\n\t\t\tlowerBandSeries.setPrivate(\"baseValueSeries\", stockSeries);\r\n\t\t\tthis.lowerBandSeries = lowerBandSeries;\r\n\t\t}\r\n\r\n\t\tsuper._afterNew();\r\n\t\tthis.series.addTag(\"movingaverageenvelope\");\r\n\t\tthis.series._applyThemes();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\t\tif (this.isDirty(\"upperColor\")) {\r\n\t\t\tconst color = this.get(\"upperColor\");\r\n\t\t\tconst upperBandSeries = this.upperBandSeries;\r\n\t\t\tupperBandSeries.set(\"stroke\", color);\r\n\t\t\tupperBandSeries.set(\"fill\", color);\r\n\t\t\tupperBandSeries.strokes.template.set(\"stroke\", color);\r\n\r\n\t\t\tthis._updateSeriesColor(upperBandSeries, color, \"upperColor\");\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"lowerColor\")) {\r\n\t\t\tconst color = this.get(\"lowerColor\");\r\n\t\t\tconst lowerBandSeries = this.lowerBandSeries;\r\n\t\t\tlowerBandSeries.set(\"stroke\", color);\r\n\t\t\tlowerBandSeries.strokes.template.set(\"stroke\", color);\r\n\r\n\t\t\tthis._updateSeriesColor(lowerBandSeries, color, \"lowerColor\");\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"shiftType\") || this.isDirty(\"shift\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t\tthis.setCustomData(\"shift\", this.get(\"shift\"));\r\n\t\t\tthis.setCustomData(\"shiftType\", this.get(\"shiftType\"));\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tsuper.prepareData();\r\n\r\n\t\tif (this.series) {\r\n\t\t\tlet smaData = this.series.data.values as any;\r\n\t\t\tlet shift = Number(this.get(\"shift\", 5));\r\n\t\t\tlet shiftType = this.get(\"shiftType\");\r\n\r\n\t\t\t$array.each(smaData, (dataItem: any) => {\r\n\t\t\t\tlet value = dataItem.ma;\r\n\t\t\t\tif (value != null) {\r\n\t\t\t\t\tlet upper = value;\r\n\t\t\t\t\tlet lower = value;\r\n\t\t\t\t\tif (shiftType == \"points\") {\r\n\t\t\t\t\t\tupper += shift;\r\n\t\t\t\t\t\tlower -= shift;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tupper += upper * shift / 100;\r\n\t\t\t\t\t\tlower -= lower * shift / 100;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdataItem.upper = upper;\r\n\t\t\t\t\tdataItem.lower = lower;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tthis.upperBandSeries.updateData(smaData);\r\n\t\t\tthis.lowerBandSeries.updateData(smaData);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tthis.upperBandSeries.dispose();\r\n\t\tthis.lowerBandSeries.dispose();\r\n\t\tsuper._dispose();\r\n\t}\r\n\r\n\tpublic async hide(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.hide(duration),\r\n\t\t\tthis.upperBandSeries.hide(duration),\r\n\t\t\tthis.lowerBandSeries.hide(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tpublic async show(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.show(duration),\r\n\t\t\tthis.upperBandSeries.show(duration),\r\n\t\t\tthis.lowerBandSeries.show(duration)\r\n\t\t]);\r\n\t}\r\n}"]}
|
|
@@ -8,16 +8,11 @@ import { LineSeries } from "../../xy/series/LineSeries";
|
|
|
8
8
|
export class OnBalanceVolume extends ChartIndicator {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
key: "seriesColor",
|
|
17
|
-
name: this.root.language.translateAny("Color"),
|
|
18
|
-
type: "color"
|
|
19
|
-
}]
|
|
20
|
-
});
|
|
11
|
+
this._editableSettings = [{
|
|
12
|
+
key: "seriesColor",
|
|
13
|
+
name: this.root.language.translateAny("Color"),
|
|
14
|
+
type: "color"
|
|
15
|
+
}];
|
|
21
16
|
}
|
|
22
17
|
_afterNew() {
|
|
23
18
|
this._themeTags.push("onbalancevolume");
|
|
@@ -74,16 +69,6 @@ export class OnBalanceVolume extends ChartIndicator {
|
|
|
74
69
|
}
|
|
75
70
|
}
|
|
76
71
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
configurable: true,
|
|
80
|
-
writable: true,
|
|
81
|
-
value: "OnBalanceVolume"
|
|
82
|
-
});
|
|
83
|
-
Object.defineProperty(OnBalanceVolume, "classNames", {
|
|
84
|
-
enumerable: true,
|
|
85
|
-
configurable: true,
|
|
86
|
-
writable: true,
|
|
87
|
-
value: ChartIndicator.classNames.concat([OnBalanceVolume.className])
|
|
88
|
-
});
|
|
72
|
+
OnBalanceVolume.className = "OnBalanceVolume";
|
|
73
|
+
OnBalanceVolume.classNames = ChartIndicator.classNames.concat([OnBalanceVolume.className]);
|
|
89
74
|
//# sourceMappingURL=OnBalanceVolume.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnBalanceVolume.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/OnBalanceVolume.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAA0E,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAkBxD;;;;GAIG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAAnD;;
|
|
1
|
+
{"version":3,"file":"OnBalanceVolume.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/OnBalanceVolume.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAA0E,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAkBxD;;;;GAIG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAAnD;;QAaQ,sBAAiB,GAAgC,CAAC;gBACxD,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,IAAI,EAAE,OAAO;aACb,CAAC,CAAC;IAqEJ,CAAC;IAnEO,SAAS;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxC,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,aAAa;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;YACxD,SAAS,EAAE,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,SAAS;SACf,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;YAEhB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAE9C,IAAI,IAAI,GAAe,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YAEtB,IAAI,YAAY,IAAI,GAAG,GAAG,CAAC,EAAE;gBAC5B,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC;gBAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEzB,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAEzB,IAAI,CAAC,IAAI,IAAI,EAAE;wBACd,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;wBACf,IAAI,QAAQ,EAAE;4BACb,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;yBACnC;wBAED,IAAI,GAAG,GAAG,QAAQ,CAAC;wBACnB,IAAI,CAAC,GAAG,EAAE,EAAE;4BACX,GAAG,IAAI,MAAM,CAAC;yBACd;6BACI,IAAI,CAAC,GAAG,EAAE,EAAE;4BAChB,GAAG,IAAI,MAAM,CAAC;yBACd;wBAED,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;wBAEnB,QAAQ,GAAG,GAAG,CAAC;wBACf,EAAE,GAAG,CAAC,CAAC;qBACP;iBACD;aACD;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC7B;IACF,CAAC;;AApFa,yBAAS,GAAW,iBAAiB,CAAC;AACtC,0BAAU,GAAkB,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { XYSeries } from \"../../xy/series/XYSeries\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\n\r\nexport interface IOnBalanceVolumeSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * Chart's main volume series.\r\n\t */\r\n\tvolumeSeries: XYSeries;\r\n\r\n}\r\n\r\nexport interface IOnBalanceVolumePrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IOnBalanceVolumeEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class OnBalanceVolume extends ChartIndicator {\r\n\tpublic static className: string = \"OnBalanceVolume\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([OnBalanceVolume.className]);\r\n\r\n\tdeclare public _settings: IOnBalanceVolumeSettings;\r\n\tdeclare public _privateSettings: IOnBalanceVolumePrivate;\r\n\tdeclare public _events: IOnBalanceVolumeEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"seriesColor\",\r\n\t\tname: this.root.language.translateAny(\"Color\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tpublic _afterNew(){\r\n\t\tthis._themeTags.push(\"onbalancevolume\");\r\n\t\tsuper._afterNew();\r\n\t\tthis.yAxis.set(\"numberFormat\", \"#.###a\");\r\n\t}\t\t\r\n\r\n\tpublic _createSeries(): LineSeries {\r\n\t\treturn this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"obv\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\r\n\t\t\tthis.setRaw(\"field\", \"close\");\r\n\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\r\n\t\t\tlet data: Array<any> = this._getDataArray(dataItems);\r\n\t\t\tlet previous = 0;\r\n\t\t\tlet len = data.length;\r\n\r\n\t\t\tif (volumeSeries && len > 1) {\r\n\t\t\t\tlet cy = data[0].value_y as number;\r\n\r\n\t\t\t\tfor (let i = 1; i < len; i++) {\r\n\t\t\t\t\tconst dataItem = data[i];\r\n\r\n\t\t\t\t\tlet c = dataItem.value_y;\r\n\r\n\t\t\t\t\tif (c != null) {\r\n\t\t\t\t\t\tconst volumeDI = volumeSeries.dataItems[i];\r\n\t\t\t\t\t\tlet volume = 0;\r\n\t\t\t\t\t\tif (volumeDI) {\r\n\t\t\t\t\t\t\tvolume = volumeDI.get(\"valueY\", 1);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tlet obv = previous;\r\n\t\t\t\t\t\tif (c > cy) {\r\n\t\t\t\t\t\t\tobv += volume;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (c < cy) {\r\n\t\t\t\t\t\t\tobv -= volume;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tdataItem.obv = obv;\r\n\r\n\t\t\t\t\t\tprevious = obv;\r\n\t\t\t\t\t\tcy = c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.series.updateData(data);\r\n\t\t}\r\n\t}\r\n}"]}
|
|
@@ -13,58 +13,23 @@ import * as $type from "../../../core/util/Type";
|
|
|
13
13
|
export class OverboughtOversold extends ChartIndicator {
|
|
14
14
|
constructor() {
|
|
15
15
|
super(...arguments);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(this, "overSoldRange", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true,
|
|
38
|
-
value: void 0
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(this, "overBoughtRange", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: void 0
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(this, "_editableSettings", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true,
|
|
50
|
-
value: [{
|
|
51
|
-
key: "overBought",
|
|
52
|
-
name: this.root.language.translateAny("Overbought"),
|
|
53
|
-
type: "number"
|
|
54
|
-
}, {
|
|
55
|
-
key: "overBoughtColor",
|
|
56
|
-
name: this.root.language.translateAny("Overbought"),
|
|
57
|
-
type: "color"
|
|
58
|
-
}, {
|
|
59
|
-
key: "overSold",
|
|
60
|
-
name: this.root.language.translateAny("Oversold"),
|
|
61
|
-
type: "number"
|
|
62
|
-
}, {
|
|
63
|
-
key: "overSoldColor",
|
|
64
|
-
name: this.root.language.translateAny("Oversold"),
|
|
65
|
-
type: "color"
|
|
66
|
-
}]
|
|
67
|
-
});
|
|
16
|
+
this._editableSettings = [{
|
|
17
|
+
key: "overBought",
|
|
18
|
+
name: this.root.language.translateAny("Overbought"),
|
|
19
|
+
type: "number"
|
|
20
|
+
}, {
|
|
21
|
+
key: "overBoughtColor",
|
|
22
|
+
name: this.root.language.translateAny("Overbought"),
|
|
23
|
+
type: "color"
|
|
24
|
+
}, {
|
|
25
|
+
key: "overSold",
|
|
26
|
+
name: this.root.language.translateAny("Oversold"),
|
|
27
|
+
type: "number"
|
|
28
|
+
}, {
|
|
29
|
+
key: "overSoldColor",
|
|
30
|
+
name: this.root.language.translateAny("Oversold"),
|
|
31
|
+
type: "color"
|
|
32
|
+
}];
|
|
68
33
|
}
|
|
69
34
|
_afterNew() {
|
|
70
35
|
this._themeTags.push("overboughtoversold");
|
|
@@ -217,16 +182,6 @@ export class OverboughtOversold extends ChartIndicator {
|
|
|
217
182
|
}
|
|
218
183
|
}
|
|
219
184
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
configurable: true,
|
|
223
|
-
writable: true,
|
|
224
|
-
value: "OverboughtOversold"
|
|
225
|
-
});
|
|
226
|
-
Object.defineProperty(OverboughtOversold, "classNames", {
|
|
227
|
-
enumerable: true,
|
|
228
|
-
configurable: true,
|
|
229
|
-
writable: true,
|
|
230
|
-
value: ChartIndicator.classNames.concat([OverboughtOversold.className])
|
|
231
|
-
});
|
|
185
|
+
OverboughtOversold.className = "OverboughtOversold";
|
|
186
|
+
OverboughtOversold.classNames = ChartIndicator.classNames.concat([OverboughtOversold.className]);
|
|
232
187
|
//# sourceMappingURL=OverboughtOversold.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverboughtOversold.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/OverboughtOversold.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { IValueAxisDataItem } from \"../../xy/axes/ValueAxis\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { LineSeries, ILineSeriesAxisRange } from \"../../xy/series/LineSeries\";\r\nimport { Button } from \"../../../core/render/Button\";\r\nimport { Graphics } from \"../../../core/render/Graphics\";\r\nimport { AxisBullet } from \"../../xy/axes/AxisBullet\";\r\nimport type { AxisRendererY } from \"../../xy/axes/AxisRendererY\";\r\nimport * as $math from \"../../../core/util/Math\";\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\n\r\nexport interface IOverboughtOversoldSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * A value for \"overbought\" threshold.\r\n\t */\r\n\toverBought?: number;\r\n\r\n\t/**\r\n\t * A value for \"oversold\" threshold.\r\n\t */\r\n\toverSold?: number;\r\n\r\n\t/**\r\n\t * A color for \"overbought\" section.\r\n\t */\r\n\toverBoughtColor?: Color;\r\n\r\n\t/**\r\n\t * A color for \"oversold\" section.\r\n\t */\r\n\toverSoldColor?: Color;\r\n}\r\n\r\nexport interface IOverboughtOversoldPrivate extends IChartIndicatorPrivate { }\r\n\r\nexport interface IOverboughtOversoldEvents extends IChartIndicatorEvents { }\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class OverboughtOversold extends ChartIndicator {\r\n\tpublic static className: string = \"OverboughtOversold\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([OverboughtOversold.className]);\r\n\r\n\tdeclare public _settings: IOverboughtOversoldSettings;\r\n\tdeclare public _privateSettings: IOverboughtOversoldPrivate;\r\n\tdeclare public _events: IOverboughtOversoldEvents;\r\n\r\n\tpublic overBought!: DataItem<IValueAxisDataItem>;\r\n\tpublic middle!: DataItem<IValueAxisDataItem>;\r\n\tpublic overSold!: DataItem<IValueAxisDataItem>;\r\n\r\n\tpublic overSoldRange!: ILineSeriesAxisRange;\r\n\tpublic overBoughtRange!: ILineSeriesAxisRange;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"overBought\",\r\n\t\tname: this.root.language.translateAny(\"Overbought\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overBoughtColor\",\r\n\t\tname: this.root.language.translateAny(\"Overbought\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"overSold\",\r\n\t\tname: this.root.language.translateAny(\"Oversold\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overSoldColor\",\r\n\t\tname: this.root.language.translateAny(\"Oversold\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _afterNew() {\r\n\t\tthis._themeTags.push(\"overboughtoversold\");\r\n\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst chart = this.panel;\r\n\t\tconst yAxis = this.yAxis;\r\n\t\tyAxis.setAll({ strictMinMax: true, autoZoom: false });\r\n\r\n\t\t// middle grid\r\n\t\tthis.middle = this.yAxis.createAxisRange(this.yAxis.makeDataItem({}));\r\n\t\tconst middleGrid = this.middle.get(\"grid\")!;\r\n\t\tmiddleGrid.setAll({ themeTags: [\"middlegrid\"] });\r\n\t\tmiddleGrid._applyThemes();\r\n\r\n\t\tconst middleLabel = this.middle.get(\"label\")!;\r\n\t\tmiddleLabel.setAll({ visible: true, forceHidden: false });\r\n\r\n\t\tconst opposite = (yAxis.get(\"renderer\") as AxisRendererY).get(\"opposite\");\r\n\t\tlet side = \"left\";\r\n\t\tif (opposite) {\r\n\t\t\tside = \"right\"\r\n\t\t}\r\n\r\n\t\t// overbought range\r\n\t\tconst overBought = yAxis.makeDataItem({});\r\n\t\tthis.overBought = overBought;\r\n\t\toverBought.set(\"endValue\", 500);\r\n\r\n\t\tconst overBoughtRB = Button.new(this._root, {\r\n\t\t\tthemeTags: [\"rangegrip\", \"vertical\", side],\r\n\t\t\ticon: Graphics.new(this._root, {\r\n\t\t\t\tthemeTags: [\"rangegrip\", \"icon\"]\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\t// restrict from being dragged vertically\r\n\t\toverBoughtRB.adapters.add(\"x\", function() {\r\n\t\t\treturn 0;\r\n\t\t});\r\n\r\n\t\t// restrict from being dragged outside of plot\r\n\t\toverBoughtRB.adapters.add(\"y\", function(y) {\r\n\t\t\tif ($type.isNumber(y)) {\r\n\t\t\t\treturn $math.fitToRange(y, 0, chart.plotContainer.height());\r\n\t\t\t}\r\n\t\t\treturn y;\r\n\t\t});\r\n\r\n\t\t// change range when y changes\r\n\t\toverBoughtRB.events.on(\"dragged\", () => {\r\n\t\t\tthis._updateRange(overBoughtRB, \"overBought\");\r\n\t\t});\r\n\r\n\t\toverBought.set(\"bullet\", AxisBullet.new(this._root, {\r\n\t\t\tlocation: 0,\r\n\t\t\tsprite: overBoughtRB\r\n\t\t}))\r\n\r\n\t\tconst overBoughtRange = this.series.createAxisRange(overBought);\r\n\t\tthis.overBoughtRange = overBoughtRange;\r\n\t\tconst overBoughtFills = overBoughtRange.fills;\r\n\t\tif (overBoughtFills) {\r\n\t\t\toverBoughtFills.template.set(\"themeTags\", [\"overbought\", \"fill\"]);\r\n\t\t}\r\n\r\n\t\tconst overBoughtGrid = overBought.get(\"grid\")!;\r\n\t\toverBoughtGrid.setAll({ themeTags: [\"overbought\"], visible: true });\r\n\t\toverBoughtGrid._applyThemes();\r\n\r\n\t\tconst overBoughtLabel = overBought.get(\"label\")!;\r\n\t\toverBoughtLabel.setAll({ visible: true, forceHidden: false, location: 0 });\r\n\r\n\t\t// oversold range\r\n\t\tconst overSold = yAxis.makeDataItem({});\r\n\t\tthis.overSold = overSold;\r\n\t\toverSold.set(\"endValue\", -500);\r\n\r\n\t\tconst overSoldRB = Button.new(this._root, {\r\n\t\t\tthemeTags: [\"rangegrip\", \"vertical\", side],\r\n\t\t\ticon: Graphics.new(this._root, {\r\n\t\t\t\tthemeTags: [\"rangegrip\", \"icon\"]\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\t// restrict from being dragged vertically\r\n\t\toverSoldRB.adapters.add(\"x\", function() {\r\n\t\t\treturn 0;\r\n\t\t});\r\n\r\n\t\t// restrict from being dragged outside of plot\r\n\t\toverSoldRB.adapters.add(\"y\", function(y) {\r\n\t\t\tif ($type.isNumber(y)) {\r\n\t\t\t\treturn $math.fitToRange(y, 0, chart.plotContainer.height());\r\n\t\t\t}\r\n\t\t\treturn y;\r\n\t\t});\r\n\r\n\t\t// change range when y changes\r\n\t\toverSoldRB.events.on(\"dragged\", () => {\r\n\t\t\tthis._updateRange(overSoldRB, \"overSold\");\r\n\t\t});\r\n\r\n\t\toverSold.set(\"bullet\", AxisBullet.new(this._root, {\r\n\t\t\tlocation: 0,\r\n\t\t\tsprite: overSoldRB\r\n\t\t}))\r\n\r\n\r\n\t\tconst overSoldRange = this.series.createAxisRange(overSold);\r\n\t\tthis.overSoldRange = overSoldRange;\r\n\t\tconst overSoldFills = overSoldRange.fills;\r\n\t\tif (overSoldFills) {\r\n\t\t\toverSoldFills.template.set(\"themeTags\", [\"oversold\", \"fill\"]);\r\n\t\t}\r\n\r\n\t\tconst overSoldGrid = overSold.get(\"grid\")!;\r\n\t\toverSoldGrid.setAll({ themeTags: [\"oversold\"], visible: true });\r\n\t\toverSoldGrid._applyThemes();\r\n\r\n\t\tconst overSoldLabel = overSold.get(\"label\")!;\r\n\t\toverSoldLabel.setAll({ visible: true, forceHidden: false, location: 0 });\r\n\t}\r\n\r\n\tprotected _updateRange(button: Button, key: \"overBought\" | \"overSold\") {\r\n\t\tconst chart = this.yAxis.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst position = this.yAxis.toAxisPosition(button.y() / chart.plotContainer.height());\r\n\t\t\tthis.set(key, Math.round(this.yAxis.positionToValue(position)));\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _createSeries(): LineSeries {\r\n\t\treturn this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"valueS\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst overBoughtLabel = this.overBought.get(\"label\")!;\r\n\t\tconst overSoldLabel = this.overSold.get(\"label\")!;\r\n\t\tconst middleLabel = this.middle.get(\"label\")!;\r\n\r\n\t\tif (this.isDirty(\"overBought\") || this.isDirty(\"overSold\")) {\r\n\t\t\tconst numberFormatter = this.getNumberFormatter();\r\n\r\n\t\t\tconst overSoldValue = this.get(\"overSold\", 0);\r\n\t\t\tconst overBoughtValue = this.get(\"overBought\", 0);\r\n\t\t\tconst middleValue = overSoldValue + (overBoughtValue - overSoldValue) / 2;\r\n\r\n\t\t\toverBoughtLabel.set(\"text\", numberFormatter.format(overBoughtValue));\r\n\t\t\toverSoldLabel.set(\"text\", numberFormatter.format(overSoldValue));\r\n\t\t\tmiddleLabel.set(\"text\", numberFormatter.format(middleValue));\r\n\r\n\t\t\tthis.overBought.set(\"value\", overBoughtValue);\r\n\t\t\tthis.overSold.set(\"value\", overSoldValue);\r\n\r\n\t\t\tthis.middle.set(\"value\", middleValue);\r\n\t\t\tthis.yAxis.set(\"baseValue\", middleValue);\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"overSoldColor\")) {\r\n\t\t\tconst color = this.get(\"overSoldColor\");\r\n\t\t\toverSoldLabel.set(\"fill\", color);\r\n\r\n\t\t\tthis.overSold.get(\"grid\")!.set(\"stroke\", color);\r\n\t\t\tthis.overSoldRange.fills!.template.set(\"fill\", color);\r\n\t\t\tthis.overSoldRange.strokes!.template.set(\"stroke\", color);\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"overBoughtColor\")) {\r\n\t\t\tconst color = this.get(\"overBoughtColor\");\r\n\t\t\toverBoughtLabel.set(\"fill\", color);\r\n\r\n\t\t\tthis.overBought.get(\"grid\")!.set(\"stroke\", color);\r\n\t\t\tthis.overBoughtRange.fills!.template.set(\"fill\", color);\r\n\t\t\tthis.overBoughtRange.strokes!.template.set(\"stroke\", color);\r\n\t\t}\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"OverboughtOversold.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/OverboughtOversold.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { IValueAxisDataItem } from \"../../xy/axes/ValueAxis\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { LineSeries, ILineSeriesAxisRange } from \"../../xy/series/LineSeries\";\r\nimport { Button } from \"../../../core/render/Button\";\r\nimport { Graphics } from \"../../../core/render/Graphics\";\r\nimport { AxisBullet } from \"../../xy/axes/AxisBullet\";\r\nimport type { AxisRendererY } from \"../../xy/axes/AxisRendererY\";\r\nimport * as $math from \"../../../core/util/Math\";\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\n\r\nexport interface IOverboughtOversoldSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * A value for \"overbought\" threshold.\r\n\t */\r\n\toverBought?: number;\r\n\r\n\t/**\r\n\t * A value for \"oversold\" threshold.\r\n\t */\r\n\toverSold?: number;\r\n\r\n\t/**\r\n\t * A color for \"overbought\" section.\r\n\t */\r\n\toverBoughtColor?: Color;\r\n\r\n\t/**\r\n\t * A color for \"oversold\" section.\r\n\t */\r\n\toverSoldColor?: Color;\r\n}\r\n\r\nexport interface IOverboughtOversoldPrivate extends IChartIndicatorPrivate { }\r\n\r\nexport interface IOverboughtOversoldEvents extends IChartIndicatorEvents { }\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class OverboughtOversold extends ChartIndicator {\r\n\tpublic static className: string = \"OverboughtOversold\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([OverboughtOversold.className]);\r\n\r\n\tdeclare public _settings: IOverboughtOversoldSettings;\r\n\tdeclare public _privateSettings: IOverboughtOversoldPrivate;\r\n\tdeclare public _events: IOverboughtOversoldEvents;\r\n\r\n\tpublic overBought!: DataItem<IValueAxisDataItem>;\r\n\tpublic middle!: DataItem<IValueAxisDataItem>;\r\n\tpublic overSold!: DataItem<IValueAxisDataItem>;\r\n\r\n\tpublic overSoldRange!: ILineSeriesAxisRange;\r\n\tpublic overBoughtRange!: ILineSeriesAxisRange;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: LineSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"overBought\",\r\n\t\tname: this.root.language.translateAny(\"Overbought\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overBoughtColor\",\r\n\t\tname: this.root.language.translateAny(\"Overbought\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"overSold\",\r\n\t\tname: this.root.language.translateAny(\"Oversold\"),\r\n\t\ttype: \"number\"\r\n\t}, {\r\n\t\tkey: \"overSoldColor\",\r\n\t\tname: this.root.language.translateAny(\"Oversold\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\tprotected _afterNew() {\r\n\t\tthis._themeTags.push(\"overboughtoversold\");\r\n\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst chart = this.panel;\r\n\t\tconst yAxis = this.yAxis;\r\n\t\tyAxis.setAll({ strictMinMax: true, autoZoom: false });\r\n\r\n\t\t// middle grid\r\n\t\tthis.middle = this.yAxis.createAxisRange(this.yAxis.makeDataItem({}));\r\n\t\tconst middleGrid = this.middle.get(\"grid\")!;\r\n\t\tmiddleGrid.setAll({ themeTags: [\"middlegrid\"] });\r\n\t\tmiddleGrid._applyThemes();\r\n\r\n\t\tconst middleLabel = this.middle.get(\"label\")!;\r\n\t\tmiddleLabel.setAll({ visible: true, forceHidden: false });\r\n\r\n\t\tconst opposite = (yAxis.get(\"renderer\") as AxisRendererY).get(\"opposite\");\r\n\t\tlet side = \"left\";\r\n\t\tif (opposite) {\r\n\t\t\tside = \"right\"\r\n\t\t}\r\n\r\n\t\t// overbought range\r\n\t\tconst overBought = yAxis.makeDataItem({});\r\n\t\tthis.overBought = overBought;\r\n\t\toverBought.set(\"endValue\", 500);\r\n\r\n\t\tconst overBoughtRB = Button.new(this._root, {\r\n\t\t\tthemeTags: [\"rangegrip\", \"vertical\", side],\r\n\t\t\ticon: Graphics.new(this._root, {\r\n\t\t\t\tthemeTags: [\"rangegrip\", \"icon\"]\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\t// restrict from being dragged vertically\r\n\t\toverBoughtRB.adapters.add(\"x\", function() {\r\n\t\t\treturn 0;\r\n\t\t});\r\n\r\n\t\t// restrict from being dragged outside of plot\r\n\t\toverBoughtRB.adapters.add(\"y\", function(y) {\r\n\t\t\tif ($type.isNumber(y)) {\r\n\t\t\t\treturn $math.fitToRange(y, 0, chart.plotContainer.height());\r\n\t\t\t}\r\n\t\t\treturn y;\r\n\t\t});\r\n\r\n\t\t// change range when y changes\r\n\t\toverBoughtRB.events.on(\"dragged\", () => {\r\n\t\t\tthis._updateRange(overBoughtRB, \"overBought\");\r\n\t\t});\r\n\r\n\t\toverBought.set(\"bullet\", AxisBullet.new(this._root, {\r\n\t\t\tlocation: 0,\r\n\t\t\tsprite: overBoughtRB\r\n\t\t}))\r\n\r\n\t\tconst overBoughtRange = this.series.createAxisRange(overBought);\r\n\t\tthis.overBoughtRange = overBoughtRange;\r\n\t\tconst overBoughtFills = overBoughtRange.fills;\r\n\t\tif (overBoughtFills) {\r\n\t\t\toverBoughtFills.template.set(\"themeTags\", [\"overbought\", \"fill\"]);\r\n\t\t}\r\n\r\n\t\tconst overBoughtGrid = overBought.get(\"grid\")!;\r\n\t\toverBoughtGrid.setAll({ themeTags: [\"overbought\"], visible: true });\r\n\t\toverBoughtGrid._applyThemes();\r\n\r\n\t\tconst overBoughtLabel = overBought.get(\"label\")!;\r\n\t\toverBoughtLabel.setAll({ visible: true, forceHidden: false, location: 0 });\r\n\r\n\t\t// oversold range\r\n\t\tconst overSold = yAxis.makeDataItem({});\r\n\t\tthis.overSold = overSold;\r\n\t\toverSold.set(\"endValue\", -500);\r\n\r\n\t\tconst overSoldRB = Button.new(this._root, {\r\n\t\t\tthemeTags: [\"rangegrip\", \"vertical\", side],\r\n\t\t\ticon: Graphics.new(this._root, {\r\n\t\t\t\tthemeTags: [\"rangegrip\", \"icon\"]\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\t// restrict from being dragged vertically\r\n\t\toverSoldRB.adapters.add(\"x\", function() {\r\n\t\t\treturn 0;\r\n\t\t});\r\n\r\n\t\t// restrict from being dragged outside of plot\r\n\t\toverSoldRB.adapters.add(\"y\", function(y) {\r\n\t\t\tif ($type.isNumber(y)) {\r\n\t\t\t\treturn $math.fitToRange(y, 0, chart.plotContainer.height());\r\n\t\t\t}\r\n\t\t\treturn y;\r\n\t\t});\r\n\r\n\t\t// change range when y changes\r\n\t\toverSoldRB.events.on(\"dragged\", () => {\r\n\t\t\tthis._updateRange(overSoldRB, \"overSold\");\r\n\t\t});\r\n\r\n\t\toverSold.set(\"bullet\", AxisBullet.new(this._root, {\r\n\t\t\tlocation: 0,\r\n\t\t\tsprite: overSoldRB\r\n\t\t}))\r\n\r\n\r\n\t\tconst overSoldRange = this.series.createAxisRange(overSold);\r\n\t\tthis.overSoldRange = overSoldRange;\r\n\t\tconst overSoldFills = overSoldRange.fills;\r\n\t\tif (overSoldFills) {\r\n\t\t\toverSoldFills.template.set(\"themeTags\", [\"oversold\", \"fill\"]);\r\n\t\t}\r\n\r\n\t\tconst overSoldGrid = overSold.get(\"grid\")!;\r\n\t\toverSoldGrid.setAll({ themeTags: [\"oversold\"], visible: true });\r\n\t\toverSoldGrid._applyThemes();\r\n\r\n\t\tconst overSoldLabel = overSold.get(\"label\")!;\r\n\t\toverSoldLabel.setAll({ visible: true, forceHidden: false, location: 0 });\r\n\t}\r\n\r\n\tprotected _updateRange(button: Button, key: \"overBought\" | \"overSold\") {\r\n\t\tconst chart = this.yAxis.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst position = this.yAxis.toAxisPosition(button.y() / chart.plotContainer.height());\r\n\t\t\tthis.set(key, Math.round(this.yAxis.positionToValue(position)));\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _createSeries(): LineSeries {\r\n\t\treturn this.panel.series.push(LineSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"valueS\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst overBoughtLabel = this.overBought.get(\"label\")!;\r\n\t\tconst overSoldLabel = this.overSold.get(\"label\")!;\r\n\t\tconst middleLabel = this.middle.get(\"label\")!;\r\n\r\n\t\tif (this.isDirty(\"overBought\") || this.isDirty(\"overSold\")) {\r\n\t\t\tconst numberFormatter = this.getNumberFormatter();\r\n\r\n\t\t\tconst overSoldValue = this.get(\"overSold\", 0);\r\n\t\t\tconst overBoughtValue = this.get(\"overBought\", 0);\r\n\t\t\tconst middleValue = overSoldValue + (overBoughtValue - overSoldValue) / 2;\r\n\r\n\t\t\toverBoughtLabel.set(\"text\", numberFormatter.format(overBoughtValue));\r\n\t\t\toverSoldLabel.set(\"text\", numberFormatter.format(overSoldValue));\r\n\t\t\tmiddleLabel.set(\"text\", numberFormatter.format(middleValue));\r\n\r\n\t\t\tthis.overBought.set(\"value\", overBoughtValue);\r\n\t\t\tthis.overSold.set(\"value\", overSoldValue);\r\n\r\n\t\t\tthis.middle.set(\"value\", middleValue);\r\n\t\t\tthis.yAxis.set(\"baseValue\", middleValue);\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"overSoldColor\")) {\r\n\t\t\tconst color = this.get(\"overSoldColor\");\r\n\t\t\toverSoldLabel.set(\"fill\", color);\r\n\r\n\t\t\tthis.overSold.get(\"grid\")!.set(\"stroke\", color);\r\n\t\t\tthis.overSoldRange.fills!.template.set(\"fill\", color);\r\n\t\t\tthis.overSoldRange.strokes!.template.set(\"stroke\", color);\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"overBoughtColor\")) {\r\n\t\t\tconst color = this.get(\"overBoughtColor\");\r\n\t\t\toverBoughtLabel.set(\"fill\", color);\r\n\r\n\t\t\tthis.overBought.get(\"grid\")!.set(\"stroke\", color);\r\n\t\t\tthis.overBoughtRange.fills!.template.set(\"fill\", color);\r\n\t\t\tthis.overBoughtRange.strokes!.template.set(\"stroke\", color);\r\n\t\t}\r\n\t}\r\n}"]}
|