@amcharts/amcharts5 5.8.7 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js +5 -3
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.d.ts +5 -1
- package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.js +3 -0
- package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
- package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPointSeries.js.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.d.ts +10 -1
- package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.js +51 -0
- package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
- package/.internal/charts/stock/PanelControls.js.map +1 -1
- package/.internal/charts/stock/SettingsModal.d.ts +7 -0
- package/.internal/charts/stock/SettingsModal.d.ts.map +1 -1
- package/.internal/charts/stock/SettingsModal.js +42 -2
- package/.internal/charts/stock/SettingsModal.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts +92 -7
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +136 -15
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js +29 -41
- package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/StockLegend.js.map +1 -1
- package/.internal/charts/stock/StockPanel.d.ts +1 -1
- package/.internal/charts/stock/StockPanel.d.ts.map +1 -1
- package/.internal/charts/stock/StockPanel.js.map +1 -1
- package/.internal/charts/stock/drawing/AverageSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts +4 -1
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.js +47 -3
- package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/DoodleSeries.d.ts +1 -1
- package/.internal/charts/stock/drawing/DoodleSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/DoodleSeries.js +16 -7
- package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts +95 -4
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js +467 -47
- package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/EllipseSeries.d.ts +3 -0
- package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/EllipseSeries.js +36 -6
- package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +2 -0
- package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciSeries.js +49 -41
- package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts +3 -4
- package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js +34 -22
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts +3 -6
- package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js +42 -32
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
- package/.internal/charts/stock/drawing/IconSeries.d.ts +14 -4
- package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/IconSeries.js +100 -2
- package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/LabelSeries.d.ts +10 -0
- package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/LabelSeries.js +96 -2
- package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/Measure.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/Measure.js +1 -0
- package/.internal/charts/stock/drawing/Measure.js.map +1 -1
- package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts +1 -1
- package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/ParallelChannelSeries.js +5 -2
- package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/PolylineSeries.d.ts +27 -4
- package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/PolylineSeries.js +80 -27
- package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts +3 -2
- package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.js +23 -7
- package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/TrendLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts +2 -3
- package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.js +29 -15
- package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
- package/.internal/charts/stock/toolbar/ColorControl.d.ts +14 -0
- package/.internal/charts/stock/toolbar/ColorControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/ColorControl.js +31 -0
- package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js +117 -12
- package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts +1 -1
- package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +15 -0
- package/.internal/charts/stock/toolbar/DropdownListControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.js +38 -0
- package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/IconControl.d.ts +15 -0
- package/.internal/charts/stock/toolbar/IconControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/IconControl.js +37 -0
- package/.internal/charts/stock/toolbar/IconControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.js +2 -0
- package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js +38 -14
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
- package/.internal/charts/xy/XYCursor.d.ts +3 -3
- package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
- package/.internal/charts/xy/XYCursor.js +41 -47
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +5 -2
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +4 -4
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.d.ts +4 -0
- package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.js +14 -0
- package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +2 -0
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +23 -0
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +1 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +4 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +4 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +15 -0
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +4 -4
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +35 -26
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +5 -0
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +12 -1
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/SpriteResizer.d.ts.map +1 -1
- package/.internal/core/render/SpriteResizer.js +3 -0
- package/.internal/core/render/SpriteResizer.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts.map +1 -1
- package/.internal/core/render/Tooltip.js +4 -3
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +9 -0
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +23 -2
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/Modal.js +1 -1
- package/.internal/core/util/Modal.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +1 -0
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +19 -0
- package/.internal/core/util/Utils.js.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.js +5 -4
- package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
- package/.internal/themes/DefaultTheme.d.ts.map +1 -1
- package/.internal/themes/DefaultTheme.js +2 -1
- package/.internal/themes/DefaultTheme.js.map +1 -1
- package/CHANGELOG.md +33 -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/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/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/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/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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LineSeries } from "../../xy/series/LineSeries";
|
|
2
2
|
import { Bullet } from "../../../core/render/Bullet";
|
|
3
3
|
import { Circle } from "../../../core/render/Circle";
|
|
4
|
+
import { Rectangle } from "../../../core/render/Rectangle";
|
|
4
5
|
import { Container } from "../../../core/render/Container";
|
|
5
6
|
import { Template } from "../../../core/util/Template";
|
|
6
7
|
import { ListTemplate } from "../../../core/util/List";
|
|
@@ -100,13 +101,13 @@ export class DrawingSeries extends LineSeries {
|
|
|
100
101
|
enumerable: true,
|
|
101
102
|
configurable: true,
|
|
102
103
|
writable: true,
|
|
103
|
-
value:
|
|
104
|
+
value: []
|
|
104
105
|
});
|
|
105
106
|
Object.defineProperty(this, "_dvY", {
|
|
106
107
|
enumerable: true,
|
|
107
108
|
configurable: true,
|
|
108
109
|
writable: true,
|
|
109
|
-
value:
|
|
110
|
+
value: []
|
|
110
111
|
});
|
|
111
112
|
Object.defineProperty(this, "_isHover", {
|
|
112
113
|
enumerable: true,
|
|
@@ -132,6 +133,31 @@ export class DrawingSeries extends LineSeries {
|
|
|
132
133
|
writable: true,
|
|
133
134
|
value: { x: 0, y: 0 }
|
|
134
135
|
});
|
|
136
|
+
Object.defineProperty(this, "selectorContainer", {
|
|
137
|
+
enumerable: true,
|
|
138
|
+
configurable: true,
|
|
139
|
+
writable: true,
|
|
140
|
+
value: this.children.push(Container.new(this.root, {}))
|
|
141
|
+
});
|
|
142
|
+
Object.defineProperty(this, "_selected", {
|
|
143
|
+
enumerable: true,
|
|
144
|
+
configurable: true,
|
|
145
|
+
writable: true,
|
|
146
|
+
value: []
|
|
147
|
+
});
|
|
148
|
+
Object.defineProperty(this, "_isSelecting", {
|
|
149
|
+
enumerable: true,
|
|
150
|
+
configurable: true,
|
|
151
|
+
writable: true,
|
|
152
|
+
value: false
|
|
153
|
+
});
|
|
154
|
+
// point index in segment
|
|
155
|
+
Object.defineProperty(this, "_pIndex", {
|
|
156
|
+
enumerable: true,
|
|
157
|
+
configurable: true,
|
|
158
|
+
writable: true,
|
|
159
|
+
value: 0
|
|
160
|
+
});
|
|
135
161
|
Object.defineProperty(this, "grips", {
|
|
136
162
|
enumerable: true,
|
|
137
163
|
configurable: true,
|
|
@@ -156,6 +182,14 @@ export class DrawingSeries extends LineSeries {
|
|
|
156
182
|
themeTags: ["outline"]
|
|
157
183
|
}, [this.outerCircles.template]))
|
|
158
184
|
});
|
|
185
|
+
Object.defineProperty(this, "selectors", {
|
|
186
|
+
enumerable: true,
|
|
187
|
+
configurable: true,
|
|
188
|
+
writable: true,
|
|
189
|
+
value: new ListTemplate(Template.new({}), () => Rectangle._new(this._root, {
|
|
190
|
+
themeTags: ["selector"]
|
|
191
|
+
}, [this.selectors.template]))
|
|
192
|
+
});
|
|
159
193
|
}
|
|
160
194
|
_afterNew() {
|
|
161
195
|
this.addTag("drawing");
|
|
@@ -174,10 +208,6 @@ export class DrawingSeries extends LineSeries {
|
|
|
174
208
|
strokesTemplate.set("templateField", "stroke");
|
|
175
209
|
const fillsTemplate = this.fills.template;
|
|
176
210
|
fillsTemplate.setAll({ templateField: "fill" });
|
|
177
|
-
fillsTemplate.events.on("dragstart", (e) => {
|
|
178
|
-
this._handleFillDragStart(e, this._getIndex(e.target));
|
|
179
|
-
this._isPointerDown = true;
|
|
180
|
-
});
|
|
181
211
|
fillsTemplate.events.on("pointerdown", (e) => {
|
|
182
212
|
const index = this._getIndex(e.target);
|
|
183
213
|
if (this._erasingEnabled) {
|
|
@@ -194,25 +224,19 @@ export class DrawingSeries extends LineSeries {
|
|
|
194
224
|
stroke.dragStart(e);
|
|
195
225
|
}
|
|
196
226
|
});
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
227
|
+
fillsTemplate.events.on("dragstart", (e) => {
|
|
228
|
+
this.startDragItem(e, this._getIndex(e.target));
|
|
229
|
+
});
|
|
230
|
+
fillsTemplate.events.on("click", (e) => {
|
|
231
|
+
const index = this._getIndex(e.target);
|
|
232
|
+
const originalEvent = e.originalEvent;
|
|
233
|
+
if (!this._isDrawing) {
|
|
234
|
+
this._selectDrawing(index, originalEvent.ctrlKey);
|
|
206
235
|
}
|
|
207
236
|
});
|
|
208
237
|
fillsTemplate.events.on("dragstop", (e) => {
|
|
209
|
-
this._isPointerDown = false;
|
|
210
238
|
const index = this._getIndex(e.target);
|
|
211
|
-
this.
|
|
212
|
-
const stroke = this.strokes.getIndex(this._getStrokeIndex(index));
|
|
213
|
-
if (stroke) {
|
|
214
|
-
stroke.dragStop(e);
|
|
215
|
-
}
|
|
239
|
+
this.stopDragItem(e, index);
|
|
216
240
|
});
|
|
217
241
|
fillsTemplate.events.on("pointerover", (e) => {
|
|
218
242
|
const index = this._getIndex(e.target);
|
|
@@ -227,6 +251,17 @@ export class DrawingSeries extends LineSeries {
|
|
|
227
251
|
this._isHover = false;
|
|
228
252
|
this._hideAllBullets();
|
|
229
253
|
});
|
|
254
|
+
strokesTemplate.events.on("pointerdown", (e) => {
|
|
255
|
+
const index = this._getIndex(e.target);
|
|
256
|
+
if (this._erasingEnabled) {
|
|
257
|
+
this._disposeIndex(index);
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
strokesTemplate.events.on("click", (e) => {
|
|
261
|
+
const index = this._getIndex(e.target);
|
|
262
|
+
const originalEvent = e.originalEvent;
|
|
263
|
+
this._selectDrawing(index, originalEvent.ctrlKey);
|
|
264
|
+
});
|
|
230
265
|
strokesTemplate.events.on("pointerover", (e) => {
|
|
231
266
|
this._isHover = true;
|
|
232
267
|
this._showSegmentBullets(this._getIndex(e.target));
|
|
@@ -236,10 +271,10 @@ export class DrawingSeries extends LineSeries {
|
|
|
236
271
|
this._hideAllBullets();
|
|
237
272
|
});
|
|
238
273
|
strokesTemplate.events.on("dragstop", (e) => {
|
|
239
|
-
this.
|
|
274
|
+
this.stopDragItem(e, this._getIndex(e.target));
|
|
240
275
|
});
|
|
241
276
|
strokesTemplate.events.on("dragstart", (e) => {
|
|
242
|
-
this.
|
|
277
|
+
this.startDragItem(e, this._getIndex(e.target));
|
|
243
278
|
});
|
|
244
279
|
this.bulletsContainer.states.create("hidden", { visible: true, opacity: 0 });
|
|
245
280
|
this.bullets.push((_root, _series, dataItem) => {
|
|
@@ -322,10 +357,29 @@ export class DrawingSeries extends LineSeries {
|
|
|
322
357
|
_disposeIndex(index) {
|
|
323
358
|
const dataItems = this._di[index];
|
|
324
359
|
if (dataItems) {
|
|
360
|
+
let drawingId;
|
|
361
|
+
let index;
|
|
325
362
|
$object.each(dataItems, (_key, dataItem) => {
|
|
326
|
-
|
|
363
|
+
const dataContext = dataItem.dataContext;
|
|
364
|
+
this.data.removeValue(dataContext);
|
|
365
|
+
if (dataContext) {
|
|
366
|
+
if (dataContext.drawingId) {
|
|
367
|
+
drawingId = dataContext.drawingId;
|
|
368
|
+
}
|
|
369
|
+
if (dataContext.index) {
|
|
370
|
+
index = dataContext.index;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
327
373
|
});
|
|
374
|
+
this._pIndex = 0;
|
|
375
|
+
delete this._di[index];
|
|
376
|
+
this._dispatchStockEvent("drawingremoved", drawingId, index);
|
|
377
|
+
}
|
|
378
|
+
const selector = this._getSprite(this.selectors, index);
|
|
379
|
+
if (selector) {
|
|
380
|
+
this.selectors.removeValue(selector);
|
|
328
381
|
}
|
|
382
|
+
$array.remove(this._selected, index);
|
|
329
383
|
}
|
|
330
384
|
_afterDataChange() {
|
|
331
385
|
$array.each(this.dataItems, (dataItem) => {
|
|
@@ -344,12 +398,17 @@ export class DrawingSeries extends LineSeries {
|
|
|
344
398
|
}
|
|
345
399
|
_createElements(_index, _dataItem) {
|
|
346
400
|
}
|
|
401
|
+
_clearDirty() {
|
|
402
|
+
super._clearDirty();
|
|
403
|
+
this._isSelecting = false;
|
|
404
|
+
}
|
|
347
405
|
clearDrawings() {
|
|
348
406
|
$array.each(this._di, (_dataItems, index) => {
|
|
349
407
|
this._disposeIndex(index);
|
|
350
408
|
});
|
|
351
409
|
this.data.setAll([]);
|
|
352
410
|
this._index = 0;
|
|
411
|
+
this._selected = [];
|
|
353
412
|
}
|
|
354
413
|
_getIndex(sprite) {
|
|
355
414
|
const userData = sprite.get("userData");
|
|
@@ -392,7 +451,7 @@ export class DrawingSeries extends LineSeries {
|
|
|
392
451
|
$array.each(bullets, (bullet) => {
|
|
393
452
|
const sprite = bullet.get("sprite");
|
|
394
453
|
if (sprite) {
|
|
395
|
-
sprite.show();
|
|
454
|
+
sprite.show(0);
|
|
396
455
|
}
|
|
397
456
|
});
|
|
398
457
|
}
|
|
@@ -431,7 +490,40 @@ export class DrawingSeries extends LineSeries {
|
|
|
431
490
|
}
|
|
432
491
|
});
|
|
433
492
|
}
|
|
493
|
+
_hideResizer(sprite) {
|
|
494
|
+
const spriteResizer = this._getStockChart().spriteResizer;
|
|
495
|
+
if (spriteResizer) {
|
|
496
|
+
const resizerSprite = spriteResizer.get("sprite");
|
|
497
|
+
if (resizerSprite) {
|
|
498
|
+
if (!sprite || sprite.dataItem != resizerSprite.dataItem) {
|
|
499
|
+
spriteResizer.set("sprite", undefined);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* @ignore
|
|
506
|
+
*/
|
|
507
|
+
startDragItem(event, index) {
|
|
508
|
+
const stockChart = this._getStockChart();
|
|
509
|
+
if (stockChart) {
|
|
510
|
+
stockChart._dragStartDrawing(event);
|
|
511
|
+
}
|
|
512
|
+
this._handleFillDragStart(event, index);
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* @ignore
|
|
516
|
+
*/
|
|
517
|
+
stopDragItem(event, index) {
|
|
518
|
+
const stockChart = this._getStockChart();
|
|
519
|
+
if (stockChart) {
|
|
520
|
+
stockChart._dragStopDrawing(event);
|
|
521
|
+
}
|
|
522
|
+
this._handleFillDragStop(event, index);
|
|
523
|
+
}
|
|
434
524
|
_handleFillDragStart(event, index) {
|
|
525
|
+
this._hideResizer(event.target);
|
|
526
|
+
this._isPointerDown = false;
|
|
435
527
|
const chart = this.chart;
|
|
436
528
|
if (chart) {
|
|
437
529
|
const xAxis = this.get("xAxis");
|
|
@@ -441,15 +533,28 @@ export class DrawingSeries extends LineSeries {
|
|
|
441
533
|
const valueXns = xAxis.positionToValue(this._dragStartPX);
|
|
442
534
|
this._dragStartY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueXns);
|
|
443
535
|
const dataItems = this._di[index];
|
|
536
|
+
this._dvpX[index] = {};
|
|
537
|
+
this._dvY[index] = {};
|
|
444
538
|
if (dataItems) {
|
|
445
539
|
$object.each(dataItems, (key, dataItem) => {
|
|
446
|
-
this._dvpX[key] = xAxis.valueToPosition(dataItem.get("valueX", 0));
|
|
447
|
-
this._dvY[key] = dataItem.get("valueY");
|
|
540
|
+
this._dvpX[index][key] = xAxis.valueToPosition(dataItem.get("valueX", 0));
|
|
541
|
+
this._dvY[index][key] = dataItem.get("valueY");
|
|
448
542
|
});
|
|
449
543
|
}
|
|
450
544
|
}
|
|
451
545
|
}
|
|
546
|
+
_dragStart(event) {
|
|
547
|
+
$array.each(this._selected, (index) => {
|
|
548
|
+
this._handleFillDragStart(event, index);
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
_dragStop(event) {
|
|
552
|
+
$array.each(this._selected, (index) => {
|
|
553
|
+
this._handleFillDragStop(event, index);
|
|
554
|
+
});
|
|
555
|
+
}
|
|
452
556
|
_handleFillDragStop(event, index) {
|
|
557
|
+
this._isPointerDown = false;
|
|
453
558
|
const chart = this.chart;
|
|
454
559
|
if (chart) {
|
|
455
560
|
const point = chart.plotContainer.toLocal(event.point);
|
|
@@ -466,8 +571,8 @@ export class DrawingSeries extends LineSeries {
|
|
|
466
571
|
const dataItems = this._di[index];
|
|
467
572
|
if (dataItems) {
|
|
468
573
|
$object.each(dataItems, (key, dataItem) => {
|
|
469
|
-
const dvpx = this._dvpX[key];
|
|
470
|
-
const dvy = this._dvY[key];
|
|
574
|
+
const dvpx = this._dvpX[index][key];
|
|
575
|
+
const dvy = this._dvY[index][key];
|
|
471
576
|
if ($type.isNumber(dvpx) && $type.isNumber(dvy)) {
|
|
472
577
|
const vpx = dvpx + dpx;
|
|
473
578
|
const vxns = xAxis.positionToValue(vpx);
|
|
@@ -480,10 +585,16 @@ export class DrawingSeries extends LineSeries {
|
|
|
480
585
|
this._setContext(dataItem, "valueX", vx);
|
|
481
586
|
this._setContext(dataItem, "valueY", vy, true);
|
|
482
587
|
this._setXLocation(dataItem, vx);
|
|
588
|
+
this._positionBullets(dataItem);
|
|
483
589
|
}
|
|
484
590
|
});
|
|
485
591
|
}
|
|
486
592
|
}
|
|
593
|
+
const stroke = this.strokes.getIndex(this._getStrokeIndex(index));
|
|
594
|
+
if (stroke) {
|
|
595
|
+
stroke.dragStop(event);
|
|
596
|
+
}
|
|
597
|
+
this.markDirty();
|
|
487
598
|
this._updateSegment(index);
|
|
488
599
|
}
|
|
489
600
|
_updateSegment(_index) {
|
|
@@ -491,23 +602,114 @@ export class DrawingSeries extends LineSeries {
|
|
|
491
602
|
}
|
|
492
603
|
_updateChildren() {
|
|
493
604
|
this._updateElements();
|
|
605
|
+
if (this.isDirty("strokeColor") || this.isDirty("strokeOpacity") || this.isDirty("strokeDasharray") || this.isDirty("strokeWidth")) {
|
|
606
|
+
$array.each(this._selected, (i) => {
|
|
607
|
+
let settings = {
|
|
608
|
+
stroke: this.get("strokeColor"),
|
|
609
|
+
strokeOpacity: this.get("strokeOpacity"),
|
|
610
|
+
strokeDasharray: this.get("strokeDasharray"),
|
|
611
|
+
strokeWidth: this.get("strokeWidth")
|
|
612
|
+
};
|
|
613
|
+
const stroke = this.strokes.getIndex(this._getStrokeIndex(i));
|
|
614
|
+
if (stroke) {
|
|
615
|
+
let strokeTemplate;
|
|
616
|
+
$array.each(this.dataItems, (dataItem) => {
|
|
617
|
+
const dataContext = dataItem.dataContext;
|
|
618
|
+
if (dataContext.index == i) {
|
|
619
|
+
if (dataContext.stroke) {
|
|
620
|
+
strokeTemplate = dataContext.stroke;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
});
|
|
624
|
+
const defaultState = stroke.states.lookup("default");
|
|
625
|
+
$object.each(settings, (key, value) => {
|
|
626
|
+
stroke.set(key, value);
|
|
627
|
+
defaultState.set(key, value);
|
|
628
|
+
if (strokeTemplate) {
|
|
629
|
+
strokeTemplate.set(key, value);
|
|
630
|
+
}
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
this.circles.each((circle) => {
|
|
634
|
+
const dataItem = circle.dataItem;
|
|
635
|
+
if (dataItem) {
|
|
636
|
+
const dataContext = dataItem.dataContext;
|
|
637
|
+
if (dataContext) {
|
|
638
|
+
if (dataContext.index == i) {
|
|
639
|
+
circle.set("stroke", settings.stroke);
|
|
640
|
+
circle.states.lookup("default").set("stroke", settings.stroke);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
});
|
|
645
|
+
this.outerCircles.each((circle) => {
|
|
646
|
+
const dataItem = circle.dataItem;
|
|
647
|
+
if (dataItem) {
|
|
648
|
+
const dataContext = dataItem.dataContext;
|
|
649
|
+
if (dataContext) {
|
|
650
|
+
if (dataContext.index == i) {
|
|
651
|
+
circle.set("stroke", settings.stroke);
|
|
652
|
+
circle.states.lookup("default").set("stroke", settings.stroke);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
});
|
|
657
|
+
this._applySettings(i, settings);
|
|
658
|
+
});
|
|
659
|
+
}
|
|
660
|
+
if (this.isDirty("fillColor") || this.isDirty("fillOpacity")) {
|
|
661
|
+
$array.each(this._selected, (i) => {
|
|
662
|
+
const fill = this.fills.getIndex(this._getStrokeIndex(i));
|
|
663
|
+
let settings = {
|
|
664
|
+
fill: this.get("fillColor"),
|
|
665
|
+
fillOpacity: this.get("fillOpacity")
|
|
666
|
+
};
|
|
667
|
+
if (fill) {
|
|
668
|
+
let fillTemplate;
|
|
669
|
+
$array.each(this.dataItems, (dataItem) => {
|
|
670
|
+
const dataContext = dataItem.dataContext;
|
|
671
|
+
if (dataContext.index == i) {
|
|
672
|
+
if (dataContext.fill) {
|
|
673
|
+
fillTemplate = dataContext.fill;
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
const defaultState = fill.states.lookup("default");
|
|
678
|
+
$object.each(settings, (key, value) => {
|
|
679
|
+
fill.set(key, value);
|
|
680
|
+
defaultState.set(key, value);
|
|
681
|
+
if (fillTemplate) {
|
|
682
|
+
fillTemplate.set(key, value);
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
this._applySettings(i, settings);
|
|
687
|
+
});
|
|
688
|
+
}
|
|
494
689
|
if (this._valuesDirty) {
|
|
495
690
|
this.markDirtyDrawings();
|
|
496
691
|
}
|
|
497
692
|
super._updateChildren();
|
|
693
|
+
this._updateSelectors();
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* @ignore
|
|
697
|
+
*/
|
|
698
|
+
isDrawing(value) {
|
|
699
|
+
this._isDrawing = value;
|
|
700
|
+
const stockChart = this._getStockChart();
|
|
701
|
+
if (stockChart) {
|
|
702
|
+
stockChart.drawingsInteractive(!value, this);
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
_applySettings(_index, _settings) {
|
|
498
706
|
}
|
|
499
707
|
_updateElements() {
|
|
500
708
|
}
|
|
501
709
|
markDirtyDrawings() {
|
|
502
|
-
const
|
|
503
|
-
if (
|
|
504
|
-
|
|
505
|
-
if (panel) {
|
|
506
|
-
const stockChart = panel.getPrivate("stockChart");
|
|
507
|
-
if (stockChart) {
|
|
508
|
-
stockChart.markDirtyDrawings();
|
|
509
|
-
}
|
|
510
|
-
}
|
|
710
|
+
const stockChart = this._getStockChart();
|
|
711
|
+
if (stockChart) {
|
|
712
|
+
stockChart.markDirtyDrawings();
|
|
511
713
|
}
|
|
512
714
|
}
|
|
513
715
|
_getFillTemplate() {
|
|
@@ -544,6 +746,12 @@ export class DrawingSeries extends LineSeries {
|
|
|
544
746
|
}
|
|
545
747
|
_tweakBullet(_container, _dataItem) {
|
|
546
748
|
}
|
|
749
|
+
_dispatchStockEvent(type, drawingId, index) {
|
|
750
|
+
const stockChart = this._getStockChart();
|
|
751
|
+
if (stockChart && stockChart.events.isEnabled(type)) {
|
|
752
|
+
stockChart.events.dispatch(type, { drawingId: drawingId, series: this, target: stockChart, index: index });
|
|
753
|
+
}
|
|
754
|
+
}
|
|
547
755
|
_addBulletInteraction(sprite) {
|
|
548
756
|
sprite.events.on("dragged", (e) => {
|
|
549
757
|
this._handleBulletDragged(e);
|
|
@@ -559,17 +767,22 @@ export class DrawingSeries extends LineSeries {
|
|
|
559
767
|
}, 100);
|
|
560
768
|
});
|
|
561
769
|
sprite.events.on("click", (e) => {
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
770
|
+
const dataItem = e.target.dataItem;
|
|
771
|
+
if (dataItem) {
|
|
772
|
+
const dataContext = dataItem.dataContext;
|
|
773
|
+
if (this._erasingEnabled) {
|
|
566
774
|
if (dataContext) {
|
|
567
775
|
this._disposeIndex(dataContext.index);
|
|
568
776
|
}
|
|
569
777
|
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
778
|
+
else {
|
|
779
|
+
if (!this._isDrawing) {
|
|
780
|
+
this._selectDrawing(dataContext.index, e.originalEvent.ctrlKey);
|
|
781
|
+
}
|
|
782
|
+
else {
|
|
783
|
+
this._handlePointerClick(e);
|
|
784
|
+
}
|
|
785
|
+
}
|
|
573
786
|
}
|
|
574
787
|
});
|
|
575
788
|
}
|
|
@@ -578,7 +791,7 @@ export class DrawingSeries extends LineSeries {
|
|
|
578
791
|
this._drawingId = this._generateId();
|
|
579
792
|
}
|
|
580
793
|
_generateId() {
|
|
581
|
-
return "" + new Date().getTime() + Math.round(Math.random() * 10000);
|
|
794
|
+
return "" + new Date().getTime() + Math.round(Math.random() * 10000 + 10000);
|
|
582
795
|
}
|
|
583
796
|
_handlePointerClick(event) {
|
|
584
797
|
if (this._drawingEnabled) {
|
|
@@ -620,6 +833,8 @@ export class DrawingSeries extends LineSeries {
|
|
|
620
833
|
this._positionBullets(dataItem);
|
|
621
834
|
}
|
|
622
835
|
_handleBulletDragStart(_event) {
|
|
836
|
+
this._hideResizer();
|
|
837
|
+
this.unselectAllDrawings();
|
|
623
838
|
}
|
|
624
839
|
_handleBulletDragStop(_event) {
|
|
625
840
|
}
|
|
@@ -676,7 +891,7 @@ export class DrawingSeries extends LineSeries {
|
|
|
676
891
|
disableDrawing() {
|
|
677
892
|
this._erasingEnabled = false;
|
|
678
893
|
this._drawingEnabled = false;
|
|
679
|
-
this.
|
|
894
|
+
this.isDrawing(false);
|
|
680
895
|
if (this._clickDp) {
|
|
681
896
|
this._clickDp.dispose();
|
|
682
897
|
this._clickDp = undefined;
|
|
@@ -798,6 +1013,211 @@ export class DrawingSeries extends LineSeries {
|
|
|
798
1013
|
_getStockChart() {
|
|
799
1014
|
return this.get("series").chart.getPrivate("stockChart");
|
|
800
1015
|
}
|
|
1016
|
+
_getSprite(sprites, index) {
|
|
1017
|
+
for (let i = 0, len = sprites.length; i < len; i++) {
|
|
1018
|
+
let sprite = sprites.getIndex(i);
|
|
1019
|
+
if (sprite && sprite.get("userData") == index) {
|
|
1020
|
+
return sprite;
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
_selectDrawing(index, keepSelection) {
|
|
1025
|
+
this._isSelecting = true;
|
|
1026
|
+
if (this._selected.indexOf(index) != -1) {
|
|
1027
|
+
if (!keepSelection) {
|
|
1028
|
+
this._hideResizer();
|
|
1029
|
+
this.unselectAllDrawings();
|
|
1030
|
+
}
|
|
1031
|
+
else {
|
|
1032
|
+
this._unselectDrawing(index);
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
else {
|
|
1036
|
+
if (!keepSelection) {
|
|
1037
|
+
this._hideResizer();
|
|
1038
|
+
this.unselectAllDrawings();
|
|
1039
|
+
}
|
|
1040
|
+
let selector = this._getSprite(this.selectors, index);
|
|
1041
|
+
if (!selector) {
|
|
1042
|
+
selector = this.selectorContainer.children.push(this.selectors.make());
|
|
1043
|
+
this.selectors.push(selector);
|
|
1044
|
+
}
|
|
1045
|
+
selector.show(0);
|
|
1046
|
+
selector.set("userData", index);
|
|
1047
|
+
$array.move(this._selected, index);
|
|
1048
|
+
this._dispatchStockEvent("drawingselected", this.indexToDrawingId(index), index);
|
|
1049
|
+
this.markDirty();
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
_unselectDrawing(index) {
|
|
1053
|
+
const selector = this._getSprite(this.selectors, index);
|
|
1054
|
+
if (selector) {
|
|
1055
|
+
selector.hide(0);
|
|
1056
|
+
$array.remove(this._selected, index);
|
|
1057
|
+
this._dispatchStockEvent("drawingunselected", this.indexToDrawingId(index), index);
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
_updateSelectors() {
|
|
1061
|
+
this.selectors.each((selector) => {
|
|
1062
|
+
const index = selector.get("userData");
|
|
1063
|
+
this._updateSelector(selector, index);
|
|
1064
|
+
});
|
|
1065
|
+
}
|
|
1066
|
+
_updateSelector(selector, index) {
|
|
1067
|
+
let l;
|
|
1068
|
+
let r;
|
|
1069
|
+
let t;
|
|
1070
|
+
let b;
|
|
1071
|
+
const selectorPadding = this.get("selectorPadding", 5);
|
|
1072
|
+
$array.each(this.dataItems, (dataItem) => {
|
|
1073
|
+
const dataContext = dataItem.dataContext;
|
|
1074
|
+
if (dataContext) {
|
|
1075
|
+
if (dataContext.index == index) {
|
|
1076
|
+
let point = dataItem.get("point");
|
|
1077
|
+
if (point) {
|
|
1078
|
+
if (l == null) {
|
|
1079
|
+
l = point.x;
|
|
1080
|
+
}
|
|
1081
|
+
l = Math.min(l, point.x);
|
|
1082
|
+
if (r == null) {
|
|
1083
|
+
r = point.x;
|
|
1084
|
+
}
|
|
1085
|
+
r = Math.max(r, point.x);
|
|
1086
|
+
if (t == null) {
|
|
1087
|
+
t = point.y;
|
|
1088
|
+
}
|
|
1089
|
+
t = Math.min(t, point.y);
|
|
1090
|
+
if (b == null) {
|
|
1091
|
+
b = point.y;
|
|
1092
|
+
}
|
|
1093
|
+
b = Math.max(b, point.y);
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
});
|
|
1098
|
+
if (r != null && l != null && t != null && b != null) {
|
|
1099
|
+
selector.setAll({
|
|
1100
|
+
width: r - l + selectorPadding * 2,
|
|
1101
|
+
height: b - t + selectorPadding * 2,
|
|
1102
|
+
x: l - selectorPadding,
|
|
1103
|
+
y: t - selectorPadding
|
|
1104
|
+
});
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
/**
|
|
1108
|
+
*
|
|
1109
|
+
* @param index returns drawingId
|
|
1110
|
+
* @returns
|
|
1111
|
+
*/
|
|
1112
|
+
indexToDrawingId(index) {
|
|
1113
|
+
let id;
|
|
1114
|
+
$array.eachContinue(this.dataItems, (dataItem) => {
|
|
1115
|
+
const dataContext = dataItem.dataContext;
|
|
1116
|
+
if (dataContext.index == index) {
|
|
1117
|
+
id = dataContext.drawingId;
|
|
1118
|
+
return false;
|
|
1119
|
+
}
|
|
1120
|
+
return true;
|
|
1121
|
+
});
|
|
1122
|
+
return id;
|
|
1123
|
+
}
|
|
1124
|
+
_getContext(index) {
|
|
1125
|
+
let context;
|
|
1126
|
+
$array.eachContinue(this.dataItems, (dataItem) => {
|
|
1127
|
+
const dataContext = dataItem.dataContext;
|
|
1128
|
+
if (dataContext.index == index && dataContext.sprite) {
|
|
1129
|
+
context = dataContext;
|
|
1130
|
+
return false;
|
|
1131
|
+
}
|
|
1132
|
+
return true;
|
|
1133
|
+
});
|
|
1134
|
+
return context;
|
|
1135
|
+
}
|
|
1136
|
+
getContext(id) {
|
|
1137
|
+
const index = this.getIndex(id);
|
|
1138
|
+
if (index != null) {
|
|
1139
|
+
return this._getContext(index);
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Unselects all currently selected drawings on this series.
|
|
1144
|
+
*
|
|
1145
|
+
* @since 5.9.0
|
|
1146
|
+
*/
|
|
1147
|
+
unselectAllDrawings() {
|
|
1148
|
+
const chart = this._getStockChart();
|
|
1149
|
+
if (chart) {
|
|
1150
|
+
chart.unselectDrawings();
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
/**
|
|
1154
|
+
* Unselects all currently selected drawings of this series.
|
|
1155
|
+
*
|
|
1156
|
+
* @since 5.9.0
|
|
1157
|
+
*/
|
|
1158
|
+
unselectDrawings() {
|
|
1159
|
+
for (let i = this._selected.length - 1; i >= 0; i--) {
|
|
1160
|
+
this._unselectDrawing(this._selected[i]);
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
/**
|
|
1164
|
+
* Selects series' drawing by its ID.
|
|
1165
|
+
*
|
|
1166
|
+
* @param id Drawing ID
|
|
1167
|
+
* @param keepSelection Keep existing selections
|
|
1168
|
+
* @since 5.9.0
|
|
1169
|
+
*/
|
|
1170
|
+
selectDrawing(id, keepSelection) {
|
|
1171
|
+
const index = this.getIndex(id);
|
|
1172
|
+
if (index != null) {
|
|
1173
|
+
this._selectDrawing(index, keepSelection);
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
/**
|
|
1177
|
+
* Unselects series' drawing by its ID.
|
|
1178
|
+
*
|
|
1179
|
+
* @param id Drawing ID
|
|
1180
|
+
* @since 5.9.0
|
|
1181
|
+
*/
|
|
1182
|
+
unselectDrawing(id) {
|
|
1183
|
+
const index = this.getIndex(id);
|
|
1184
|
+
if (index != null) {
|
|
1185
|
+
this._unselectDrawing(index);
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
/**
|
|
1189
|
+
* Deletes all currently selected drawings on this series.
|
|
1190
|
+
*
|
|
1191
|
+
* @since 5.9.0
|
|
1192
|
+
*/
|
|
1193
|
+
deleteSelected() {
|
|
1194
|
+
for (let i = this._selected.length - 1; i >= 0; i--) {
|
|
1195
|
+
this.disposeIndex(this._selected[i]);
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
/**
|
|
1199
|
+
* Deletes a series' drawing by ids ID.
|
|
1200
|
+
*
|
|
1201
|
+
* @param id Drawing ID
|
|
1202
|
+
* @since 5.9.0
|
|
1203
|
+
*/
|
|
1204
|
+
deleteDrawing(id) {
|
|
1205
|
+
const index = this.getIndex(id);
|
|
1206
|
+
if (index != null) {
|
|
1207
|
+
this.disposeIndex(index);
|
|
1208
|
+
}
|
|
1209
|
+
}
|
|
1210
|
+
/**
|
|
1211
|
+
* Cancels current drawing
|
|
1212
|
+
*
|
|
1213
|
+
* @since 5.9.0
|
|
1214
|
+
*/
|
|
1215
|
+
cancelDrawing() {
|
|
1216
|
+
if (this._isDrawing) {
|
|
1217
|
+
this._disposeIndex(this._index);
|
|
1218
|
+
}
|
|
1219
|
+
this.isDrawing(false);
|
|
1220
|
+
}
|
|
801
1221
|
}
|
|
802
1222
|
Object.defineProperty(DrawingSeries, "className", {
|
|
803
1223
|
enumerable: true,
|