@amcharts/amcharts5 5.9.1 → 5.9.3
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/HierarchyLink.d.ts +8 -0
- package/.internal/charts/hierarchy/HierarchyLink.d.ts.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.js +69 -2
- package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +4 -0
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.js +14 -0
- package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
- package/.internal/charts/pie/PieChart.d.ts +1 -0
- package/.internal/charts/pie/PieChart.d.ts.map +1 -1
- package/.internal/charts/pie/PieChart.js +4 -0
- package/.internal/charts/pie/PieChart.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts +8 -0
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +32 -0
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/StockPanel.d.ts +31 -1
- package/.internal/charts/stock/StockPanel.d.ts.map +1 -1
- package/.internal/charts/stock/StockPanel.js +41 -0
- package/.internal/charts/stock/StockPanel.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts +0 -2
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js +32 -20
- 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 +3 -1
- 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 +8 -4
- package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.js +2 -2
- package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.js +4 -0
- package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DrawingControl.js +8 -10
- package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +6 -0
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.js +11 -0
- package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +1 -4
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js +5 -0
- package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +1 -1
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Registry.d.ts +8 -0
- package/.internal/core/Registry.d.ts.map +1 -1
- package/.internal/core/Registry.js +17 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +16 -4
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Label.d.ts +7 -0
- package/.internal/core/render/Label.d.ts.map +1 -1
- package/.internal/core/render/Label.js +13 -3
- package/.internal/core/render/Label.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +7 -0
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +10 -0
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/Text.d.ts +1 -0
- package/.internal/core/render/Text.d.ts.map +1 -1
- package/.internal/core/render/Text.js +7 -0
- package/.internal/core/render/Text.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts +26 -4
- package/.internal/core/render/Tooltip.d.ts.map +1 -1
- package/.internal/core/render/Tooltip.js +15 -0
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +4 -2
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/gradients/LinearGradient.d.ts.map +1 -1
- package/.internal/core/render/gradients/LinearGradient.js +6 -0
- package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +19 -2
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +34 -1
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +7 -0
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +35 -0
- package/.internal/core/util/Utils.js.map +1 -1
- package/CHANGELOG.md +45 -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/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EllipseSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/EllipseSeries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAyE,MAAM,iBAAiB,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAWrD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAAhD;;QAQC;;;;mBAAsC,EAAE;WAAC;QAEzC;;;;mBAAiB,SAAS;WAAC;QAC3B;;;;mBAA6B,CAAC;WAAC;QAC/B;;;;mBAA6B,CAAC;WAAC;QAY/B;;;;mBAAkD,IAAI,YAAY,CACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EACxC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC/G;WAAC;IA4XH,CAAC;IAzYA;;OAEG;IACI,WAAW;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IAOS,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE1C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/C,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;QACxB,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC1B;iBACI;gBACJ,IAAI,CAAC,cAAc,CAAC,KAAK,EAAG,CAAC,CAAC,aAAqB,CAAC,OAAO,CAAC,CAAC;aAC7D;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAES,cAAc,CAAC,KAAa,EAAE,QAAkC;QAEzE,IAAI,QAAuB,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;YAChD,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,EAAE;gBAC/B,IAAI,WAAW,CAAC,QAAQ,EAAE;oBACzB,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;iBAChC;aACD;QACF,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,GAAU,EAAE,KAAK,CAAC,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,GAAU,EAAE,KAAK,CAAC,CAAC;gBACpC,IAAI,QAAQ,EAAE;oBACb,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACzB;YACF,CAAC,CAAC,CAAA;SACF;IACF,CAAC;IAES,mBAAmB,CAAC,KAA0B,EAAE,KAAa;QACtE,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;YAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9D,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAEpC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC5B;IACF,CAAC;IAGS,oBAAoB,CAAC,KAA0B;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAA4C,CAAC;QAE3E,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1C,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACzC,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;YAChD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAChC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAElC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAEvG,MAAM,EAAE,GAAG,QAAQ,CAAA;YACnB,MAAM,EAAE,GAAG,QAAQ,CAAA;YACnB,MAAM,GAAG,GAAG,eAAe,CAAC;YAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAGvB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;gBAC7B,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;oBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAExC,IAAI,EAAE,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAE1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;oBAEtC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;iBACpC;gBAED,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;oBAE/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAExC,IAAI,EAAE,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAE1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;oBAEtC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;iBACpC;gBAED,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAClD,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAEhD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAEhC,IAAI,IAAI,GAAG,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBACrD,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;iBAC5C;gBACD,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAClD,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAEhD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAEhC,IAAI,IAAI,GAAG,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBACrD,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBAEtD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;iBAC5C;aACD;YAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAChC;IACF,CAAC;IAES,mBAAmB,CAAC,KAA0B;QACvD,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBACxB;qBACI;oBACJ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACtB,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBACvE;aACD;SACD;IACF,CAAC;IAES,eAAe,CAAC,KAAa,EAAE,QAA2C;QACnF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAmB,CAAA,CAAC,MAAM,GAAG,OAAO,CAAC;SAChD;IACF,CAAC;IAES,kBAAkB,CAAC,KAA0B;QACtD,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAEzC,IAAI,SAAS,EAAE;gBAEd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAElC,IAAI,SAAS,EAAE;oBACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAE9B,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBAEvG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;wBAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;wBAE9C,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;wBAE5F,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;wBAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;wBAE1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAEpC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACxC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;qBAChC;iBACD;aACD;SACD;IACF,CAAC;IAES,UAAU,CAAC,KAA0B,EAAE,KAAa;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAEnJ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAEnG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAErB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;SAC3C;IACF,CAAC;IAES,SAAS,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,KAAa;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE;YACb,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACjC;IACF,CAAC;IAEM,eAAe;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE;YACnC,IAAI,SAAS,EAAE;gBACd,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;oBAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAE5B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;wBACzB,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC7B,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;wBACpB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACtC,IAAI,OAAO,EAAE;4BACZ,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;yBACzD;qBACD;iBACD;aACD;YACD,KAAK,EAAE,CAAC;QACT,CAAC,CAAC,CAAA;IACH,CAAC;IAEM,eAAe,CAAC,QAA6C;QACnE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;QAChD,IAAI,WAAW,EAAE;YAChB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,OAAO,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,CAAC,OAAO,EAAE,CAAC;aAClB;SACD;IACF,CAAC;IAES,mBAAmB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAChC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;SACzC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEM,cAAc,CAAC,KAAc;QACnC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEM,sBAAsB,CAAC,KAAa;QAC1C,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;;AArZD;;;;WAAkC,eAAe;GAAC;AAClD;;;;WAA0C,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\n\r\nimport { DrawingSeries, IDrawingSeriesSettings, IDrawingSeriesPrivate, IDrawingSeriesDataItem } from \"./DrawingSeries\";\r\nimport { Ellipse } from \"../../../core/render/Ellipse\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $object from \"../../../core/util/Object\";\r\n\r\nexport interface IEllipseSeriesDataItem extends IDrawingSeriesDataItem {\r\n}\r\n\r\nexport interface IEllipseSeriesSettings extends IDrawingSeriesSettings {\r\n}\r\n\r\nexport interface IEllipseSeriesPrivate extends IDrawingSeriesPrivate {\r\n}\r\n\r\nexport class EllipseSeries extends DrawingSeries {\r\n\tpublic static className: string = \"EllipseSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([EllipseSeries.className]);\r\n\r\n\tdeclare public _settings: IEllipseSeriesSettings;\r\n\tdeclare public _privateSettings: IEllipseSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IEllipseSeriesDataItem;\r\n\r\n\tprotected _ellipses: Array<Ellipse> = [];\r\n\r\n\tprotected _tag = \"ellipse\";\r\n\tprotected _clickPX: number = 0;\r\n\tprotected _clickVY: number = 0;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeEllipse(): Ellipse {\r\n\t\tconst ellipse = this.ellipses.make();\r\n\t\tthis.mainContainer.children.push(ellipse);\r\n\t\tthis.ellipses.push(ellipse);\r\n\t\treturn ellipse;\r\n\t}\r\n\r\n\tpublic readonly ellipses: ListTemplate<Ellipse> = new ListTemplate(\r\n\t\tTemplate.new({ radiusX: 0, radiusY: 0 }),\r\n\t\t() => Ellipse._new(this._root, { radiusX: 0, radiusY: 0, templateField: \"settings\" }, [this.ellipses.template])\r\n\t);\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tthis.setPrivate(\"allowChangeSnap\", false);\r\n\r\n\t\tthis.strokes.template.set(\"visible\", false);\r\n\t\tthis.fills.template.set(\"visible\", false);\r\n\r\n\t\tconst ellipseTemplate = this.ellipses.template;\r\n\t\tellipseTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tthis._showSegmentBullets(e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tellipseTemplate.events.on(\"pointerout\", () => {\r\n\t\t\tthis._hideAllBullets();\r\n\t\t})\r\n\r\n\t\tellipseTemplate.events.on(\"dragstart\", (e) => {\r\n\t\t\tthis.startDragItem(e, e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tellipseTemplate.events.on(\"dragstop\", (e) => {\r\n\t\t\tthis.stopDragItem(e, e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tellipseTemplate.events.on(\"click\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tif (this._erasingEnabled) {\r\n\t\t\t\tthis._disposeIndex(index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis._selectDrawing(index, (e.originalEvent as any).ctrlKey);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _applySettings(index: number, settings: { [index: string]: any }) {\r\n\r\n\t\tlet template: Template<any>;\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.index == index) {\r\n\t\t\t\tif (dataContext.settings) {\r\n\t\t\t\t\ttemplate = dataContext.settings;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst ellipse = this._getSprite(this.ellipses, index);\r\n\t\tif (ellipse) {\r\n\t\t\tconst defaultState = ellipse.states.lookup(\"default\")!;\r\n\t\t\t$object.each(settings, (key, value) => {\r\n\t\t\t\tellipse.set(key as any, value);\r\n\t\t\t\tdefaultState.set(key as any, value);\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\ttemplate.set(key, value);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleFillDragStop(event: ISpritePointerEvent, index: number) {\r\n\t\tsuper._handleFillDragStop(event, index);\r\n\r\n\t\tconst items = this._di[index];\r\n\t\tconst bDI = items[\"b\"];\r\n\t\tconst tDI = items[\"t\"];\r\n\t\tconst rDI = items[\"r\"];\r\n\t\tconst lDI = items[\"l\"];\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\r\n\t\tif (bDI && tDI && rDI && lDI) {\r\n\t\t\tconst positionL = xAxis.valueToPosition(lDI.get(\"valueX\", 0));\r\n\t\t\tconst positionR = xAxis.valueToPosition(rDI.get(\"valueX\", 0));\r\n\r\n\t\t\tlet mx = this._getXValue(xAxis.positionToValue(positionL + (positionR - positionL) / 2));\r\n\t\t\tthis._setContext(tDI, \"valueX\", mx);\r\n\t\t\tthis._setContext(bDI, \"valueX\", mx);\r\n\r\n\t\t\tthis._setXLocation(tDI, mx);\r\n\t\t\tthis._setXLocation(bDI, mx);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleBulletDragged(event: ISpritePointerEvent) {\r\n\t\tconst dataItem = event.target.dataItem as DataItem<IEllipseSeriesDataItem>;\r\n\r\n\t\tconst valueXReal = dataItem.get(\"valueX\");\r\n\t\tconst locationXReal = dataItem.get(\"locationX\");\r\n\t\tconst valueYReal = dataItem.get(\"valueY\");\r\n\r\n\t\tsuper._handleBulletDragged(event);\r\n\r\n\t\tconst movePoint = this._movePointerPoint;\r\n\t\tif (dataItem && movePoint) {\r\n\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst corner = dataContext.corner;\r\n\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 valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueX);\r\n\r\n\t\t\tconst vx = \"valueX\"\r\n\t\t\tconst vy = \"valueY\"\r\n\t\t\tconst vwy = \"valueYWorking\";\r\n\r\n\t\t\tconst items = this._di[index];\r\n\t\t\tconst bDI = items[\"b\"];\r\n\t\t\tconst tDI = items[\"t\"];\r\n\t\t\tconst rDI = items[\"r\"];\r\n\t\t\tconst lDI = items[\"l\"];\r\n\r\n\r\n\t\t\tif (bDI && tDI && rDI && lDI) {\r\n\t\t\t\tif (corner == \"b\") {\r\n\t\t\t\t\tconst valueY0 = tDI.get(vwy, 0)\r\n\t\t\t\t\tthis._setContext(bDI, vy, valueY, true);\r\n\r\n\t\t\t\t\tlet my = valueY0 + (valueY - valueY0) / 2;\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(lDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(bDI, vx, valueXReal);\r\n\r\n\t\t\t\t\tbDI.set(\"locationX\", locationXReal);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (corner == \"t\") {\r\n\t\t\t\t\tconst valueY0 = bDI.get(vwy, 0)\r\n\r\n\t\t\t\t\tthis._setContext(tDI, vy, valueY, true);\r\n\r\n\t\t\t\t\tlet my = valueY0 + (valueY - valueY0) / 2;\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(lDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(tDI, vx, valueXReal);\r\n\r\n\t\t\t\t\ttDI.set(\"locationX\", locationXReal);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (corner == \"l\") {\r\n\t\t\t\t\tconst valueX0 = rDI.get(vx, 0)\r\n\t\t\t\t\tconst positionX0 = xAxis.valueToPosition(valueX0);\r\n\t\t\t\t\tconst positionX = xAxis.valueToPosition(valueX);\r\n\r\n\t\t\t\t\tthis._setContext(lDI, vx, valueX);\r\n\t\t\t\t\tthis._setXLocation(lDI, valueX);\r\n\r\n\t\t\t\t\tlet mpos = positionX0 + (positionX - positionX0) / 2;\r\n\t\t\t\t\tlet mx = this._getXValue(xAxis.positionToValue(mpos));\r\n\t\t\t\t\tthis._setContext(tDI, vx, mx);\r\n\t\t\t\t\tthis._setContext(bDI, vx, mx);\r\n\r\n\t\t\t\t\tthis._setXLocation(tDI, mx);\r\n\t\t\t\t\tthis._setXLocation(bDI, mx);\r\n\r\n\t\t\t\t\tthis._setContext(lDI, vy, valueYReal, true);\r\n\t\t\t\t}\r\n\t\t\t\tif (corner == \"r\") {\r\n\t\t\t\t\tconst valueX0 = lDI.get(vx, 0)\r\n\t\t\t\t\tconst positionX0 = xAxis.valueToPosition(valueX0);\r\n\t\t\t\t\tconst positionX = xAxis.valueToPosition(valueX);\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vx, valueX);\r\n\t\t\t\t\tthis._setXLocation(rDI, valueX);\r\n\r\n\t\t\t\t\tlet mpos = positionX0 + (positionX - positionX0) / 2;\r\n\t\t\t\t\tlet mx = this._getXValue(xAxis.positionToValue(mpos));\r\n\r\n\t\t\t\t\tthis._setContext(tDI, vx, mx);\r\n\t\t\t\t\tthis._setContext(bDI, vx, mx);\r\n\r\n\t\t\t\t\tthis._setXLocation(tDI, mx);\r\n\t\t\t\t\tthis._setXLocation(bDI, mx);\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vy, valueYReal, true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis._positionBullets(dataItem);\r\n\t\t}\r\n\t}\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\tif (!this._isDrawing) {\r\n\t\t\t\t\tthis._increaseIndex();\r\n\t\t\t\t\tthis.isDrawing(true);\r\n\t\t\t\t\tthis._hideResizer(event.target);\r\n\t\t\t\t\tthis.bulletsContainer.show();\r\n\t\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t\t\tthis.unselectDrawings();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.isDrawing(false);\r\n\t\t\t\t\tthis._dispatchStockEvent(\"drawingadded\", this._drawingId, this._index);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _createElements(index: number, dataItem?: DataItem<IDrawingSeriesDataItem>) {\r\n\t\tif (!this._ellipses[index]) {\r\n\t\t\tconst ellipse = this.makeEllipse();\r\n\t\t\tellipse._setDataItem(dataItem);\r\n\t\t\tthis._ellipses[index] = ellipse;\r\n\t\t\tellipse.setAll({ userData: index });\r\n\t\t\t(dataItem?.dataContext as any).sprite = ellipse;\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\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\t\tconst index = this._index;\r\n\t\t\t\tconst dataItems = this._di[index];\r\n\r\n\t\t\t\tif (dataItems) {\r\n\t\t\t\t\tconst diT = this._di[index][\"t\"];\r\n\t\t\t\t\tconst diB = this._di[index][\"b\"];\r\n\t\t\t\t\tconst diL = this._di[index][\"l\"];\r\n\t\t\t\t\tconst diR = this._di[index][\"r\"];\r\n\r\n\t\t\t\t\tconst valueY0 = this._clickVY;\r\n\r\n\t\t\t\t\tconst positionX = xAxis.coordinateToPosition(movePoint.x);\r\n\t\t\t\t\tconst positionX0 = this._clickPX;\r\n\r\n\t\t\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueX);\r\n\r\n\t\t\t\t\tif (diB && diL && diR && diT) {\r\n\t\t\t\t\t\tthis._setContext(diB, \"valueY\", valueY, true);\r\n\r\n\t\t\t\t\t\tconst my = valueY0 + (valueY - valueY0) / 2;\r\n\t\t\t\t\t\tconst mx = this._getXValue(xAxis.positionToValue(positionX0 + (positionX - positionX0) / 2))\r\n\r\n\t\t\t\t\t\tthis._setContext(diR, \"valueY\", my, true);\r\n\t\t\t\t\t\tthis._setContext(diL, \"valueY\", my, true);\r\n\r\n\t\t\t\t\t\tthis._setContext(diB, \"valueX\", mx);\r\n\t\t\t\t\t\tthis._setContext(diT, \"valueX\", mx);\r\n\r\n\t\t\t\t\t\tthis._setXLocation(diB, mx);\r\n\t\t\t\t\t\tthis._setXLocation(diT, mx);\r\n\r\n\t\t\t\t\t\tthis._setContext(diR, \"valueX\", valueX);\r\n\t\t\t\t\t\tthis._setXLocation(diR, valueX);\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 _addPoints(event: ISpritePointerEvent, index: number) {\r\n\t\tconst chart = this.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tthis.data.push({ settings: this._getEllipseTemplate(), stroke: this._getStrokeTemplate(), index: index, corner: \"e\", drawingId: this._drawingId });\r\n\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\t\t\tthis._clickPX = xAxis.coordinateToPosition(point.x);\r\n\r\n\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(this._clickPX));\r\n\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueX);\r\n\r\n\t\t\tthis._clickVY = valueY;\r\n\r\n\t\t\tthis._di[index] = {};\r\n\r\n\t\t\tthis._addPoint(valueX, valueY, \"l\", index);\r\n\t\t\tthis._addPoint(valueX, valueY, \"t\", index);\r\n\t\t\tthis._addPoint(valueX, valueY, \"b\", index);\r\n\t\t\tthis._addPoint(valueX, valueY, \"r\", index);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addPoint(valueX: number, valueY: number, corner: string, index: number) {\r\n\t\tthis.data.push({ valueY: valueY, valueX: valueX, index: index, corner: corner, drawingId: this._drawingId });\r\n\t\tconst len = this.dataItems.length;\r\n\t\tconst dataItem = this.dataItems[len - 1];\r\n\t\tif (dataItem) {\r\n\t\t\tthis._setXLocation(dataItem, valueX);\r\n\t\t\tthis.setPrivate(\"startIndex\", 0);\r\n\t\t\tthis.setPrivate(\"endIndex\", len);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tlet index = 0;\r\n\t\t$array.each(this._di, (dataItems) => {\r\n\t\t\tif (dataItems) {\r\n\t\t\t\tconst diT = dataItems[\"t\"];\r\n\t\t\t\tconst diB = dataItems[\"b\"];\r\n\t\t\t\tconst diL = dataItems[\"l\"];\r\n\t\t\t\tconst diR = dataItems[\"r\"];\r\n\t\t\t\tif (diT && diB && diL && diR) {\r\n\t\t\t\t\tconst pt = diT.get(\"point\");\r\n\t\t\t\t\tconst pb = diB.get(\"point\");\r\n\t\t\t\t\tconst pr = diR.get(\"point\");\r\n\t\t\t\t\tconst pl = diL.get(\"point\");\r\n\r\n\t\t\t\t\tif (pt && pb && pr && pl) {\r\n\t\t\t\t\t\tconst rx = (pr.x - pl.x) / 2;\r\n\t\t\t\t\t\tconst ry = (pb.y - pt.y) / 2;\r\n\t\t\t\t\t\tconst x = pl.x + rx;\r\n\t\t\t\t\t\tconst y = pt.y + ry;\r\n\t\t\t\t\t\tconst ellipse = this._ellipses[index];\r\n\t\t\t\t\t\tif (ellipse) {\r\n\t\t\t\t\t\t\tellipse.setAll({ x: x, y: y, radiusX: rx, radiusY: ry });\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\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst ellipse = this._ellipses[index];\r\n\t\t\tif (ellipse) {\r\n\t\t\t\tdelete (this._ellipses[index]);\r\n\t\t\t\tthis.ellipses.removeValue(ellipse);\r\n\t\t\t\tellipse.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _getEllipseTemplate(): Template<any> {\r\n\t\tconst template = this._getStrokeTemplate();\r\n\r\n\t\tconst fillColor = this.get(\"fillColor\");\r\n\t\tif (fillColor != null) {\r\n\t\t\ttemplate.set(\"fill\", fillColor);\r\n\t\t}\r\n\r\n\t\tconst fillOpacity = this.get(\"fillOpacity\");\r\n\t\tif (fillOpacity != null) {\r\n\t\t\ttemplate.set(\"fillOpacity\", fillOpacity);\r\n\t\t}\r\n\r\n\t\treturn template;\r\n\t}\r\n\r\n\tpublic setInteractive(value: boolean) {\r\n\t\tsuper.setInteractive(value);\r\n\t\tthis.ellipses.template.set(\"forceInactive\", !value);\r\n\t}\r\n\r\n\tpublic enableDrawingSelection(value:boolean){\r\n\t\tsuper.enableDrawingSelection(value);\r\n\t\tthis.ellipses.template.set(\"forceInactive\", !value);\r\n\t}\t\r\n}"]}
|
|
1
|
+
{"version":3,"file":"EllipseSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/EllipseSeries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAyE,MAAM,iBAAiB,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAWrD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAAhD;;QAQC;;;;mBAAsC,EAAE;WAAC;QAEzC;;;;mBAAiB,SAAS;WAAC;QAC3B;;;;mBAA6B,CAAC;WAAC;QAC/B;;;;mBAA6B,CAAC;WAAC;QAY/B;;;;mBAAkD,IAAI,YAAY,CACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EACxC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC/G;WAAC;IA8XH,CAAC;IA3YA;;OAEG;IACI,WAAW;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IAOS,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE1C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/C,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAA;QAEF;;;;UAIE;QAEF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC1B;iBACI;gBACJ,IAAI,CAAC,cAAc,CAAC,KAAK,EAAG,CAAC,CAAC,aAAqB,CAAC,OAAO,CAAC,CAAC;aAC7D;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAES,cAAc,CAAC,KAAa,EAAE,QAAkC;QAEzE,IAAI,QAAuB,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;YAChD,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,EAAE;gBAC/B,IAAI,WAAW,CAAC,QAAQ,EAAE;oBACzB,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;iBAChC;aACD;QACF,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,GAAU,EAAE,KAAK,CAAC,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,GAAU,EAAE,KAAK,CAAC,CAAC;gBACpC,IAAI,QAAQ,EAAE;oBACb,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACzB;YACF,CAAC,CAAC,CAAA;SACF;IACF,CAAC;IAES,mBAAmB,CAAC,KAA0B,EAAE,KAAa;QACtE,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;YAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9D,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAEpC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC5B;IACF,CAAC;IAGS,oBAAoB,CAAC,KAA0B;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAA4C,CAAC;QAE3E,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1C,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACzC,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;YAChD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAChC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAElC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAEvG,MAAM,EAAE,GAAG,QAAQ,CAAA;YACnB,MAAM,EAAE,GAAG,QAAQ,CAAA;YACnB,MAAM,GAAG,GAAG,eAAe,CAAC;YAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAGvB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;gBAC7B,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;oBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAExC,IAAI,EAAE,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAE1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;oBAEtC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;iBACpC;gBAED,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;oBAE/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAExC,IAAI,EAAE,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAE1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;oBAEtC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;iBACpC;gBAED,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAClD,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAEhD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAEhC,IAAI,IAAI,GAAG,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBACrD,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;iBAC5C;gBACD,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAClD,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAEhD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAEhC,IAAI,IAAI,GAAG,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBACrD,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBAEtD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;iBAC5C;aACD;YAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAChC;IACF,CAAC;IAES,mBAAmB,CAAC,KAA0B;QACvD,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBACxB;qBACI;oBACJ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACtB,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBACvE;aACD;SACD;IACF,CAAC;IAES,eAAe,CAAC,KAAa,EAAE,QAA2C;QACnF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAmB,CAAA,CAAC,MAAM,GAAG,OAAO,CAAC;SAChD;IACF,CAAC;IAES,kBAAkB,CAAC,KAA0B;QACtD,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAEzC,IAAI,SAAS,EAAE;gBAEd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAElC,IAAI,SAAS,EAAE;oBACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAE9B,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBAEvG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;wBAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;wBAE9C,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;wBAE5F,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;wBAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;wBAE1C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAEpC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACxC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;qBAChC;iBACD;aACD;SACD;IACF,CAAC;IAES,UAAU,CAAC,KAA0B,EAAE,KAAa;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAEnJ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAEnG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAErB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;SAC3C;IACF,CAAC;IAES,SAAS,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,KAAa;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE;YACb,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACjC;IACF,CAAC;IAEM,eAAe;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE;YACnC,IAAI,SAAS,EAAE;gBACd,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;oBAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAE5B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;wBACzB,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC7B,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;wBACpB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACtC,IAAI,OAAO,EAAE;4BACZ,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;yBACzD;qBACD;iBACD;aACD;YACD,KAAK,EAAE,CAAC;QACT,CAAC,CAAC,CAAA;IACH,CAAC;IAEM,eAAe,CAAC,QAA6C;QACnE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;QAChD,IAAI,WAAW,EAAE;YAChB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,OAAO,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,CAAC,OAAO,EAAE,CAAC;aAClB;SACD;IACF,CAAC;IAES,mBAAmB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAChC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;SACzC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEM,cAAc,CAAC,KAAc;QACnC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEM,sBAAsB,CAAC,KAAa;QAC1C,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;;AAvZD;;;;WAAkC,eAAe;GAAC;AAClD;;;;WAA0C,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\n\r\nimport { DrawingSeries, IDrawingSeriesSettings, IDrawingSeriesPrivate, IDrawingSeriesDataItem } from \"./DrawingSeries\";\r\nimport { Ellipse } from \"../../../core/render/Ellipse\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $object from \"../../../core/util/Object\";\r\n\r\nexport interface IEllipseSeriesDataItem extends IDrawingSeriesDataItem {\r\n}\r\n\r\nexport interface IEllipseSeriesSettings extends IDrawingSeriesSettings {\r\n}\r\n\r\nexport interface IEllipseSeriesPrivate extends IDrawingSeriesPrivate {\r\n}\r\n\r\nexport class EllipseSeries extends DrawingSeries {\r\n\tpublic static className: string = \"EllipseSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([EllipseSeries.className]);\r\n\r\n\tdeclare public _settings: IEllipseSeriesSettings;\r\n\tdeclare public _privateSettings: IEllipseSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IEllipseSeriesDataItem;\r\n\r\n\tprotected _ellipses: Array<Ellipse> = [];\r\n\r\n\tprotected _tag = \"ellipse\";\r\n\tprotected _clickPX: number = 0;\r\n\tprotected _clickVY: number = 0;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeEllipse(): Ellipse {\r\n\t\tconst ellipse = this.ellipses.make();\r\n\t\tthis.mainContainer.children.push(ellipse);\r\n\t\tthis.ellipses.push(ellipse);\r\n\t\treturn ellipse;\r\n\t}\r\n\r\n\tpublic readonly ellipses: ListTemplate<Ellipse> = new ListTemplate(\r\n\t\tTemplate.new({ radiusX: 0, radiusY: 0 }),\r\n\t\t() => Ellipse._new(this._root, { radiusX: 0, radiusY: 0, templateField: \"settings\" }, [this.ellipses.template])\r\n\t);\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tthis.setPrivate(\"allowChangeSnap\", false);\r\n\r\n\t\tthis.strokes.template.set(\"visible\", false);\r\n\t\tthis.fills.template.set(\"visible\", false);\r\n\r\n\t\tconst ellipseTemplate = this.ellipses.template;\r\n\t\tellipseTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tthis._showSegmentBullets(e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\t/*\r\n\t\tellipseTemplate.events.on(\"pointerout\", () => {\r\n\t\t\tthis._hideAllBullets();\r\n\t\t})\r\n\t\t*/\r\n\r\n\t\tellipseTemplate.events.on(\"dragstart\", (e) => {\r\n\t\t\tthis.startDragItem(e, e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tellipseTemplate.events.on(\"dragstop\", (e) => {\r\n\t\t\tthis.stopDragItem(e, e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tellipseTemplate.events.on(\"click\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tif (this._erasingEnabled) {\r\n\t\t\t\tthis._disposeIndex(index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis._selectDrawing(index, (e.originalEvent as any).ctrlKey);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _applySettings(index: number, settings: { [index: string]: any }) {\r\n\r\n\t\tlet template: Template<any>;\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.index == index) {\r\n\t\t\t\tif (dataContext.settings) {\r\n\t\t\t\t\ttemplate = dataContext.settings;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst ellipse = this._getSprite(this.ellipses, index);\r\n\t\tif (ellipse) {\r\n\t\t\tconst defaultState = ellipse.states.lookup(\"default\")!;\r\n\t\t\t$object.each(settings, (key, value) => {\r\n\t\t\t\tellipse.set(key as any, value);\r\n\t\t\t\tdefaultState.set(key as any, value);\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\ttemplate.set(key, value);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleFillDragStop(event: ISpritePointerEvent, index: number) {\r\n\t\tsuper._handleFillDragStop(event, index);\r\n\r\n\t\tconst items = this._di[index];\r\n\t\tconst bDI = items[\"b\"];\r\n\t\tconst tDI = items[\"t\"];\r\n\t\tconst rDI = items[\"r\"];\r\n\t\tconst lDI = items[\"l\"];\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\r\n\t\tif (bDI && tDI && rDI && lDI) {\r\n\t\t\tconst positionL = xAxis.valueToPosition(lDI.get(\"valueX\", 0));\r\n\t\t\tconst positionR = xAxis.valueToPosition(rDI.get(\"valueX\", 0));\r\n\r\n\t\t\tlet mx = this._getXValue(xAxis.positionToValue(positionL + (positionR - positionL) / 2));\r\n\t\t\tthis._setContext(tDI, \"valueX\", mx);\r\n\t\t\tthis._setContext(bDI, \"valueX\", mx);\r\n\r\n\t\t\tthis._setXLocation(tDI, mx);\r\n\t\t\tthis._setXLocation(bDI, mx);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleBulletDragged(event: ISpritePointerEvent) {\r\n\t\tconst dataItem = event.target.dataItem as DataItem<IEllipseSeriesDataItem>;\r\n\r\n\t\tconst valueXReal = dataItem.get(\"valueX\");\r\n\t\tconst locationXReal = dataItem.get(\"locationX\");\r\n\t\tconst valueYReal = dataItem.get(\"valueY\");\r\n\r\n\t\tsuper._handleBulletDragged(event);\r\n\r\n\t\tconst movePoint = this._movePointerPoint;\r\n\t\tif (dataItem && movePoint) {\r\n\t\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst corner = dataContext.corner;\r\n\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 valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueX);\r\n\r\n\t\t\tconst vx = \"valueX\"\r\n\t\t\tconst vy = \"valueY\"\r\n\t\t\tconst vwy = \"valueYWorking\";\r\n\r\n\t\t\tconst items = this._di[index];\r\n\t\t\tconst bDI = items[\"b\"];\r\n\t\t\tconst tDI = items[\"t\"];\r\n\t\t\tconst rDI = items[\"r\"];\r\n\t\t\tconst lDI = items[\"l\"];\r\n\r\n\r\n\t\t\tif (bDI && tDI && rDI && lDI) {\r\n\t\t\t\tif (corner == \"b\") {\r\n\t\t\t\t\tconst valueY0 = tDI.get(vwy, 0)\r\n\t\t\t\t\tthis._setContext(bDI, vy, valueY, true);\r\n\r\n\t\t\t\t\tlet my = valueY0 + (valueY - valueY0) / 2;\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(lDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(bDI, vx, valueXReal);\r\n\r\n\t\t\t\t\tbDI.set(\"locationX\", locationXReal);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (corner == \"t\") {\r\n\t\t\t\t\tconst valueY0 = bDI.get(vwy, 0)\r\n\r\n\t\t\t\t\tthis._setContext(tDI, vy, valueY, true);\r\n\r\n\t\t\t\t\tlet my = valueY0 + (valueY - valueY0) / 2;\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(lDI, vy, my, true);\r\n\t\t\t\t\tthis._setContext(tDI, vx, valueXReal);\r\n\r\n\t\t\t\t\ttDI.set(\"locationX\", locationXReal);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (corner == \"l\") {\r\n\t\t\t\t\tconst valueX0 = rDI.get(vx, 0)\r\n\t\t\t\t\tconst positionX0 = xAxis.valueToPosition(valueX0);\r\n\t\t\t\t\tconst positionX = xAxis.valueToPosition(valueX);\r\n\r\n\t\t\t\t\tthis._setContext(lDI, vx, valueX);\r\n\t\t\t\t\tthis._setXLocation(lDI, valueX);\r\n\r\n\t\t\t\t\tlet mpos = positionX0 + (positionX - positionX0) / 2;\r\n\t\t\t\t\tlet mx = this._getXValue(xAxis.positionToValue(mpos));\r\n\t\t\t\t\tthis._setContext(tDI, vx, mx);\r\n\t\t\t\t\tthis._setContext(bDI, vx, mx);\r\n\r\n\t\t\t\t\tthis._setXLocation(tDI, mx);\r\n\t\t\t\t\tthis._setXLocation(bDI, mx);\r\n\r\n\t\t\t\t\tthis._setContext(lDI, vy, valueYReal, true);\r\n\t\t\t\t}\r\n\t\t\t\tif (corner == \"r\") {\r\n\t\t\t\t\tconst valueX0 = lDI.get(vx, 0)\r\n\t\t\t\t\tconst positionX0 = xAxis.valueToPosition(valueX0);\r\n\t\t\t\t\tconst positionX = xAxis.valueToPosition(valueX);\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vx, valueX);\r\n\t\t\t\t\tthis._setXLocation(rDI, valueX);\r\n\r\n\t\t\t\t\tlet mpos = positionX0 + (positionX - positionX0) / 2;\r\n\t\t\t\t\tlet mx = this._getXValue(xAxis.positionToValue(mpos));\r\n\r\n\t\t\t\t\tthis._setContext(tDI, vx, mx);\r\n\t\t\t\t\tthis._setContext(bDI, vx, mx);\r\n\r\n\t\t\t\t\tthis._setXLocation(tDI, mx);\r\n\t\t\t\t\tthis._setXLocation(bDI, mx);\r\n\r\n\t\t\t\t\tthis._setContext(rDI, vy, valueYReal, true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis._positionBullets(dataItem);\r\n\t\t}\r\n\t}\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\tif (!this._isDrawing) {\r\n\t\t\t\t\tthis._increaseIndex();\r\n\t\t\t\t\tthis.isDrawing(true);\r\n\t\t\t\t\tthis._hideResizer(event.target);\r\n\t\t\t\t\tthis.bulletsContainer.show();\r\n\t\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t\t\tthis.unselectDrawings();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.isDrawing(false);\r\n\t\t\t\t\tthis._dispatchStockEvent(\"drawingadded\", this._drawingId, this._index);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _createElements(index: number, dataItem?: DataItem<IDrawingSeriesDataItem>) {\r\n\t\tif (!this._ellipses[index]) {\r\n\t\t\tconst ellipse = this.makeEllipse();\r\n\t\t\tellipse._setDataItem(dataItem);\r\n\t\t\tthis._ellipses[index] = ellipse;\r\n\t\t\tellipse.setAll({ userData: index });\r\n\t\t\t(dataItem?.dataContext as any).sprite = ellipse;\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\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\t\tconst index = this._index;\r\n\t\t\t\tconst dataItems = this._di[index];\r\n\r\n\t\t\t\tif (dataItems) {\r\n\t\t\t\t\tconst diT = this._di[index][\"t\"];\r\n\t\t\t\t\tconst diB = this._di[index][\"b\"];\r\n\t\t\t\t\tconst diL = this._di[index][\"l\"];\r\n\t\t\t\t\tconst diR = this._di[index][\"r\"];\r\n\r\n\t\t\t\t\tconst valueY0 = this._clickVY;\r\n\r\n\t\t\t\t\tconst positionX = xAxis.coordinateToPosition(movePoint.x);\r\n\t\t\t\t\tconst positionX0 = this._clickPX;\r\n\r\n\t\t\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueX);\r\n\r\n\t\t\t\t\tif (diB && diL && diR && diT) {\r\n\t\t\t\t\t\tthis._setContext(diB, \"valueY\", valueY, true);\r\n\r\n\t\t\t\t\t\tconst my = valueY0 + (valueY - valueY0) / 2;\r\n\t\t\t\t\t\tconst mx = this._getXValue(xAxis.positionToValue(positionX0 + (positionX - positionX0) / 2))\r\n\r\n\t\t\t\t\t\tthis._setContext(diR, \"valueY\", my, true);\r\n\t\t\t\t\t\tthis._setContext(diL, \"valueY\", my, true);\r\n\r\n\t\t\t\t\t\tthis._setContext(diB, \"valueX\", mx);\r\n\t\t\t\t\t\tthis._setContext(diT, \"valueX\", mx);\r\n\r\n\t\t\t\t\t\tthis._setXLocation(diB, mx);\r\n\t\t\t\t\t\tthis._setXLocation(diT, mx);\r\n\r\n\t\t\t\t\t\tthis._setContext(diR, \"valueX\", valueX);\r\n\t\t\t\t\t\tthis._setXLocation(diR, valueX);\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 _addPoints(event: ISpritePointerEvent, index: number) {\r\n\t\tconst chart = this.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tthis.data.push({ settings: this._getEllipseTemplate(), stroke: this._getStrokeTemplate(), index: index, corner: \"e\", drawingId: this._drawingId });\r\n\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\t\t\tthis._clickPX = xAxis.coordinateToPosition(point.x);\r\n\r\n\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(this._clickPX));\r\n\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueX);\r\n\r\n\t\t\tthis._clickVY = valueY;\r\n\r\n\t\t\tthis._di[index] = {};\r\n\r\n\t\t\tthis._addPoint(valueX, valueY, \"l\", index);\r\n\t\t\tthis._addPoint(valueX, valueY, \"t\", index);\r\n\t\t\tthis._addPoint(valueX, valueY, \"b\", index);\r\n\t\t\tthis._addPoint(valueX, valueY, \"r\", index);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addPoint(valueX: number, valueY: number, corner: string, index: number) {\r\n\t\tthis.data.push({ valueY: valueY, valueX: valueX, index: index, corner: corner, drawingId: this._drawingId });\r\n\t\tconst len = this.dataItems.length;\r\n\t\tconst dataItem = this.dataItems[len - 1];\r\n\t\tif (dataItem) {\r\n\t\t\tthis._setXLocation(dataItem, valueX);\r\n\t\t\tthis.setPrivate(\"startIndex\", 0);\r\n\t\t\tthis.setPrivate(\"endIndex\", len);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tlet index = 0;\r\n\t\t$array.each(this._di, (dataItems) => {\r\n\t\t\tif (dataItems) {\r\n\t\t\t\tconst diT = dataItems[\"t\"];\r\n\t\t\t\tconst diB = dataItems[\"b\"];\r\n\t\t\t\tconst diL = dataItems[\"l\"];\r\n\t\t\t\tconst diR = dataItems[\"r\"];\r\n\t\t\t\tif (diT && diB && diL && diR) {\r\n\t\t\t\t\tconst pt = diT.get(\"point\");\r\n\t\t\t\t\tconst pb = diB.get(\"point\");\r\n\t\t\t\t\tconst pr = diR.get(\"point\");\r\n\t\t\t\t\tconst pl = diL.get(\"point\");\r\n\r\n\t\t\t\t\tif (pt && pb && pr && pl) {\r\n\t\t\t\t\t\tconst rx = (pr.x - pl.x) / 2;\r\n\t\t\t\t\t\tconst ry = (pb.y - pt.y) / 2;\r\n\t\t\t\t\t\tconst x = pl.x + rx;\r\n\t\t\t\t\t\tconst y = pt.y + ry;\r\n\t\t\t\t\t\tconst ellipse = this._ellipses[index];\r\n\t\t\t\t\t\tif (ellipse) {\r\n\t\t\t\t\t\t\tellipse.setAll({ x: x, y: y, radiusX: rx, radiusY: ry });\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\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst ellipse = this._ellipses[index];\r\n\t\t\tif (ellipse) {\r\n\t\t\t\tdelete (this._ellipses[index]);\r\n\t\t\t\tthis.ellipses.removeValue(ellipse);\r\n\t\t\t\tellipse.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _getEllipseTemplate(): Template<any> {\r\n\t\tconst template = this._getStrokeTemplate();\r\n\r\n\t\tconst fillColor = this.get(\"fillColor\");\r\n\t\tif (fillColor != null) {\r\n\t\t\ttemplate.set(\"fill\", fillColor);\r\n\t\t}\r\n\r\n\t\tconst fillOpacity = this.get(\"fillOpacity\");\r\n\t\tif (fillOpacity != null) {\r\n\t\t\ttemplate.set(\"fillOpacity\", fillOpacity);\r\n\t\t}\r\n\r\n\t\treturn template;\r\n\t}\r\n\r\n\tpublic setInteractive(value: boolean) {\r\n\t\tsuper.setInteractive(value);\r\n\t\tthis.ellipses.template.set(\"forceInactive\", !value);\r\n\t}\r\n\r\n\tpublic enableDrawingSelection(value:boolean){\r\n\t\tsuper.enableDrawingSelection(value);\r\n\t\tthis.ellipses.template.set(\"forceInactive\", !value);\r\n\t}\t\r\n}"]}
|
|
@@ -49,9 +49,6 @@ export declare class FibonacciSeries extends SimpleLineSeries {
|
|
|
49
49
|
protected _drawStroke(): void;
|
|
50
50
|
protected _updateLine(): void;
|
|
51
51
|
protected _clearGraphics(): void;
|
|
52
|
-
enableDrawing(): void;
|
|
53
|
-
enableErasing(): void;
|
|
54
|
-
protected _hideAllBullets(): void;
|
|
55
52
|
disposeDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void;
|
|
56
53
|
}
|
|
57
54
|
//# sourceMappingURL=FibonacciSeries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FibonacciSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtI,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;CAC1E;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IAE1E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAErB;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,IAAI,SAAe;IAC7B,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAM;IAC5C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAC9C,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAEhD;;OAEG;IACI,SAAS,IAAI,KAAK;IAOzB;;;;;;OAMG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAGzC;IAEK,eAAe;IAKtB,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI3C,SAAS,CAAC,mBAAmB;IAgF7B,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM;IAkCvC,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"FibonacciSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtI,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;CAC1E;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IAE1E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAErB;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,IAAI,SAAe;IAC7B,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAM;IAC5C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAC9C,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAEhD;;OAEG;IACI,SAAS,IAAI,KAAK;IAOzB;;;;;;OAMG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAGzC;IAEK,eAAe;IAKtB,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI3C,SAAS,CAAC,mBAAmB;IAgF7B,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM;IAkCvC,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,cAAc;IAwBjB,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAiCpE"}
|
|
@@ -153,21 +153,25 @@ export class FibonacciSeries extends SimpleLineSeries {
|
|
|
153
153
|
}
|
|
154
154
|
_clearGraphics() {
|
|
155
155
|
}
|
|
156
|
-
|
|
156
|
+
/*
|
|
157
|
+
public enableDrawing() {
|
|
157
158
|
super.enableDrawing();
|
|
158
159
|
this.showAllBullets();
|
|
159
160
|
}
|
|
160
|
-
|
|
161
|
+
|
|
162
|
+
public enableErasing() {
|
|
161
163
|
super.enableErasing();
|
|
162
164
|
this.showAllBullets();
|
|
163
165
|
}
|
|
164
|
-
|
|
166
|
+
|
|
167
|
+
protected _hideAllBullets() {
|
|
165
168
|
if (this._drawingEnabled || this._erasingEnabled) {
|
|
169
|
+
|
|
166
170
|
}
|
|
167
171
|
else {
|
|
168
172
|
super._hideAllBullets();
|
|
169
173
|
}
|
|
170
|
-
}
|
|
174
|
+
}*/
|
|
171
175
|
disposeDataItem(dataItem) {
|
|
172
176
|
super.disposeDataItem(dataItem);
|
|
173
177
|
const dataContext = dataItem.dataContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FibonacciSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Graphics } from \"../../../core/render/Graphics\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\nimport type { Sprite } from \"../../../core/render/Sprite\";\r\n\r\nimport { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\nimport { Label } from \"../../../core/render/Label\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IFibonacciSeriesDataItem extends ISimpleLineSeriesDataItem {\r\n}\r\n\r\nexport interface IFibonacciSeriesSettings extends ISimpleLineSeriesSettings {\r\n\r\n\t/**\r\n\t * Sequence.\r\n\t */\r\n\tsequence?: Array<number>;\r\n\r\n\t/**\r\n\t * Array of colors to use for bands.\r\n\t */\r\n\tcolors?: Array<Color>\r\n\r\n}\r\n\r\nexport interface IFibonacciSeriesPrivate extends ISimpleLineSeriesPrivate {\r\n}\r\n\r\nexport class FibonacciSeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"FibonacciSeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([FibonacciSeries.className]);\r\n\r\n\tdeclare public _settings: IFibonacciSeriesSettings;\r\n\tdeclare public _privateSettings: IFibonacciSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IFibonacciSeriesDataItem;\r\n\r\n\tprotected _tag = \"fibonacci\";\r\n\tprotected _labels: Array<Array<Label>> = [];\r\n\tprotected _fills: Array<Array<Graphics>> = [];\r\n\tprotected _strokes: Array<Array<Graphics>> = [];\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\tthis.labels.push(label);\r\n\t\treturn label;\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\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\t\tthis._updateChildrenReal();\r\n\t}\r\n\r\n\tprotected _getIndex(sprite: Sprite): number {\r\n\t\treturn sprite.get(\"userData\");\r\n\t}\r\n\r\n\tprotected _updateChildrenReal() {\r\n\t\tconst chart = this.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\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\r\n\t\t\t\t\tif (diP1 && diP2) {\r\n\r\n\t\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\t\tconst sequence = this.get(\"sequence\", []);\r\n\t\t\t\t\t\t\tlet prevValue = 0;\r\n\r\n\t\t\t\t\t\t\tconst labels = this._labels[i];\r\n\t\t\t\t\t\t\tconst strokes = this._strokes[i];\r\n\t\t\t\t\t\t\tconst fills = this._fills[i];\r\n\r\n\t\t\t\t\t\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\t\t\t\t\t\tconst value = sequence[i] - 1;\r\n\r\n\t\t\t\t\t\t\t\tconst label = labels[i];\r\n\r\n\t\t\t\t\t\t\t\tconst fill = fills[i];\r\n\t\t\t\t\t\t\t\tconst stroke = strokes[i];\r\n\r\n\t\t\t\t\t\t\t\tlet fillColor = this.get(\"colors\", [])[i];\r\n\t\t\t\t\t\t\t\tlet strokeColor = fillColor;\r\n\r\n\t\t\t\t\t\t\t\tfill.set(\"fill\", fillColor);\r\n\t\t\t\t\t\t\t\tfill.set(\"fillOpacity\", this.get(\"fillOpacity\", 0));\r\n\t\t\t\t\t\t\t\tstroke.set(\"stroke\", strokeColor);\r\n\t\t\t\t\t\t\t\tstroke.set(\"strokeOpacity\", this.get(\"strokeOpacity\", 0));\r\n\r\n\t\t\t\t\t\t\t\tconst y1 = p1.y + (p2.y - p1.y) * prevValue;\r\n\t\t\t\t\t\t\t\tconst y2 = p1.y + (p2.y - p1.y) * -value;\r\n\r\n\t\t\t\t\t\t\t\tconst realValue = yAxis.positionToValue(yAxis.coordinateToPosition(y2));\r\n\r\n\t\t\t\t\t\t\t\tfill.setPrivate(\"visible\", true);\r\n\t\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", true);\r\n\r\n\t\t\t\t\t\t\t\tfill.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y1);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y1);\r\n\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y1);\r\n\t\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\t\tstroke.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\t\tconst dataItem = label.dataItem;\r\n\t\t\t\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\t\t\t\tdataItem.set(\"value\" as any, realValue);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tlabel.setAll({ x: p2.x, y: y2, fill: fillColor });\r\n\t\t\t\t\t\t\t\tlabel.text.markDirtyText();\r\n\r\n\t\t\t\t\t\t\t\tprevValue = -value;\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\r\n\tprotected _createElements(index: number) {\r\n\t\tsuper._createElements(index);\r\n\r\n\t\tif (!this._fills[index]) {\r\n\r\n\t\t\tconst labelArr = [];\r\n\t\t\tconst fillsArr = [];\r\n\t\t\tconst strokesArr = [];\r\n\r\n\t\t\tconst sequence = this.get(\"sequence\", []);\r\n\r\n\t\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\t\tconst label = this.makeLabel();\r\n\t\t\t\tconst dataItem = this.makeDataItem({});\r\n\t\t\t\tdataItem.set(\"sequence\" as any, sequence[i]);\r\n\t\t\t\tlabel._setDataItem(dataItem);\r\n\t\t\t\tlabelArr.push(label);\r\n\r\n\t\t\t\tconst fill = this.makeFill(this.fills);\r\n\t\t\t\tfillsArr.push(fill);\r\n\t\t\t\tfill.set(\"userData\", index);\r\n\t\t\t\tfill.states.remove(\"hover\");\r\n\r\n\t\t\t\tconst stroke = this.makeStroke(this.strokes);\r\n\t\t\t\tstroke.set(\"userData\", index);\r\n\t\t\t\tstrokesArr.push(stroke);\r\n\t\t\t}\r\n\r\n\t\t\tthis._labels[index] = labelArr;\r\n\t\t\tthis._fills[index] = fillsArr;\r\n\t\t\tthis._strokes[index] = strokesArr;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _drawFill() {\r\n\r\n\t}\r\n\r\n\tprotected _drawStroke() {\r\n\r\n\t}\r\n\r\n\tprotected _updateLine() {\r\n\r\n\t}\r\n\r\n\tprotected _clearGraphics() {\r\n\r\n\t}\r\n\r\n\tpublic enableDrawing() {\r\n\t\tsuper.enableDrawing();\r\n\t\tthis.showAllBullets();\r\n\t}\r\n\r\n\tpublic enableErasing() {\r\n\t\tsuper.enableErasing();\r\n\t\tthis.showAllBullets();\r\n\t}\r\n\r\n\tprotected _hideAllBullets() {\r\n\t\tif (this._drawingEnabled || this._erasingEnabled) {\r\n\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsuper._hideAllBullets();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst labels = this._labels[index];\r\n\t\t\tconst fills = this._fills[index];\r\n\t\t\tconst strokes = this._strokes[index];\r\n\r\n\t\t\tif (labels) {\r\n\t\t\t\t$array.each(labels, (item) => {\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t\tthis.labels.removeValue(item);\r\n\t\t\t\t})\r\n\r\n\t\t\t\tdelete (this._labels[index]);\r\n\t\t\t}\r\n\t\t\tif (fills) {\r\n\t\t\t\t$array.each(fills, (item) => {\r\n\t\t\t\t\tthis.fills.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._fills[index]);\r\n\t\t\t}\r\n\t\t\tif (strokes) {\r\n\t\t\t\t$array.each(strokes, (item) => {\r\n\t\t\t\t\tthis.strokes.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._strokes[index]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"FibonacciSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Graphics } from \"../../../core/render/Graphics\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\nimport type { Sprite } from \"../../../core/render/Sprite\";\r\n\r\nimport { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\nimport { Label } from \"../../../core/render/Label\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IFibonacciSeriesDataItem extends ISimpleLineSeriesDataItem {\r\n}\r\n\r\nexport interface IFibonacciSeriesSettings extends ISimpleLineSeriesSettings {\r\n\r\n\t/**\r\n\t * Sequence.\r\n\t */\r\n\tsequence?: Array<number>;\r\n\r\n\t/**\r\n\t * Array of colors to use for bands.\r\n\t */\r\n\tcolors?: Array<Color>\r\n\r\n}\r\n\r\nexport interface IFibonacciSeriesPrivate extends ISimpleLineSeriesPrivate {\r\n}\r\n\r\nexport class FibonacciSeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"FibonacciSeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([FibonacciSeries.className]);\r\n\r\n\tdeclare public _settings: IFibonacciSeriesSettings;\r\n\tdeclare public _privateSettings: IFibonacciSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IFibonacciSeriesDataItem;\r\n\r\n\tprotected _tag = \"fibonacci\";\r\n\tprotected _labels: Array<Array<Label>> = [];\r\n\tprotected _fills: Array<Array<Graphics>> = [];\r\n\tprotected _strokes: Array<Array<Graphics>> = [];\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\tthis.labels.push(label);\r\n\t\treturn label;\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\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\t\tthis._updateChildrenReal();\r\n\t}\r\n\r\n\tprotected _getIndex(sprite: Sprite): number {\r\n\t\treturn sprite.get(\"userData\");\r\n\t}\r\n\r\n\tprotected _updateChildrenReal() {\r\n\t\tconst chart = this.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\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\r\n\t\t\t\t\tif (diP1 && diP2) {\r\n\r\n\t\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\t\tconst sequence = this.get(\"sequence\", []);\r\n\t\t\t\t\t\t\tlet prevValue = 0;\r\n\r\n\t\t\t\t\t\t\tconst labels = this._labels[i];\r\n\t\t\t\t\t\t\tconst strokes = this._strokes[i];\r\n\t\t\t\t\t\t\tconst fills = this._fills[i];\r\n\r\n\t\t\t\t\t\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\t\t\t\t\t\tconst value = sequence[i] - 1;\r\n\r\n\t\t\t\t\t\t\t\tconst label = labels[i];\r\n\r\n\t\t\t\t\t\t\t\tconst fill = fills[i];\r\n\t\t\t\t\t\t\t\tconst stroke = strokes[i];\r\n\r\n\t\t\t\t\t\t\t\tlet fillColor = this.get(\"colors\", [])[i];\r\n\t\t\t\t\t\t\t\tlet strokeColor = fillColor;\r\n\r\n\t\t\t\t\t\t\t\tfill.set(\"fill\", fillColor);\r\n\t\t\t\t\t\t\t\tfill.set(\"fillOpacity\", this.get(\"fillOpacity\", 0));\r\n\t\t\t\t\t\t\t\tstroke.set(\"stroke\", strokeColor);\r\n\t\t\t\t\t\t\t\tstroke.set(\"strokeOpacity\", this.get(\"strokeOpacity\", 0));\r\n\r\n\t\t\t\t\t\t\t\tconst y1 = p1.y + (p2.y - p1.y) * prevValue;\r\n\t\t\t\t\t\t\t\tconst y2 = p1.y + (p2.y - p1.y) * -value;\r\n\r\n\t\t\t\t\t\t\t\tconst realValue = yAxis.positionToValue(yAxis.coordinateToPosition(y2));\r\n\r\n\t\t\t\t\t\t\t\tfill.setPrivate(\"visible\", true);\r\n\t\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", true);\r\n\r\n\t\t\t\t\t\t\t\tfill.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y1);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y1);\r\n\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y1);\r\n\t\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\t\tstroke.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\t\tconst dataItem = label.dataItem;\r\n\t\t\t\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\t\t\t\tdataItem.set(\"value\" as any, realValue);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tlabel.setAll({ x: p2.x, y: y2, fill: fillColor });\r\n\t\t\t\t\t\t\t\tlabel.text.markDirtyText();\r\n\r\n\t\t\t\t\t\t\t\tprevValue = -value;\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\r\n\tprotected _createElements(index: number) {\r\n\t\tsuper._createElements(index);\r\n\r\n\t\tif (!this._fills[index]) {\r\n\r\n\t\t\tconst labelArr = [];\r\n\t\t\tconst fillsArr = [];\r\n\t\t\tconst strokesArr = [];\r\n\r\n\t\t\tconst sequence = this.get(\"sequence\", []);\r\n\r\n\t\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\t\tconst label = this.makeLabel();\r\n\t\t\t\tconst dataItem = this.makeDataItem({});\r\n\t\t\t\tdataItem.set(\"sequence\" as any, sequence[i]);\r\n\t\t\t\tlabel._setDataItem(dataItem);\r\n\t\t\t\tlabelArr.push(label);\r\n\r\n\t\t\t\tconst fill = this.makeFill(this.fills);\r\n\t\t\t\tfillsArr.push(fill);\r\n\t\t\t\tfill.set(\"userData\", index);\r\n\t\t\t\tfill.states.remove(\"hover\");\r\n\r\n\t\t\t\tconst stroke = this.makeStroke(this.strokes);\r\n\t\t\t\tstroke.set(\"userData\", index);\r\n\t\t\t\tstrokesArr.push(stroke);\r\n\t\t\t}\r\n\r\n\t\t\tthis._labels[index] = labelArr;\r\n\t\t\tthis._fills[index] = fillsArr;\r\n\t\t\tthis._strokes[index] = strokesArr;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _drawFill() {\r\n\r\n\t}\r\n\r\n\tprotected _drawStroke() {\r\n\r\n\t}\r\n\r\n\tprotected _updateLine() {\r\n\r\n\t}\r\n\r\n\tprotected _clearGraphics() {\r\n\r\n\t}\r\n\r\n\t/*\r\n\tpublic enableDrawing() {\r\n\t\tsuper.enableDrawing();\r\n\t\tthis.showAllBullets();\r\n\t}\r\n\r\n\tpublic enableErasing() {\r\n\t\tsuper.enableErasing();\r\n\t\tthis.showAllBullets();\r\n\t}\r\n\t\r\n\tprotected _hideAllBullets() {\r\n\t\tif (this._drawingEnabled || this._erasingEnabled) {\r\n\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsuper._hideAllBullets();\r\n\t\t}\r\n\t}*/\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst labels = this._labels[index];\r\n\t\t\tconst fills = this._fills[index];\r\n\t\t\tconst strokes = this._strokes[index];\r\n\r\n\t\t\tif (labels) {\r\n\t\t\t\t$array.each(labels, (item) => {\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t\tthis.labels.removeValue(item);\r\n\t\t\t\t})\r\n\r\n\t\t\t\tdelete (this._labels[index]);\r\n\t\t\t}\r\n\t\t\tif (fills) {\r\n\t\t\t\t$array.each(fills, (item) => {\r\n\t\t\t\t\tthis.fills.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._fills[index]);\r\n\t\t\t}\r\n\t\t\tif (strokes) {\r\n\t\t\t\t$array.each(strokes, (item) => {\r\n\t\t\t\t\tthis.strokes.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._strokes[index]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
|
|
@@ -76,7 +76,7 @@ export class SimpleLineSeries extends DrawingSeries {
|
|
|
76
76
|
});
|
|
77
77
|
this.strokes.template.set("forceInactive", true);
|
|
78
78
|
lineTemplate.events.on("pointerout", (e) => {
|
|
79
|
-
this._hideAllBullets();
|
|
79
|
+
//this._hideAllBullets();
|
|
80
80
|
const index = e.target.get("userData");
|
|
81
81
|
const line = this._lines[index];
|
|
82
82
|
if (line) {
|
|
@@ -141,7 +141,7 @@ export class SimpleLineSeries extends DrawingSeries {
|
|
|
141
141
|
});
|
|
142
142
|
hitTemplate.events.on("pointerout", (e) => {
|
|
143
143
|
const index = e.target.get("userData");
|
|
144
|
-
this._hideAllBullets();
|
|
144
|
+
//this._hideAllBullets();
|
|
145
145
|
const line = this._lines[index];
|
|
146
146
|
if (line) {
|
|
147
147
|
line.unhover();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/SimpleLineSeries.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\nimport { Line } from \"../../../core/render/Line\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $math from \"../../../core/util/Math\";\r\n\r\n\r\nexport interface ISimpleLineSeriesDataItem extends IDrawingSeriesDataItem {\r\n}\r\n\r\nexport interface ISimpleLineSeriesSettings extends IDrawingSeriesSettings {\r\n\r\n\t/**\r\n\t * Show a dotted line extending from both ends of the drawn line.\r\n\t *\r\n\t * @default true\r\n\t */\r\n\tshowExtension?: boolean;\r\n}\r\n\r\nexport interface ISimpleLineSeriesPrivate extends IDrawingSeriesPrivate {\r\n}\r\n\r\nexport class SimpleLineSeries extends DrawingSeries {\r\n\tpublic static className: string = \"SimpleLineSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([SimpleLineSeries.className]);\r\n\r\n\tdeclare public _settings: ISimpleLineSeriesSettings;\r\n\tdeclare public _privateSettings: ISimpleLineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: ISimpleLineSeriesDataItem;\r\n\r\n\tprotected _tag = \"line\";\r\n\tprotected _updateExtension = false;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLine(): Line {\r\n\t\tconst line = this.lines.make();\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.lines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\tpublic readonly lines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.lines.template])\r\n\t);\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeHitLine(): Line {\r\n\t\tconst line = this.hitLines.make();\r\n\t\tline.addTag(\"hit\");\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.hitLines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\tpublic readonly hitLines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.hitLines.template])\r\n\t);\r\n\r\n\tprotected _di: Array<{ [index: string]: DataItem<ISimpleLineSeriesDataItem> }> = [];\r\n\tprotected _lines: Array<Line> = [];\r\n\tprotected _hitLines: Array<Line> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tconst lineTemplate = this.lines.template;\r\n\t\tlineTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tthis._showSegmentBullets(e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tthis.strokes.template.set(\"forceInactive\", true);\r\n\r\n\t\tlineTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\tthis._hideAllBullets();\r\n\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst hitTemplate = this.hitLines.template;\r\n\t\thitTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tthis._showSegmentBullets(index);\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.hover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.hover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"click\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tif (this._erasingEnabled) {\r\n\t\t\t\tthis._disposeIndex(index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis._selectDrawing(index, (e.originalEvent as any).ctrlKey);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstart\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStart(e);\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStart(e);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstop\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tthis.markDirtyValues();\r\n\t\t\te.target.setAll({ x: 0, y: 0 });\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStop(e);\r\n\t\t\t\tline.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStop(e);\r\n\t\t\t\tstroke.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tthis._hideAllBullets();\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tprotected _updateElements() {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst s = Math.max(chart.plotContainer.width(), chart.plotContainer.height()) * 2;\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\r\n\t\t\t\t\tif (diP1 && diP2) {\r\n\r\n\t\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\t\tconst len = Math.max(Math.abs(s - p1.x), Math.abs(s - p2.x), Math.abs(s - p1.y), Math.abs(s - p2.y), Math.abs(p1.x), Math.abs(p2.x), Math.abs(p1.y), Math.abs(p2.y))\r\n\t\t\t\t\t\t\tlet angle = $math.getAngle(p2, p1);\r\n\r\n\t\t\t\t\t\t\tconst p11 = { x: p1.x + len * $math.cos(angle), y: p1.y + len * $math.sin(angle) };\r\n\t\t\t\t\t\t\tconst p22 = { x: p2.x - len * $math.cos(angle), y: p2.y - len * $math.sin(angle) };\r\n\r\n\t\t\t\t\t\t\tthis._updateLine(i, p11, p22, p1, p2);\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 _updateLine(index: number, p11: IPoint, p22: IPoint, p1: IPoint, p2: IPoint) {\r\n\t\tconst line = this._lines[index];\r\n\t\tconst hitLine = this._hitLines[index];\r\n\r\n\t\tlet segments = [[[p11, p1]], [[p2, p22]]];\r\n\t\tlet hitSegments = [[[p11, p22]]];\r\n\r\n\t\tline.set(\"segments\", segments);\r\n\t\thitLine.set(\"segments\", hitSegments);\r\n\t}\r\n\r\n\tprotected _handlePointerClickReal(event: ISpritePointerEvent) {\r\n\t\tif (!this._isDragging && !this._isSelecting) {\r\n\t\t\tif (!this._isDrawing) {\r\n\t\t\t\tthis.isDrawing(true);\r\n\t\t\t\tthis._hideResizer(event.target);\r\n\t\t\t\tthis.unselectAllDrawings();\r\n\t\t\t\tthis._increaseIndex();\r\n\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.isDrawing(false);\r\n\t\t\t\tthis._dispatchStockEvent(\"drawingadded\", this._drawingId, this._index);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerClick(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tsuper._handlePointerClick(event);\r\n\t\t\tthis._handlePointerClickReal(event);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerMove(event: ISpritePointerEvent) {\r\n\t\tsuper._handlePointerMove(event);\r\n\t\tthis._handlePointerMoveReal(event);\r\n\t}\r\n\r\n\r\n\tprotected _handlePointerMoveReal(_event: ISpritePointerEvent) {\r\n\t\tif (this._isDrawing) {\r\n\t\t\tconst movePoint = this._movePointerPoint;\r\n\t\t\tconst index = this._index;\r\n\t\t\tconst dataItems = this._di[index];\r\n\r\n\t\t\tif (movePoint && dataItems) {\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\t\tconst valueXns = xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)); // not snapped\r\n\r\n\t\t\t\tconst valueX = this._getXValue(valueXns);\r\n\t\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueXns);\r\n\r\n\t\t\t\tconst diP1 = dataItems[\"p1\"];\r\n\t\t\t\tconst diP2 = dataItems[\"p2\"];\r\n\r\n\t\t\t\tif (diP1 && diP2) {\r\n\t\t\t\t\tthis._setContext(diP2, \"valueX\", valueX, true);\r\n\t\t\t\t\tthis._setContext(diP2, \"valueY\", valueY, true);\r\n\t\t\t\t\tthis._setXLocation(diP1, diP1.get(\"valueX\", 0));\r\n\t\t\t\t\tthis._setXLocation(diP2, valueX);\r\n\t\t\t\t\tthis._updateSegment(index);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _createElements(index: number) {\r\n\t\tif (!this._lines[index]) {\r\n\t\t\tconst line = this.makeLine();\r\n\t\t\tthis._lines[index] = line;\r\n\r\n\t\t\tconst hitLine = this.makeHitLine();\r\n\t\t\tthis._hitLines[index] = hitLine;\r\n\r\n\t\t\tconst dataContext = this.dataItems[this.dataItems.length - 1].dataContext as any;\r\n\t\t\tdataContext.sprite = line;\r\n\r\n\t\t\tlet showExtension = this.get(\"showExtension\", true);\r\n\r\n\t\t\tlet color = this.get(\"strokeColor\", this.get(\"stroke\"));\r\n\r\n\t\t\tconst strokeTemplate = dataContext.stroke;\r\n\t\t\tif (strokeTemplate) {\r\n\t\t\t\tcolor = strokeTemplate.get(\"stroke\");\r\n\t\t\t}\r\n\r\n\t\t\tif (dataContext) {\r\n\t\t\t\tshowExtension = dataContext.showExtension;\r\n\t\t\t}\r\n\r\n\t\t\tline.setPrivate(\"visible\", showExtension);\r\n\r\n\t\t\tconst settings = { stroke: color, userData: index };\r\n\t\t\tline.setAll(settings);\r\n\t\t\thitLine.setAll(settings);\r\n\r\n\t\t\tthis._updateSegment(index);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addTemplates(index: number) {\r\n\t\tthis.data.push({ stroke: this._getStrokeTemplate(), fill: this._getFillTemplate(), index: index, showExtension: this.get(\"showExtension\", true), corner: \"e\", drawingId: this._drawingId });\r\n\t}\r\n\r\n\tprotected _addPoints(event: ISpritePointerEvent, index: number) {\r\n\t\tconst chart = this.chart!;\r\n\t\tthis._addTemplates(index);\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\tconst point = chart.plotContainer.toLocal(event.point);\r\n\t\tconst valueYns = xAxis.positionToValue(xAxis.coordinateToPosition(point.x));\r\n\t\tconst valueX = this._getXValue(valueYns);\r\n\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueYns);\r\n\r\n\t\tthis._addPointsReal(valueX, valueY, index);\r\n\t}\r\n\r\n\tprotected _addPointsReal(valueX: number, valueY: number, index: number) {\r\n\t\tthis._addPoint(valueX, valueY, \"p1\", index);\r\n\t\tthis._addPoint(valueX, valueY, \"p2\", index);\r\n\t}\r\n\r\n\tprotected _addPoint(valueX: number, valueY: number, corner: string, index: number) {\r\n\t\tthis.data.push({ valueY: valueY, valueX: valueX, corner: corner, index: index, drawingId: this._drawingId });\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tthis.lines.removeValue(line);\r\n\t\t\t\tdelete (this._lines[index]);\r\n\t\t\t\tline.dispose();\r\n\t\t\t}\r\n\t\t\tconst hitLine = this._hitLines[index];\r\n\t\t\tif (hitLine) {\r\n\t\t\t\tthis.hitLines.removeValue(hitLine);\r\n\t\t\t\tdelete (this._hitLines[index]);\r\n\t\t\t\thitLine.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic setInteractive(value: boolean) {\r\n\t\tsuper.setInteractive(value);\r\n\t\tthis.hitLines.template.set(\"forceInactive\", !value);\r\n\t\tthis.lines.template.set(\"forceInactive\", !value);\r\n\t}\r\n\r\n\tpublic enableDrawingSelection(value:boolean){\r\n\t\tsuper.enableDrawingSelection(value);\t\t\r\n\t\tthis.hitLines.template.set(\"forceInactive\", !value);\r\n\t\tthis.lines.template.set(\"forceInactive\", !value);\t\t\t\r\n\t\tthis.strokes.template.set(\"forceInactive\", true);\r\n\t}\r\n\r\n\tprotected _applySettings(index: number, settings?: { [index: string]: any }) {\r\n\t\tsuper._applySettings(index, settings);\r\n\t\tlet context = this._getContext(index);\r\n\r\n\t\tif (context) {\r\n\t\t\tlet line = context.sprite;\r\n\r\n\t\t\tif (line && settings && settings.stroke) {\r\n\t\t\t\tline.set(\"stroke\", settings.stroke)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"SimpleLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/SimpleLineSeries.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\nimport { Line } from \"../../../core/render/Line\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $math from \"../../../core/util/Math\";\r\n\r\n\r\nexport interface ISimpleLineSeriesDataItem extends IDrawingSeriesDataItem {\r\n}\r\n\r\nexport interface ISimpleLineSeriesSettings extends IDrawingSeriesSettings {\r\n\r\n\t/**\r\n\t * Show a dotted line extending from both ends of the drawn line.\r\n\t *\r\n\t * @default true\r\n\t */\r\n\tshowExtension?: boolean;\r\n}\r\n\r\nexport interface ISimpleLineSeriesPrivate extends IDrawingSeriesPrivate {\r\n}\r\n\r\nexport class SimpleLineSeries extends DrawingSeries {\r\n\tpublic static className: string = \"SimpleLineSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([SimpleLineSeries.className]);\r\n\r\n\tdeclare public _settings: ISimpleLineSeriesSettings;\r\n\tdeclare public _privateSettings: ISimpleLineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: ISimpleLineSeriesDataItem;\r\n\r\n\tprotected _tag = \"line\";\r\n\tprotected _updateExtension = false;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLine(): Line {\r\n\t\tconst line = this.lines.make();\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.lines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\tpublic readonly lines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.lines.template])\r\n\t);\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeHitLine(): Line {\r\n\t\tconst line = this.hitLines.make();\r\n\t\tline.addTag(\"hit\");\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.hitLines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\tpublic readonly hitLines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.hitLines.template])\r\n\t);\r\n\r\n\tprotected _di: Array<{ [index: string]: DataItem<ISimpleLineSeriesDataItem> }> = [];\r\n\tprotected _lines: Array<Line> = [];\r\n\tprotected _hitLines: Array<Line> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tconst lineTemplate = this.lines.template;\r\n\t\tlineTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tthis._showSegmentBullets(e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tthis.strokes.template.set(\"forceInactive\", true);\r\n\r\n\t\tlineTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\t//this._hideAllBullets();\r\n\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst hitTemplate = this.hitLines.template;\r\n\t\thitTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tthis._showSegmentBullets(index);\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.hover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.hover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"click\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tif (this._erasingEnabled) {\r\n\t\t\t\tthis._disposeIndex(index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis._selectDrawing(index, (e.originalEvent as any).ctrlKey);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstart\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStart(e);\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStart(e);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstop\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tthis.markDirtyValues();\r\n\t\t\te.target.setAll({ x: 0, y: 0 });\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStop(e);\r\n\t\t\t\tline.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStop(e);\r\n\t\t\t\tstroke.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\t//this._hideAllBullets();\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tprotected _updateElements() {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst s = Math.max(chart.plotContainer.width(), chart.plotContainer.height()) * 2;\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\r\n\t\t\t\t\tif (diP1 && diP2) {\r\n\r\n\t\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\t\tconst len = Math.max(Math.abs(s - p1.x), Math.abs(s - p2.x), Math.abs(s - p1.y), Math.abs(s - p2.y), Math.abs(p1.x), Math.abs(p2.x), Math.abs(p1.y), Math.abs(p2.y))\r\n\t\t\t\t\t\t\tlet angle = $math.getAngle(p2, p1);\r\n\r\n\t\t\t\t\t\t\tconst p11 = { x: p1.x + len * $math.cos(angle), y: p1.y + len * $math.sin(angle) };\r\n\t\t\t\t\t\t\tconst p22 = { x: p2.x - len * $math.cos(angle), y: p2.y - len * $math.sin(angle) };\r\n\r\n\t\t\t\t\t\t\tthis._updateLine(i, p11, p22, p1, p2);\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 _updateLine(index: number, p11: IPoint, p22: IPoint, p1: IPoint, p2: IPoint) {\r\n\t\tconst line = this._lines[index];\r\n\t\tconst hitLine = this._hitLines[index];\r\n\r\n\t\tlet segments = [[[p11, p1]], [[p2, p22]]];\r\n\t\tlet hitSegments = [[[p11, p22]]];\r\n\r\n\t\tline.set(\"segments\", segments);\r\n\t\thitLine.set(\"segments\", hitSegments);\r\n\t}\r\n\r\n\tprotected _handlePointerClickReal(event: ISpritePointerEvent) {\r\n\t\tif (!this._isDragging && !this._isSelecting) {\r\n\t\t\tif (!this._isDrawing) {\r\n\t\t\t\tthis.isDrawing(true);\r\n\t\t\t\tthis._hideResizer(event.target);\r\n\t\t\t\tthis.unselectAllDrawings();\r\n\t\t\t\tthis._increaseIndex();\r\n\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.isDrawing(false);\r\n\t\t\t\tthis._dispatchStockEvent(\"drawingadded\", this._drawingId, this._index);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerClick(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tsuper._handlePointerClick(event);\r\n\t\t\tthis._handlePointerClickReal(event);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerMove(event: ISpritePointerEvent) {\r\n\t\tsuper._handlePointerMove(event);\r\n\t\tthis._handlePointerMoveReal(event);\r\n\t}\r\n\r\n\r\n\tprotected _handlePointerMoveReal(_event: ISpritePointerEvent) {\r\n\t\tif (this._isDrawing) {\r\n\t\t\tconst movePoint = this._movePointerPoint;\r\n\t\t\tconst index = this._index;\r\n\t\t\tconst dataItems = this._di[index];\r\n\r\n\t\t\tif (movePoint && dataItems) {\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\t\tconst valueXns = xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)); // not snapped\r\n\r\n\t\t\t\tconst valueX = this._getXValue(valueXns);\r\n\t\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueXns);\r\n\r\n\t\t\t\tconst diP1 = dataItems[\"p1\"];\r\n\t\t\t\tconst diP2 = dataItems[\"p2\"];\r\n\r\n\t\t\t\tif (diP1 && diP2) {\r\n\t\t\t\t\tthis._setContext(diP2, \"valueX\", valueX, true);\r\n\t\t\t\t\tthis._setContext(diP2, \"valueY\", valueY, true);\r\n\t\t\t\t\tthis._setXLocation(diP1, diP1.get(\"valueX\", 0));\r\n\t\t\t\t\tthis._setXLocation(diP2, valueX);\r\n\t\t\t\t\tthis._updateSegment(index);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _createElements(index: number) {\r\n\t\tif (!this._lines[index]) {\r\n\t\t\tconst line = this.makeLine();\r\n\t\t\tthis._lines[index] = line;\r\n\r\n\t\t\tconst hitLine = this.makeHitLine();\r\n\t\t\tthis._hitLines[index] = hitLine;\r\n\r\n\t\t\tconst dataContext = this.dataItems[this.dataItems.length - 1].dataContext as any;\r\n\t\t\tdataContext.sprite = line;\r\n\r\n\t\t\tlet showExtension = this.get(\"showExtension\", true);\r\n\r\n\t\t\tlet color = this.get(\"strokeColor\", this.get(\"stroke\"));\r\n\r\n\t\t\tconst strokeTemplate = dataContext.stroke;\r\n\t\t\tif (strokeTemplate) {\r\n\t\t\t\tcolor = strokeTemplate.get(\"stroke\");\r\n\t\t\t}\r\n\r\n\t\t\tif (dataContext) {\r\n\t\t\t\tshowExtension = dataContext.showExtension;\r\n\t\t\t}\r\n\r\n\t\t\tline.setPrivate(\"visible\", showExtension);\r\n\r\n\t\t\tconst settings = { stroke: color, userData: index };\r\n\t\t\tline.setAll(settings);\r\n\t\t\thitLine.setAll(settings);\r\n\r\n\t\t\tthis._updateSegment(index);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addTemplates(index: number) {\r\n\t\tthis.data.push({ stroke: this._getStrokeTemplate(), fill: this._getFillTemplate(), index: index, showExtension: this.get(\"showExtension\", true), corner: \"e\", drawingId: this._drawingId });\r\n\t}\r\n\r\n\tprotected _addPoints(event: ISpritePointerEvent, index: number) {\r\n\t\tconst chart = this.chart!;\r\n\t\tthis._addTemplates(index);\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\tconst point = chart.plotContainer.toLocal(event.point);\r\n\t\tconst valueYns = xAxis.positionToValue(xAxis.coordinateToPosition(point.x));\r\n\t\tconst valueX = this._getXValue(valueYns);\r\n\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueYns);\r\n\r\n\t\tthis._addPointsReal(valueX, valueY, index);\r\n\t}\r\n\r\n\tprotected _addPointsReal(valueX: number, valueY: number, index: number) {\r\n\t\tthis._addPoint(valueX, valueY, \"p1\", index);\r\n\t\tthis._addPoint(valueX, valueY, \"p2\", index);\r\n\t}\r\n\r\n\tprotected _addPoint(valueX: number, valueY: number, corner: string, index: number) {\r\n\t\tthis.data.push({ valueY: valueY, valueX: valueX, corner: corner, index: index, drawingId: this._drawingId });\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tthis.lines.removeValue(line);\r\n\t\t\t\tdelete (this._lines[index]);\r\n\t\t\t\tline.dispose();\r\n\t\t\t}\r\n\t\t\tconst hitLine = this._hitLines[index];\r\n\t\t\tif (hitLine) {\r\n\t\t\t\tthis.hitLines.removeValue(hitLine);\r\n\t\t\t\tdelete (this._hitLines[index]);\r\n\t\t\t\thitLine.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic setInteractive(value: boolean) {\r\n\t\tsuper.setInteractive(value);\r\n\t\tthis.hitLines.template.set(\"forceInactive\", !value);\r\n\t\tthis.lines.template.set(\"forceInactive\", !value);\r\n\t}\r\n\r\n\tpublic enableDrawingSelection(value:boolean){\r\n\t\tsuper.enableDrawingSelection(value);\t\t\r\n\t\tthis.hitLines.template.set(\"forceInactive\", !value);\r\n\t\tthis.lines.template.set(\"forceInactive\", !value);\t\t\t\r\n\t\tthis.strokes.template.set(\"forceInactive\", true);\r\n\t}\r\n\r\n\tprotected _applySettings(index: number, settings?: { [index: string]: any }) {\r\n\t\tsuper._applySettings(index, settings);\r\n\t\tlet context = this._getContext(index);\r\n\r\n\t\tif (context) {\r\n\t\t\tlet line = context.sprite;\r\n\r\n\t\t\tif (line && settings && settings.stroke) {\r\n\t\t\t\tline.set(\"stroke\", settings.stroke)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indicator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGpH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,MAAM,WAAW,yBAAyB;IAEzC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAEnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAC,CAAC;CAEH;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAE7D;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;OAEG;IACH,WAAW,EAAE,QAAQ,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAEnF;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;CAEpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAC3D;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;CACzD;AAED;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,SAAS;IAChD,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE9E,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAElC,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD,MAAM,EAAG,QAAQ,CAAC;IAEzB,SAAS,CAAC,UAAU,UAAS;IAE7B,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAExB,gBAAgB;IAyDvB,SAAS,CAAC,cAAc;IAKjB,aAAa;IAMb,eAAe;IAatB,SAAS,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"Indicator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,10 @@ export class Indicator extends Container {
|
|
|
122
122
|
const series = this.series;
|
|
123
123
|
if (series) {
|
|
124
124
|
series.dispose();
|
|
125
|
+
const yAxis = series.get("yAxis");
|
|
126
|
+
if (yAxis) {
|
|
127
|
+
yAxis.markDirtySelectionExtremes();
|
|
128
|
+
}
|
|
125
129
|
}
|
|
126
130
|
const stockChart = this.get("stockChart");
|
|
127
131
|
if (stockChart) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { XYSeries, IXYSeriesDataItem } from \"../../xy/series/XYSeries\";\r\nimport type { StockLegend } from \"../StockLegend\";\r\nimport type { StockChart } from \"../StockChart\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../../core/render/Container\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\nimport { BaseColumnSeries } from \"../../xy/series/BaseColumnSeries\";\r\nimport { MultiDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IIndicatorEditableSetting {\r\n\r\n\t/**\r\n\t * Setting key.\r\n\t */\r\n\tkey: string;\r\n\r\n\t/**\r\n\t * Name of the setting (displayed in edit modal).\r\n\t *\r\n\t * Settings with the same name will be grouped in modal.\r\n\t */\r\n\tname: string;\r\n\r\n\t/**\r\n\t * Type of the control to show for editing the setting in modal.\r\n\t */\r\n\ttype: \"color\" | \"number\" | \"dropdown\" | \"checkbox\";\r\n\r\n\t/**\r\n\t * Minimum numeric value allowable in this field.\r\n\t *\r\n\t * @since 5.8.1\r\n\t */\r\n\tminValue?: number;\r\n\r\n\t/**\r\n\t * If `type: \"dropdown\"`, `options` should contain a list of items it.\r\n\t */\r\n\toptions?: Array<string | {\r\n\t\tvalue: number | string,\r\n\t\ttext: string,\r\n\t\textTarget?: string,\r\n\t\textTargetValue?: number | string,\r\n\t\textTargetMinValue?: number\r\n\t}>;\r\n\r\n}\r\n\r\nexport interface IIndicatorSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * An instance of target [[StockChart]].\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * A main series indicator will be based on.\r\n\t */\r\n\tstockSeries: XYSeries;\r\n\r\n\t/**\r\n\t * A volume series indicator will be based on, if it reaquires one.\r\n\t */\r\n\tvolumeSeries?: XYSeries;\r\n\r\n\t/**\r\n\t * If set to a reference to [[StockLegend]], indicator will add itself into\r\n\t * the legend.\r\n\t */\r\n\tlegend?: StockLegend;\r\n\r\n\t/**\r\n\t * Period.\r\n\t */\r\n\tperiod?: number;\r\n\r\n\t/**\r\n\t * A value field to use.\r\n\t */\r\n\tfield?: \"open\" | \"close\" | \"low\" | \"high\" | \"hl/2\" | \"hlc/3\" | \"hlcc/4\" | \"ohlc/4\";\r\n\r\n\t/**\r\n\t * Indicator name, e.g. \"Moving Average\".\r\n\t */\r\n\tname?: string;\r\n\r\n\t/**\r\n\t * Short name for the indicator, e.g. \"MA\" (for \"Moving Average\").\r\n\t *\r\n\t * Mainly used for the legend.\r\n\t */\r\n\tshortName?: string;\r\n\r\n\t/**\r\n\t * A color to use for the indicator series.\r\n\t */\r\n\tseriesColor?: Color;\r\n\r\n}\r\n\r\nexport interface IIndicatorPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IIndicatorEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * Base class for [[StockChart]] indicators.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport abstract class Indicator extends Container {\r\n\tpublic static className: string = \"Indicator\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([Indicator.className]);\r\n\r\n\tdeclare public _settings: IIndicatorSettings;\r\n\tdeclare public _privateSettings: IIndicatorPrivate;\r\n\tdeclare public _events: IIndicatorEvents;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [];\r\n\r\n\tpublic series!: XYSeries;\r\n\r\n\tprotected _dataDirty = false;\r\n\r\n\tprotected _sDP?: MultiDisposer;\r\n\tprotected _vDP?: MultiDisposer;\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"stockSeries\") || this.isDirty(\"volumeSeries\")) {\r\n\t\t\tthis.markDataDirty();\r\n\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst previousS = this._prevSettings.stockSeries;\r\n\t\t\tif (previousS && this._sDP) {\r\n\t\t\t\tthis._sDP.dispose();\r\n\t\t\t}\r\n\t\t\tif (stockSeries) {\r\n\t\t\t\tthis._sDP = new MultiDisposer([\r\n\t\t\t\t\tstockSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tstockSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t})\r\n\t\t\t\t])\r\n\t\t\t}\r\n\r\n\t\t\tconst previousV = this._prevSettings.volumeSeries;\r\n\t\t\tif (previousV && this._vDP) {\r\n\t\t\t\tthis._vDP.dispose();\r\n\t\t\t}\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\t\tif (volumeSeries) {\r\n\t\t\t\tthis._vDP = new MultiDisposer([\r\n\t\t\t\t\tvolumeSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tvolumeSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\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\t\tif (this.isDirty(\"field\")) {\r\n\t\t\tif (this.get(\"field\")) {\r\n\t\t\t\tthis.markDataDirty();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"period\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\t}\r\n\r\n\r\n\t\tif (this._dataDirty) {\r\n\t\t\tthis.prepareData();\r\n\t\t\tthis._dataDirty = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _markDataDirty() {\r\n\t\tthis._dataDirty = true;\r\n\t\tthis.markDirty();\r\n\t}\r\n\r\n\tpublic markDataDirty() {\r\n\t\tthis._root.events.once(\"frameended\", () => {\r\n\t\t\tthis._markDataDirty();\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"seriesColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.series, this.get(\"seriesColor\"), \"seriesColor\");\r\n\t\t}\r\n\r\n\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\tthis.setCustomData(\"field\", this.get(\"field\"));\r\n\t\tthis.setCustomData(\"name\", this.get(\"name\"));\r\n\t\tthis.setCustomData(\"shortName\", this.get(\"shortName\"));\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\r\n\t\tif (this._sDP) {\r\n\t\t\tthis._sDP.dispose();\r\n\t\t}\r\n\t\tif (this._vDP) {\r\n\t\t\tthis._vDP.dispose();\r\n\t\t}\r\n\r\n\t\tconst series = this.series;\r\n\t\tif (series) {\r\n\t\t\tseries.dispose();\r\n\t\t}\r\n\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tif (stockChart) {\r\n\t\t\tconst legend = this.get(\"legend\");\r\n\t\t\tif (legend) {\r\n\t\t\t\tconst legendDataItem = series.get(\"legendDataItem\");\r\n\t\t\t\tif (legendDataItem) {\r\n\t\t\t\t\tlegend.disposeDataItem(legendDataItem as any);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstockChart.indicators.removeValue(this);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async hide(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.hide(duration),\r\n\t\t\tthis.series.hide(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tpublic async show(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.show(duration),\r\n\t\t\tthis.series.show(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tprotected _handleLegend(series: XYSeries) {\r\n\t\tconst legend = this.get(\"legend\");\r\n\t\tif (legend) {\r\n\t\t\tlegend.data.push(series);\r\n\r\n\t\t\tconst legendDataItem = legend.dataItems[legend.dataItems.length - 1];\r\n\t\t\tlegendDataItem.get(\"marker\").set(\"forceHidden\", true);\r\n\r\n\t\t\tconst closeButton = legendDataItem.get(\"closeButton\");\r\n\t\t\tcloseButton.set(\"forceHidden\", false);\r\n\t\t\tcloseButton.events.on(\"click\", () => {\r\n\t\t\t\tthis.dispose();\r\n\t\t\t})\r\n\r\n\t\t\tconst settingsButton = legendDataItem.get(\"settingsButton\");\r\n\t\t\tsettingsButton.setPrivate(\"customData\", this);\r\n\r\n\t\t\tconst editableSettings = this._editableSettings;\r\n\t\t\tif (!editableSettings || editableSettings.length == 0) {\r\n\t\t\t\tsettingsButton.set(\"forceHidden\", true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateSeriesColor(series?: XYSeries, color?: Color, contextName?: string) {\r\n\t\tif (series) {\r\n\t\t\tseries.set(\"stroke\", color);\r\n\t\t\tseries.set(\"fill\", color);\r\n\t\t\tif (series instanceof LineSeries) {\r\n\t\t\t\tseries.strokes.template.set(\"stroke\", color);\r\n\t\t\t\tseries.fills.template.set(\"fill\", color);\r\n\t\t\t}\r\n\r\n\t\t\tif (series instanceof BaseColumnSeries) {\r\n\t\t\t\tseries.columns.template.setAll({ stroke: color, fill: color });\r\n\t\t\t}\r\n\r\n\t\t\tif (contextName && color) {\r\n\t\t\t\tthis.setCustomData(contextName, color.toCSSHex());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tpublic setCustomData(name: string, value?: any) {\r\n\t\tconst customData = this.series.getPrivate(\"customData\");\r\n\t\tif (customData) {\r\n\t\t\tcustomData[name] = value;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\r\n\t}\r\n\r\n\tprotected _getValue(dataItem: DataItem<IXYSeriesDataItem>): number | undefined {\r\n\t\tconst field = this.get(\"field\");\r\n\r\n\t\tlet o = dataItem.get(\"openValueY\") as number;\r\n\t\tlet h = dataItem.get(\"highValueY\") as number;\r\n\t\tlet l = dataItem.get(\"lowValueY\") as number;\r\n\t\tlet c = dataItem.get(\"valueY\") as number;\r\n\r\n\t\tswitch (field) {\r\n\t\t\tcase \"close\":\r\n\t\t\t\treturn c;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"open\":\r\n\t\t\t\treturn o;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"high\":\r\n\t\t\t\treturn h;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"low\":\r\n\t\t\t\treturn l;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hl/2\":\r\n\t\t\t\treturn (h + l) / 2;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlc/3\":\r\n\t\t\t\treturn (h + l + c) / 3;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlcc/4\":\r\n\t\t\t\treturn (h + l + c + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ohlc/4\":\r\n\t\t\t\treturn (o + h + l + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getDataArray(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: this._getValue(dataItem) });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getTypicalPrice(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: (dataItem.get(\"valueY\", 0) + dataItem.get(\"highValueY\", 0) + dataItem.get(\"lowValueY\", 0)) / 2 });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\tprotected _sma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tma += value / period;\r\n\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tif (i > period) {\r\n\t\t\t\t\t\tlet valueToRemove = data[index - period][field];\r\n\t\t\t\t\t\tif (valueToRemove != null) {\r\n\t\t\t\t\t\t\tma -= valueToRemove / period;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _wma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet sum = 0;\r\n\t\t\t\t\tlet m = 0;\r\n\t\t\t\t\tlet count = 0;\r\n\t\t\t\t\tlet k = 0\r\n\t\t\t\t\tfor (let n = index; n >= 0; n--) {\r\n\t\t\t\t\t\tlet pValue = data[n][field];\r\n\r\n\t\t\t\t\t\tif (pValue != null) {\r\n\t\t\t\t\t\t\tsum += pValue * (period - m);\r\n\t\t\t\t\t\t\tcount += (period - m);\r\n\t\t\t\t\t\t\tk++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tm++;\r\n\r\n\t\t\t\t\t\tif (k == period) {\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tma = sum / count;\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _ema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ma = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tma = value * multiplier + ma * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tma += value / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = ma;\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 _dema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema2 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._ema(data, period, field, \"ema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tif (ema != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema2 = ema * multiplier + ema2 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema2 += ema / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\t\tdataItem.ema2 = ema2;\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 _tema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema3 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._dema(data, period, field, \"dema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tlet ema2 = dataItem.ema2;\r\n\r\n\t\t\tif (ema2 != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema3 = ema2 * multiplier + ema3 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema3 += ema2 / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\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":"Indicator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { XYSeries, IXYSeriesDataItem } from \"../../xy/series/XYSeries\";\r\nimport type { StockLegend } from \"../StockLegend\";\r\nimport type { StockChart } from \"../StockChart\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../../core/render/Container\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\nimport { BaseColumnSeries } from \"../../xy/series/BaseColumnSeries\";\r\nimport { MultiDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IIndicatorEditableSetting {\r\n\r\n\t/**\r\n\t * Setting key.\r\n\t */\r\n\tkey: string;\r\n\r\n\t/**\r\n\t * Name of the setting (displayed in edit modal).\r\n\t *\r\n\t * Settings with the same name will be grouped in modal.\r\n\t */\r\n\tname: string;\r\n\r\n\t/**\r\n\t * Type of the control to show for editing the setting in modal.\r\n\t */\r\n\ttype: \"color\" | \"number\" | \"dropdown\" | \"checkbox\";\r\n\r\n\t/**\r\n\t * Minimum numeric value allowable in this field.\r\n\t *\r\n\t * @since 5.8.1\r\n\t */\r\n\tminValue?: number;\r\n\r\n\t/**\r\n\t * If `type: \"dropdown\"`, `options` should contain a list of items it.\r\n\t */\r\n\toptions?: Array<string | {\r\n\t\tvalue: number | string,\r\n\t\ttext: string,\r\n\t\textTarget?: string,\r\n\t\textTargetValue?: number | string,\r\n\t\textTargetMinValue?: number\r\n\t}>;\r\n\r\n}\r\n\r\nexport interface IIndicatorSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * An instance of target [[StockChart]].\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * A main series indicator will be based on.\r\n\t */\r\n\tstockSeries: XYSeries;\r\n\r\n\t/**\r\n\t * A volume series indicator will be based on, if it reaquires one.\r\n\t */\r\n\tvolumeSeries?: XYSeries;\r\n\r\n\t/**\r\n\t * If set to a reference to [[StockLegend]], indicator will add itself into\r\n\t * the legend.\r\n\t */\r\n\tlegend?: StockLegend;\r\n\r\n\t/**\r\n\t * Period.\r\n\t */\r\n\tperiod?: number;\r\n\r\n\t/**\r\n\t * A value field to use.\r\n\t */\r\n\tfield?: \"open\" | \"close\" | \"low\" | \"high\" | \"hl/2\" | \"hlc/3\" | \"hlcc/4\" | \"ohlc/4\";\r\n\r\n\t/**\r\n\t * Indicator name, e.g. \"Moving Average\".\r\n\t */\r\n\tname?: string;\r\n\r\n\t/**\r\n\t * Short name for the indicator, e.g. \"MA\" (for \"Moving Average\").\r\n\t *\r\n\t * Mainly used for the legend.\r\n\t */\r\n\tshortName?: string;\r\n\r\n\t/**\r\n\t * A color to use for the indicator series.\r\n\t */\r\n\tseriesColor?: Color;\r\n\r\n}\r\n\r\nexport interface IIndicatorPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IIndicatorEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * Base class for [[StockChart]] indicators.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport abstract class Indicator extends Container {\r\n\tpublic static className: string = \"Indicator\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([Indicator.className]);\r\n\r\n\tdeclare public _settings: IIndicatorSettings;\r\n\tdeclare public _privateSettings: IIndicatorPrivate;\r\n\tdeclare public _events: IIndicatorEvents;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [];\r\n\r\n\tpublic series!: XYSeries;\r\n\r\n\tprotected _dataDirty = false;\r\n\r\n\tprotected _sDP?: MultiDisposer;\r\n\tprotected _vDP?: MultiDisposer;\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"stockSeries\") || this.isDirty(\"volumeSeries\")) {\r\n\t\t\tthis.markDataDirty();\r\n\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst previousS = this._prevSettings.stockSeries;\r\n\t\t\tif (previousS && this._sDP) {\r\n\t\t\t\tthis._sDP.dispose();\r\n\t\t\t}\r\n\t\t\tif (stockSeries) {\r\n\t\t\t\tthis._sDP = new MultiDisposer([\r\n\t\t\t\t\tstockSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tstockSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t})\r\n\t\t\t\t])\r\n\t\t\t}\r\n\r\n\t\t\tconst previousV = this._prevSettings.volumeSeries;\r\n\t\t\tif (previousV && this._vDP) {\r\n\t\t\t\tthis._vDP.dispose();\r\n\t\t\t}\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\t\tif (volumeSeries) {\r\n\t\t\t\tthis._vDP = new MultiDisposer([\r\n\t\t\t\t\tvolumeSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tvolumeSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\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\t\tif (this.isDirty(\"field\")) {\r\n\t\t\tif (this.get(\"field\")) {\r\n\t\t\t\tthis.markDataDirty();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"period\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\t}\r\n\r\n\r\n\t\tif (this._dataDirty) {\r\n\t\t\tthis.prepareData();\r\n\t\t\tthis._dataDirty = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _markDataDirty() {\r\n\t\tthis._dataDirty = true;\r\n\t\tthis.markDirty();\r\n\t}\r\n\r\n\tpublic markDataDirty() {\r\n\t\tthis._root.events.once(\"frameended\", () => {\r\n\t\t\tthis._markDataDirty();\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"seriesColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.series, this.get(\"seriesColor\"), \"seriesColor\");\r\n\t\t}\r\n\r\n\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\tthis.setCustomData(\"field\", this.get(\"field\"));\r\n\t\tthis.setCustomData(\"name\", this.get(\"name\"));\r\n\t\tthis.setCustomData(\"shortName\", this.get(\"shortName\"));\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\r\n\t\tif (this._sDP) {\r\n\t\t\tthis._sDP.dispose();\r\n\t\t}\r\n\t\tif (this._vDP) {\r\n\t\t\tthis._vDP.dispose();\r\n\t\t}\r\n\r\n\t\tconst series = this.series;\r\n\t\tif (series) {\r\n\t\t\tseries.dispose();\r\n\r\n\t\t\tconst yAxis = series.get(\"yAxis\");\r\n\t\t\tif (yAxis) {\r\n\t\t\t\tyAxis.markDirtySelectionExtremes();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tif (stockChart) {\r\n\t\t\tconst legend = this.get(\"legend\");\r\n\t\t\tif (legend) {\r\n\t\t\t\tconst legendDataItem = series.get(\"legendDataItem\");\r\n\t\t\t\tif (legendDataItem) {\r\n\t\t\t\t\tlegend.disposeDataItem(legendDataItem as any);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstockChart.indicators.removeValue(this);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async hide(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.hide(duration),\r\n\t\t\tthis.series.hide(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tpublic async show(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.show(duration),\r\n\t\t\tthis.series.show(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tprotected _handleLegend(series: XYSeries) {\r\n\t\tconst legend = this.get(\"legend\");\r\n\t\tif (legend) {\r\n\t\t\tlegend.data.push(series);\r\n\r\n\t\t\tconst legendDataItem = legend.dataItems[legend.dataItems.length - 1];\r\n\t\t\tlegendDataItem.get(\"marker\").set(\"forceHidden\", true);\r\n\r\n\t\t\tconst closeButton = legendDataItem.get(\"closeButton\");\r\n\t\t\tcloseButton.set(\"forceHidden\", false);\r\n\t\t\tcloseButton.events.on(\"click\", () => {\r\n\t\t\t\tthis.dispose();\r\n\t\t\t})\r\n\r\n\t\t\tconst settingsButton = legendDataItem.get(\"settingsButton\");\r\n\t\t\tsettingsButton.setPrivate(\"customData\", this);\r\n\r\n\t\t\tconst editableSettings = this._editableSettings;\r\n\t\t\tif (!editableSettings || editableSettings.length == 0) {\r\n\t\t\t\tsettingsButton.set(\"forceHidden\", true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateSeriesColor(series?: XYSeries, color?: Color, contextName?: string) {\r\n\t\tif (series) {\r\n\t\t\tseries.set(\"stroke\", color);\r\n\t\t\tseries.set(\"fill\", color);\r\n\t\t\tif (series instanceof LineSeries) {\r\n\t\t\t\tseries.strokes.template.set(\"stroke\", color);\r\n\t\t\t\tseries.fills.template.set(\"fill\", color);\r\n\t\t\t}\r\n\r\n\t\t\tif (series instanceof BaseColumnSeries) {\r\n\t\t\t\tseries.columns.template.setAll({ stroke: color, fill: color });\r\n\t\t\t}\r\n\r\n\t\t\tif (contextName && color) {\r\n\t\t\t\tthis.setCustomData(contextName, color.toCSSHex());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tpublic setCustomData(name: string, value?: any) {\r\n\t\tconst customData = this.series.getPrivate(\"customData\");\r\n\t\tif (customData) {\r\n\t\t\tcustomData[name] = value;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\r\n\t}\r\n\r\n\tprotected _getValue(dataItem: DataItem<IXYSeriesDataItem>): number | undefined {\r\n\t\tconst field = this.get(\"field\");\r\n\r\n\t\tlet o = dataItem.get(\"openValueY\") as number;\r\n\t\tlet h = dataItem.get(\"highValueY\") as number;\r\n\t\tlet l = dataItem.get(\"lowValueY\") as number;\r\n\t\tlet c = dataItem.get(\"valueY\") as number;\r\n\r\n\t\tswitch (field) {\r\n\t\t\tcase \"close\":\r\n\t\t\t\treturn c;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"open\":\r\n\t\t\t\treturn o;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"high\":\r\n\t\t\t\treturn h;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"low\":\r\n\t\t\t\treturn l;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hl/2\":\r\n\t\t\t\treturn (h + l) / 2;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlc/3\":\r\n\t\t\t\treturn (h + l + c) / 3;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlcc/4\":\r\n\t\t\t\treturn (h + l + c + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ohlc/4\":\r\n\t\t\t\treturn (o + h + l + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getDataArray(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: this._getValue(dataItem) });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getTypicalPrice(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: (dataItem.get(\"valueY\", 0) + dataItem.get(\"highValueY\", 0) + dataItem.get(\"lowValueY\", 0)) / 2 });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\tprotected _sma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tma += value / period;\r\n\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tif (i > period) {\r\n\t\t\t\t\t\tlet valueToRemove = data[index - period][field];\r\n\t\t\t\t\t\tif (valueToRemove != null) {\r\n\t\t\t\t\t\t\tma -= valueToRemove / period;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _wma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet sum = 0;\r\n\t\t\t\t\tlet m = 0;\r\n\t\t\t\t\tlet count = 0;\r\n\t\t\t\t\tlet k = 0\r\n\t\t\t\t\tfor (let n = index; n >= 0; n--) {\r\n\t\t\t\t\t\tlet pValue = data[n][field];\r\n\r\n\t\t\t\t\t\tif (pValue != null) {\r\n\t\t\t\t\t\t\tsum += pValue * (period - m);\r\n\t\t\t\t\t\t\tcount += (period - m);\r\n\t\t\t\t\t\t\tk++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tm++;\r\n\r\n\t\t\t\t\t\tif (k == period) {\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tma = sum / count;\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _ema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ma = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tma = value * multiplier + ma * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tma += value / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = ma;\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 _dema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema2 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._ema(data, period, field, \"ema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tif (ema != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema2 = ema * multiplier + ema2 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema2 += ema / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\t\tdataItem.ema2 = ema2;\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 _tema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema3 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._dema(data, period, field, \"dema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tlet ema2 = dataItem.ema2;\r\n\r\n\t\t\tif (ema2 != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema3 = ema2 * multiplier + ema3 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema3 += ema2 / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingControl.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/DrawingControl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DrawingControl.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/DrawingControl.ts"],"names":[],"mappings":"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"}
|