@amcharts/amcharts5 5.10.7 → 5.10.9
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/map/MapChart.d.ts.map +1 -1
- package/.internal/charts/map/MapChart.js +8 -1
- package/.internal/charts/map/MapChart.js.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js +11 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts +1 -0
- package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js +17 -4
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts +1 -0
- package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js +14 -2
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
- package/.internal/charts/stock/drawing/Measure.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/Measure.js +1 -1
- package/.internal/charts/stock/drawing/Measure.js.map +1 -1
- package/.internal/charts/stock/indicators/HeikinAshi.d.ts +43 -0
- package/.internal/charts/stock/indicators/HeikinAshi.d.ts.map +1 -0
- package/.internal/charts/stock/indicators/HeikinAshi.js +109 -0
- package/.internal/charts/stock/indicators/HeikinAshi.js.map +1 -0
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.js +8 -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 +48 -2
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +3 -0
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +3 -0
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/core/Classes.d.ts +2 -0
- package/.internal/core/Classes.d.ts.map +1 -1
- package/.internal/core/Classes.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts +1 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +56 -6
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Graphics.d.ts +8 -0
- package/.internal/core/render/Graphics.d.ts.map +1 -1
- package/.internal/core/render/Graphics.js +5 -4
- package/.internal/core/render/Graphics.js.map +1 -1
- package/.internal/core/render/Label.js +2 -2
- package/.internal/core/render/Label.js.map +1 -1
- package/.internal/core/render/ZoomableContainer.d.ts.map +1 -1
- package/.internal/core/render/ZoomableContainer.js +10 -8
- package/.internal/core/render/ZoomableContainer.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +2 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +23 -6
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/backend/Renderer.d.ts +2 -1
- package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
- package/.internal/core/render/backend/Renderer.js.map +1 -1
- package/.internal/core/render/patterns/PicturePattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/PicturePattern.js +5 -0
- package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
- package/.internal/core/util/Accessibility.d.ts +7 -0
- package/.internal/core/util/Accessibility.d.ts.map +1 -1
- package/.internal/core/util/Accessibility.js.map +1 -1
- package/.internal/core/util/Timezone.d.ts.map +1 -1
- package/.internal/core/util/Timezone.js +2 -2
- package/.internal/core/util/Timezone.js.map +1 -1
- package/.internal/plugins/exporting/ExportingCSS.d.ts.map +1 -1
- package/.internal/plugins/exporting/ExportingCSS.js +110 -102
- package/.internal/plugins/exporting/ExportingCSS.js.map +1 -1
- package/CHANGELOG.md +38 -0
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalLineSeries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HorizontalLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalLineSeries.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 * as $array from \"../../../core/util/Array\";\r\n\r\nimport { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\n\r\nexport interface IHorizontalLineSeriesDataItem extends ISimpleLineSeriesDataItem {\r\n}\r\n\r\nexport interface IHorizontalLineSeriesSettings extends ISimpleLineSeriesSettings {\r\n}\r\n\r\nexport interface IHorizontalLineSeriesPrivate extends ISimpleLineSeriesPrivate {\r\n}\r\n\r\nexport class HorizontalLineSeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"HorizontalLineSeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([HorizontalLineSeries.className]);\r\n\r\n\tdeclare public _settings: IHorizontalLineSeriesSettings;\r\n\tdeclare public _privateSettings: IHorizontalLineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IHorizontalLineSeriesDataItem;\r\n\r\n\tprotected _tag = \"horizontal\";\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.lines.template.set(\"forceHidden\", true);\r\n\t}\r\n\r\n\tprotected _handleBulletDragged(event: ISpritePointerEvent) {\r\n\t\tsuper._handleBulletDragged(event);\r\n\r\n\t\tconst dataItem = event.target.dataItem as DataItem<IHorizontalLineSeriesDataItem>;\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\t\tconst diP2 = this._di[index][\"p2\"];\r\n\t\t\tconst diP3 = this._di[index][\"p3\"];\r\n\r\n\t\t\tconst movePoint = this._movePointerPoint;\r\n\r\n\t\t\tif (diP1 && diP2 && diP3 && movePoint) {\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\r\n\t\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueX);\r\n\r\n\t\t\t\tconst min = xAxis.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = xAxis.getPrivate(\"max\", 1);\r\n\r\n\t\t\t\tthis._setContext(diP1, \"valueY\", valueY, true);\r\n\t\t\t\tthis._setContext(diP2, \"valueY\", valueY, true);\r\n\t\t\t\tthis._setContext(diP3, \"valueY\", valueY, true);\r\n\r\n\t\t\t\tthis._setContext(diP1, \"valueX\", min - (max - min));\r\n\t\t\t\tthis._setContext(diP2, \"valueX\", valueX);\r\n\t\t\t\tthis._setContext(diP3, \"valueX\", max + (max - min));\r\n\r\n\t\t\t\tthis._setXLocation(diP2, diP2.get(\"valueX\", 0));\r\n\r\n\t\t\t\tthis._positionBullets(diP2);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerMoveReal() {\r\n\r\n\t}\r\n\r\n\tpublic _prepareChildren(): void {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\r\n\t\tconst min = xAxis.getPrivate(\"min\", 0);\r\n\t\tconst max = xAxis.getPrivate(\"max\", 1);\r\n\r\n\t\t$array.each(this._di, (di) => {\r\n\t\t\tif(di){\r\n\t\t\t\tthis._setContext(di[\"p1\"], \"valueX\", min - (max - min), true);\r\n\t\t\t\tthis._setContext(di[\"p3\"], \"valueX\", max + (max - min), true);\t\t\t\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected _updateSegment(index: number) {\r\n\t\tif (this._di[index]) {\r\n\t\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\t\tconst diP3 = this._di[index][\"p3\"];\r\n\r\n\t\t\tif (diP1 && diP3) {\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst min = xAxis.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = xAxis.getPrivate(\"max\", 1);\r\n\r\n\t\t\t\tthis._setContext(diP1, \"valueX\", min - (max - min), true);\r\n\t\t\t\tthis._setContext(diP3, \"valueX\", max + (max - min), true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerClickReal(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tif (!this._isDragging) {\r\n\t\t\t\tif(this.unselectAllDrawings() == 0){\r\n\t\t\t\t\tthis._increaseIndex();\r\n\t\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t\t\tthis.isDrawing(false);\r\n\t\t\t\t\t\r\n\t\t\t\t\tthis._updateSegment(this._index);\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 _addPointsReal(valueX: number, valueY: number, index: number) {\r\n\t\tsuper._addPointsReal(valueX, valueY, index);\r\n\t\tthis._addPoint(valueX, valueY, \"p3\", index);\r\n\t}\r\n\r\n}"]}
|
|
@@ -15,6 +15,7 @@ export declare class HorizontalRaySeries extends SimpleLineSeries {
|
|
|
15
15
|
protected _tag: string;
|
|
16
16
|
protected _afterNew(): void;
|
|
17
17
|
protected _handleBulletDragged(event: ISpritePointerEvent): void;
|
|
18
|
+
_prepareChildren(): void;
|
|
18
19
|
protected _handlePointerMoveReal(): void;
|
|
19
20
|
protected _updateSegment(index: number): void;
|
|
20
21
|
protected _handlePointerClickReal(event: ISpritePointerEvent): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalRaySeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalRaySeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"HorizontalRaySeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalRaySeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtI,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;CAC9E;AAED,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;CAC9E;AAED,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;CAC5E;AAED,qBAAa,mBAAoB,SAAQ,gBAAgB;IACxD,OAAc,SAAS,EAAE,MAAM,CAAyB;IACxD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuE;IAE/F,SAAS,EAAE,4BAA4B,CAAC;IACxC,gBAAgB,EAAE,2BAA2B,CAAC;IAC9C,iBAAiB,EAAE,4BAA4B,CAAC;IAE/D,SAAS,CAAC,IAAI,SAAS;IAGvB,SAAS,CAAC,SAAS;IAKnB,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAoClD,gBAAgB,IAAI,IAAI;IAe/B,SAAS,CAAC,sBAAsB;IAIhC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM;IAgBtC,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;CAe5D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as $array from "../../../core/util/Array";
|
|
1
2
|
import { SimpleLineSeries } from "./SimpleLineSeries";
|
|
2
3
|
export class HorizontalRaySeries extends SimpleLineSeries {
|
|
3
4
|
constructor() {
|
|
@@ -32,12 +33,23 @@ export class HorizontalRaySeries extends SimpleLineSeries {
|
|
|
32
33
|
this._setContext(diP1, "valueY", valueY, true);
|
|
33
34
|
this._setContext(diP2, "valueY", valueY, true);
|
|
34
35
|
this._setContext(diP1, "valueX", valueX);
|
|
35
|
-
this._setContext(diP2, "valueX", max + (max - min)
|
|
36
|
+
this._setContext(diP2, "valueX", max + (max - min));
|
|
36
37
|
this._setXLocation(diP1, diP1.get("valueX", 0));
|
|
37
38
|
this._positionBullets(diP1);
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
}
|
|
42
|
+
_prepareChildren() {
|
|
43
|
+
super._prepareChildren();
|
|
44
|
+
const xAxis = this.get("xAxis");
|
|
45
|
+
const min = xAxis.getPrivate("min", 0);
|
|
46
|
+
const max = xAxis.getPrivate("max", 1);
|
|
47
|
+
$array.each(this._di, (di) => {
|
|
48
|
+
if (di) {
|
|
49
|
+
this._setContext(di["p2"], "valueX", max + (max - min), true);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
41
53
|
_handlePointerMoveReal() {
|
|
42
54
|
}
|
|
43
55
|
_updateSegment(index) {
|
|
@@ -47,7 +59,7 @@ export class HorizontalRaySeries extends SimpleLineSeries {
|
|
|
47
59
|
const xAxis = this.get("xAxis");
|
|
48
60
|
const min = xAxis.getPrivate("min", 0);
|
|
49
61
|
const max = xAxis.getPrivate("max", 1);
|
|
50
|
-
this._setContext(diP2, "valueX", max + (max - min)
|
|
62
|
+
this._setContext(diP2, "valueX", max + (max - min), true);
|
|
51
63
|
}
|
|
52
64
|
}
|
|
53
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalRaySeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalRaySeries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HorizontalRaySeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalRaySeries.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 * as $array from \"../../../core/util/Array\";\r\n\r\nimport { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\n\r\nexport interface IHorizontalRaySeriesDataItem extends ISimpleLineSeriesDataItem {\r\n}\r\n\r\nexport interface IHorizontalRaySeriesSettings extends ISimpleLineSeriesSettings {\r\n}\r\n\r\nexport interface IHorizontalRaySeriesPrivate extends ISimpleLineSeriesPrivate {\r\n}\r\n\r\nexport class HorizontalRaySeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"HorizontalRaySeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([HorizontalRaySeries.className]);\r\n\r\n\tdeclare public _settings: IHorizontalRaySeriesSettings;\r\n\tdeclare public _privateSettings: IHorizontalRaySeriesPrivate;\r\n\tdeclare public _dataItemSettings: IHorizontalRaySeriesDataItem;\r\n\r\n\tprotected _tag = \"ray\";\r\n\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.lines.template.set(\"forceHidden\", true);\r\n\t}\r\n\r\n\tprotected _handleBulletDragged(event: ISpritePointerEvent) {\r\n\t\tsuper._handleBulletDragged(event);\r\n\r\n\t\tconst dataItem = event.target.dataItem as DataItem<IHorizontalRaySeriesDataItem>;\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\t\tconst movePoint = this._movePointerPoint;\r\n\r\n\t\t\tif (diP1 && diP2 && movePoint) {\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\r\n\t\t\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)), valueX);\r\n\r\n\t\t\t\tconst min = xAxis.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = xAxis.getPrivate(\"max\", 1);\r\n\r\n\t\t\t\tthis._setContext(diP1, \"valueY\", valueY, true);\r\n\t\t\t\tthis._setContext(diP2, \"valueY\", valueY, true);\r\n\r\n\t\t\t\tthis._setContext(diP1, \"valueX\", valueX);\r\n\t\t\t\tthis._setContext(diP2, \"valueX\", max + (max - min));\r\n\r\n\t\t\t\tthis._setXLocation(diP1, diP1.get(\"valueX\", 0));\r\n\r\n\t\t\t\tthis._positionBullets(diP1);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _prepareChildren(): void {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\r\n\t\tconst min = xAxis.getPrivate(\"min\", 0);\r\n\t\tconst max = xAxis.getPrivate(\"max\", 1);\r\n\r\n\t\t$array.each(this._di, (di) => {\r\n\t\t\tif(di){\r\n\t\t\t\tthis._setContext(di[\"p2\"], \"valueX\", max + (max - min), true);\t\t\t\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected _handlePointerMoveReal() {\r\n\r\n\t}\r\n\r\n\tprotected _updateSegment(index: number) {\r\n\t\tif (this._di[index]) {\r\n\t\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\t\tif (diP2) {\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst min = xAxis.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = xAxis.getPrivate(\"max\", 1);\r\n\r\n\r\n\t\t\t\tthis._setContext(diP2, \"valueX\", max + (max - min), true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\r\n\tprotected _handlePointerClickReal(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tif (!this._isDragging) {\r\n\t\t\t\tif (this.unselectAllDrawings() == 0) {\r\n\t\t\t\t\tthis._increaseIndex();\r\n\t\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t\t\tthis.isDrawing(false);\r\n\t\t\t\t\tthis._hideResizer();\r\n\r\n\t\t\t\t\tthis._updateSegment(this._index);\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}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Measure.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/Measure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAEjI,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAMnD,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;CACjE;AAED,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;CAC/D;AAED,qBAAa,OAAQ,SAAQ,eAAe;IAC3C,OAAc,SAAS,EAAE,MAAM,CAAa;IAC5C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,iBAAiB,EAAE,gBAAgB,CAAC;IAEnD,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAM;IACnC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAM;IAErC,SAAS,CAAC,IAAI,SAAa;IAEpB,SAAS;IAOhB;;;;;;OAMG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAGxC;IAEH;;OAEG;IACI,SAAS,IAAI,KAAK;IAYzB,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM;IAQvC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM;IAerC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"Measure.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/Measure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAEjI,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAMnD,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;CACjE;AAED,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;CAC/D;AAED,qBAAa,OAAQ,SAAQ,eAAe;IAC3C,OAAc,SAAS,EAAE,MAAM,CAAa;IAC5C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,iBAAiB,EAAE,gBAAgB,CAAC;IAEnD,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAM;IACnC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAM;IAErC,SAAS,CAAC,IAAI,SAAa;IAEpB,SAAS;IAOhB;;;;;;OAMG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAGxC;IAEH;;OAEG;IACI,SAAS,IAAI,KAAK;IAYzB,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM;IAQvC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM;IAerC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CA6IrF"}
|
|
@@ -152,7 +152,7 @@ export class Measure extends RectangleSeries {
|
|
|
152
152
|
if (i1 > i2) {
|
|
153
153
|
[i1, i2] = [i2, i1];
|
|
154
154
|
}
|
|
155
|
-
for (let i = i1; i
|
|
155
|
+
for (let i = i1; i <= i2; i++) {
|
|
156
156
|
const dataItem = dataItems[i];
|
|
157
157
|
if (dataItem) {
|
|
158
158
|
const value = dataItem.get("valueY");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Measure.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/Measure.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../../core/util/IPoint\";\r\nimport type { Line } from \"../../../core/render/Line\";\r\nimport type { XYSeries } from \"../../xy/series/XYSeries\";\r\nimport type { StockPanel } from \"../StockPanel\";\r\nimport type { Graphics } from \"../../../core/render/Graphics\";\r\n\r\nimport { RectangleSeries, IRectangleSeriesSettings, IRectangleSeriesPrivate, IRectangleSeriesDataItem } from \"./RectangleSeries\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Label } from \"../../../core/render/Label\";\r\nimport { DataItem } from \"../../../core/render/Component\";\r\nimport { RoundedRectangle } from \"../../../core/render/RoundedRectangle\";\r\n\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport interface IMeasureDataItem extends IRectangleSeriesDataItem {\r\n}\r\n\r\nexport interface IMeasureSettings extends IRectangleSeriesSettings {\r\n\tlabelText?: string;\r\n\tlabelVolumeText?: string;\r\n}\r\n\r\nexport interface IMeasurePrivate extends IRectangleSeriesPrivate {\r\n}\r\n\r\nexport class Measure extends RectangleSeries {\r\n\tpublic static className: string = \"Measure\";\r\n\tpublic static classNames: Array<string> = RectangleSeries.classNames.concat([Measure.className]);\r\n\r\n\tdeclare public _settings: IMeasureSettings;\r\n\tdeclare public _privateSettings: IMeasurePrivate;\r\n\tdeclare public _dataItemSettings: IMeasureDataItem;\r\n\r\n\tprotected _lines: Array<Line> = [];\r\n\tprotected _labels: Array<Label> = [];\r\n\r\n\tprotected _tag = \"measure\";\r\n\r\n\tpublic _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.set(\"snapToData\", true);\r\n\t\tthis.strokes.template.set(\"templateField\", undefined);\r\n\t\tthis.fills.template.set(\"templateField\", undefined);\r\n\t}\r\n\r\n\t/**\r\n\t * A list of labels.\r\n\t *\r\n\t * `labels.template` can be used to configure axis labels.\r\n\t *\r\n\t * @default new ListTemplate<Label>\r\n\t */\r\n\tpublic readonly labels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Label._new(this._root, {}, [this.labels.template])\r\n\t));\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLabel(): Label {\r\n\t\tconst label = this.labels.make();\r\n\t\tthis.bulletsContainer.children.push(label);\r\n\t\tlabel.setAll({\r\n\t\t\tpopulateText: true,\r\n\t\t\tbackground: RoundedRectangle.new(this._root, { themeTags: [\"background\"] })\r\n\t\t});\r\n\t\tlabel._setDataItem(new DataItem(this, {}, {}));\r\n\t\tthis.labels.push(label);\r\n\t\treturn label;\r\n\t}\r\n\r\n\tprotected _createElements(index: number) {\r\n\t\tsuper._createElements(index);\r\n\t\tif (!this._labels[index]) {\r\n\t\t\tconst label = this.makeLabel();\r\n\t\t\tthis._labels[index] = label;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _disposeIndex(index: number) {\r\n\t\tsuper._disposeIndex(index);\r\n\t\tconst label = this._labels[index];\r\n\t\tif (label) {\r\n\t\t\tlabel.dispose();\r\n\t\t\tdelete (this._labels[index]);\r\n\t\t}\r\n\r\n\t\tconst line = this._lines[index];\r\n\t\tif (line) {\r\n\t\t\tline.dispose();\r\n\t\t\tdelete (this._lines[index]);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateOthers(index: number, fillGraphics: Graphics, p1: IPoint, p2: IPoint) {\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\tconst panel = xAxis.chart as StockPanel;\r\n\t\tconst line = this._lines[index];\r\n\r\n\t\tlet positiveColor = this._root.interfaceColors.get(\"positive\");\r\n\t\tlet negativeColor = this._root.interfaceColors.get(\"negative\");\r\n\r\n\t\tconst stockChart = panel.getPrivate(\"stockChart\");\r\n\r\n\t\tlet volumeSeries: XYSeries | undefined;\r\n\r\n\t\tif (stockChart) {\r\n\t\t\tpositiveColor = stockChart.get(\"stockPositiveColor\", positiveColor);\r\n\t\t\tnegativeColor = stockChart.get(\"stockNegativeColor\", negativeColor);\r\n\t\t\tvolumeSeries = stockChart.get(\"volumeSeries\");\r\n\t\t}\r\n\r\n\t\tlet ix = 1;\r\n\t\tif (p1.x > p2.x) {\r\n\t\t\tix = -1;\r\n\t\t}\r\n\r\n\t\tconst label = this._labels[index];\r\n\t\tconst labelBg = label.get(\"background\")!;\r\n\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\t\tlet color = positiveColor;\r\n\t\tlet iy = 1;\r\n\t\tif (p1.y > p2.y) {\r\n\t\t\tiy = -1;\r\n\t\t\tcolor = negativeColor;\r\n\t\t}\r\n\r\n\t\tfillGraphics.set(\"fill\", color);\r\n\t\tfillGraphics.set(\"fillOpacity\", 0.2);\r\n\t\tline.set(\"stroke\", color);\r\n\t\tlabelBg.set(\"fill\", color);\r\n\r\n\t\tthis.outerCircles.each((outerCircle) => {\r\n\t\t\touterCircle.set(\"stroke\", color);\r\n\t\t})\r\n\r\n\t\tconst mx = p1.x + (p2.x - p1.x) / 2;\r\n\t\tconst my = p1.y + (p2.y - p1.y) / 2;\r\n\r\n\t\tline.set(\"segments\", [[[{ x: mx, y: p1.y }, { x: mx, y: p2.y }]], [[{ x: mx - 5, y: p2.y - 5 * iy }, { x: mx, y: p2.y }, { x: mx + 5, y: p2.y - 5 * iy }]], [[{ x: p1.x, y: my }, { x: p2.x, y: my }]], [[{ x: p2.x - 5 * ix, y: my - 5 }, { x: p2.x, y: my }, { x: p2.x - 5 * ix, y: my + 5 }]]]);\r\n\r\n\t\tconst value1 = diP1.get(\"valueY\", 0);\r\n\t\tconst value2 = diP2.get(\"valueY\", 0);\r\n\r\n\t\tconst numberFormatter = this.getNumberFormatter();\r\n\t\tconst value = numberFormatter.format((value2 - value1));\r\n\t\tconst percent = numberFormatter.format((value2 - value1) / value1 * 100) + \"%\";\r\n\t\tconst baseInterval = xAxis.getPrivate(\"baseInterval\");\r\n\r\n\t\tconst time1 = diP1.get(\"valueX\", 0);\r\n\t\tconst time2 = diP2.get(\"valueX\", 0);\r\n\r\n\t\tconst series = this.get(\"series\");\r\n\r\n\t\tlet count = 0;\r\n\t\tif (series) {\r\n\t\t\tconst di1 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time1));\r\n\t\t\tconst di2 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time2));\r\n\t\t\tif (di1 && di2) {\r\n\t\t\t\tcount = series.dataItems.indexOf(di2) - series.dataItems.indexOf(di1) + 1;\r\n\r\n\t\t\t\tif (this.get(\"snapToData\")) {\r\n\t\t\t\t\tcount--;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet intervalCount = Math.ceil((time2 - time1) / xAxis.baseDuration() * baseInterval.count);\r\n\t\tif (intervalCount < count) {\r\n\t\t\tintervalCount = count;\r\n\t\t}\r\n\r\n\r\n\t\tlet volume = 0;\r\n\t\tif (volumeSeries) {\r\n\t\t\tconst div1 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time1));\r\n\t\t\tconst div2 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time2));\r\n\r\n\t\t\tif (div1 && div2) {\r\n\t\t\t\tconst dataItems = volumeSeries.dataItems;\r\n\t\t\t\tlet i1 = dataItems.indexOf(div1);\r\n\t\t\t\tlet i2 = dataItems.indexOf(div2);\r\n\r\n\t\t\t\tif (i1 > i2) {\r\n\t\t\t\t\t[i1, i2] = [i2, i1];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (let i = i1; i < i2; i++) {\r\n\t\t\t\t\tconst dataItem = dataItems[i];\r\n\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\tconst value = dataItem.get(\"valueY\");\r\n\t\t\t\t\t\tif ($type.isNumber(value)) {\r\n\t\t\t\t\t\t\tvolume += value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tlet text = this.get(\"labelText\", \"\");\r\n\t\tif (volume > 0) {\r\n\t\t\ttext += this.get(\"labelVolumeText\");\r\n\t\t}\r\n\r\n\t\tconst unitNames = {\r\n\t\t\tmillisecond: \"ms\",\r\n\t\t\tsecond: \"s\",\r\n\t\t\tminute: \"m\",\r\n\t\t\thour: \"h\",\r\n\t\t\tday: \"d\",\r\n\t\t\tweek: \"wk\",\r\n\t\t\tmonth: \"mo\",\r\n\t\t\tyear: \"y\"\r\n\t\t}\r\n\r\n\t\tlabel.dataItem!.dataContext = {\r\n\t\t\tvalue: value,\r\n\t\t\tpercent: percent,\r\n\t\t\tcount: count,\r\n\t\t\tintervalCount: intervalCount,\r\n\t\t\tintervalUnit: this._root.language.translateAny(unitNames[baseInterval.timeUnit]),\r\n\t\t\tvolume: volume\r\n\t\t};\r\n\r\n\t\tlabel.setAll({\r\n\t\t\ttext: text,\r\n\t\t\tx: mx,\r\n\t\t\ty: my\r\n\t\t});\r\n\r\n\t\tlabel.text.markDirtyText();\r\n\t}\r\n\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Measure.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/Measure.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../../core/util/IPoint\";\r\nimport type { Line } from \"../../../core/render/Line\";\r\nimport type { XYSeries } from \"../../xy/series/XYSeries\";\r\nimport type { StockPanel } from \"../StockPanel\";\r\nimport type { Graphics } from \"../../../core/render/Graphics\";\r\n\r\nimport { RectangleSeries, IRectangleSeriesSettings, IRectangleSeriesPrivate, IRectangleSeriesDataItem } from \"./RectangleSeries\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Label } from \"../../../core/render/Label\";\r\nimport { DataItem } from \"../../../core/render/Component\";\r\nimport { RoundedRectangle } from \"../../../core/render/RoundedRectangle\";\r\n\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport interface IMeasureDataItem extends IRectangleSeriesDataItem {\r\n}\r\n\r\nexport interface IMeasureSettings extends IRectangleSeriesSettings {\r\n\tlabelText?: string;\r\n\tlabelVolumeText?: string;\r\n}\r\n\r\nexport interface IMeasurePrivate extends IRectangleSeriesPrivate {\r\n}\r\n\r\nexport class Measure extends RectangleSeries {\r\n\tpublic static className: string = \"Measure\";\r\n\tpublic static classNames: Array<string> = RectangleSeries.classNames.concat([Measure.className]);\r\n\r\n\tdeclare public _settings: IMeasureSettings;\r\n\tdeclare public _privateSettings: IMeasurePrivate;\r\n\tdeclare public _dataItemSettings: IMeasureDataItem;\r\n\r\n\tprotected _lines: Array<Line> = [];\r\n\tprotected _labels: Array<Label> = [];\r\n\r\n\tprotected _tag = \"measure\";\r\n\r\n\tpublic _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tthis.set(\"snapToData\", true);\r\n\t\tthis.strokes.template.set(\"templateField\", undefined);\r\n\t\tthis.fills.template.set(\"templateField\", undefined);\r\n\t}\r\n\r\n\t/**\r\n\t * A list of labels.\r\n\t *\r\n\t * `labels.template` can be used to configure axis labels.\r\n\t *\r\n\t * @default new ListTemplate<Label>\r\n\t */\r\n\tpublic readonly labels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Label._new(this._root, {}, [this.labels.template])\r\n\t));\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLabel(): Label {\r\n\t\tconst label = this.labels.make();\r\n\t\tthis.bulletsContainer.children.push(label);\r\n\t\tlabel.setAll({\r\n\t\t\tpopulateText: true,\r\n\t\t\tbackground: RoundedRectangle.new(this._root, { themeTags: [\"background\"] })\r\n\t\t});\r\n\t\tlabel._setDataItem(new DataItem(this, {}, {}));\r\n\t\tthis.labels.push(label);\r\n\t\treturn label;\r\n\t}\r\n\r\n\tprotected _createElements(index: number) {\r\n\t\tsuper._createElements(index);\r\n\t\tif (!this._labels[index]) {\r\n\t\t\tconst label = this.makeLabel();\r\n\t\t\tthis._labels[index] = label;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _disposeIndex(index: number) {\r\n\t\tsuper._disposeIndex(index);\r\n\t\tconst label = this._labels[index];\r\n\t\tif (label) {\r\n\t\t\tlabel.dispose();\r\n\t\t\tdelete (this._labels[index]);\r\n\t\t}\r\n\r\n\t\tconst line = this._lines[index];\r\n\t\tif (line) {\r\n\t\t\tline.dispose();\r\n\t\t\tdelete (this._lines[index]);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateOthers(index: number, fillGraphics: Graphics, p1: IPoint, p2: IPoint) {\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\tconst panel = xAxis.chart as StockPanel;\r\n\t\tconst line = this._lines[index];\r\n\r\n\t\tlet positiveColor = this._root.interfaceColors.get(\"positive\");\r\n\t\tlet negativeColor = this._root.interfaceColors.get(\"negative\");\r\n\r\n\t\tconst stockChart = panel.getPrivate(\"stockChart\");\r\n\r\n\t\tlet volumeSeries: XYSeries | undefined;\r\n\r\n\t\tif (stockChart) {\r\n\t\t\tpositiveColor = stockChart.get(\"stockPositiveColor\", positiveColor);\r\n\t\t\tnegativeColor = stockChart.get(\"stockNegativeColor\", negativeColor);\r\n\t\t\tvolumeSeries = stockChart.get(\"volumeSeries\");\r\n\t\t}\r\n\r\n\t\tlet ix = 1;\r\n\t\tif (p1.x > p2.x) {\r\n\t\t\tix = -1;\r\n\t\t}\r\n\r\n\t\tconst label = this._labels[index];\r\n\t\tconst labelBg = label.get(\"background\")!;\r\n\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\t\tlet color = positiveColor;\r\n\t\tlet iy = 1;\r\n\t\tif (p1.y > p2.y) {\r\n\t\t\tiy = -1;\r\n\t\t\tcolor = negativeColor;\r\n\t\t}\r\n\r\n\t\tfillGraphics.set(\"fill\", color);\r\n\t\tfillGraphics.set(\"fillOpacity\", 0.2);\r\n\t\tline.set(\"stroke\", color);\r\n\t\tlabelBg.set(\"fill\", color);\r\n\r\n\t\tthis.outerCircles.each((outerCircle) => {\r\n\t\t\touterCircle.set(\"stroke\", color);\r\n\t\t})\r\n\r\n\t\tconst mx = p1.x + (p2.x - p1.x) / 2;\r\n\t\tconst my = p1.y + (p2.y - p1.y) / 2;\r\n\r\n\t\tline.set(\"segments\", [[[{ x: mx, y: p1.y }, { x: mx, y: p2.y }]], [[{ x: mx - 5, y: p2.y - 5 * iy }, { x: mx, y: p2.y }, { x: mx + 5, y: p2.y - 5 * iy }]], [[{ x: p1.x, y: my }, { x: p2.x, y: my }]], [[{ x: p2.x - 5 * ix, y: my - 5 }, { x: p2.x, y: my }, { x: p2.x - 5 * ix, y: my + 5 }]]]);\r\n\r\n\t\tconst value1 = diP1.get(\"valueY\", 0);\r\n\t\tconst value2 = diP2.get(\"valueY\", 0);\r\n\r\n\t\tconst numberFormatter = this.getNumberFormatter();\r\n\t\tconst value = numberFormatter.format((value2 - value1));\r\n\t\tconst percent = numberFormatter.format((value2 - value1) / value1 * 100) + \"%\";\r\n\t\tconst baseInterval = xAxis.getPrivate(\"baseInterval\");\r\n\r\n\t\tconst time1 = diP1.get(\"valueX\", 0);\r\n\t\tconst time2 = diP2.get(\"valueX\", 0);\r\n\r\n\t\tconst series = this.get(\"series\");\r\n\r\n\t\tlet count = 0;\r\n\t\tif (series) {\r\n\t\t\tconst di1 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time1));\r\n\t\t\tconst di2 = xAxis.getSeriesItem(series, xAxis.valueToPosition(time2));\r\n\t\t\tif (di1 && di2) {\r\n\t\t\t\tcount = series.dataItems.indexOf(di2) - series.dataItems.indexOf(di1) + 1;\r\n\r\n\t\t\t\tif (this.get(\"snapToData\")) {\r\n\t\t\t\t\tcount--;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet intervalCount = Math.ceil((time2 - time1) / xAxis.baseDuration() * baseInterval.count);\r\n\t\tif (intervalCount < count) {\r\n\t\t\tintervalCount = count;\r\n\t\t}\r\n\r\n\r\n\t\tlet volume = 0;\r\n\t\tif (volumeSeries) {\r\n\t\t\tconst div1 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time1));\r\n\t\t\tconst div2 = xAxis.getSeriesItem(volumeSeries, xAxis.valueToPosition(time2));\r\n\r\n\t\t\tif (div1 && div2) {\r\n\t\t\t\tconst dataItems = volumeSeries.dataItems;\r\n\t\t\t\tlet i1 = dataItems.indexOf(div1);\r\n\t\t\t\tlet i2 = dataItems.indexOf(div2);\r\n\r\n\t\t\t\tif (i1 > i2) {\r\n\t\t\t\t\t[i1, i2] = [i2, i1];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (let i = i1; i <= i2; i++) {\r\n\t\t\t\t\tconst dataItem = dataItems[i];\r\n\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\tconst value = dataItem.get(\"valueY\");\r\n\t\t\t\t\t\tif ($type.isNumber(value)) {\r\n\t\t\t\t\t\t\tvolume += value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet text = this.get(\"labelText\", \"\");\r\n\t\tif (volume > 0) {\r\n\t\t\ttext += this.get(\"labelVolumeText\");\r\n\t\t}\r\n\r\n\t\tconst unitNames = {\r\n\t\t\tmillisecond: \"ms\",\r\n\t\t\tsecond: \"s\",\r\n\t\t\tminute: \"m\",\r\n\t\t\thour: \"h\",\r\n\t\t\tday: \"d\",\r\n\t\t\tweek: \"wk\",\r\n\t\t\tmonth: \"mo\",\r\n\t\t\tyear: \"y\"\r\n\t\t}\r\n\r\n\t\tlabel.dataItem!.dataContext = {\r\n\t\t\tvalue: value,\r\n\t\t\tpercent: percent,\r\n\t\t\tcount: count,\r\n\t\t\tintervalCount: intervalCount,\r\n\t\t\tintervalUnit: this._root.language.translateAny(unitNames[baseInterval.timeUnit]),\r\n\t\t\tvolume: volume\r\n\t\t};\r\n\r\n\t\tlabel.setAll({\r\n\t\t\ttext: text,\r\n\t\t\tx: mx,\r\n\t\t\ty: my\r\n\t\t});\r\n\r\n\t\tlabel.text.markDirtyText();\r\n\t}\r\n\r\n}\r\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from "./ChartIndicator";
|
|
2
|
+
import { CandlestickSeries } from "../../xy/series/CandlestickSeries";
|
|
3
|
+
import type { IIndicatorEditableSetting } from "./Indicator";
|
|
4
|
+
import type { Color } from "../../../core/util/Color";
|
|
5
|
+
export interface IHeikinAshiSettings extends IChartIndicatorSettings {
|
|
6
|
+
/**
|
|
7
|
+
* Increasing color.
|
|
8
|
+
*/
|
|
9
|
+
increasingColor?: Color;
|
|
10
|
+
/**
|
|
11
|
+
* Decreasing color.
|
|
12
|
+
*/
|
|
13
|
+
decreasingColor?: Color;
|
|
14
|
+
}
|
|
15
|
+
export interface IHeikinAshiPrivate extends IChartIndicatorPrivate {
|
|
16
|
+
}
|
|
17
|
+
export interface IHeikinAshiEvents extends IChartIndicatorEvents {
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* An implementation of a [[StockChart]] indicator.
|
|
21
|
+
*
|
|
22
|
+
* @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
|
|
23
|
+
*/
|
|
24
|
+
export declare class HeikinAshi extends ChartIndicator {
|
|
25
|
+
static className: string;
|
|
26
|
+
static classNames: Array<string>;
|
|
27
|
+
_settings: IHeikinAshiSettings;
|
|
28
|
+
_privateSettings: IHeikinAshiPrivate;
|
|
29
|
+
_events: IHeikinAshiEvents;
|
|
30
|
+
/**
|
|
31
|
+
* Indicator series.
|
|
32
|
+
*/
|
|
33
|
+
series: CandlestickSeries;
|
|
34
|
+
_editableSettings: IIndicatorEditableSetting[];
|
|
35
|
+
_afterNew(): void;
|
|
36
|
+
_createSeries(): CandlestickSeries;
|
|
37
|
+
_updateChildren(): void;
|
|
38
|
+
/**
|
|
39
|
+
* @ignore
|
|
40
|
+
*/
|
|
41
|
+
prepareData(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=HeikinAshi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeikinAshi.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/HeikinAshi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAKtD,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAEnE;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;CAExB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;CACjE;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;CAC/D;AAGD;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAC7C,OAAc,SAAS,EAAE,MAAM,CAAgB;IAC/C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA4D;IAEpF,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,OAAO,EAAE,iBAAiB,CAAC;IAE1C;;OAEG;IACY,MAAM,EAAE,iBAAiB,CAAC;IAElC,iBAAiB,EAAE,yBAAyB,EAAE,CAQlD;IAGI,SAAS;IAKT,aAAa,IAAI,iBAAiB;IAelC,eAAe;IAgBtB;;OAEG;IACI,WAAW;CA6ClB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { ChartIndicator } from "./ChartIndicator";
|
|
2
|
+
import { CandlestickSeries } from "../../xy/series/CandlestickSeries";
|
|
3
|
+
import * as $array from "../../../core/util/Array";
|
|
4
|
+
import * as $type from "../../../core/util/Type";
|
|
5
|
+
/**
|
|
6
|
+
* An implementation of a [[StockChart]] indicator.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info
|
|
9
|
+
*/
|
|
10
|
+
export class HeikinAshi extends ChartIndicator {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
Object.defineProperty(this, "_editableSettings", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: [{
|
|
18
|
+
key: "increasingColor",
|
|
19
|
+
name: this.root.language.translateAny("Increasing"),
|
|
20
|
+
type: "color"
|
|
21
|
+
}, {
|
|
22
|
+
key: "decreasingColor",
|
|
23
|
+
name: this.root.language.translateAny("Decreasing"),
|
|
24
|
+
type: "color"
|
|
25
|
+
}]
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
_afterNew() {
|
|
29
|
+
this._themeTags.push("heikinashi");
|
|
30
|
+
super._afterNew();
|
|
31
|
+
}
|
|
32
|
+
_createSeries() {
|
|
33
|
+
return this.panel.series.push(CandlestickSeries.new(this._root, {
|
|
34
|
+
themeTags: ["indicator"],
|
|
35
|
+
xAxis: this.xAxis,
|
|
36
|
+
yAxis: this.yAxis,
|
|
37
|
+
valueXField: "valueX",
|
|
38
|
+
openValueYField: "value_o",
|
|
39
|
+
valueYField: "value_y",
|
|
40
|
+
lowValueYField: "value_l",
|
|
41
|
+
highValueYField: "value_h",
|
|
42
|
+
stroke: this.get("seriesColor"),
|
|
43
|
+
fill: undefined
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
_updateChildren() {
|
|
47
|
+
super._updateChildren();
|
|
48
|
+
const increasingColor = "increasingColor";
|
|
49
|
+
const decreasingColor = "decreasingColor";
|
|
50
|
+
if (this.isDirty(increasingColor) || this.isDirty(decreasingColor)) {
|
|
51
|
+
const template = this.series.columns.template;
|
|
52
|
+
const increasing = this.get(increasingColor);
|
|
53
|
+
const decreasing = this.get(decreasingColor);
|
|
54
|
+
template.states.create("riseFromPrevious", { fill: increasing, stroke: increasing });
|
|
55
|
+
template.states.create("dropFromPrevious", { fill: decreasing, stroke: decreasing });
|
|
56
|
+
this.markDataDirty();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @ignore
|
|
61
|
+
*/
|
|
62
|
+
prepareData() {
|
|
63
|
+
if (this.series) {
|
|
64
|
+
this.set("field", "hl/2");
|
|
65
|
+
const dataItems = this.get("stockSeries").dataItems;
|
|
66
|
+
if (dataItems.length > 0) {
|
|
67
|
+
const data = [];
|
|
68
|
+
const firstDataItem = dataItems[0];
|
|
69
|
+
let prevOpen = firstDataItem.get("openValueY", 0);
|
|
70
|
+
let prevClose = firstDataItem.get("valueY", 0);
|
|
71
|
+
$array.each(dataItems, (dataItem) => {
|
|
72
|
+
const open = dataItem.get("openValueY");
|
|
73
|
+
const close = dataItem.get("valueY");
|
|
74
|
+
const high = dataItem.get("highValueY");
|
|
75
|
+
const low = dataItem.get("lowValueY");
|
|
76
|
+
if ($type.isNumber(open) && $type.isNumber(close) && $type.isNumber(high) && $type.isNumber(low)) {
|
|
77
|
+
const newClose = (open + close + high + low) / 4;
|
|
78
|
+
const newOpen = (prevOpen + prevClose) / 2;
|
|
79
|
+
const newHigh = Math.max(high, open, close);
|
|
80
|
+
const newLow = Math.min(low, open, close);
|
|
81
|
+
data.push({
|
|
82
|
+
valueX: dataItem.get("valueX"),
|
|
83
|
+
value_o: newOpen,
|
|
84
|
+
value_y: newClose,
|
|
85
|
+
value_h: newHigh,
|
|
86
|
+
value_l: newLow
|
|
87
|
+
});
|
|
88
|
+
prevOpen = newOpen;
|
|
89
|
+
prevClose = newClose;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
this.series.data.setAll(data);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
Object.defineProperty(HeikinAshi, "className", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
configurable: true,
|
|
100
|
+
writable: true,
|
|
101
|
+
value: "HeikinAshi"
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(HeikinAshi, "classNames", {
|
|
104
|
+
enumerable: true,
|
|
105
|
+
configurable: true,
|
|
106
|
+
writable: true,
|
|
107
|
+
value: ChartIndicator.classNames.concat([HeikinAshi.className])
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=HeikinAshi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeikinAshi.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/HeikinAshi.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { CandlestickSeries } from \"../../xy/series/CandlestickSeries\";\r\n\r\nimport type { IIndicatorEditableSetting } from \"./Indicator\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $type from \"../../../core/util/Type\";\r\n\r\nexport interface IHeikinAshiSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * Increasing color.\r\n\t */\r\n\tincreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Decreasing color.\r\n\t */\r\n\tdecreasingColor?: Color;\r\n\r\n}\r\n\r\nexport interface IHeikinAshiPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IHeikinAshiEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class HeikinAshi extends ChartIndicator {\r\n\tpublic static className: string = \"HeikinAshi\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([HeikinAshi.className]);\r\n\r\n\tdeclare public _settings: IHeikinAshiSettings;\r\n\tdeclare public _privateSettings: IHeikinAshiPrivate;\r\n\tdeclare public _events: IHeikinAshiEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: CandlestickSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [{\r\n\t\tkey: \"increasingColor\",\r\n\t\tname: this.root.language.translateAny(\"Increasing\"),\r\n\t\ttype: \"color\"\r\n\t}, {\r\n\t\tkey: \"decreasingColor\",\r\n\t\tname: this.root.language.translateAny(\"Decreasing\"),\r\n\t\ttype: \"color\"\r\n\t}];\r\n\r\n\r\n\tpublic _afterNew() {\r\n\t\tthis._themeTags.push(\"heikinashi\");\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _createSeries(): CandlestickSeries {\r\n\t\treturn this.panel.series.push(CandlestickSeries.new(this._root, {\r\n\t\t\tthemeTags: [\"indicator\"],\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\topenValueYField: \"value_o\",\r\n\t\t\tvalueYField: \"value_y\",\r\n\t\t\tlowValueYField: \"value_l\",\r\n\t\t\thighValueYField: \"value_h\",\r\n\t\t\tstroke: this.get(\"seriesColor\"),\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tconst increasingColor = \"increasingColor\";\r\n\t\tconst decreasingColor = \"decreasingColor\";\r\n\r\n\t\tif (this.isDirty(increasingColor) || this.isDirty(decreasingColor)) {\r\n\t\t\tconst template = this.series.columns.template;\r\n\t\t\tconst increasing = this.get(increasingColor);\r\n\t\t\tconst decreasing = this.get(decreasingColor);\r\n\t\t\ttemplate.states.create(\"riseFromPrevious\", { fill: increasing, stroke: increasing });\r\n\t\t\ttemplate.states.create(\"dropFromPrevious\", { fill: decreasing, stroke: decreasing });\r\n\t\t\tthis.markDataDirty();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tthis.set(\"field\", \"hl/2\");\r\n\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\r\n\t\t\tif (dataItems.length > 0) {\r\n\t\t\t\tconst data: any = [];\r\n\r\n\t\t\t\tconst firstDataItem = dataItems[0];\r\n\t\t\t\tlet prevOpen = firstDataItem.get(\"openValueY\", 0);\r\n\t\t\t\tlet prevClose = firstDataItem.get(\"valueY\", 0);\r\n\r\n\t\t\t\t$array.each(dataItems, (dataItem) => {\r\n\r\n\t\t\t\t\tconst open = dataItem.get(\"openValueY\");\r\n\t\t\t\t\tconst close = dataItem.get(\"valueY\");\r\n\t\t\t\t\tconst high = dataItem.get(\"highValueY\");\r\n\t\t\t\t\tconst low = dataItem.get(\"lowValueY\");\r\n\r\n\t\t\t\t\tif ($type.isNumber(open) && $type.isNumber(close) && $type.isNumber(high) && $type.isNumber(low)) {\r\n\r\n\t\t\t\t\t\tconst newClose = (open + close + high + low) / 4;\r\n\t\t\t\t\t\tconst newOpen = (prevOpen + prevClose) / 2;\r\n\r\n\t\t\t\t\t\tconst newHigh = Math.max(high, open, close);\r\n\t\t\t\t\t\tconst newLow = Math.min(low, open, close);\r\n\r\n\t\t\t\t\t\tdata.push({\r\n\t\t\t\t\t\t\tvalueX: dataItem.get(\"valueX\"),\r\n\t\t\t\t\t\t\tvalue_o: newOpen,\r\n\t\t\t\t\t\t\tvalue_y: newClose,\r\n\t\t\t\t\t\t\tvalue_h: newHigh,\r\n\t\t\t\t\t\t\tvalue_l: newLow\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tprevOpen = newOpen;\r\n\t\t\t\t\t\tprevClose = newClose;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tthis.series.data.setAll(data);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
|
|
@@ -2,7 +2,7 @@ import type { StockLegend } from "../StockLegend";
|
|
|
2
2
|
import { Indicator } from "../indicators/Indicator";
|
|
3
3
|
import { DropdownListControl, IDropdownListControlSettings, IDropdownListControlPrivate, IDropdownListControlEvents } from "./DropdownListControl";
|
|
4
4
|
import type { DropdownList, IDropdownListItem } from "./DropdownList";
|
|
5
|
-
export declare type Indicators = "Acceleration Bands" | "Accumulation Distribution" | "Accumulative Swing Index" | "Aroon" | "Average True Range" | "Awesome Oscillator" | "Bollinger Bands" | "Bull Bear Power" | "Chaikin Money Flow" | "Chaikin Oscillator" | "Commodity Channel Index" | "Disparity Index" | "MACD" | "Momentum" | "Moving Average" | "Moving Average Cross" | "Moving Average Deviation" | "Moving Average Envelope" | "On Balance Volume" | "Price Volume Trend" | "Relative Strength Index" | "Standard Deviation" | "Stochastic Oscillator" | "Stochastic Momentum Index" | "Trix" | "Typical Price" | "Volume" | "Volume Profile" | "VWAP" | "Williams R" | "Median Price" | "ZigZag";
|
|
5
|
+
export declare type Indicators = "Acceleration Bands" | "Accumulation Distribution" | "Accumulative Swing Index" | "Aroon" | "Average True Range" | "Awesome Oscillator" | "Bollinger Bands" | "Bull Bear Power" | "Chaikin Money Flow" | "Chaikin Oscillator" | "Commodity Channel Index" | "Disparity Index" | "Heikin Ashi" | "MACD" | "Momentum" | "Moving Average" | "Moving Average Cross" | "Moving Average Deviation" | "Moving Average Envelope" | "On Balance Volume" | "Price Volume Trend" | "Relative Strength Index" | "Standard Deviation" | "Stochastic Oscillator" | "Stochastic Momentum Index" | "Trix" | "Typical Price" | "Volume" | "Volume Profile" | "VWAP" | "Williams R" | "Median Price" | "ZigZag";
|
|
6
6
|
export interface IIndicator {
|
|
7
7
|
id: string;
|
|
8
8
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndicatorControl.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/IndicatorControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"IndicatorControl.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/IndicatorControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAuCpD,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnJ,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMtE,oBAAY,UAAU,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,0BAA0B,GAAG,OAAO,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,yBAAyB,GAAG,iBAAiB,GAAG,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,MAAM,GAAG,eAAe,GAAG,QAAQ,GAAG,gBAAgB,GAAG,MAAM,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAAC;AAEvrB,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,4BAA4B;IAC9E,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAC5E;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IAC1E,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;QACjC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;KAClC,CAAA;CACD;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,mBAAmB;IACxD,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuE;IAE/F,SAAS,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,OAAO,EAAE,uBAAuB,CAAC;IAEhD,SAAS,CAAC,SAAS;IA4CnB,SAAS,CAAC,SAAS,IAAI,IAAI;IAyB3B;;;;;OAKG;IACI,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAM1D,SAAS,CAAC,eAAe,IAAI,UAAU;IAIhC,cAAc;IAOrB;;;;OAIG;IACI,eAAe,IAAI,IAAI;IAO9B;;;;;OAKG;IACI,YAAY,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS;IAsRnE;;;;;;;;;;;OAWG;IACI,mBAAmB,CAAC,MAAM,GAAE,QAAQ,GAAG,QAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM;IAqC5G;;;;;;;OAOG;IACI,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI;CA2C7D"}
|
|
@@ -10,6 +10,7 @@ import { ChaikinMoneyFlow } from "../indicators/ChaikinMoneyFlow";
|
|
|
10
10
|
import { ChaikinOscillator } from "../indicators/ChaikinOscillator";
|
|
11
11
|
import { CommodityChannelIndex } from "../indicators/CommodityChannelIndex";
|
|
12
12
|
import { DisparityIndex } from "../indicators/DisparityIndex";
|
|
13
|
+
import { HeikinAshi } from "../indicators/HeikinAshi";
|
|
13
14
|
import { MACD } from "../indicators/MACD";
|
|
14
15
|
import { MACross } from "../indicators/MACross";
|
|
15
16
|
import { MovingAverage } from "../indicators/MovingAverage";
|
|
@@ -229,6 +230,13 @@ export class IndicatorControl extends DropdownListControl {
|
|
|
229
230
|
stockSeries: stockSeries
|
|
230
231
|
});
|
|
231
232
|
break;
|
|
233
|
+
case "Heikin Ashi":
|
|
234
|
+
indicator = HeikinAshi.new(this.root, {
|
|
235
|
+
stockChart: stockChart,
|
|
236
|
+
stockSeries: stockSeries,
|
|
237
|
+
legend: legend
|
|
238
|
+
});
|
|
239
|
+
break;
|
|
232
240
|
case "MACD":
|
|
233
241
|
indicator = MACD.new(this.root, {
|
|
234
242
|
stockChart: stockChart,
|