@amcharts/amcharts5 5.5.0 → 5.5.2
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/stock/StockChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js +40 -11
- package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/drawing/AverageSeries.d.ts +1 -7
- package/.internal/charts/stock/drawing/AverageSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/AverageSeries.js +7 -8
- package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts +0 -14
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.js +0 -8
- package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/DoodleSeries.js +2 -2
- package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts +15 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js +56 -15
- package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/EllipseSeries.js +4 -3
- package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +0 -3
- package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciSeries.js +6 -52
- package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts +1 -2
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js +6 -4
- package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts +1 -8
- package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js +11 -20
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
- package/.internal/charts/stock/drawing/IconSeries.d.ts +0 -1
- package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/IconSeries.js +0 -5
- package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/Measure.d.ts +41 -0
- package/.internal/charts/stock/drawing/Measure.d.ts.map +1 -0
- package/.internal/charts/stock/drawing/Measure.js +207 -0
- package/.internal/charts/stock/drawing/Measure.js.map +1 -0
- package/.internal/charts/stock/drawing/PolylineSeries.d.ts +5 -0
- package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/PolylineSeries.js +36 -1
- package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts +0 -7
- package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/QuadrantLineSeries.js +7 -18
- package/.internal/charts/stock/drawing/QuadrantLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/RectangleSeries.d.ts +14 -11
- package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/RectangleSeries.js +80 -121
- package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/RegressionSeries.d.ts +0 -7
- package/.internal/charts/stock/drawing/RegressionSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/RegressionSeries.js +0 -3
- package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.js +12 -9
- package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/TrendLineSeries.d.ts +0 -7
- package/.internal/charts/stock/drawing/TrendLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/TrendLineSeries.js +0 -3
- package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.js +1 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts +1 -0
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +19 -11
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.d.ts +14 -0
- package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js +109 -68
- 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/DropdownList.d.ts +2 -0
- package/.internal/charts/stock/toolbar/DropdownList.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js +11 -0
- package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +1 -0
- package/.internal/charts/stock/toolbar/DropdownListControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.js +1 -0
- package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.js +3 -2
- package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
- package/.internal/charts/xy/XYChart.js +1 -1
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.js +2 -4
- package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.js +2 -4
- 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 +3 -5
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +3 -5
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +2 -4
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts +2 -0
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +31 -5
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/core/Classes.d.ts +7 -5
- package/.internal/core/Classes.d.ts.map +1 -1
- package/.internal/core/Classes.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/render/Graphics.d.ts.map +1 -1
- package/.internal/core/render/Graphics.js +1 -1
- package/.internal/core/render/Graphics.js.map +1 -1
- package/.internal/core/render/Series.d.ts +22 -0
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +1 -1
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +1 -1
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +3 -3
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +17 -16
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/patterns/GrainPattern.d.ts +6 -5
- package/.internal/core/render/patterns/GrainPattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/GrainPattern.js.map +1 -1
- package/.internal/core/util/Percent.d.ts +2 -1
- package/.internal/core/util/Percent.d.ts.map +1 -1
- package/.internal/core/util/Percent.js +2 -1
- package/.internal/core/util/Percent.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +6 -7
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/.internal/plugins/json/Classes-script.d.ts +16 -0
- package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
- package/.internal/plugins/json/Classes-script.js +8 -0
- package/.internal/plugins/json/Classes-script.js.map +1 -1
- package/.internal/plugins/json/Classes.d.ts +16 -0
- package/.internal/plugins/json/Classes.d.ts.map +1 -1
- package/.internal/plugins/json/Classes.js +8 -0
- package/.internal/plugins/json/Classes.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-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-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
- package/stock.d.ts +2 -0
- package/stock.d.ts.map +1 -1
- package/stock.js +2 -0
- package/stock.js.map +1 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { RectangleSeries } from "./RectangleSeries";
|
|
2
|
+
import { Template } from "../../../core/util/Template";
|
|
3
|
+
import { ListTemplate } from "../../../core/util/List";
|
|
4
|
+
import { Label } from "../../../core/render/Label";
|
|
5
|
+
import { DataItem } from "../../../core/render/Component";
|
|
6
|
+
import { RoundedRectangle } from "../../../core/render/RoundedRectangle";
|
|
7
|
+
import * as $type from "../../../core/util/Type";
|
|
8
|
+
export class Measure extends RectangleSeries {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
Object.defineProperty(this, "_lines", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: []
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(this, "_labels", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true,
|
|
21
|
+
value: []
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(this, "_tag", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: "measure"
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* A list of labels.
|
|
31
|
+
*
|
|
32
|
+
* `labels.template` can be used to configure axis labels.
|
|
33
|
+
*
|
|
34
|
+
* @default new ListTemplate<Label>
|
|
35
|
+
*/
|
|
36
|
+
Object.defineProperty(this, "labels", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
configurable: true,
|
|
39
|
+
writable: true,
|
|
40
|
+
value: new ListTemplate(Template.new({}), () => Label._new(this._root, {}, [this.labels.template]))
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
_afterNew() {
|
|
44
|
+
super._afterNew();
|
|
45
|
+
this.set("snapToData", true);
|
|
46
|
+
this.strokes.template.set("templateField", undefined);
|
|
47
|
+
this.fills.template.set("templateField", undefined);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @ignore
|
|
51
|
+
*/
|
|
52
|
+
makeLabel() {
|
|
53
|
+
const label = this.labels.make();
|
|
54
|
+
this.bulletsContainer.children.push(label);
|
|
55
|
+
label.setAll({
|
|
56
|
+
populateText: true,
|
|
57
|
+
background: RoundedRectangle.new(this._root, { themeTags: ["background"] })
|
|
58
|
+
});
|
|
59
|
+
label._setDataItem(new DataItem(this, {}, {}));
|
|
60
|
+
this.labels.push(label);
|
|
61
|
+
return label;
|
|
62
|
+
}
|
|
63
|
+
_createElements(index) {
|
|
64
|
+
super._createElements(index);
|
|
65
|
+
if (!this._labels[index]) {
|
|
66
|
+
const label = this.makeLabel();
|
|
67
|
+
this._labels[index] = label;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
_disposeIndex(index) {
|
|
71
|
+
super._disposeIndex(index);
|
|
72
|
+
const label = this._labels[index];
|
|
73
|
+
if (label) {
|
|
74
|
+
label.dispose();
|
|
75
|
+
delete (this._labels[index]);
|
|
76
|
+
}
|
|
77
|
+
const line = this._lines[index];
|
|
78
|
+
if (line) {
|
|
79
|
+
line.dispose();
|
|
80
|
+
delete (this._lines[index]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
_updateOthers(index, fillGraphics, p1, p2) {
|
|
84
|
+
const xAxis = this.get("xAxis");
|
|
85
|
+
const panel = xAxis.chart;
|
|
86
|
+
const line = this._lines[index];
|
|
87
|
+
let positiveColor = this._root.interfaceColors.get("positive");
|
|
88
|
+
let negativeColor = this._root.interfaceColors.get("negative");
|
|
89
|
+
const stockChart = panel.getPrivate("stockChart");
|
|
90
|
+
let volumeSeries;
|
|
91
|
+
if (stockChart) {
|
|
92
|
+
positiveColor = stockChart.get("stockPositiveColor", positiveColor);
|
|
93
|
+
negativeColor = stockChart.get("stockNegativeColor", negativeColor);
|
|
94
|
+
volumeSeries = stockChart.get("volumeSeries");
|
|
95
|
+
}
|
|
96
|
+
let ix = 1;
|
|
97
|
+
if (p1.x > p2.x) {
|
|
98
|
+
ix = -1;
|
|
99
|
+
}
|
|
100
|
+
const label = this._labels[index];
|
|
101
|
+
const labelBg = label.get("background");
|
|
102
|
+
const diP1 = this._di[index]["p1"];
|
|
103
|
+
const diP2 = this._di[index]["p2"];
|
|
104
|
+
let color = positiveColor;
|
|
105
|
+
let iy = 1;
|
|
106
|
+
if (p1.y > p2.y) {
|
|
107
|
+
iy = -1;
|
|
108
|
+
color = negativeColor;
|
|
109
|
+
}
|
|
110
|
+
fillGraphics.set("fill", color);
|
|
111
|
+
line.set("stroke", color);
|
|
112
|
+
labelBg.set("fill", color);
|
|
113
|
+
this.outerCircles.each((outerCircle) => {
|
|
114
|
+
outerCircle.set("stroke", color);
|
|
115
|
+
});
|
|
116
|
+
const mx = p1.x + (p2.x - p1.x) / 2;
|
|
117
|
+
const my = p1.y + (p2.y - p1.y) / 2;
|
|
118
|
+
line.set("segments", [[[{ x: mx, y: p1.y }, { x: mx, y: p2.y }]], [[{ x: mx - 5, y: p2.y - 5 * iy }, { x: mx, y: p2.y }, { x: mx + 5, y: p2.y - 5 * iy }]], [[{ x: p1.x, y: my }, { x: p2.x, y: my }]], [[{ x: p2.x - 5 * ix, y: my - 5 }, { x: p2.x, y: my }, { x: p2.x - 5 * ix, y: my + 5 }]]]);
|
|
119
|
+
const value1 = diP1.get("valueY", 0);
|
|
120
|
+
const value2 = diP2.get("valueY", 0);
|
|
121
|
+
const numberFormatter = this.getNumberFormatter();
|
|
122
|
+
const value = numberFormatter.format((value2 - value1));
|
|
123
|
+
const percent = numberFormatter.format((value2 - value1) / value1 * 100) + "%";
|
|
124
|
+
const baseInterval = xAxis.getPrivate("baseInterval");
|
|
125
|
+
const time1 = diP1.get("valueX", 0);
|
|
126
|
+
const time2 = diP2.get("valueX", 0);
|
|
127
|
+
const series = this.get("series");
|
|
128
|
+
let count = 0;
|
|
129
|
+
if (series) {
|
|
130
|
+
const di1 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time1));
|
|
131
|
+
const di2 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time2));
|
|
132
|
+
if (di1 && di2) {
|
|
133
|
+
count = series.dataItems.indexOf(di2) - series.dataItems.indexOf(di1) + 1;
|
|
134
|
+
if (this.get("snapToData")) {
|
|
135
|
+
count--;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
let intervalCount = Math.ceil((time2 - time1) / xAxis.baseDuration() * baseInterval.count);
|
|
140
|
+
if (intervalCount < count) {
|
|
141
|
+
intervalCount = count;
|
|
142
|
+
}
|
|
143
|
+
let volume = 0;
|
|
144
|
+
if (volumeSeries) {
|
|
145
|
+
const div1 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time1));
|
|
146
|
+
const div2 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time2));
|
|
147
|
+
if (div1 && div2) {
|
|
148
|
+
const dataItems = volumeSeries.dataItems;
|
|
149
|
+
let i1 = dataItems.indexOf(div1);
|
|
150
|
+
let i2 = dataItems.indexOf(div2);
|
|
151
|
+
if (i1 > i2) {
|
|
152
|
+
[i1, i2] = [i2, i1];
|
|
153
|
+
}
|
|
154
|
+
for (let i = i1; i < i2; i++) {
|
|
155
|
+
const dataItem = dataItems[i];
|
|
156
|
+
if (dataItem) {
|
|
157
|
+
const value = dataItem.get("valueY");
|
|
158
|
+
if ($type.isNumber(value)) {
|
|
159
|
+
volume += value;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
let text = this.get("labelText", "");
|
|
166
|
+
if (volume > 0) {
|
|
167
|
+
text += this.get("labelVolumeText");
|
|
168
|
+
}
|
|
169
|
+
const unitNames = {
|
|
170
|
+
millisecond: "ms",
|
|
171
|
+
second: "s",
|
|
172
|
+
minute: "m",
|
|
173
|
+
hour: "h",
|
|
174
|
+
day: "d",
|
|
175
|
+
week: "wk",
|
|
176
|
+
month: "mo",
|
|
177
|
+
year: "y"
|
|
178
|
+
};
|
|
179
|
+
label.dataItem.dataContext = {
|
|
180
|
+
value: value,
|
|
181
|
+
percent: percent,
|
|
182
|
+
count: count,
|
|
183
|
+
intervalCount: intervalCount,
|
|
184
|
+
intervalUnit: this._root.language.translateAny(unitNames[baseInterval.timeUnit]),
|
|
185
|
+
volume: volume
|
|
186
|
+
};
|
|
187
|
+
label.setAll({
|
|
188
|
+
text: text,
|
|
189
|
+
x: mx,
|
|
190
|
+
y: my
|
|
191
|
+
});
|
|
192
|
+
label.text.markDirtyText();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
Object.defineProperty(Measure, "className", {
|
|
196
|
+
enumerable: true,
|
|
197
|
+
configurable: true,
|
|
198
|
+
writable: true,
|
|
199
|
+
value: "Measure"
|
|
200
|
+
});
|
|
201
|
+
Object.defineProperty(Measure, "classNames", {
|
|
202
|
+
enumerable: true,
|
|
203
|
+
configurable: true,
|
|
204
|
+
writable: true,
|
|
205
|
+
value: RectangleSeries.classNames.concat([Measure.className])
|
|
206
|
+
});
|
|
207
|
+
//# sourceMappingURL=Measure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Measure.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/Measure.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../../core/util/IPoint\";\r\nimport type { Line } from \"../../../core/render/Line\";\r\nimport type { XYSeries } from \"../../xy/series/XYSeries\";\r\nimport type { StockPanel } from \"../StockPanel\";\r\nimport type { Graphics } from \"../../../core/render/Graphics\";\r\n\r\nimport { RectangleSeries, IRectangleSeriesSettings, IRectangleSeriesPrivate, IRectangleSeriesDataItem } from \"./RectangleSeries\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Label } from \"../../../core/render/Label\";\r\nimport { DataItem } from \"../../../core/render/Component\";\r\nimport { RoundedRectangle } from \"../../../core/render/RoundedRectangle\";\r\n\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport interface IMeasureDataItem extends IRectangleSeriesDataItem {\r\n}\r\n\r\nexport interface IMeasureSettings extends IRectangleSeriesSettings {\r\n\tlabelText?: string;\r\n\tlabelVolumeText?: string;\r\n}\r\n\r\nexport interface IMeasurePrivate extends IRectangleSeriesPrivate {\r\n}\r\n\r\nexport class Measure extends RectangleSeries {\r\n\tpublic static className: string = \"Measure\";\r\n\tpublic static classNames: Array<string> = RectangleSeries.classNames.concat([Measure.className]);\r\n\r\n\tdeclare public _settings: IMeasureSettings;\r\n\tdeclare public _privateSettings: IMeasurePrivate;\r\n\tdeclare public _dataItemSettings: IMeasureDataItem;\r\n\r\n\tprotected _lines: Array<Line> = [];\r\n\tprotected _labels: Array<Label> = [];\r\n\r\n\tprotected _tag = \"measure\";\r\n\r\n\tpublic _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.set(\"snapToData\", true);\r\n\t\tthis.strokes.template.set(\"templateField\", undefined);\r\n\t\tthis.fills.template.set(\"templateField\", undefined);\r\n\t}\r\n\r\n\t/**\r\n\t * A list of labels.\r\n\t *\r\n\t * `labels.template` can be used to configure axis labels.\r\n\t *\r\n\t * @default new ListTemplate<Label>\r\n\t */\r\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Label._new(this._root, {}, [this.labels.template])\r\n\t);\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLabel(): Label {\r\n\t\tconst label = this.labels.make();\r\n\t\tthis.bulletsContainer.children.push(label);\r\n\t\tlabel.setAll({\r\n\t\t\tpopulateText: true,\r\n\t\t\tbackground: RoundedRectangle.new(this._root, { themeTags: [\"background\"] })\r\n\t\t});\r\n\t\tlabel._setDataItem(new DataItem(this, {}, {}));\r\n\t\tthis.labels.push(label);\r\n\t\treturn label;\r\n\t}\r\n\r\n\tprotected _createElements(index: number) {\r\n\t\tsuper._createElements(index);\r\n\t\tif (!this._labels[index]) {\r\n\t\t\tconst label = this.makeLabel();\r\n\t\t\tthis._labels[index] = label;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _disposeIndex(index: number) {\r\n\t\tsuper._disposeIndex(index);\r\n\t\tconst label = this._labels[index];\r\n\t\tif (label) {\r\n\t\t\tlabel.dispose();\r\n\t\t\tdelete (this._labels[index]);\r\n\t\t}\r\n\r\n\t\tconst line = this._lines[index];\r\n\t\tif (line) {\r\n\t\t\tline.dispose();\r\n\t\t\tdelete (this._lines[index]);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateOthers(index: number, fillGraphics: Graphics, p1: IPoint, p2: IPoint) {\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\tconst panel = xAxis.chart as StockPanel;\r\n\t\tconst line = this._lines[index];\r\n\r\n\t\tlet positiveColor = this._root.interfaceColors.get(\"positive\");\r\n\t\tlet negativeColor = this._root.interfaceColors.get(\"negative\");\r\n\r\n\t\tconst stockChart = panel.getPrivate(\"stockChart\");\r\n\r\n\t\tlet volumeSeries: XYSeries | undefined;\r\n\r\n\t\tif (stockChart) {\r\n\t\t\tpositiveColor = stockChart.get(\"stockPositiveColor\", positiveColor);\r\n\t\t\tnegativeColor = stockChart.get(\"stockNegativeColor\", negativeColor);\r\n\t\t\tvolumeSeries = stockChart.get(\"volumeSeries\");\r\n\t\t}\r\n\r\n\t\tlet ix = 1;\r\n\t\tif (p1.x > p2.x) {\r\n\t\t\tix = -1;\r\n\t\t}\r\n\r\n\t\tconst label = this._labels[index];\r\n\t\tconst labelBg = label.get(\"background\")!;\r\n\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\t\tlet color = positiveColor;\r\n\t\tlet iy = 1;\r\n\t\tif (p1.y > p2.y) {\r\n\t\t\tiy = -1;\r\n\t\t\tcolor = negativeColor;\r\n\t\t}\r\n\r\n\t\tfillGraphics.set(\"fill\", color);\r\n\t\tline.set(\"stroke\", color);\r\n\t\tlabelBg.set(\"fill\", color);\r\n\r\n\t\tthis.outerCircles.each((outerCircle) => {\r\n\t\t\touterCircle.set(\"stroke\", color);\r\n\t\t})\r\n\r\n\t\tconst mx = p1.x + (p2.x - p1.x) / 2;\r\n\t\tconst my = p1.y + (p2.y - p1.y) / 2;\r\n\r\n\t\tline.set(\"segments\", [[[{ x: mx, y: p1.y }, { x: mx, y: p2.y }]], [[{ x: mx - 5, y: p2.y - 5 * iy }, { x: mx, y: p2.y }, { x: mx + 5, y: p2.y - 5 * iy }]], [[{ x: p1.x, y: my }, { x: p2.x, y: my }]], [[{ x: p2.x - 5 * ix, y: my - 5 }, { x: p2.x, y: my }, { x: p2.x - 5 * ix, y: my + 5 }]]]);\r\n\r\n\t\tconst value1 = diP1.get(\"valueY\", 0);\r\n\t\tconst value2 = diP2.get(\"valueY\", 0);\r\n\r\n\t\tconst numberFormatter = this.getNumberFormatter();\r\n\t\tconst value = numberFormatter.format((value2 - value1));\r\n\t\tconst percent = numberFormatter.format((value2 - value1) / value1 * 100) + \"%\";\r\n\t\tconst baseInterval = xAxis.getPrivate(\"baseInterval\");\r\n\r\n\t\tconst time1 = diP1.get(\"valueX\", 0);\r\n\t\tconst time2 = diP2.get(\"valueX\", 0);\r\n\r\n\t\tconst series = this.get(\"series\");\r\n\r\n\t\tlet count = 0;\r\n\t\tif (series) {\r\n\t\t\tconst di1 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time1));\r\n\t\t\tconst di2 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time2));\r\n\t\t\tif (di1 && di2) {\r\n\t\t\t\tcount = series.dataItems.indexOf(di2) - series.dataItems.indexOf(di1) + 1;\r\n\r\n\t\t\t\tif (this.get(\"snapToData\")) {\r\n\t\t\t\t\tcount--;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet intervalCount = Math.ceil((time2 - time1) / xAxis.baseDuration() * baseInterval.count);\r\n\t\tif (intervalCount < count) {\r\n\t\t\tintervalCount = count;\r\n\t\t}\r\n\r\n\r\n\t\tlet volume = 0;\r\n\t\tif (volumeSeries) {\r\n\t\t\tconst div1 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time1));\r\n\t\t\tconst div2 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time2));\r\n\r\n\t\t\tif (div1 && div2) {\r\n\t\t\t\tconst dataItems = volumeSeries.dataItems;\r\n\t\t\t\tlet i1 = dataItems.indexOf(div1);\r\n\t\t\t\tlet i2 = dataItems.indexOf(div2);\r\n\r\n\t\t\t\tif(i1 > i2){\r\n\t\t\t\t\t[i1, i2] = [i2, i1];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (let i = i1; i < i2; i++) {\r\n\t\t\t\t\tconst dataItem = dataItems[i];\r\n\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\tconst value = dataItem.get(\"valueY\");\r\n\t\t\t\t\t\tif ($type.isNumber(value)) {\r\n\t\t\t\t\t\t\tvolume += value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tlet text = this.get(\"labelText\", \"\");\r\n\t\tif (volume > 0) {\r\n\t\t\ttext += this.get(\"labelVolumeText\");\r\n\t\t}\r\n\r\n\t\tconst unitNames = {\r\n\t\t\tmillisecond: \"ms\",\r\n\t\t\tsecond: \"s\",\r\n\t\t\tminute: \"m\",\r\n\t\t\thour: \"h\",\r\n\t\t\tday: \"d\",\r\n\t\t\tweek: \"wk\",\r\n\t\t\tmonth: \"mo\",\r\n\t\t\tyear: \"y\"\r\n\t\t}\r\n\r\n\t\tlabel.dataItem!.dataContext = {\r\n\t\t\tvalue: value,\r\n\t\t\tpercent: percent,\r\n\t\t\tcount: count,\r\n\t\t\tintervalCount: intervalCount,\r\n\t\t\tintervalUnit: this._root.language.translateAny(unitNames[baseInterval.timeUnit]),\r\n\t\t\tvolume: volume\r\n\t\t};\r\n\r\n\t\tlabel.setAll({\r\n\t\t\ttext: text,\r\n\t\t\tx: mx,\r\n\t\t\ty: my\r\n\t\t});\r\n\r\n\t\tlabel.text.markDirtyText();\r\n\t}\r\n\r\n}"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ISpritePointerEvent } from "../../../core/render/Sprite";
|
|
2
2
|
import type { DataItem } from "../../../core/render/Component";
|
|
3
3
|
import type { IPoint } from "../../../core/util/IPoint";
|
|
4
|
+
import { Line } from "../../../core/render/Line";
|
|
4
5
|
import { DrawingSeries, IDrawingSeriesSettings, IDrawingSeriesPrivate, IDrawingSeriesDataItem } from "./DrawingSeries";
|
|
5
6
|
export interface IPolylineSeriesDataItem extends IDrawingSeriesDataItem {
|
|
6
7
|
}
|
|
@@ -16,12 +17,16 @@ export declare class PolylineSeries extends DrawingSeries {
|
|
|
16
17
|
_dataItemSettings: IPolylineSeriesDataItem;
|
|
17
18
|
protected _pIndex: number;
|
|
18
19
|
protected _tag: string;
|
|
20
|
+
protected _drawingLine: Line;
|
|
19
21
|
protected _handlePointerClick(event: ISpritePointerEvent): void;
|
|
20
22
|
protected _handleBulletDragStop(event: ISpritePointerEvent): void;
|
|
23
|
+
disableDrawing(): void;
|
|
21
24
|
protected _afterDataChange(): void;
|
|
25
|
+
clearDrawings(): void;
|
|
22
26
|
protected _addPoint(event: ISpritePointerEvent): void;
|
|
23
27
|
protected _checkClosing(event: ISpritePointerEvent): void;
|
|
24
28
|
protected _handleClosing(dataItem: DataItem<this["_dataItemSettings"]>, point: IPoint): void;
|
|
29
|
+
protected _handlePointerMove(event: ISpritePointerEvent): void;
|
|
25
30
|
protected _updateElements(): void;
|
|
26
31
|
}
|
|
27
32
|
//# sourceMappingURL=PolylineSeries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolylineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/PolylineSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"PolylineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/PolylineSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAIvH,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB;CAAI;AAE3E,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB;CAAI;AAE3E,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;CAAI;AAEzE,qBAAa,cAAe,SAAQ,aAAa;IAChD,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA+D;IAEvF,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,iBAAiB,EAAE,uBAAuB,CAAC;IAG1D,SAAS,CAAC,OAAO,EAAE,MAAM,CAAK;IAE9B,SAAS,CAAC,IAAI,SAAc;IAE5B,SAAS,CAAC,YAAY,EAAE,IAAI,CAAmF;IAE/G,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB;IAsBxD,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,mBAAmB;IAKnD,cAAc;IAKrB,SAAS,CAAC,gBAAgB;IAanB,aAAa,IAAI,IAAI;IAK5B,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB;IA2B9C,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,mBAAmB;IASlD,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAsBrF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,mBAAmB;IAoBvD,SAAS,CAAC,eAAe;CA+BzB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Line } from "../../../core/render/Line";
|
|
1
2
|
import { DrawingSeries } from "./DrawingSeries";
|
|
2
3
|
import * as $array from "../../../core/util/Array";
|
|
3
4
|
export class PolylineSeries extends DrawingSeries {
|
|
@@ -16,6 +17,12 @@ export class PolylineSeries extends DrawingSeries {
|
|
|
16
17
|
writable: true,
|
|
17
18
|
value: "polyline"
|
|
18
19
|
});
|
|
20
|
+
Object.defineProperty(this, "_drawingLine", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true,
|
|
23
|
+
writable: true,
|
|
24
|
+
value: this.mainContainer.children.push(Line.new(this._root, { forceInactive: true }))
|
|
25
|
+
});
|
|
19
26
|
}
|
|
20
27
|
_handlePointerClick(event) {
|
|
21
28
|
if (this._drawingEnabled) {
|
|
@@ -29,14 +36,20 @@ export class PolylineSeries extends DrawingSeries {
|
|
|
29
36
|
if (this._pIndex == 0) {
|
|
30
37
|
this.data.push({ stroke: this._getStrokeTemplate(), index: this._index, corner: "e" });
|
|
31
38
|
}
|
|
39
|
+
this._drawingLine.show();
|
|
32
40
|
this._addPoint(event);
|
|
33
41
|
}
|
|
42
|
+
this._drawingLine.set("stroke", this.get("strokeColor"));
|
|
34
43
|
}
|
|
35
44
|
}
|
|
36
45
|
_handleBulletDragStop(event) {
|
|
37
46
|
super._handleBulletDragStop(event);
|
|
38
47
|
this._checkClosing(event);
|
|
39
48
|
}
|
|
49
|
+
disableDrawing() {
|
|
50
|
+
super.disableDrawing();
|
|
51
|
+
this._drawingLine.hide();
|
|
52
|
+
}
|
|
40
53
|
_afterDataChange() {
|
|
41
54
|
super._afterDataChange();
|
|
42
55
|
const dataItems = this.dataItems;
|
|
@@ -48,6 +61,10 @@ export class PolylineSeries extends DrawingSeries {
|
|
|
48
61
|
}
|
|
49
62
|
}
|
|
50
63
|
}
|
|
64
|
+
clearDrawings() {
|
|
65
|
+
super.clearDrawings();
|
|
66
|
+
this._drawingLine.hide();
|
|
67
|
+
}
|
|
51
68
|
_addPoint(event) {
|
|
52
69
|
const chart = this.chart;
|
|
53
70
|
if (chart) {
|
|
@@ -55,7 +72,7 @@ export class PolylineSeries extends DrawingSeries {
|
|
|
55
72
|
const yAxis = this.get("yAxis");
|
|
56
73
|
const point = chart.plotContainer.toLocal(event.point);
|
|
57
74
|
const valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(point.x)));
|
|
58
|
-
const valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)));
|
|
75
|
+
const valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueX);
|
|
59
76
|
const dataItems = this.dataItems;
|
|
60
77
|
const len = dataItems.length;
|
|
61
78
|
this.data.push({ valueY: valueY, valueX: valueX, index: this._index, corner: this._pIndex });
|
|
@@ -89,12 +106,30 @@ export class PolylineSeries extends DrawingSeries {
|
|
|
89
106
|
dataContext.closing = true;
|
|
90
107
|
this._pIndex = 0;
|
|
91
108
|
this.data.push({ stroke: this._getStrokeTemplate(), index: index + 1, corner: "e" });
|
|
109
|
+
this._drawingLine.hide();
|
|
92
110
|
}
|
|
93
111
|
}
|
|
94
112
|
}
|
|
95
113
|
}
|
|
96
114
|
}
|
|
97
115
|
}
|
|
116
|
+
_handlePointerMove(event) {
|
|
117
|
+
super._handlePointerMove(event);
|
|
118
|
+
if (this._isDrawing) {
|
|
119
|
+
const movePoint = this._movePointerPoint;
|
|
120
|
+
if (movePoint) {
|
|
121
|
+
const dataItems = this.dataItems;
|
|
122
|
+
const len = dataItems.length;
|
|
123
|
+
if (len > 0) {
|
|
124
|
+
const lastItem = dataItems[len - 1];
|
|
125
|
+
const point = lastItem.get("point");
|
|
126
|
+
if (point) {
|
|
127
|
+
this._drawingLine.set("points", [point, movePoint]);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
98
133
|
_updateElements() {
|
|
99
134
|
$array.each(this.dataItems, (dataItem) => {
|
|
100
135
|
const dataContext = dataItem.dataContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolylineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/PolylineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { IPoint } from \"../../../core/util/IPoint\";\r\n\r\nimport { DrawingSeries, IDrawingSeriesSettings, IDrawingSeriesPrivate, IDrawingSeriesDataItem } from \"./DrawingSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPolylineSeriesDataItem extends IDrawingSeriesDataItem { }\r\n\r\nexport interface IPolylineSeriesSettings extends IDrawingSeriesSettings { }\r\n\r\nexport interface IPolylineSeriesPrivate extends IDrawingSeriesPrivate { }\r\n\r\nexport class PolylineSeries extends DrawingSeries {\r\n\tpublic static className: string = \"PolylineSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([PolylineSeries.className]);\r\n\r\n\tdeclare public _settings: IPolylineSeriesSettings;\r\n\tdeclare public _privateSettings: IPolylineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IPolylineSeriesDataItem;\r\n\r\n\t// point index in segment\r\n\tprotected _pIndex: number = 0;\r\n\r\n\tprotected _tag = \"polyline\";\r\n\r\n\tprotected _handlePointerClick(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tsuper._handlePointerClick(event);\r\n\r\n\t\t\tif (!this._isDragging) {\r\n\t\t\t\tthis._isDrawing = true;\r\n\t\t\t\t// for consistency with other series\r\n\t\t\t\tif (this._index == 0) {\r\n\t\t\t\t\tthis._index = 1;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this._pIndex == 0) {\r\n\t\t\t\t\tthis.data.push({ stroke: this._getStrokeTemplate(), index: this._index, corner:\"e\" });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._addPoint(event);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleBulletDragStop(event: ISpritePointerEvent) {\r\n\t\tsuper._handleBulletDragStop(event);\r\n\t\tthis._checkClosing(event);\r\n\t}\r\n\r\n\tprotected _afterDataChange() {\r\n\t\tsuper._afterDataChange();\r\n\t\tconst dataItems = this.dataItems;\r\n\t\tif (dataItems.length > 0) {\r\n\t\t\tconst lastDataItem = dataItems[dataItems.length - 1];\r\n\t\t\tconst dataContext = lastDataItem.dataContext as any;\r\n\t\t\tif (dataContext.closing) {\r\n\t\t\t\tthis._pIndex = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tprotected _addPoint(event: ISpritePointerEvent) {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\tconst point = chart.plotContainer.toLocal(event.point);\r\n\r\n\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(point.x)));\r\n\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)));\r\n\r\n\t\t\tconst dataItems = this.dataItems;\r\n\t\t\tconst len = dataItems.length;\r\n\r\n\t\t\tthis.data.push({ valueY: valueY, valueX: valueX, index: this._index, corner: this._pIndex });\r\n\t\t\tthis.setPrivate(\"startIndex\", 0);\r\n\t\t\tthis.setPrivate(\"endIndex\", len);\r\n\r\n\t\t\tconst dataItem = dataItems[len];\r\n\t\t\tthis._positionBullets(dataItem);\r\n\t\t\tthis._setXLocation(dataItem, valueX);\r\n\r\n\t\t\tthis._pIndex++;\r\n\t\t\tthis._handleClosing(dataItem, point);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _checkClosing(event: ISpritePointerEvent) {\r\n\t\tconst dataItem = event.target.dataItem;\r\n\t\tif (dataItem) {\r\n\t\t\tconst sprite = event.target;\r\n\t\t\tconst point = { x: sprite.x(), y: sprite.y() }\r\n\t\t\tthis._handleClosing(dataItem, point);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleClosing(dataItem: DataItem<this[\"_dataItemSettings\"]>, point: IPoint) {\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (!dataContext.closing) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tif (this._di[index]) {\r\n\t\t\t\tconst firstDataItem = this._di[index][0];\r\n\r\n\t\t\t\tif (firstDataItem && firstDataItem != dataItem) {\r\n\t\t\t\t\tconst dPoint = firstDataItem.get(\"point\");\r\n\t\t\t\t\tif (dPoint) {\r\n\t\t\t\t\t\tif (Math.hypot(point.x - dPoint.x, point.y - dPoint.y) < 5) {\r\n\t\t\t\t\t\t\tdataContext.closing = true;\r\n\t\t\t\t\t\t\tthis._pIndex = 0;\r\n\t\t\t\t\t\t\tthis.data.push({ stroke: this._getStrokeTemplate(), index: index + 1, corner: \"e\" });\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateElements() {\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\tif (dataContext) {\r\n\t\t\t\tconst closing = dataContext.closing;\r\n\t\t\t\tif (closing) {\r\n\t\t\t\t\tif (this._di[dataContext.index]) {\r\n\t\t\t\t\t\tconst closingDataItem = this._di[dataContext.index][0];\r\n\t\t\t\t\t\tconst valueX = closingDataItem.get(\"valueX\", 0);\r\n\t\t\t\t\t\tconst valueY = closingDataItem.get(\"valueY\");\r\n\r\n\t\t\t\t\t\tthis._setContext(dataItem, \"valueX\", valueX);\r\n\t\t\t\t\t\tthis._setContext(dataItem, \"valueY\", valueY, true);\r\n\r\n\t\t\t\t\t\tthis._setXLocation(dataItem, valueX);\r\n\t\t\t\t\t\tthis._positionBullets(dataItem);\r\n\r\n\t\t\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\t\t\tif (bullets) {\r\n\t\t\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"PolylineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/PolylineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { IPoint } from \"../../../core/util/IPoint\";\r\nimport { Line } from \"../../../core/render/Line\";\r\n\r\nimport { DrawingSeries, IDrawingSeriesSettings, IDrawingSeriesPrivate, IDrawingSeriesDataItem } from \"./DrawingSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPolylineSeriesDataItem extends IDrawingSeriesDataItem { }\r\n\r\nexport interface IPolylineSeriesSettings extends IDrawingSeriesSettings { }\r\n\r\nexport interface IPolylineSeriesPrivate extends IDrawingSeriesPrivate { }\r\n\r\nexport class PolylineSeries extends DrawingSeries {\r\n\tpublic static className: string = \"PolylineSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([PolylineSeries.className]);\r\n\r\n\tdeclare public _settings: IPolylineSeriesSettings;\r\n\tdeclare public _privateSettings: IPolylineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IPolylineSeriesDataItem;\r\n\r\n\t// point index in segment\r\n\tprotected _pIndex: number = 0;\r\n\r\n\tprotected _tag = \"polyline\";\r\n\r\n\tprotected _drawingLine: Line = this.mainContainer.children.push(Line.new(this._root, { forceInactive: true }));\r\n\r\n\tprotected _handlePointerClick(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tsuper._handlePointerClick(event);\r\n\r\n\t\t\tif (!this._isDragging) {\r\n\t\t\t\tthis._isDrawing = true;\r\n\t\t\t\t// for consistency with other series\r\n\t\t\t\tif (this._index == 0) {\r\n\t\t\t\t\tthis._index = 1;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this._pIndex == 0) {\r\n\t\t\t\t\tthis.data.push({ stroke: this._getStrokeTemplate(), index: this._index, corner: \"e\" });\r\n\t\t\t\t}\r\n\t\t\t\tthis._drawingLine.show();\r\n\t\t\t\tthis._addPoint(event);\r\n\t\t\t}\r\n\r\n\t\t\tthis._drawingLine.set(\"stroke\", this.get(\"strokeColor\"));\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleBulletDragStop(event: ISpritePointerEvent) {\r\n\t\tsuper._handleBulletDragStop(event);\r\n\t\tthis._checkClosing(event);\r\n\t}\r\n\r\n\tpublic disableDrawing() {\r\n\t\tsuper.disableDrawing();\r\n\t\tthis._drawingLine.hide();\r\n\t}\r\n\r\n\tprotected _afterDataChange() {\r\n\t\tsuper._afterDataChange();\r\n\t\tconst dataItems = this.dataItems;\r\n\t\tif (dataItems.length > 0) {\r\n\t\t\tconst lastDataItem = dataItems[dataItems.length - 1];\r\n\t\t\tconst dataContext = lastDataItem.dataContext as any;\r\n\t\t\tif (dataContext.closing) {\r\n\t\t\t\tthis._pIndex = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic clearDrawings(): void {\r\n\t\tsuper.clearDrawings();\r\n\t\tthis._drawingLine.hide();\r\n\t}\r\n\r\n\tprotected _addPoint(event: ISpritePointerEvent) {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\tconst point = chart.plotContainer.toLocal(event.point);\r\n\r\n\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(point.x)));\r\n\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueX);\r\n\r\n\t\t\tconst dataItems = this.dataItems;\r\n\t\t\tconst len = dataItems.length;\r\n\r\n\t\t\tthis.data.push({ valueY: valueY, valueX: valueX, index: this._index, corner: this._pIndex });\r\n\t\t\tthis.setPrivate(\"startIndex\", 0);\r\n\t\t\tthis.setPrivate(\"endIndex\", len);\r\n\r\n\t\t\tconst dataItem = dataItems[len];\r\n\t\t\tthis._positionBullets(dataItem);\r\n\t\t\tthis._setXLocation(dataItem, valueX);\r\n\r\n\t\t\tthis._pIndex++;\r\n\t\t\tthis._handleClosing(dataItem, point);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _checkClosing(event: ISpritePointerEvent) {\r\n\t\tconst dataItem = event.target.dataItem;\r\n\t\tif (dataItem) {\r\n\t\t\tconst sprite = event.target;\r\n\t\t\tconst point = { x: sprite.x(), y: sprite.y() }\r\n\t\t\tthis._handleClosing(dataItem, point);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleClosing(dataItem: DataItem<this[\"_dataItemSettings\"]>, point: IPoint) {\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (!dataContext.closing) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tif (this._di[index]) {\r\n\t\t\t\tconst firstDataItem = this._di[index][0];\r\n\r\n\t\t\t\tif (firstDataItem && firstDataItem != dataItem) {\r\n\t\t\t\t\tconst dPoint = firstDataItem.get(\"point\");\r\n\t\t\t\t\tif (dPoint) {\r\n\t\t\t\t\t\tif (Math.hypot(point.x - dPoint.x, point.y - dPoint.y) < 5) {\r\n\t\t\t\t\t\t\tdataContext.closing = true;\r\n\t\t\t\t\t\t\tthis._pIndex = 0;\r\n\t\t\t\t\t\t\tthis.data.push({ stroke: this._getStrokeTemplate(), index: index + 1, corner: \"e\" });\r\n\t\t\t\t\t\t\tthis._drawingLine.hide();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerMove(event: ISpritePointerEvent) {\r\n\t\tsuper._handlePointerMove(event);\r\n\t\tif (this._isDrawing) {\r\n\t\t\tconst movePoint = this._movePointerPoint;\r\n\r\n\t\t\tif (movePoint) {\r\n\t\t\t\tconst dataItems = this.dataItems;\r\n\t\t\t\tconst len = dataItems.length;\r\n\t\t\t\tif(len > 0){\r\n\t\t\t\t\tconst lastItem = dataItems[len - 1];\r\n\r\n\t\t\t\t\tconst point = lastItem.get(\"point\");\r\n\t\t\t\t\tif (point) {\r\n\t\t\t\t\t\tthis._drawingLine.set(\"points\", [point, movePoint]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateElements() {\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\tif (dataContext) {\r\n\t\t\t\tconst closing = dataContext.closing;\r\n\t\t\t\tif (closing) {\r\n\t\t\t\t\tif (this._di[dataContext.index]) {\r\n\t\t\t\t\t\tconst closingDataItem = this._di[dataContext.index][0];\r\n\t\t\t\t\t\tconst valueX = closingDataItem.get(\"valueX\", 0);\r\n\t\t\t\t\t\tconst valueY = closingDataItem.get(\"valueY\");\r\n\r\n\t\t\t\t\t\tthis._setContext(dataItem, \"valueX\", valueX);\r\n\t\t\t\t\t\tthis._setContext(dataItem, \"valueY\", valueY, true);\r\n\r\n\t\t\t\t\t\tthis._setXLocation(dataItem, valueX);\r\n\t\t\t\t\t\tthis._positionBullets(dataItem);\r\n\r\n\t\t\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\t\t\tif (bullets) {\r\n\t\t\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}"]}
|
|
@@ -2,12 +2,6 @@ import { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate,
|
|
|
2
2
|
export interface IQuadrantLineSeriesDataItem extends ISimpleLineSeriesDataItem {
|
|
3
3
|
}
|
|
4
4
|
export interface IQuadrantLineSeriesSettings extends ISimpleLineSeriesSettings {
|
|
5
|
-
/**
|
|
6
|
-
* Value field to use for calculations.
|
|
7
|
-
*
|
|
8
|
-
* @default "value"
|
|
9
|
-
*/
|
|
10
|
-
field: "open" | "value" | "low" | "high";
|
|
11
5
|
}
|
|
12
6
|
export interface IQuadrantLineSeriesPrivate extends ISimpleLineSeriesPrivate {
|
|
13
7
|
}
|
|
@@ -22,7 +16,6 @@ export declare class QuadrantLineSeries extends SimpleLineSeries {
|
|
|
22
16
|
protected _updateSegment(index: number): void;
|
|
23
17
|
_updateChildren(): void;
|
|
24
18
|
protected _drawFill(): void;
|
|
25
|
-
protected _setXLocation(): void;
|
|
26
19
|
protected _updateLine(): void;
|
|
27
20
|
}
|
|
28
21
|
//# sourceMappingURL=QuadrantLineSeries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuadrantLineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/QuadrantLineSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtI,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;CAC7E;AAED,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;
|
|
1
|
+
{"version":3,"file":"QuadrantLineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/QuadrantLineSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtI,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;CAC7E;AAED,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;CAC7E;AAED,MAAM,WAAW,0BAA2B,SAAQ,wBAAwB;CAC3E;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACvD,OAAc,SAAS,EAAE,MAAM,CAAwB;IACvD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsE;IAE9F,SAAS,EAAE,2BAA2B,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,iBAAiB,EAAE,2BAA2B,CAAC;IAE9D,SAAS,CAAC,IAAI,SAAc;IAE5B,SAAS,CAAC,SAAS;IAKnB,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM;IAuB/B,eAAe;IA4FtB,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,WAAW;CAGrB"}
|
|
@@ -14,27 +14,19 @@ export class QuadrantLineSeries extends SimpleLineSeries {
|
|
|
14
14
|
this.strokes.template.set("visible", false);
|
|
15
15
|
}
|
|
16
16
|
_updateSegment(index) {
|
|
17
|
-
const movePoint = this._movePointerPoint;
|
|
18
17
|
const diP1 = this._di[index]["p1"];
|
|
19
18
|
const diP2 = this._di[index]["p2"];
|
|
20
19
|
const series = this.get("series");
|
|
21
|
-
if (series &&
|
|
22
|
-
const xAxis = this.get("xAxis");
|
|
20
|
+
if (series && diP1 && diP2) {
|
|
23
21
|
let x1 = this._getXValue(diP1.get("valueX"));
|
|
24
22
|
let x2 = this._getXValue(diP2.get("valueX"));
|
|
25
|
-
const di1 = xAxis.getSeriesItem(series, Math.max(0, xAxis.valueToPosition(x1)));
|
|
26
|
-
const di2 = xAxis.getSeriesItem(series, Math.min(1, xAxis.valueToPosition(x2)));
|
|
27
23
|
const field = this.get("field") + "Y";
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
this._setContext(diP2, "valueX", x2);
|
|
35
|
-
this._positionBullets(diP1);
|
|
36
|
-
this._positionBullets(diP2);
|
|
37
|
-
}
|
|
24
|
+
let y1 = this._getYValue(diP1.get(field), x1);
|
|
25
|
+
let y2 = this._getYValue(diP2.get(field), x2);
|
|
26
|
+
this._setContext(diP1, "valueY", y1, true);
|
|
27
|
+
this._setContext(diP2, "valueY", y2, true);
|
|
28
|
+
this._positionBullets(diP1);
|
|
29
|
+
this._positionBullets(diP2);
|
|
38
30
|
}
|
|
39
31
|
}
|
|
40
32
|
_updateChildren() {
|
|
@@ -110,9 +102,6 @@ export class QuadrantLineSeries extends SimpleLineSeries {
|
|
|
110
102
|
}
|
|
111
103
|
_drawFill() {
|
|
112
104
|
}
|
|
113
|
-
// need to override so that location would not be set
|
|
114
|
-
_setXLocation() {
|
|
115
|
-
}
|
|
116
105
|
_updateLine() {
|
|
117
106
|
}
|
|
118
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuadrantLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/QuadrantLineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\n\r\nexport interface IQuadrantLineSeriesDataItem extends ISimpleLineSeriesDataItem {\r\n}\r\n\r\nexport interface IQuadrantLineSeriesSettings extends ISimpleLineSeriesSettings {\r\n\r\n\t/**\r\n\t * Value field to use for calculations.\r\n\t *\r\n\t * @default \"value\"\r\n\t */\r\n\tfield: \"open\" | \"value\" | \"low\" | \"high\";\r\n\r\n}\r\n\r\nexport interface IQuadrantLineSeriesPrivate extends ISimpleLineSeriesPrivate {\r\n}\r\n\r\nexport class QuadrantLineSeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"QuadrantLineSeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([QuadrantLineSeries.className]);\r\n\r\n\tdeclare public _settings: IQuadrantLineSeriesSettings;\r\n\tdeclare public _privateSettings: IQuadrantLineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IQuadrantLineSeriesDataItem;\r\n\r\n\tprotected _tag = \"quadrant\";\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.strokes.template.set(\"visible\", false);\r\n\t}\r\n\r\n\tprotected _updateSegment(index: number) {\r\n\t\tconst movePoint = this._movePointerPoint;\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\tconst series = this.get(\"series\");\r\n\r\n\t\tif (series && movePoint && diP1 && diP2) {\r\n\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\r\n\t\t\tlet x1 = this._getXValue(diP1.get(\"valueX\" as any));\r\n\t\t\tlet x2 = this._getXValue(diP2.get(\"valueX\" as any));\r\n\r\n\t\t\tconst di1 = xAxis.getSeriesItem(series, Math.max(0, xAxis.valueToPosition(x1)));\r\n\t\t\tconst di2 = xAxis.getSeriesItem(series, Math.min(1, xAxis.valueToPosition(x2)));\r\n\r\n\t\t\tconst field = this.get(\"field\") + \"Y\";\r\n\r\n\t\t\tif (di1 && di2) {\r\n\t\t\t\tlet y1 = di1.get(field as any);\r\n\t\t\t\tlet y2 = di2.get(field as any);\r\n\r\n\t\t\t\tthis._setContext(diP1, \"valueY\", y1, true);\r\n\t\t\t\tthis._setContext(diP2, \"valueY\", y2, true);\r\n\r\n\t\t\t\tthis._setContext(diP1, \"valueX\", x1);\r\n\t\t\t\tthis._setContext(diP2, \"valueX\", x2);\r\n\r\n\t\t\t\tthis._positionBullets(diP1);\r\n\t\t\t\tthis._positionBullets(diP2);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tconst chart = this.chart;\r\n\t\tthis.fills.clear();\r\n\t\tif (chart) {\r\n\t\t\tfor (let i = 0; i < this._lines.length; i++) {\r\n\t\t\t\tconst line = this._lines[i];\r\n\t\t\t\tif (line) {\r\n\t\t\t\t\tconst diP1 = this._di[i][\"p1\"];\r\n\t\t\t\t\tconst diP2 = this._di[i][\"p2\"];\r\n\t\t\t\t\tconst di = this._di[i][\"e\"];\r\n\t\t\t\t\tconst dataContext = di.dataContext as any;\r\n\r\n\t\t\t\t\tconst fill1 = this.makeFill(this.fills);\r\n\t\t\t\t\tconst fill2 = this.makeFill(this.fills);\r\n\r\n\t\t\t\t\tconst index = this.dataItems.indexOf(diP1);\r\n\t\t\t\t\tfor (let j = index; j >= 0; j--) {\r\n\t\t\t\t\t\tconst dataContext = this.dataItems[j].dataContext as any;\r\n\t\t\t\t\t\tconst template = dataContext.fill;\r\n\t\t\t\t\t\tif (template) {\r\n\t\t\t\t\t\t\tfill1.template = template;\r\n\t\t\t\t\t\t\tfill2.template = template;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst userData = [this.dataItems.indexOf(diP1), this.dataItems.indexOf(diP2)];\r\n\r\n\t\t\t\t\tlet fillColor = this.get(\"fillColor\", this.get(\"fill\"));\r\n\r\n\t\t\t\t\tconst fillTemplate = dataContext.fill;\r\n\r\n\t\t\t\t\tif (fillTemplate) {\r\n\t\t\t\t\t\tfillColor = fillTemplate.get(\"fill\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst settings = { userData: userData, fill: fillColor };\r\n\t\t\t\t\tfill1.setAll(settings);\r\n\t\t\t\t\tfill2.setAll(settings);\r\n\t\t\t\t\tfill2.set(\"forceInactive\", true);\r\n\r\n\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\tconst dy = (p2.y - p1.y) / 4;\r\n\t\t\t\t\t\tconst m1y = p1.y + dy;\r\n\t\t\t\t\t\tconst m2y = p1.y + dy * 2;\r\n\t\t\t\t\t\tconst m3y = p1.y + dy * 3;\r\n\r\n\t\t\t\t\t\tline.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, p1.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p1.y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m1y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m1y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m2y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m2y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m3y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m3y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, p2.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p2.y);\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\tfill1.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, p1.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p1.y);\r\n\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p2.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, p2.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, p1.y);\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\tfill2.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m1y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m1y);\r\n\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m3y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, m3y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, m1y);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _drawFill() {\r\n\r\n\t}\r\n\r\n\t// need to override so that location would not be set\r\n\tprotected _setXLocation() {\r\n\r\n\t}\r\n\r\n\tprotected _updateLine() {\r\n\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"QuadrantLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/QuadrantLineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\n\r\nexport interface IQuadrantLineSeriesDataItem extends ISimpleLineSeriesDataItem {\r\n}\r\n\r\nexport interface IQuadrantLineSeriesSettings extends ISimpleLineSeriesSettings {\r\n}\r\n\r\nexport interface IQuadrantLineSeriesPrivate extends ISimpleLineSeriesPrivate {\r\n}\r\n\r\nexport class QuadrantLineSeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"QuadrantLineSeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([QuadrantLineSeries.className]);\r\n\r\n\tdeclare public _settings: IQuadrantLineSeriesSettings;\r\n\tdeclare public _privateSettings: IQuadrantLineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IQuadrantLineSeriesDataItem;\r\n\r\n\tprotected _tag = \"quadrant\";\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.strokes.template.set(\"visible\", false);\r\n\t}\r\n\r\n\tprotected _updateSegment(index: number) {\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\tconst series = this.get(\"series\");\r\n\r\n\t\tif (series && diP1 && diP2) {\r\n\t\t\tlet x1 = this._getXValue(diP1.get(\"valueX\" as any));\r\n\t\t\tlet x2 = this._getXValue(diP2.get(\"valueX\" as any));\r\n\r\n\t\t\tconst field = this.get(\"field\") + \"Y\";\r\n\r\n\t\t\tlet y1 = this._getYValue(diP1.get(field as any), x1);\r\n\t\t\tlet y2 = this._getYValue(diP2.get(field as any), x2);\r\n\r\n\t\t\tthis._setContext(diP1, \"valueY\", y1, true);\r\n\t\t\tthis._setContext(diP2, \"valueY\", y2, true);\r\n\r\n\t\t\tthis._positionBullets(diP1);\r\n\t\t\tthis._positionBullets(diP2);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tconst chart = this.chart;\r\n\t\tthis.fills.clear();\r\n\t\tif (chart) {\r\n\t\t\tfor (let i = 0; i < this._lines.length; i++) {\r\n\t\t\t\tconst line = this._lines[i];\r\n\t\t\t\tif (line) {\r\n\t\t\t\t\tconst diP1 = this._di[i][\"p1\"];\r\n\t\t\t\t\tconst diP2 = this._di[i][\"p2\"];\r\n\t\t\t\t\tconst di = this._di[i][\"e\"];\r\n\t\t\t\t\tconst dataContext = di.dataContext as any;\r\n\r\n\t\t\t\t\tconst fill1 = this.makeFill(this.fills);\r\n\t\t\t\t\tconst fill2 = this.makeFill(this.fills);\r\n\r\n\t\t\t\t\tconst index = this.dataItems.indexOf(diP1);\r\n\t\t\t\t\tfor (let j = index; j >= 0; j--) {\r\n\t\t\t\t\t\tconst dataContext = this.dataItems[j].dataContext as any;\r\n\t\t\t\t\t\tconst template = dataContext.fill;\r\n\t\t\t\t\t\tif (template) {\r\n\t\t\t\t\t\t\tfill1.template = template;\r\n\t\t\t\t\t\t\tfill2.template = template;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst userData = [this.dataItems.indexOf(diP1), this.dataItems.indexOf(diP2)];\r\n\r\n\t\t\t\t\tlet fillColor = this.get(\"fillColor\", this.get(\"fill\"));\r\n\r\n\t\t\t\t\tconst fillTemplate = dataContext.fill;\r\n\r\n\t\t\t\t\tif (fillTemplate) {\r\n\t\t\t\t\t\tfillColor = fillTemplate.get(\"fill\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst settings = { userData: userData, fill: fillColor };\r\n\t\t\t\t\tfill1.setAll(settings);\r\n\t\t\t\t\tfill2.setAll(settings);\r\n\t\t\t\t\tfill2.set(\"forceInactive\", true);\r\n\r\n\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\tconst dy = (p2.y - p1.y) / 4;\r\n\t\t\t\t\t\tconst m1y = p1.y + dy;\r\n\t\t\t\t\t\tconst m2y = p1.y + dy * 2;\r\n\t\t\t\t\t\tconst m3y = p1.y + dy * 3;\r\n\r\n\t\t\t\t\t\tline.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, p1.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p1.y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m1y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m1y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m2y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m2y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m3y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m3y);\r\n\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, p2.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p2.y);\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\tfill1.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, p1.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p1.y);\r\n\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, p2.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, p2.y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, p1.y);\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\tfill2.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\tdisplay.moveTo(p1.x, m1y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m1y);\r\n\r\n\t\t\t\t\t\t\tdisplay.lineTo(p2.x, m3y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, m3y);\r\n\t\t\t\t\t\t\tdisplay.lineTo(p1.x, m1y);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _drawFill() {\r\n\r\n\t}\r\n\r\n\tprotected _updateLine() {\r\n\r\n\t}\r\n}"]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { ISpritePointerEvent } from "../../../core/render/Sprite";
|
|
2
1
|
import type { DataItem } from "../../../core/render/Component";
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import type { Graphics } from "../../../core/render/Graphics";
|
|
3
|
+
import type { IPoint } from "../../../core/util/IPoint";
|
|
4
|
+
import { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from "./SimpleLineSeries";
|
|
5
|
+
export interface IRectangleSeriesDataItem extends ISimpleLineSeriesDataItem {
|
|
5
6
|
}
|
|
6
|
-
export interface IRectangleSeriesSettings extends
|
|
7
|
+
export interface IRectangleSeriesSettings extends ISimpleLineSeriesSettings {
|
|
7
8
|
}
|
|
8
|
-
export interface IRectangleSeriesPrivate extends
|
|
9
|
+
export interface IRectangleSeriesPrivate extends ISimpleLineSeriesPrivate {
|
|
9
10
|
}
|
|
10
|
-
export declare class RectangleSeries extends
|
|
11
|
+
export declare class RectangleSeries extends SimpleLineSeries {
|
|
11
12
|
static className: string;
|
|
12
13
|
static classNames: Array<string>;
|
|
13
14
|
_settings: IRectangleSeriesSettings;
|
|
@@ -18,10 +19,12 @@ export declare class RectangleSeries extends DrawingSeries {
|
|
|
18
19
|
[index: string]: DataItem<IRectangleSeriesDataItem>;
|
|
19
20
|
}>;
|
|
20
21
|
protected _tag: string;
|
|
21
|
-
protected
|
|
22
|
-
protected
|
|
23
|
-
protected
|
|
24
|
-
|
|
25
|
-
protected
|
|
22
|
+
protected _afterNew(): void;
|
|
23
|
+
protected _updateSegment(index: number): void;
|
|
24
|
+
protected _setXLocation(dataItem: DataItem<this["_dataItemSettings"]>, value: number): void;
|
|
25
|
+
_updateChildren(): void;
|
|
26
|
+
protected _updateOthers(_index: number, _fillGraphics: Graphics, _p1: IPoint, _p2: IPoint): void;
|
|
27
|
+
protected _drawFill(): void;
|
|
28
|
+
protected _updateLine(): void;
|
|
26
29
|
}
|
|
27
30
|
//# sourceMappingURL=RectangleSeries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RectangleSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/RectangleSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"RectangleSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/RectangleSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtI,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;CAE1E;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;CAE1E;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;CACxE;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACpD,OAAc,SAAS,EAAE,MAAM,CAAqB;IACpD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmE;IAE3F,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,iBAAiB,EAAE,wBAAwB,CAAC;IAE3D,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAE7B,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAA;KAAE,CAAC,CAAK;IAElF,SAAS,CAAC,IAAI,SAAe;IAE7B,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM;IAuBtC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAS7E,eAAe;IAmEtB,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAIzF,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,WAAW;CAGrB"}
|