@amcharts/amcharts5 5.2.6 → 5.2.7
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/percent/PercentSeries.d.ts +1 -1
- package/.internal/charts/percent/PercentSeries.js.map +1 -1
- package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
- package/.internal/charts/pie/PieSeries.js +3 -2
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts +1 -0
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +34 -25
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts +6 -2
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/SpriteResizer.d.ts +4 -2
- package/.internal/charts/stock/drawing/SpriteResizer.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/SpriteResizer.js.map +1 -1
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts +6 -6
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +1 -1
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/Aroon.d.ts +2 -2
- package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
- package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts +2 -2
- package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
- package/.internal/charts/stock/indicators/BollingerBands.d.ts +3 -3
- package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
- package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts +4 -4
- package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.d.ts +17 -12
- package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
- package/.internal/charts/stock/indicators/MACD.d.ts +6 -6
- package/.internal/charts/stock/indicators/MACD.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/MACD.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +2 -2
- package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.d.ts +2 -2
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts +4 -4
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/StochasticOscillator.d.ts +3 -3
- package/.internal/charts/stock/indicators/StochasticOscillator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
- package/.internal/charts/stock/indicators/Volume.d.ts +2 -2
- package/.internal/charts/stock/indicators/Volume.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/Volume.js.map +1 -1
- package/.internal/charts/stock/indicators/WilliamsR.d.ts +4 -4
- package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js +7 -5
- package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js +7 -2
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +1 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts +16 -2
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +29 -4
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/core/Root.d.ts +16 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +139 -6
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +11 -1
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +25 -15
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +2 -0
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +74 -15
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/backend/Renderer.d.ts +1 -0
- package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
- package/.internal/core/render/backend/Renderer.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +2 -2
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/CHANGELOG.md +22 -2
- 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/json/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-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/json/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PercentSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/percent/PercentSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { Label } from \"../../core/render/Label\";\nimport type { Tick } from \"../../core/render/Tick\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { ILegendDataItem } from \"../../core/render/Legend\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { PercentChart } from \"./PercentChart\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { visualSettings } from \"../../core/render/Graphics\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IPercentSeriesDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Percent of the series value total.\n\t */\n\tvaluePercentTotal: number;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * Slice visual element.\n\t */\n\tslice: Graphics;\n\n\t/**\n\t * Slice label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Slice tick.\n\t */\n\ttick: Tick;\n\n\t/**\n\t * A related legend data item.\n\t */\n\tlegendDataItem: DataItem<ILegendDataItem>;\n\n\t/**\n\t * Fill color used for the slice and related elements, e.g. legend marker.\n\t */\n\tfill: Color;\n\n}\n\n//type IPercentSeriesDataItemSettings = { [K in keyof IPercentSeriesDataItem]?: string; };\n\nexport interface IPercentSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for slices.\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * A field in data that holds category names.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * Should slice labelsbe aligned in columns/rows?\n\t */\n\talignLabels?: boolean;\n\n\t/**\n\t * A field that holds color for slice fill.\n\t */\n\tfillField?: string;\n\n}\n\nexport interface IPercentSeriesPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Calculate average value in series.\n\t */\n\tvalueAverage?: number;\n\n\t/**\n\t * Count of items in series.\n\t */\n\tvalueCount?: number;\n\n\t/**\n\t * Sum of values in series.\n\t */\n\tvalueSum?: number;\n\n\t/**\n\t * Sum of all absolute values in series.\n\t */\n\tvalueAbsoluteSum?: number;\n\n\t/**\n\t * Lowest value in series.\n\t */\n\tvalueLow?: number;\n\n\t/**\n\t * Highest value in series.\n\t */\n\tvalueHigh?: number;\n\n}\n\n/**\n * A base class for any percent chart series.\n */\nexport abstract class PercentSeries extends Series {\n\tpublic static className: string = \"PercentSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([PercentSeries.className]);\n\n\tdeclare public _settings: IPercentSeriesSettings;\n\tdeclare public _privateSettings: IPercentSeriesPrivate;\n\tdeclare public _dataItemSettings: IPercentSeriesDataItem;\n\n\tdeclare public _sliceType: Graphics;\n\tdeclare public _labelType: Label;\n\tdeclare public _tickType: Tick;\n\n\tpublic readonly slicesContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly labelsContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly ticksContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\n\tprotected _lLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _rLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _hLabels: Array<{ label: Label, y: number }> = [];\n\n\t/**\n\t * A [[ListTemplate]] of all slices in series.\n\t *\n\t * `slices.template` can also be used to configure slices.\n\t */\n\tpublic readonly slices: ListTemplate<this[\"_sliceType\"]> = this._makeSlices();\n\n\tprotected abstract _makeSlices(): ListTemplate<this[\"_sliceType\"]>;\n\n\tpublic abstract chart: PercentChart | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeSlice(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_sliceType\"] {\n\t\tconst slice = this.slicesContainer.children.push(this.slices.make());\n\n\t\tslice.on(\"fill\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice.on(\"stroke\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice._setDataItem(dataItem);\n\t\tdataItem.set(\"slice\", slice);\n\t\tthis.slices.push(slice);\n\n\t\treturn slice;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice labels in series.\n\t *\n\t * `labels.template` can also be used to configure slice labels.\n\t */\n\tpublic readonly labels: ListTemplate<this[\"_labelType\"]> = this._makeLabels();\n\n\tprotected abstract _makeLabels(): ListTemplate<this[\"_labelType\"]>;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_labelType\"] {\n\t\tconst label = this.labelsContainer.children.push(this.labels.make());\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.set(\"label\", label);\n\t\tthis.labels.push(label);\n\t\treturn label;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice ticks in series.\n\t *\n\t * `ticks.template` can also be used to configure slice ticks.\n\t */\n\tpublic readonly ticks: ListTemplate<this[\"_tickType\"]> = this._makeTicks();\n\n\tprotected abstract _makeTicks(): ListTemplate<this[\"_tickType\"]>;\n\n\n\tprotected _shouldMakeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tif (dataItem.get(\"value\") != null) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeTick(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_tickType\"] {\n\t\tconst tick = this.ticksContainer.children.push(this.ticks.make());\n\t\ttick._setDataItem(dataItem);\n\t\tdataItem.set(\"tick\", tick);\n\t\tthis.ticks.push(tick);\n\t\treturn tick;\n\t}\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"category\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _onDataClear() {\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis._lLabels = [];\n\t\tthis._rLabels = [];\n\t\tthis._hLabels = [];\n\n\t\tif (this._valuesDirty) {\n\t\t\tlet sum = 0;\n\t\t\tlet absSum = 0;\n\t\t\tlet valueHigh = 0;\n\t\t\tlet valueLow = Infinity;\n\t\t\tlet count = 0;\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\", 0);\n\t\t\t\tsum += valueWorking;\n\t\t\t\tabsSum += Math.abs(valueWorking);\n\t\t\t});\n\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"valueWorking\", 0);\n\t\t\t\tif (value >= absSum) {\n\t\t\t\t\tsum = dataItem.get(\"value\", 0);\n\t\t\t\t}\n\n\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\tvalueHigh = value;\n\t\t\t\t}\n\n\t\t\t\tif (value < valueLow) {\n\t\t\t\t\tvalueLow = value;\n\t\t\t\t}\n\n\t\t\t\tcount++;\n\n\t\t\t\tlet percentTotal = value / absSum;\n\n\t\t\t\tif (absSum == 0) {\n\t\t\t\t\tpercentTotal = 0;\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"valuePercentTotal\", percentTotal * 100);\n\t\t\t});\n\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueSum\", sum);\n\t\t\tthis.setPrivateRaw(\"valueAverage\", sum / count);\n\t\t\tthis.setPrivateRaw(\"valueAbsoluteSum\", absSum);\n\t\t}\n\t}\n\n\t/**\n\t * Shows hidden series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async show(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.show(duration))\n\n\t\tpromises.push(this._sequencedShowHide(true, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hide whole series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async hide(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.hide(duration))\n\n\t\tpromises.push(this._sequencedShowHide(false, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tif (this._valuesDirty) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tdataItem.get(\"label\").text.markDirtyText();\n\t\t\t});\n\t\t}\n\t\tthis._arrange();\n\t}\n\n\tprotected _arrange() {\n\t\tthis._arrangeDown(this._lLabels);\n\t\tthis._arrangeUp(this._lLabels);\n\n\t\tthis._arrangeDown(this._rLabels);\n\t\tthis._arrangeUp(this._rLabels);\n\n\t\tthis._arrangeLeft(this._hLabels);\n\t\tthis._arrangeRight(this._hLabels);\n\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t}\n\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tthis._arrange();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tif (dataItem.get(\"fill\") == null) {\n\t\t\tlet colors = this.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tlet value = dataItem.get(\"value\");\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: value, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.show(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.show(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.show(duration));\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: 0, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.hide(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.hide(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tslice.hideTooltip();\n\n\t\tif (slice) {\n\t\t\tpromises.push(slice.hide(duration));\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\t\tlet tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tthis.ticks.removeValue(tick);\n\t\t\ttick.dispose();\n\t\t}\n\t\tlet slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tthis.slices.removeValue(slice);\n\t\t\tslice.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice && !slice.isHidden()) {\n\t\t\tslice.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tslice.unhover();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\n\t\tif (slice) {\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\tif (slice.get(setting) != null) {\n\t\t\t\t\t\tmarkerRectangle.set(setting, slice.get(setting));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _arrangeDown(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = this._getNextDown();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelTop = bounds.top;\n\t\t\t\tif (l.y + labelTop < next) {\n\t\t\t\t\tl.y = next - labelTop;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\n\t\t\t\tnext = l.y + bounds.bottom;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getNextUp() {\n\t\treturn this.labelsContainer.maxHeight();\n\t}\n\n\tprotected _getNextDown() {\n\t\treturn 0;\n\t}\n\n\tprotected _arrangeUp(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this._getNextUp();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelBottom = bounds.bottom;\n\t\t\t\tif (l.y + labelBottom > next) {\n\t\t\t\t\tl.y = next - labelBottom;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\t\t\t\tnext = l.y + bounds.top;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeRight(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = 0;\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelLeft = bounds.left;\n\t\t\t\tif (l.y + labelLeft < next) {\n\t\t\t\t\tl.y = next - labelLeft;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\n\t\t\t\tnext = l.y + bounds.right;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeLeft(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this.labelsContainer.maxWidth();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelRight = bounds.right;\n\t\t\t\tif (l.y + labelRight > next) {\n\t\t\t\t\tl.y = next - labelRight;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\t\t\t\tnext = l.y + bounds.left;\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\t\tthis.markDirty();\n\t}\n\n\tprotected _updateTick(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.removeValue(this);\n\t\t}\n\t}\n\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PercentSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/percent/PercentSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { Label } from \"../../core/render/Label\";\nimport type { Tick } from \"../../core/render/Tick\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { ILegendDataItem } from \"../../core/render/Legend\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { PercentChart } from \"./PercentChart\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { visualSettings } from \"../../core/render/Graphics\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IPercentSeriesDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Percent of the series value total.\n\t */\n\tvaluePercentTotal: number;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * Slice visual element.\n\t */\n\tslice: Graphics;\n\n\t/**\n\t * Slice label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Slice tick.\n\t */\n\ttick: Tick;\n\n\t/**\n\t * A related legend data item.\n\t */\n\tlegendDataItem: DataItem<ILegendDataItem>;\n\n\t/**\n\t * Fill color used for the slice and related elements, e.g. legend marker.\n\t */\n\tfill: Color;\n\n}\n\n//type IPercentSeriesDataItemSettings = { [K in keyof IPercentSeriesDataItem]?: string; };\n\nexport interface IPercentSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for slices.\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * A field in data that holds category names.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * Should slice labels be aligned in columns/rows?\n\t */\n\talignLabels?: boolean;\n\n\t/**\n\t * A field that holds color for slice fill.\n\t */\n\tfillField?: string;\n\n}\n\nexport interface IPercentSeriesPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Calculate average value in series.\n\t */\n\tvalueAverage?: number;\n\n\t/**\n\t * Count of items in series.\n\t */\n\tvalueCount?: number;\n\n\t/**\n\t * Sum of values in series.\n\t */\n\tvalueSum?: number;\n\n\t/**\n\t * Sum of all absolute values in series.\n\t */\n\tvalueAbsoluteSum?: number;\n\n\t/**\n\t * Lowest value in series.\n\t */\n\tvalueLow?: number;\n\n\t/**\n\t * Highest value in series.\n\t */\n\tvalueHigh?: number;\n\n}\n\n/**\n * A base class for any percent chart series.\n */\nexport abstract class PercentSeries extends Series {\n\tpublic static className: string = \"PercentSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([PercentSeries.className]);\n\n\tdeclare public _settings: IPercentSeriesSettings;\n\tdeclare public _privateSettings: IPercentSeriesPrivate;\n\tdeclare public _dataItemSettings: IPercentSeriesDataItem;\n\n\tdeclare public _sliceType: Graphics;\n\tdeclare public _labelType: Label;\n\tdeclare public _tickType: Tick;\n\n\tpublic readonly slicesContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly labelsContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly ticksContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\n\tprotected _lLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _rLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _hLabels: Array<{ label: Label, y: number }> = [];\n\n\t/**\n\t * A [[ListTemplate]] of all slices in series.\n\t *\n\t * `slices.template` can also be used to configure slices.\n\t */\n\tpublic readonly slices: ListTemplate<this[\"_sliceType\"]> = this._makeSlices();\n\n\tprotected abstract _makeSlices(): ListTemplate<this[\"_sliceType\"]>;\n\n\tpublic abstract chart: PercentChart | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeSlice(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_sliceType\"] {\n\t\tconst slice = this.slicesContainer.children.push(this.slices.make());\n\n\t\tslice.on(\"fill\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice.on(\"stroke\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice._setDataItem(dataItem);\n\t\tdataItem.set(\"slice\", slice);\n\t\tthis.slices.push(slice);\n\n\t\treturn slice;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice labels in series.\n\t *\n\t * `labels.template` can also be used to configure slice labels.\n\t */\n\tpublic readonly labels: ListTemplate<this[\"_labelType\"]> = this._makeLabels();\n\n\tprotected abstract _makeLabels(): ListTemplate<this[\"_labelType\"]>;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_labelType\"] {\n\t\tconst label = this.labelsContainer.children.push(this.labels.make());\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.set(\"label\", label);\n\t\tthis.labels.push(label);\n\t\treturn label;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice ticks in series.\n\t *\n\t * `ticks.template` can also be used to configure slice ticks.\n\t */\n\tpublic readonly ticks: ListTemplate<this[\"_tickType\"]> = this._makeTicks();\n\n\tprotected abstract _makeTicks(): ListTemplate<this[\"_tickType\"]>;\n\n\n\tprotected _shouldMakeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tif (dataItem.get(\"value\") != null) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeTick(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_tickType\"] {\n\t\tconst tick = this.ticksContainer.children.push(this.ticks.make());\n\t\ttick._setDataItem(dataItem);\n\t\tdataItem.set(\"tick\", tick);\n\t\tthis.ticks.push(tick);\n\t\treturn tick;\n\t}\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"category\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _onDataClear() {\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis._lLabels = [];\n\t\tthis._rLabels = [];\n\t\tthis._hLabels = [];\n\n\t\tif (this._valuesDirty) {\n\t\t\tlet sum = 0;\n\t\t\tlet absSum = 0;\n\t\t\tlet valueHigh = 0;\n\t\t\tlet valueLow = Infinity;\n\t\t\tlet count = 0;\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\", 0);\n\t\t\t\tsum += valueWorking;\n\t\t\t\tabsSum += Math.abs(valueWorking);\n\t\t\t});\n\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"valueWorking\", 0);\n\t\t\t\tif (value >= absSum) {\n\t\t\t\t\tsum = dataItem.get(\"value\", 0);\n\t\t\t\t}\n\n\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\tvalueHigh = value;\n\t\t\t\t}\n\n\t\t\t\tif (value < valueLow) {\n\t\t\t\t\tvalueLow = value;\n\t\t\t\t}\n\n\t\t\t\tcount++;\n\n\t\t\t\tlet percentTotal = value / absSum;\n\n\t\t\t\tif (absSum == 0) {\n\t\t\t\t\tpercentTotal = 0;\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"valuePercentTotal\", percentTotal * 100);\n\t\t\t});\n\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueSum\", sum);\n\t\t\tthis.setPrivateRaw(\"valueAverage\", sum / count);\n\t\t\tthis.setPrivateRaw(\"valueAbsoluteSum\", absSum);\n\t\t}\n\t}\n\n\t/**\n\t * Shows hidden series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async show(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.show(duration))\n\n\t\tpromises.push(this._sequencedShowHide(true, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hide whole series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async hide(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.hide(duration))\n\n\t\tpromises.push(this._sequencedShowHide(false, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tif (this._valuesDirty) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tdataItem.get(\"label\").text.markDirtyText();\n\t\t\t});\n\t\t}\n\t\tthis._arrange();\n\t}\n\n\tprotected _arrange() {\n\t\tthis._arrangeDown(this._lLabels);\n\t\tthis._arrangeUp(this._lLabels);\n\n\t\tthis._arrangeDown(this._rLabels);\n\t\tthis._arrangeUp(this._rLabels);\n\n\t\tthis._arrangeLeft(this._hLabels);\n\t\tthis._arrangeRight(this._hLabels);\n\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t}\n\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tthis._arrange();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tif (dataItem.get(\"fill\") == null) {\n\t\t\tlet colors = this.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tlet value = dataItem.get(\"value\");\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: value, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.show(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.show(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.show(duration));\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: 0, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.hide(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.hide(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tslice.hideTooltip();\n\n\t\tif (slice) {\n\t\t\tpromises.push(slice.hide(duration));\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\t\tlet tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tthis.ticks.removeValue(tick);\n\t\t\ttick.dispose();\n\t\t}\n\t\tlet slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tthis.slices.removeValue(slice);\n\t\t\tslice.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice && !slice.isHidden()) {\n\t\t\tslice.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tslice.unhover();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\n\t\tif (slice) {\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\tif (slice.get(setting) != null) {\n\t\t\t\t\t\tmarkerRectangle.set(setting, slice.get(setting));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _arrangeDown(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = this._getNextDown();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelTop = bounds.top;\n\t\t\t\tif (l.y + labelTop < next) {\n\t\t\t\t\tl.y = next - labelTop;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\n\t\t\t\tnext = l.y + bounds.bottom;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getNextUp() {\n\t\treturn this.labelsContainer.maxHeight();\n\t}\n\n\tprotected _getNextDown() {\n\t\treturn 0;\n\t}\n\n\tprotected _arrangeUp(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this._getNextUp();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelBottom = bounds.bottom;\n\t\t\t\tif (l.y + labelBottom > next) {\n\t\t\t\t\tl.y = next - labelBottom;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\t\t\t\tnext = l.y + bounds.top;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeRight(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = 0;\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelLeft = bounds.left;\n\t\t\t\tif (l.y + labelLeft < next) {\n\t\t\t\t\tl.y = next - labelLeft;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\n\t\t\t\tnext = l.y + bounds.right;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeLeft(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this.labelsContainer.maxWidth();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelRight = bounds.right;\n\t\t\t\tif (l.y + labelRight > next) {\n\t\t\t\t\tl.y = next - labelRight;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\t\t\t\tnext = l.y + bounds.left;\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\t\tthis.markDirty();\n\t}\n\n\tprotected _updateTick(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.removeValue(this);\n\t\t}\n\t}\n\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEhI,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE5B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IAEtC,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IAEvC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IASvD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA4BvE,SAAS,CAAC,UAAU;IAIpB,SAAS,CAAC,YAAY;IAIf,gBAAgB;
|
|
1
|
+
{"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEhI,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE5B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IAEtC,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IAEvC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IASvD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA4BvE,SAAS,CAAC,UAAU;IAIpB,SAAS,CAAC,YAAY;IAIf,gBAAgB;IA+FvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAoCnE"}
|
|
@@ -111,12 +111,13 @@ var PieSeries = /** @class */ (function (_super) {
|
|
|
111
111
|
labelsTemplate.set("textType", "aligned");
|
|
112
112
|
}
|
|
113
113
|
else {
|
|
114
|
-
|
|
114
|
+
var textType = labelsTemplate.get("textType");
|
|
115
|
+
if (textType == null || textType == "aligned") {
|
|
115
116
|
labelsTemplate.set("textType", "adjusted");
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
|
-
if (this._valuesDirty || this.isDirty("radius") || this.isDirty("innerRadius") || this.isDirty("startAngle") || this.isDirty("endAngle")) {
|
|
120
|
+
if (this._valuesDirty || this.isDirty("radius") || this.isDirty("innerRadius") || this.isDirty("startAngle") || this.isDirty("endAngle") || this.isDirty("alignLabels")) {
|
|
120
121
|
this.markDirtyBounds();
|
|
121
122
|
var startAngle = this.get("startAngle", chart.get("startAngle", -90));
|
|
122
123
|
var endAngle = this.get("endAngle", chart.get("endAngle", 270));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (labelsTemplate.get(\"textType\") == null) {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\tif (radius > 0) {\n\t\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\t\tif (slice) {\n\t\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\t\tif (label) {\n\t\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\n\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t}\n\n\t\t\tlet dx = -pr;\n\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\tdx = pl;\n\t\t\t}\n\n\t\t\ttick.set(\"points\", [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }]);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet textType = labelsTemplate.get(\"textType\");\n\t\t\t\t\tif (textType == null || textType == \"aligned\") {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || this.isDirty(\"alignLabels\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\tif (radius > 0) {\n\t\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\t\tif (slice) {\n\t\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\t\tif (label) {\n\t\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\n\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t}\n\n\t\t\tlet dx = -pr;\n\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\tdx = pl;\n\t\t\t}\n\n\t\t\ttick.set(\"points\", [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }]);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StockChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -196,29 +196,6 @@ var StockChart = /** @class */ (function (_super) {
|
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
var stockSeries = this.get("stockSeries");
|
|
199
|
-
if (this.isDirty("stockNegativeColor") || this.isDirty("stockPositiveColor")) {
|
|
200
|
-
if (stockSeries && stockSeries.isType("BaseColumnSeries")) {
|
|
201
|
-
var stockNegativeColor_1 = this.get("stockNegativeColor", this._root.interfaceColors.get("negative"));
|
|
202
|
-
var stockPositiveColor_1 = this.get("stockPositiveColor", this._root.interfaceColors.get("positive"));
|
|
203
|
-
var previous_1 = stockSeries.dataItems[0];
|
|
204
|
-
$array.each(stockSeries.dataItems, function (dataItem) {
|
|
205
|
-
var column = dataItem.get("graphics");
|
|
206
|
-
if (column) {
|
|
207
|
-
var dropFromOpen = column.states.lookup("dropFromOpen");
|
|
208
|
-
if (dropFromOpen) {
|
|
209
|
-
dropFromOpen.setAll({ fill: stockNegativeColor_1, stroke: stockNegativeColor_1 });
|
|
210
|
-
}
|
|
211
|
-
var riseFromOpen = column.states.lookup("riseFromOpen");
|
|
212
|
-
if (riseFromOpen) {
|
|
213
|
-
riseFromOpen.setAll({ fill: stockPositiveColor_1, stroke: stockPositiveColor_1 });
|
|
214
|
-
}
|
|
215
|
-
stockSeries._applyGraphicsStates(dataItem, previous_1);
|
|
216
|
-
previous_1 = dataItem;
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
stockSeries.markDirtyValues();
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
199
|
if (this.isDirty("stockSeries")) {
|
|
223
200
|
if (stockSeries) {
|
|
224
201
|
this.indicators.each(function (indicator) {
|
|
@@ -226,11 +203,11 @@ var StockChart = /** @class */ (function (_super) {
|
|
|
226
203
|
});
|
|
227
204
|
var mainChart = stockSeries.chart;
|
|
228
205
|
if (mainChart) {
|
|
229
|
-
var
|
|
206
|
+
var previous_1 = this._prevSettings.stockSeries;
|
|
230
207
|
mainChart.series.each(function (series) {
|
|
231
208
|
if (series.isType("DrawingSeries")) {
|
|
232
209
|
var s = series.get("series");
|
|
233
|
-
if (s ==
|
|
210
|
+
if (s == previous_1) {
|
|
234
211
|
series.set("series", stockSeries);
|
|
235
212
|
}
|
|
236
213
|
}
|
|
@@ -244,6 +221,38 @@ var StockChart = /** @class */ (function (_super) {
|
|
|
244
221
|
_super.prototype._prepareChildren.call(this);
|
|
245
222
|
}
|
|
246
223
|
});
|
|
224
|
+
Object.defineProperty(StockChart.prototype, "_updateChildren", {
|
|
225
|
+
enumerable: false,
|
|
226
|
+
configurable: true,
|
|
227
|
+
writable: true,
|
|
228
|
+
value: function () {
|
|
229
|
+
_super.prototype._updateChildren.call(this);
|
|
230
|
+
var stockSeries = this.get("stockSeries");
|
|
231
|
+
if (this.isDirty("stockNegativeColor") || this.isDirty("stockPositiveColor") || this.isDirty("stockSeries")) {
|
|
232
|
+
if (stockSeries && stockSeries.isType("BaseColumnSeries")) {
|
|
233
|
+
var stockNegativeColor_1 = this.get("stockNegativeColor", this._root.interfaceColors.get("negative"));
|
|
234
|
+
var stockPositiveColor_1 = this.get("stockPositiveColor", this._root.interfaceColors.get("positive"));
|
|
235
|
+
var previous_2 = stockSeries.dataItems[0];
|
|
236
|
+
$array.each(stockSeries.dataItems, function (dataItem) {
|
|
237
|
+
var column = dataItem.get("graphics");
|
|
238
|
+
if (column) {
|
|
239
|
+
var dropFromOpen = column.states.lookup("dropFromOpen");
|
|
240
|
+
if (dropFromOpen) {
|
|
241
|
+
dropFromOpen.setAll({ fill: stockNegativeColor_1, stroke: stockNegativeColor_1 });
|
|
242
|
+
}
|
|
243
|
+
var riseFromOpen = column.states.lookup("riseFromOpen");
|
|
244
|
+
if (riseFromOpen) {
|
|
245
|
+
riseFromOpen.setAll({ fill: stockPositiveColor_1, stroke: stockPositiveColor_1 });
|
|
246
|
+
}
|
|
247
|
+
stockSeries._applyGraphicsStates(dataItem, previous_2);
|
|
248
|
+
previous_2 = dataItem;
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
stockSeries.markDirtyValues();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
});
|
|
247
256
|
/**
|
|
248
257
|
* Enables or disables percent scale mode.
|
|
249
258
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StockPanel } from \"./StockPanel\";\nimport type { StockLegend, IStockLegendDataItem } from \"./StockLegend\";\nimport type { Axis } from \"../xy/axes/Axis\";\nimport type { AxisRenderer } from \"../xy/axes/AxisRenderer\";\nimport type { BaseColumnSeries } from \"../xy/series/BaseColumnSeries\";\nimport type { IValueAxisSettings } from \"../xy/axes/ValueAxis\";\nimport type { XYSeries, IXYSeriesDataItem, IXYSeriesSettings } from \"../xy/series/XYSeries\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { Indicator } from \"./indicators/Indicator\";\nimport type { DrawingSeries } from \"./drawing/DrawingSeries\";\n\nimport { PanelControls } from \"./PanelControls\";\nimport { StockChartDefaultTheme } from \"./StockChartDefaultTheme\";\nimport { XYChartDefaultTheme } from \"../xy/XYChartDefaultTheme\";\nimport { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from \"../../core/render/Container\";\nimport { ListAutoDispose } from \"../../core/util/List\";\nimport { Rectangle } from \"../../core/render/Rectangle\";\nimport { p100, percent, Percent } from \"../../core/util/Percent\";\nimport { SettingsModal } from \"./SettingsModal\";\nimport { Color } from \"../../core/util/Color\";\nimport { registry } from \"../../core/Registry\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $object from \"../../core/util/Object\";\n\nexport interface IStockChartSettings extends IContainerSettings {\n\n\t/**\n\t * Main value series.\n\t *\n\t * This series is used to target by settings, as well as calculating\n\t * indicators, and annotations.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Setting_main_series}\n\t */\n\tstockSeries?: XYSeries;\n\n\t/**\n\t * Main volume series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Setting_main_series}\n\t */\n\tvolumeSeries?: XYSeries;\n\n\t/**\n\t * @ignore\n\t */\n\tcomparingSeriesSettings?: Partial<IXYSeriesSettings>;\n\n\t/**\n\t * Settings to be applied to the the main value series, when chart is\n\t * switched to \"percent scale\".\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/percent-mode/#Configuring} for more info\n\t */\n\tpercentScaleSeriesSettings?: Partial<IXYSeriesSettings>;\n\n\t/**\n\t * Settings to be applied to the [[ValueAxis]] of the main value series,\n\t * when chart is switched to \"percent scale\".\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/percent-mode/#Configuring} for more info\n\t */\n\tpercentScaleValueAxisSettings?: Partial<IValueAxisSettings<AxisRenderer>>;\n\n\t/**\n\t * If set to `true`, the chart will go into \"percent scale\" when compared\n\t * series are added to chart, and will exit it when all of the comparisons\n\t * are removed.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/percent-mode/} for more info\n\t * @default true\n\t */\n\tautoSetPercentScale?: boolean;\n\n\t/**\n\t * This color will be applied to columns/candles on the main value series (series\n\t * set as `stockSeries`) where the open value is lower or equal to the close\n\t * value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tstockPositiveColor?: Color;\n\n\t/**\n\t * This color will be applied to columns/candles on the main value series (series\n\t * set as `stockSeries`) where the open value is higher than the close value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tstockNegativeColor?: Color;\n\n\t/**\n\t * This color will be applied to columns/candles on the main volume series (series\n\t * set as `stockSeries`) where the open value is lower or equal to the close\n\t * value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tvolumePositiveColor?: Color;\n\n\t/**\n\t * This color will be applied to columns/candles on the main volume series (series\n\t * set as `stockSeries`) where the open value is higher than the close value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tvolumeNegativeColor?: Color;\n\n}\n\nexport interface IStockChartPrivate extends IContainerPrivate {\n\n\t/**\n\t * A instance of [[SettingsModal]].\n\t */\n\tsettingsModal: SettingsModal;\n\n\t/**\n\t * Indicates if chart has currently have any \"compared\" series set.\n\t */\n\tcomparing?: boolean;\n\n\t/**\n\t * A list of compared series.\n\t */\n\tcomparedSeries?: XYSeries[];\n\n}\n\nexport interface IStockChartEvents extends IContainerEvents {\n\n}\n\n\n/**\n * A main class for the Stock Chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/} for more info\n * @important\n */\nexport class StockChart extends Container {\n\n\tpublic static className: string = \"StockChart\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([StockChart.className]);\n\n\n\tdeclare public _settings: IStockChartSettings;\n\tdeclare public _privateSettings: IStockChartPrivate;\n\tdeclare public _events: IContainerEvents;\n\n\tprotected _xAxes: Array<Axis<AxisRenderer>> = [];\n\tprotected _downY?: number;\n\tprotected _upperPanel?: StockPanel;\n\tprotected _dhp?: Percent;\n\tprotected _uhp?: Percent;\n\tprotected _downResizer?: Rectangle;\n\n\t/**\n\t * A list of stock panels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Panels} for more info\n\t */\n\tpublic readonly panels: ListAutoDispose<StockPanel> = new ListAutoDispose();\n\n\t/**\n\t * A list of indicators on chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\n\t */\n\tpublic readonly indicators: ListAutoDispose<Indicator> = new ListAutoDispose();\n\n\t/**\n\t * A [[Container]], resiting on top of the charts, suitable for additional\n\t * tools, like [[Scrollbar]].\n\t * \n\t * @default Container.new()\n\t */\n\tpublic readonly toolsContainer: Container = this.children.push(Container.new(this._root, { width: p100, themeTags: [] }));\n\n\t/**\n\t * A [[Container]] where all the stock panels are placed into.\n\t * \n\t * @default Container.new()\n\t */\n\tpublic readonly panelsContainer: Container = this.children.push(Container.new(this._root, { width: p100, height: p100, layout: this._root.verticalLayout, themeTags: [\"chartscontainer\"] }));\n\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"stock\"]);\n\t\tthis._defaultThemes.push(StockChartDefaultTheme.new(this._root));\n\t\tthis._defaultThemes.push(XYChartDefaultTheme.new(this._root));\n\n\t\tconst tooltipContainer = this._root.tooltipContainer;\n\t\ttooltipContainer.set(\"themeTags\", $utils.mergeTags(tooltipContainer.get(\"themeTags\", []), [\"stock\"]));\n\n\t\tsuper._afterNew();\n\n\t\tconst children = this.panelsContainer.children;\n\t\tthis._disposers.push(this.panels.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (chart) => {\n\t\t\t\t\tthis._removePanel(chart);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tchildren.moveValue(change.newValue);\n\t\t\t\tthis._processPanel(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tchildren.setIndex(change.index, change.newValue);\n\t\t\t\tthis._processPanel(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tchildren.insertIndex(change.index, change.newValue);\n\t\t\t\tthis._processPanel(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removePanel(change.oldValue);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(this.indicators.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (indicator) => {\n\t\t\t\t\tthis._removeIndicator(indicator);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processIndicator(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processIndicator(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processIndicator(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeIndicator(change.oldValue);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t}));\n\n\t\tthis.setPrivateRaw(\"settingsModal\", SettingsModal.new(this.root, {\n\t\t\tstockChart: this\n\t\t}));\n\n\t\tlet license = false;\n\t\tfor (let i = 0; i < registry.licenses.length; i++) {\n\t\t\tif (registry.licenses[i].match(/^AM5S.{5,}/i)) {\n\t\t\t\tlicense = true;\n\t\t\t}\n\t\t}\n\t\tif (!license) {\n\t\t\tthis._root._showBranding();\n\t\t}\n\t\telse {\n\t\t\tthis._root._licenseApplied();\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\n\t\tif (this.isDirty(\"volumeNegativeColor\") || this.isDirty(\"volumePositiveColor\")) {\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\n\t\t\tif (volumeSeries && volumeSeries.isType<BaseColumnSeries>(\"BaseColumnSeries\")) {\n\t\t\t\tvolumeSeries.columns.each((column) => {\n\t\t\t\t\tcolumn._markDirtyKey(\"fill\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\n\t\tif (this.isDirty(\"stockNegativeColor\") || this.isDirty(\"stockPositiveColor\")) {\n\t\t\tif (stockSeries && stockSeries.isType<BaseColumnSeries>(\"BaseColumnSeries\")) {\n\t\t\t\tconst stockNegativeColor = this.get(\"stockNegativeColor\", this._root.interfaceColors.get(\"negative\"));\n\t\t\t\tconst stockPositiveColor = this.get(\"stockPositiveColor\", this._root.interfaceColors.get(\"positive\"));\n\t\t\t\tlet previous = stockSeries.dataItems[0];\n\t\t\t\t$array.each(stockSeries.dataItems, (dataItem) => {\n\t\t\t\t\tconst column = dataItem.get(\"graphics\");\n\t\t\t\t\tif (column) {\n\t\t\t\t\t\tconst dropFromOpen = column.states.lookup(\"dropFromOpen\");\n\t\t\t\t\t\tif (dropFromOpen) {\n\t\t\t\t\t\t\tdropFromOpen.setAll({ fill: stockNegativeColor, stroke: stockNegativeColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst riseFromOpen = column.states.lookup(\"riseFromOpen\");\n\t\t\t\t\t\tif (riseFromOpen) {\n\t\t\t\t\t\t\triseFromOpen.setAll({ fill: stockPositiveColor, stroke: stockPositiveColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstockSeries._applyGraphicsStates(dataItem, previous);\n\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tstockSeries.markDirtyValues();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"stockSeries\")) {\n\n\t\t\tif (stockSeries) {\n\t\t\t\tthis.indicators.each((indicator) => {\n\t\t\t\t\tindicator.set(\"stockSeries\", stockSeries);\n\t\t\t\t})\n\t\t\t\tconst mainChart = stockSeries.chart;\n\n\t\t\t\tif (mainChart) {\n\t\t\t\t\tconst previous = this._prevSettings.stockSeries;\n\t\t\t\t\tmainChart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<DrawingSeries>(\"DrawingSeries\")) {\n\t\t\t\t\t\t\tlet s = series.get(\"series\");\n\t\t\t\t\t\t\tif (s == previous) {\n\t\t\t\t\t\t\t\tseries.set(\"series\", stockSeries);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.getPrivate(\"comparing\")) {\n\t\t\t\t\tthis.setPercentScale(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tsuper._prepareChildren();\n\t}\n\n\t/**\n\t * Enables or disables percent scale mode.\n\t *\n\t * If `percentScale` is not set, it will try to determine the status on its own.\n\t *\n\t * In percent scale mode `percentScaleSeriesSettings` and `percentScaleValueAxisSettings` will\n\t * be applied to the regular series on the main panel and its Y axis.\n\t * \n\t * @param percentScale Comparison mode active\n\t */\n\tpublic setPercentScale(percentScale?: boolean): void {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tconst seriesSettings = this.get(\"percentScaleSeriesSettings\");\n\t\tconst axisSettings = this.get(\"percentScaleValueAxisSettings\");\n\t\tif (stockSeries) {\n\t\t\tconst mainChart = stockSeries.chart;\n\t\t\tconst yAxis = stockSeries.get(\"yAxis\");\n\t\t\tthis._maybePrepAxisDefaults();\n\t\t\tif (mainChart) {\n\t\t\t\tconst seriesList: XYSeries[] = [];\n\t\t\t\tmainChart.series.each((series) => {\n\t\t\t\t\tif (series.get(\"yAxis\") == yAxis) {\n\t\t\t\t\t\tseriesList.push(series);\n\t\t\t\t\t\tthis._maybePrepSeriesDefaults(series);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (percentScale == undefined) {\n\t\t\t\t\tpercentScale = this.getPrivate(\"comparedSeries\", []).length > 0;\n\t\t\t\t}\n\n\t\t\t\tthis.setPrivate(\"comparing\", percentScale);\n\n\t\t\t\tif (seriesSettings) {\n\t\t\t\t\t$array.each(seriesList, (series) => {\n\t\t\t\t\t\tif (percentScale) {\n\t\t\t\t\t\t\tseries.setAll(seriesSettings);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tseries.states.apply(\"comparingDefaults\");\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (axisSettings) {\n\t\t\t\t\tif (percentScale) {\n\t\t\t\t\t\tyAxis.setAll(axisSettings);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tyAxis.states.apply(\"comparingDefaults\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds a \"compared\" series to chart. Returns the same series.\n\t *\n\t * @param series Compared series\n\t * @return Compared series\n\t */\n\tpublic addComparingSeries(series: XYSeries): XYSeries {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tif (stockSeries) {\n\t\t\tconst chart = stockSeries.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.series.push(series);\n\t\t\t}\n\n\t\t\t// Apply comparingSeriesSettings\n\t\t\tconst comparingSeriesSettings = this.get(\"comparingSeriesSettings\");\n\t\t\tif (comparingSeriesSettings) {\n\t\t\t\tseries.setAll(comparingSeriesSettings);\n\t\t\t}\n\n\t\t\tconst comparedSeries = this.getPrivate(\"comparedSeries\");\n\t\t\tif (comparedSeries) {\n\t\t\t\tcomparedSeries.push(series);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.setPrivate(\"comparedSeries\", [series]);\n\t\t\t}\n\n\t\t\tconst legendDataItem = stockSeries.get(\"legendDataItem\");\n\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst legend = legendDataItem.component;\n\t\t\t\tif (legend.isType<StockLegend>(\"StockLegend\")) {\n\t\t\t\t\tlegend.data.push(series);\n\t\t\t\t\tconst ldi = series.get(\"legendDataItem\") as DataItem<IStockLegendDataItem>;\n\t\t\t\t\tif (ldi) {\n\t\t\t\t\t\tconst closeButton = ldi.get(\"closeButton\");\n\t\t\t\t\t\tcloseButton.set(\"forceHidden\", false);\n\t\t\t\t\t\tcloseButton.events.on(\"click\", () => {\n\t\t\t\t\t\t\tthis.removeComparingSeries(series);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.get(\"autoSetPercentScale\")) {\n\t\t\t\tthis.setPercentScale(true);\n\t\t\t}\n\n\t\t}\n\t\treturn series;\n\t}\n\n\t/**\n\t * Removes compared series.\n\t * \n\t * @param series Compared series\n\t */\n\tpublic removeComparingSeries(series: XYSeries) {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tif (stockSeries) {\n\t\t\tconst chart = stockSeries.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.series.removeValue(series);\n\t\t\t}\n\n\t\t\tconst comparedSeries = this.getPrivate(\"comparedSeries\");\n\t\t\tif (comparedSeries) {\n\t\t\t\t$array.remove(comparedSeries, series);\n\t\t\t\tif (comparedSeries.length == 0 && this.get(\"autoSetPercentScale\")) {\n\t\t\t\t\tthis.setPercentScale(true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tconst ldi = series.get(\"legendDataItem\") as DataItem<IStockLegendDataItem>;\n\t\tif (ldi) {\n\t\t\tconst legend = ldi.component;\n\t\t\tlegend.data.removeValue(series);\n\t\t}\n\n\t}\n\n\tprotected _maybePrepSeriesDefaults(series: XYSeries): void {\n\t\tif (!series.states.lookup(\"comparingDefaults\")) {\n\t\t\tconst seriesSettings = this.get(\"percentScaleSeriesSettings\");\n\t\t\tconst defaults: any = {};\n\t\t\t$object.each(seriesSettings, (key, _val) => {\n\t\t\t\tdefaults[key] = (<any>series).get(key);\n\t\t\t});\n\t\t\tseries.states.create(\"comparingDefaults\", defaults);\n\t\t}\n\t}\n\n\tprotected _maybePrepAxisDefaults(): void {\n\t\tconst stockSeries = this.get(\"stockSeries\")!;\n\t\tconst axis = stockSeries.get(\"yAxis\");\n\t\tif (!axis.states.lookup(\"comparingDefaults\")) {\n\t\t\tconst axisSettings = this.get(\"percentScaleValueAxisSettings\");\n\t\t\tconst defaults: any = {};\n\t\t\t$object.each(axisSettings, (key, _val) => {\n\t\t\t\tdefaults[key] = (<any>axis).get(key);\n\t\t\t});\n\t\t\taxis.states.create(\"comparingDefaults\", defaults);\n\t\t}\n\t}\n\n\tprotected _processIndicator(indicator: Indicator) {\n\t\tthis.children.push(indicator);\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tif (stockSeries) {\n\t\t\tindicator.set(\"stockSeries\", stockSeries);\n\t\t}\n\n\t\tconst volumeSeries = this.get(\"volumeSeries\");\n\t\tif (volumeSeries) {\n\t\t\tindicator.set(\"volumeSeries\", volumeSeries);\n\t\t}\n\n\t\tif (this.getPrivate(\"comparing\")) {\n\t\t\tthis.setPercentScale(true);\n\t\t}\n\n\t\tindicator.prepareData();\n\t}\n\n\tprotected _removeIndicator(indicator: Indicator) {\n\t\tthis.children.removeValue(indicator);\n\t}\n\n\tprotected _removePanel(chart: StockPanel) {\n\t\tthis.panelsContainer.children.removeValue(chart);\n\t}\n\n\tpublic _updateControls() {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tthis.panels.each((panel) => {\n\t\t\tconst panelControls = panel.panelControls;\n\t\t\tconst index = this.panelsContainer.children.indexOf(panel);\n\t\t\tconst len = this.panels.length;\n\n\t\t\tpanelControls.upButton.setPrivate(\"visible\", false);\n\t\t\tpanelControls.downButton.setPrivate(\"visible\", false);\n\t\t\tpanelControls.expandButton.setPrivate(\"visible\", false);\n\t\t\tpanelControls.closeButton.setPrivate(\"visible\", false);\n\n\t\t\tif (len > 1) {\n\t\t\t\tpanelControls.expandButton.setPrivate(\"visible\", true);\n\n\t\t\t\tif (index != 0) {\n\t\t\t\t\tpanelControls.upButton.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t\tif (index != len - 1) {\n\t\t\t\t\tpanelControls.downButton.setPrivate(\"visible\", true);\n\t\t\t\t}\n\n\t\t\t\tif (!stockSeries || stockSeries.chart != panel) {\n\t\t\t\t\tpanelControls.closeButton.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (stockSeries) {\n\t\t\t\tthis.indicators.each((indicator) => {\n\t\t\t\t\tindicator.set(\"stockSeries\", stockSeries);\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\n\t}\n\n\tprotected _processPanel(panel: StockPanel) {\n\n\t\tpanel.setPrivate(\"otherCharts\", this.panels.values);\n\t\tpanel.setPrivate(\"stockChart\", this);\n\t\tpanel.panelControls = panel.topPlotContainer.children.push(PanelControls.new(this._root, { stockPanel: panel, stockChart: this }));\n\t\tthis._updateControls();\n\n\t\tif (this.panels.length > 1) {\n\t\t\tconst resizer = panel.children.push(Rectangle.new(this._root, { themeTags: [\"panelresizer\"] }))\n\t\t\tresizer.events.on(\"pointerdown\", (e) => {\n\t\t\t\tconst chartsContainer = this.panelsContainer;\n\t\t\t\tthis._downResizer = e.target;\n\t\t\t\tthis.panels.each((chart) => {\n\t\t\t\t\tchart.set(\"height\", percent(chart.height() / chartsContainer.height() * 100))\n\t\t\t\t})\n\n\t\t\t\tthis._downY = chartsContainer.toLocal(e.point).y;\n\n\t\t\t\tconst upperChart = this.panels.getIndex(this.panels.indexOf(panel) - 1);\n\t\t\t\tthis._upperPanel = upperChart;\n\t\t\t\tif (upperChart) {\n\t\t\t\t\tthis._uhp = upperChart.get(\"height\") as Percent;\n\t\t\t\t}\n\n\t\t\t\tthis._dhp = panel.get(\"height\") as Percent;\n\t\t\t})\n\n\t\t\tresizer.events.on(\"pointerup\", () => {\n\t\t\t\tthis._downResizer = undefined;\n\t\t\t})\n\n\t\t\tresizer.events.on(\"globalpointermove\", (e) => {\n\t\t\t\tif (e.target == this._downResizer) {\n\t\t\t\t\tconst chartsContainer = this.panelsContainer;\n\t\t\t\t\tconst height = chartsContainer.height();\n\t\t\t\t\tconst upperChart = this._upperPanel;\n\n\t\t\t\t\tif (upperChart) {\n\t\t\t\t\t\tconst index = this.panels.indexOf(upperChart) + 2\n\t\t\t\t\t\tlet max = height - panel.get(\"minHeight\", 0);\n\t\t\t\t\t\tconst lowerChart = this.panels.getIndex(index);\n\t\t\t\t\t\tif (lowerChart) {\n\t\t\t\t\t\t\tmax = lowerChart.y() - panel.get(\"minHeight\", 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//console.log(upperChart.get(\"minHeight\", 0))\n\t\t\t\t\t\tconst y = Math.max(upperChart.y() + upperChart.get(\"minHeight\", 0) + upperChart.get(\"paddingTop\", 0), Math.min(chartsContainer.toLocal(e.point).y, max));\n\n\t\t\t\t\t\tconst downY = this._downY;\n\t\t\t\t\t\tconst dhp = this._dhp;\n\t\t\t\t\t\tconst uhp = this._uhp;\n\t\t\t\t\t\tif (downY != null && dhp != null && uhp != null) {\n\t\t\t\t\t\t\tconst diff = (downY - y) / height;\n\t\t\t\t\t\t\tpanel.set(\"height\", percent((dhp.value + diff) * 100));\n\t\t\t\t\t\t\tupperChart.set(\"height\", percent((uhp.value - diff) * 100))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tpanel.xAxes.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (axis) => {\n\t\t\t\t\tthis._removeXAxis(axis);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processXAxis(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processXAxis(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processXAxis(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeXAxis(change.oldValue);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t})\n\n\t\tpanel.leftAxesContainer.events.on(\"boundschanged\", () => {\n\t\t\tthis._syncYAxesSize();\n\t\t})\n\n\t\tpanel.rightAxesContainer.events.on(\"boundschanged\", () => {\n\t\t\tthis._syncYAxesSize();\n\t\t})\n\n\t}\n\n\tprotected _syncYAxesSize() {\n\t\tvar maxLeft = 0;\n\t\tvar maxRight = 0;\n\t\tthis.panels.each((chart) => {\n\t\t\tlet lw = chart.leftAxesContainer.width();\n\t\t\tlet rw = chart.rightAxesContainer.width();\n\t\t\tif (lw > maxLeft) {\n\t\t\t\tmaxLeft = lw;\n\t\t\t}\n\t\t\tif (rw > maxRight) {\n\t\t\t\tmaxRight = rw;\n\t\t\t}\n\t\t})\n\t\tthis.panels.each((chart) => {\n\t\t\tchart.leftAxesContainer.set(\"minWidth\", maxLeft);\n\t\t\tchart.rightAxesContainer.set(\"minWidth\", maxRight);\n\t\t})\n\n\t\tthis.toolsContainer.set(\"paddingRight\", maxRight);\n\t\tthis.toolsContainer.set(\"paddingRight\", maxRight);\n\t}\n\n\tprotected _removeXAxis(_axis: Axis<AxisRenderer>) {\n\n\t}\n\n\tprotected _processXAxis(axis: Axis<AxisRenderer>) {\n\t\t$array.move(this._xAxes, axis);\n\t\taxis.on(\"start\", () => {\n\t\t\tif (axis._skipSync != true) {\n\t\t\t\tthis._syncXAxes(axis);\n\t\t\t}\n\t\t})\n\t\taxis.on(\"end\", () => {\n\t\t\tif (axis._skipSync != true) {\n\t\t\t\tthis._syncXAxes(axis);\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _syncXAxes(axis: Axis<AxisRenderer>) {\n\t\t$array.each(this._xAxes, (xAxis) => {\n\t\t\tif (xAxis != axis) {\n\t\t\t\txAxis._skipSync = true;\n\t\t\t\txAxis.set(\"start\", axis.get(\"start\"));\n\t\t\t\txAxis.set(\"end\", axis.get(\"end\"));\n\t\t\t\txAxis._skipSync = false;\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getVolumeColor(dataItem: DataItem<IXYSeriesDataItem>, negativeColor?: Color, positiveColor?: Color): Color | undefined {\n\t\tif (dataItem) {\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\t\tconst volumeSeries = dataItem.component;\n\n\t\t\tif (!negativeColor) {\n\t\t\t\tnegativeColor = this.get(\"volumeNegativeColor\", this.root.interfaceColors.get(\"negative\", Color.fromHex(0xff0000)));\n\t\t\t}\n\n\t\t\tif (!positiveColor) {\n\t\t\t\tpositiveColor = this.get(\"volumePositiveColor\", this.root.interfaceColors.get(\"positive\", Color.fromHex(0x00FF00)));\n\t\t\t}\n\n\t\t\tif (stockSeries && volumeSeries) {\n\t\t\t\tconst index = volumeSeries.dataItems.indexOf(dataItem);\n\t\t\t\tif (index > 0) {\n\t\t\t\t\tlet stockDataItem = stockSeries.dataItems[index];\n\t\t\t\t\tif (stockDataItem) {\n\t\t\t\t\t\tlet close = stockDataItem.get(\"valueY\");\n\t\t\t\t\t\tif (close != null) {\n\t\t\t\t\t\t\tfor (let i = index - 1; i >= 0; i--) {\n\t\t\t\t\t\t\t\tlet di = stockSeries.dataItems[i];\n\t\t\t\t\t\t\t\tlet previousClose = di.get(\"valueY\");\n\n\t\t\t\t\t\t\t\tif (previousClose != null) {\n\t\t\t\t\t\t\t\t\tif (close < previousClose) {\n\t\t\t\t\t\t\t\t\t\treturn negativeColor;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treturn positiveColor;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn positiveColor;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StockChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/StockChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StockPanel } from \"./StockPanel\";\nimport type { StockLegend, IStockLegendDataItem } from \"./StockLegend\";\nimport type { Axis } from \"../xy/axes/Axis\";\nimport type { AxisRenderer } from \"../xy/axes/AxisRenderer\";\nimport type { BaseColumnSeries } from \"../xy/series/BaseColumnSeries\";\nimport type { IValueAxisSettings } from \"../xy/axes/ValueAxis\";\nimport type { XYSeries, IXYSeriesDataItem, IXYSeriesSettings } from \"../xy/series/XYSeries\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { Indicator } from \"./indicators/Indicator\";\nimport type { DrawingSeries } from \"./drawing/DrawingSeries\";\n\nimport { PanelControls } from \"./PanelControls\";\nimport { StockChartDefaultTheme } from \"./StockChartDefaultTheme\";\nimport { XYChartDefaultTheme } from \"../xy/XYChartDefaultTheme\";\nimport { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from \"../../core/render/Container\";\nimport { ListAutoDispose } from \"../../core/util/List\";\nimport { Rectangle } from \"../../core/render/Rectangle\";\nimport { p100, percent, Percent } from \"../../core/util/Percent\";\nimport { SettingsModal } from \"./SettingsModal\";\nimport { Color } from \"../../core/util/Color\";\nimport { registry } from \"../../core/Registry\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $object from \"../../core/util/Object\";\n\nexport interface IStockChartSettings extends IContainerSettings {\n\n\t/**\n\t * Main value series.\n\t *\n\t * This series is used to target by settings, as well as calculating\n\t * indicators, and annotations.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Setting_main_series}\n\t */\n\tstockSeries?: XYSeries;\n\n\t/**\n\t * Main volume series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Setting_main_series}\n\t */\n\tvolumeSeries?: XYSeries;\n\n\t/**\n\t * @ignore\n\t */\n\tcomparingSeriesSettings?: Partial<IXYSeriesSettings>;\n\n\t/**\n\t * Settings to be applied to the the main value series, when chart is\n\t * switched to \"percent scale\".\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/percent-mode/#Configuring} for more info\n\t */\n\tpercentScaleSeriesSettings?: Partial<IXYSeriesSettings>;\n\n\t/**\n\t * Settings to be applied to the [[ValueAxis]] of the main value series,\n\t * when chart is switched to \"percent scale\".\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/percent-mode/#Configuring} for more info\n\t */\n\tpercentScaleValueAxisSettings?: Partial<IValueAxisSettings<AxisRenderer>>;\n\n\t/**\n\t * If set to `true`, the chart will go into \"percent scale\" when compared\n\t * series are added to chart, and will exit it when all of the comparisons\n\t * are removed.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/percent-mode/} for more info\n\t * @default true\n\t */\n\tautoSetPercentScale?: boolean;\n\n\t/**\n\t * This color will be applied to columns/candles on the main value series (series\n\t * set as `stockSeries`) where the open value is lower or equal to the close\n\t * value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tstockPositiveColor?: Color;\n\n\t/**\n\t * This color will be applied to columns/candles on the main value series (series\n\t * set as `stockSeries`) where the open value is higher than the close value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tstockNegativeColor?: Color;\n\n\t/**\n\t * This color will be applied to columns/candles on the main volume series (series\n\t * set as `stockSeries`) where the open value is lower or equal to the close\n\t * value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tvolumePositiveColor?: Color;\n\n\t/**\n\t * This color will be applied to columns/candles on the main volume series (series\n\t * set as `stockSeries`) where the open value is higher than the close value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Positive_negative_colors} for more info\n\t */\n\tvolumeNegativeColor?: Color;\n\n}\n\nexport interface IStockChartPrivate extends IContainerPrivate {\n\n\t/**\n\t * A instance of [[SettingsModal]].\n\t */\n\tsettingsModal: SettingsModal;\n\n\t/**\n\t * Indicates if chart has currently have any \"compared\" series set.\n\t */\n\tcomparing?: boolean;\n\n\t/**\n\t * A list of compared series.\n\t */\n\tcomparedSeries?: XYSeries[];\n\n}\n\nexport interface IStockChartEvents extends IContainerEvents {\n\n}\n\n\n/**\n * A main class for the Stock Chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/} for more info\n * @important\n */\nexport class StockChart extends Container {\n\n\tpublic static className: string = \"StockChart\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([StockChart.className]);\n\n\n\tdeclare public _settings: IStockChartSettings;\n\tdeclare public _privateSettings: IStockChartPrivate;\n\tdeclare public _events: IContainerEvents;\n\n\tprotected _xAxes: Array<Axis<AxisRenderer>> = [];\n\tprotected _downY?: number;\n\tprotected _upperPanel?: StockPanel;\n\tprotected _dhp?: Percent;\n\tprotected _uhp?: Percent;\n\tprotected _downResizer?: Rectangle;\n\n\t/**\n\t * A list of stock panels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/#Panels} for more info\n\t */\n\tpublic readonly panels: ListAutoDispose<StockPanel> = new ListAutoDispose();\n\n\t/**\n\t * A list of indicators on chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\n\t */\n\tpublic readonly indicators: ListAutoDispose<Indicator> = new ListAutoDispose();\n\n\t/**\n\t * A [[Container]], resiting on top of the charts, suitable for additional\n\t * tools, like [[Scrollbar]].\n\t * \n\t * @default Container.new()\n\t */\n\tpublic readonly toolsContainer: Container = this.children.push(Container.new(this._root, { width: p100, themeTags: [] }));\n\n\t/**\n\t * A [[Container]] where all the stock panels are placed into.\n\t * \n\t * @default Container.new()\n\t */\n\tpublic readonly panelsContainer: Container = this.children.push(Container.new(this._root, { width: p100, height: p100, layout: this._root.verticalLayout, themeTags: [\"chartscontainer\"] }));\n\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"stock\"]);\n\t\tthis._defaultThemes.push(StockChartDefaultTheme.new(this._root));\n\t\tthis._defaultThemes.push(XYChartDefaultTheme.new(this._root));\n\n\t\tconst tooltipContainer = this._root.tooltipContainer;\n\t\ttooltipContainer.set(\"themeTags\", $utils.mergeTags(tooltipContainer.get(\"themeTags\", []), [\"stock\"]));\n\n\t\tsuper._afterNew();\n\n\t\tconst children = this.panelsContainer.children;\n\t\tthis._disposers.push(this.panels.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (chart) => {\n\t\t\t\t\tthis._removePanel(chart);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tchildren.moveValue(change.newValue);\n\t\t\t\tthis._processPanel(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tchildren.setIndex(change.index, change.newValue);\n\t\t\t\tthis._processPanel(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tchildren.insertIndex(change.index, change.newValue);\n\t\t\t\tthis._processPanel(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removePanel(change.oldValue);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(this.indicators.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (indicator) => {\n\t\t\t\t\tthis._removeIndicator(indicator);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processIndicator(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processIndicator(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processIndicator(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeIndicator(change.oldValue);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t}));\n\n\t\tthis.setPrivateRaw(\"settingsModal\", SettingsModal.new(this.root, {\n\t\t\tstockChart: this\n\t\t}));\n\n\t\tlet license = false;\n\t\tfor (let i = 0; i < registry.licenses.length; i++) {\n\t\t\tif (registry.licenses[i].match(/^AM5S.{5,}/i)) {\n\t\t\t\tlicense = true;\n\t\t\t}\n\t\t}\n\t\tif (!license) {\n\t\t\tthis._root._showBranding();\n\t\t}\n\t\telse {\n\t\t\tthis._root._licenseApplied();\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\n\t\tif (this.isDirty(\"volumeNegativeColor\") || this.isDirty(\"volumePositiveColor\")) {\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\n\t\t\tif (volumeSeries && volumeSeries.isType<BaseColumnSeries>(\"BaseColumnSeries\")) {\n\t\t\t\tvolumeSeries.columns.each((column) => {\n\t\t\t\t\tcolumn._markDirtyKey(\"fill\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\n\n\t\tif (this.isDirty(\"stockSeries\")) {\n\n\t\t\tif (stockSeries) {\n\t\t\t\tthis.indicators.each((indicator) => {\n\t\t\t\t\tindicator.set(\"stockSeries\", stockSeries);\n\t\t\t\t})\n\t\t\t\tconst mainChart = stockSeries.chart;\n\n\t\t\t\tif (mainChart) {\n\t\t\t\t\tconst previous = this._prevSettings.stockSeries;\n\t\t\t\t\tmainChart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<DrawingSeries>(\"DrawingSeries\")) {\n\t\t\t\t\t\t\tlet s = series.get(\"series\");\n\t\t\t\t\t\t\tif (s == previous) {\n\t\t\t\t\t\t\t\tseries.set(\"series\", stockSeries);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.getPrivate(\"comparing\")) {\n\t\t\t\t\tthis.setPercentScale(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tsuper._prepareChildren();\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren()\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\n\t\tif (this.isDirty(\"stockNegativeColor\") || this.isDirty(\"stockPositiveColor\") || this.isDirty(\"stockSeries\")) {\n\t\t\tif (stockSeries && stockSeries.isType<BaseColumnSeries>(\"BaseColumnSeries\")) {\n\t\t\t\tconst stockNegativeColor = this.get(\"stockNegativeColor\", this._root.interfaceColors.get(\"negative\"));\n\t\t\t\tconst stockPositiveColor = this.get(\"stockPositiveColor\", this._root.interfaceColors.get(\"positive\"));\n\t\t\t\tlet previous = stockSeries.dataItems[0];\n\n\t\t\t\t$array.each(stockSeries.dataItems, (dataItem) => {\n\t\t\t\t\tconst column = dataItem.get(\"graphics\");\n\t\t\t\t\tif (column) {\n\t\t\t\t\t\tconst dropFromOpen = column.states.lookup(\"dropFromOpen\");\n\t\t\t\t\t\tif (dropFromOpen) {\n\t\t\t\t\t\t\tdropFromOpen.setAll({ fill: stockNegativeColor, stroke: stockNegativeColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst riseFromOpen = column.states.lookup(\"riseFromOpen\");\n\t\t\t\t\t\tif (riseFromOpen) {\n\t\t\t\t\t\t\triseFromOpen.setAll({ fill: stockPositiveColor, stroke: stockPositiveColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstockSeries._applyGraphicsStates(dataItem, previous);\n\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tstockSeries.markDirtyValues();\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t * Enables or disables percent scale mode.\n\t *\n\t * If `percentScale` is not set, it will try to determine the status on its own.\n\t *\n\t * In percent scale mode `percentScaleSeriesSettings` and `percentScaleValueAxisSettings` will\n\t * be applied to the regular series on the main panel and its Y axis.\n\t * \n\t * @param percentScale Comparison mode active\n\t */\n\tpublic setPercentScale(percentScale?: boolean): void {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tconst seriesSettings = this.get(\"percentScaleSeriesSettings\");\n\t\tconst axisSettings = this.get(\"percentScaleValueAxisSettings\");\n\t\tif (stockSeries) {\n\t\t\tconst mainChart = stockSeries.chart;\n\t\t\tconst yAxis = stockSeries.get(\"yAxis\");\n\t\t\tthis._maybePrepAxisDefaults();\n\t\t\tif (mainChart) {\n\t\t\t\tconst seriesList: XYSeries[] = [];\n\t\t\t\tmainChart.series.each((series) => {\n\t\t\t\t\tif (series.get(\"yAxis\") == yAxis) {\n\t\t\t\t\t\tseriesList.push(series);\n\t\t\t\t\t\tthis._maybePrepSeriesDefaults(series);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (percentScale == undefined) {\n\t\t\t\t\tpercentScale = this.getPrivate(\"comparedSeries\", []).length > 0;\n\t\t\t\t}\n\n\t\t\t\tthis.setPrivate(\"comparing\", percentScale);\n\n\t\t\t\tif (seriesSettings) {\n\t\t\t\t\t$array.each(seriesList, (series) => {\n\t\t\t\t\t\tif (percentScale) {\n\t\t\t\t\t\t\tseries.setAll(seriesSettings);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tseries.states.apply(\"comparingDefaults\");\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (axisSettings) {\n\t\t\t\t\tif (percentScale) {\n\t\t\t\t\t\tyAxis.setAll(axisSettings);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tyAxis.states.apply(\"comparingDefaults\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds a \"compared\" series to chart. Returns the same series.\n\t *\n\t * @param series Compared series\n\t * @return Compared series\n\t */\n\tpublic addComparingSeries(series: XYSeries): XYSeries {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tif (stockSeries) {\n\t\t\tconst chart = stockSeries.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.series.push(series);\n\t\t\t}\n\n\t\t\t// Apply comparingSeriesSettings\n\t\t\tconst comparingSeriesSettings = this.get(\"comparingSeriesSettings\");\n\t\t\tif (comparingSeriesSettings) {\n\t\t\t\tseries.setAll(comparingSeriesSettings);\n\t\t\t}\n\n\t\t\tconst comparedSeries = this.getPrivate(\"comparedSeries\");\n\t\t\tif (comparedSeries) {\n\t\t\t\tcomparedSeries.push(series);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.setPrivate(\"comparedSeries\", [series]);\n\t\t\t}\n\n\t\t\tconst legendDataItem = stockSeries.get(\"legendDataItem\");\n\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst legend = legendDataItem.component;\n\t\t\t\tif (legend.isType<StockLegend>(\"StockLegend\")) {\n\t\t\t\t\tlegend.data.push(series);\n\t\t\t\t\tconst ldi = series.get(\"legendDataItem\") as DataItem<IStockLegendDataItem>;\n\t\t\t\t\tif (ldi) {\n\t\t\t\t\t\tconst closeButton = ldi.get(\"closeButton\");\n\t\t\t\t\t\tcloseButton.set(\"forceHidden\", false);\n\t\t\t\t\t\tcloseButton.events.on(\"click\", () => {\n\t\t\t\t\t\t\tthis.removeComparingSeries(series);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.get(\"autoSetPercentScale\")) {\n\t\t\t\tthis.setPercentScale(true);\n\t\t\t}\n\n\t\t}\n\t\treturn series;\n\t}\n\n\t/**\n\t * Removes compared series.\n\t * \n\t * @param series Compared series\n\t */\n\tpublic removeComparingSeries(series: XYSeries) {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tif (stockSeries) {\n\t\t\tconst chart = stockSeries.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.series.removeValue(series);\n\t\t\t}\n\n\t\t\tconst comparedSeries = this.getPrivate(\"comparedSeries\");\n\t\t\tif (comparedSeries) {\n\t\t\t\t$array.remove(comparedSeries, series);\n\t\t\t\tif (comparedSeries.length == 0 && this.get(\"autoSetPercentScale\")) {\n\t\t\t\t\tthis.setPercentScale(true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tconst ldi = series.get(\"legendDataItem\") as DataItem<IStockLegendDataItem>;\n\t\tif (ldi) {\n\t\t\tconst legend = ldi.component;\n\t\t\tlegend.data.removeValue(series);\n\t\t}\n\n\t}\n\n\tprotected _maybePrepSeriesDefaults(series: XYSeries): void {\n\t\tif (!series.states.lookup(\"comparingDefaults\")) {\n\t\t\tconst seriesSettings = this.get(\"percentScaleSeriesSettings\");\n\t\t\tconst defaults: any = {};\n\t\t\t$object.each(seriesSettings, (key, _val) => {\n\t\t\t\tdefaults[key] = (<any>series).get(key);\n\t\t\t});\n\t\t\tseries.states.create(\"comparingDefaults\", defaults);\n\t\t}\n\t}\n\n\tprotected _maybePrepAxisDefaults(): void {\n\t\tconst stockSeries = this.get(\"stockSeries\")!;\n\t\tconst axis = stockSeries.get(\"yAxis\");\n\t\tif (!axis.states.lookup(\"comparingDefaults\")) {\n\t\t\tconst axisSettings = this.get(\"percentScaleValueAxisSettings\");\n\t\t\tconst defaults: any = {};\n\t\t\t$object.each(axisSettings, (key, _val) => {\n\t\t\t\tdefaults[key] = (<any>axis).get(key);\n\t\t\t});\n\t\t\taxis.states.create(\"comparingDefaults\", defaults);\n\t\t}\n\t}\n\n\tprotected _processIndicator(indicator: Indicator) {\n\t\tthis.children.push(indicator);\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tif (stockSeries) {\n\t\t\tindicator.set(\"stockSeries\", stockSeries);\n\t\t}\n\n\t\tconst volumeSeries = this.get(\"volumeSeries\");\n\t\tif (volumeSeries) {\n\t\t\tindicator.set(\"volumeSeries\", volumeSeries);\n\t\t}\n\n\t\tif (this.getPrivate(\"comparing\")) {\n\t\t\tthis.setPercentScale(true);\n\t\t}\n\n\t\tindicator.prepareData();\n\t}\n\n\tprotected _removeIndicator(indicator: Indicator) {\n\t\tthis.children.removeValue(indicator);\n\t}\n\n\tprotected _removePanel(chart: StockPanel) {\n\t\tthis.panelsContainer.children.removeValue(chart);\n\t}\n\n\tpublic _updateControls() {\n\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\tthis.panels.each((panel) => {\n\t\t\tconst panelControls = panel.panelControls;\n\t\t\tconst index = this.panelsContainer.children.indexOf(panel);\n\t\t\tconst len = this.panels.length;\n\n\t\t\tpanelControls.upButton.setPrivate(\"visible\", false);\n\t\t\tpanelControls.downButton.setPrivate(\"visible\", false);\n\t\t\tpanelControls.expandButton.setPrivate(\"visible\", false);\n\t\t\tpanelControls.closeButton.setPrivate(\"visible\", false);\n\n\t\t\tif (len > 1) {\n\t\t\t\tpanelControls.expandButton.setPrivate(\"visible\", true);\n\n\t\t\t\tif (index != 0) {\n\t\t\t\t\tpanelControls.upButton.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t\tif (index != len - 1) {\n\t\t\t\t\tpanelControls.downButton.setPrivate(\"visible\", true);\n\t\t\t\t}\n\n\t\t\t\tif (!stockSeries || stockSeries.chart != panel) {\n\t\t\t\t\tpanelControls.closeButton.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (stockSeries) {\n\t\t\t\tthis.indicators.each((indicator) => {\n\t\t\t\t\tindicator.set(\"stockSeries\", stockSeries);\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\n\t}\n\n\tprotected _processPanel(panel: StockPanel) {\n\n\t\tpanel.setPrivate(\"otherCharts\", this.panels.values);\n\t\tpanel.setPrivate(\"stockChart\", this);\n\t\tpanel.panelControls = panel.topPlotContainer.children.push(PanelControls.new(this._root, { stockPanel: panel, stockChart: this }));\n\t\tthis._updateControls();\n\n\t\tif (this.panels.length > 1) {\n\t\t\tconst resizer = panel.children.push(Rectangle.new(this._root, { themeTags: [\"panelresizer\"] }))\n\t\t\tresizer.events.on(\"pointerdown\", (e) => {\n\t\t\t\tconst chartsContainer = this.panelsContainer;\n\t\t\t\tthis._downResizer = e.target;\n\t\t\t\tthis.panels.each((chart) => {\n\t\t\t\t\tchart.set(\"height\", percent(chart.height() / chartsContainer.height() * 100))\n\t\t\t\t})\n\n\t\t\t\tthis._downY = chartsContainer.toLocal(e.point).y;\n\n\t\t\t\tconst upperChart = this.panels.getIndex(this.panels.indexOf(panel) - 1);\n\t\t\t\tthis._upperPanel = upperChart;\n\t\t\t\tif (upperChart) {\n\t\t\t\t\tthis._uhp = upperChart.get(\"height\") as Percent;\n\t\t\t\t}\n\n\t\t\t\tthis._dhp = panel.get(\"height\") as Percent;\n\t\t\t})\n\n\t\t\tresizer.events.on(\"pointerup\", () => {\n\t\t\t\tthis._downResizer = undefined;\n\t\t\t})\n\n\t\t\tresizer.events.on(\"globalpointermove\", (e) => {\n\t\t\t\tif (e.target == this._downResizer) {\n\t\t\t\t\tconst chartsContainer = this.panelsContainer;\n\t\t\t\t\tconst height = chartsContainer.height();\n\t\t\t\t\tconst upperChart = this._upperPanel;\n\n\t\t\t\t\tif (upperChart) {\n\t\t\t\t\t\tconst index = this.panels.indexOf(upperChart) + 2\n\t\t\t\t\t\tlet max = height - panel.get(\"minHeight\", 0);\n\t\t\t\t\t\tconst lowerChart = this.panels.getIndex(index);\n\t\t\t\t\t\tif (lowerChart) {\n\t\t\t\t\t\t\tmax = lowerChart.y() - panel.get(\"minHeight\", 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//console.log(upperChart.get(\"minHeight\", 0))\n\t\t\t\t\t\tconst y = Math.max(upperChart.y() + upperChart.get(\"minHeight\", 0) + upperChart.get(\"paddingTop\", 0), Math.min(chartsContainer.toLocal(e.point).y, max));\n\n\t\t\t\t\t\tconst downY = this._downY;\n\t\t\t\t\t\tconst dhp = this._dhp;\n\t\t\t\t\t\tconst uhp = this._uhp;\n\t\t\t\t\t\tif (downY != null && dhp != null && uhp != null) {\n\t\t\t\t\t\t\tconst diff = (downY - y) / height;\n\t\t\t\t\t\t\tpanel.set(\"height\", percent((dhp.value + diff) * 100));\n\t\t\t\t\t\t\tupperChart.set(\"height\", percent((uhp.value - diff) * 100))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tpanel.xAxes.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (axis) => {\n\t\t\t\t\tthis._removeXAxis(axis);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processXAxis(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processXAxis(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processXAxis(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeXAxis(change.oldValue);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t})\n\n\t\tpanel.leftAxesContainer.events.on(\"boundschanged\", () => {\n\t\t\tthis._syncYAxesSize();\n\t\t})\n\n\t\tpanel.rightAxesContainer.events.on(\"boundschanged\", () => {\n\t\t\tthis._syncYAxesSize();\n\t\t})\n\n\t}\n\n\tprotected _syncYAxesSize() {\n\t\tvar maxLeft = 0;\n\t\tvar maxRight = 0;\n\t\tthis.panels.each((chart) => {\n\t\t\tlet lw = chart.leftAxesContainer.width();\n\t\t\tlet rw = chart.rightAxesContainer.width();\n\t\t\tif (lw > maxLeft) {\n\t\t\t\tmaxLeft = lw;\n\t\t\t}\n\t\t\tif (rw > maxRight) {\n\t\t\t\tmaxRight = rw;\n\t\t\t}\n\t\t})\n\t\tthis.panels.each((chart) => {\n\t\t\tchart.leftAxesContainer.set(\"minWidth\", maxLeft);\n\t\t\tchart.rightAxesContainer.set(\"minWidth\", maxRight);\n\t\t})\n\n\t\tthis.toolsContainer.set(\"paddingRight\", maxRight);\n\t\tthis.toolsContainer.set(\"paddingRight\", maxRight);\n\t}\n\n\tprotected _removeXAxis(_axis: Axis<AxisRenderer>) {\n\n\t}\n\n\tprotected _processXAxis(axis: Axis<AxisRenderer>) {\n\t\t$array.move(this._xAxes, axis);\n\t\taxis.on(\"start\", () => {\n\t\t\tif (axis._skipSync != true) {\n\t\t\t\tthis._syncXAxes(axis);\n\t\t\t}\n\t\t})\n\t\taxis.on(\"end\", () => {\n\t\t\tif (axis._skipSync != true) {\n\t\t\t\tthis._syncXAxes(axis);\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _syncXAxes(axis: Axis<AxisRenderer>) {\n\t\t$array.each(this._xAxes, (xAxis) => {\n\t\t\tif (xAxis != axis) {\n\t\t\t\txAxis._skipSync = true;\n\t\t\t\txAxis.set(\"start\", axis.get(\"start\"));\n\t\t\t\txAxis.set(\"end\", axis.get(\"end\"));\n\t\t\t\txAxis._skipSync = false;\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getVolumeColor(dataItem: DataItem<IXYSeriesDataItem>, negativeColor?: Color, positiveColor?: Color): Color | undefined {\n\t\tif (dataItem) {\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\n\t\t\tconst volumeSeries = dataItem.component;\n\n\t\t\tif (!negativeColor) {\n\t\t\t\tnegativeColor = this.get(\"volumeNegativeColor\", this.root.interfaceColors.get(\"negative\", Color.fromHex(0xff0000)));\n\t\t\t}\n\n\t\t\tif (!positiveColor) {\n\t\t\t\tpositiveColor = this.get(\"volumePositiveColor\", this.root.interfaceColors.get(\"positive\", Color.fromHex(0x00FF00)));\n\t\t\t}\n\n\t\t\tif (stockSeries && volumeSeries) {\n\t\t\t\tconst index = volumeSeries.dataItems.indexOf(dataItem);\n\t\t\t\tif (index > 0) {\n\t\t\t\t\tlet stockDataItem = stockSeries.dataItems[index];\n\t\t\t\t\tif (stockDataItem) {\n\t\t\t\t\t\tlet close = stockDataItem.get(\"valueY\");\n\t\t\t\t\t\tif (close != null) {\n\t\t\t\t\t\t\tfor (let i = index - 1; i >= 0; i--) {\n\t\t\t\t\t\t\t\tlet di = stockSeries.dataItems[i];\n\t\t\t\t\t\t\t\tlet previousClose = di.get(\"valueY\");\n\n\t\t\t\t\t\t\t\tif (previousClose != null) {\n\t\t\t\t\t\t\t\t\tif (close < previousClose) {\n\t\t\t\t\t\t\t\t\t\treturn negativeColor;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\treturn positiveColor;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn positiveColor;\n\t}\n}\n"]}
|