@amcharts/amcharts5 5.0.13 → 5.0.14
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/xy/XYChart.js +2 -2
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +2 -2
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +2 -2
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +2 -2
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +0 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +17 -31
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +4 -0
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Legend.d.ts +7 -1
- package/.internal/core/render/Legend.d.ts.map +1 -1
- package/.internal/core/render/Legend.js.map +1 -1
- package/.internal/core/render/Series.d.ts +2 -0
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +25 -10
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/plugins/exporting/Annotator.d.ts +3 -1
- package/.internal/plugins/exporting/Annotator.d.ts.map +1 -1
- package/.internal/plugins/exporting/Annotator.js +44 -15
- package/.internal/plugins/exporting/Annotator.js.map +1 -1
- package/CHANGELOG.md +11 -0
- 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/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/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/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/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 +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Series.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Series.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, IComponentSettings, IComponentPrivate, DataItem, IComponentEvents, IComponentDataItem } from \"../../core/render/Component\";\nimport { List } from \"../../core/util/List\";\nimport { Color } from \"../../core/util/Color\";\nimport { percentInterpolate } from \"../../core/util/Animation\";\nimport { Percent } from \"../../core/util/Percent\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $time from \"../../core/util/Time\";\nimport type { Root } from \"../../core/Root\";\nimport { p100 } from \"../../core/util/Percent\";\nimport type { Chart } from \"./Chart\";\nimport type { Bullet } from \"./Bullet\";\nimport { Container } from \"../../core/render/Container\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { ILegendDataItem } from \"./Legend\";\nimport type { Template } from \"../../core/util/Template\";\nimport type { Sprite } from \"../../core/render/Sprite\";\nimport { Label } from \"../../core/render/Label\";\n//import { Animations } from \"../../core/util/Animation\";\n\n/**\n * Defines interface for a heat rule.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n */\nexport interface IHeatRule {\n\n\t/**\n\t * Target template.\n\t */\n\ttarget: Template<any>;\n\n\t/**\n\t * The setting value to use for items if the lowest value.\n\t */\n\tmin: any;\n\n\t/**\n\t * The setting value to use for items if the highest value.\n\t */\n\tmax: any;\n\n\t/**\n\t * Which data field to use when determining item's value.\n\t */\n\tdataField: string;\n\n\t/**\n\t * A setting key to set.\n\t */\n\tkey?: string;\n\n\t/**\n\t * Custom lowest value.\n\t */\n\tminValue?: number;\n\n\t/**\n\t * Custom highest value.\n\t */\n\tmaxValue?: number;\n\n\t/**\n\t * Use logarithmic scale when calculating intermediate setting values.\n\t *\n\t * @default false\n\t */\n\tlogarithmic?: boolean;\n\n\t/**\n\t * A custom function that will set target element's settings.\n\t *\n\t * Can be used to do custom manipulation on complex objects requiring more\n\t * than modifying a setting.\n\t */\n\tcustomFunction?: (target: Sprite, minValue: number, maxValue: number, propertyValue?: any) => void;\n\n}\n\n\nexport interface ISeriesDataItem extends IComponentDataItem {\n\tid?: string;\n\n\tvalue?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking?:number;\n\n\tvalueChange?: number;\n\tvalueChangePercent?: number;\n\tvalueChangeSelection?: number;\n\tvalueChangeSelectionPercent?: number;\n\tvalueChangePrevious?: number;\n\tvalueChangePreviousPercent?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorkingOpen?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorkingClose?: number;\n}\n\nexport interface ISeriesSettings extends IComponentSettings {\n\n\t/**\n\t * Name of the series.\n\t */\n\tname?: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a numeric value of the data item.\n\t *\n\t * Some series use it to display its elements. It can also be used in heat\n\t * rules.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A text template to be used for label in legend.\n\t */\n\tlegendLabelText?: string;\n\n\t/**\n\t * A text template to be used for value label in legend.\n\t */\n\tlegendValueText?: string;\n\n\t/**\n\t * If set to `true` the series initial animation will be played item by item\n\t * rather than all at once.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedInterpolation?:boolean;\n\n\t/**\n\t * A delay in milliseconds to wait before starting animation of next data\n\t * item.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedDelay?:number;\n\n\t/**\n\t * A list of heat rules to apply on series elements.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n\t */\n\theatRules?:IHeatRule[];\n\n\t/**\n\t * If set to `true`, series will calculate aggregate values, e.g. change\n\t * percent, high, low, etc.\n\t *\n\t * Do not enable unless you are using such aggregate values in tooltips,\n\t * display data fields, heat rules, or similar.\n\t */\n\tcalculateAggregates?: boolean;\n\n\t/**\n\t * Series stroke color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Series fill color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tfill?: Color;\n\n\t/**\n\t * A data item representing series in a [[Legend]].\n\t *\n\t * @readonly\n\t */\n\tlegendDataItem?: DataItem<ILegendDataItem>;\t\n\n}\n\nexport interface ISeriesPrivate extends IComponentPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tchart?: Chart;\n\tstartIndex?: number;\n\tendIndex?: number;\n\n\tvalueAverage?: number;\n\tvalueCount?: number;\n\tvalueSum?: number;\n\tvalueAbsoluteSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n\tvalueOpen?: number;\n\tvalueClose?: number;\n}\n\nexport interface ISeriesEvents extends IComponentEvents {\n\n}\n\n/**\n * A base class for all series.\n */\nexport abstract class Series extends Component {\n\tpublic static className: string = \"Series\";\n\tpublic static classNames: Array<string> = Component.classNames.concat([Series.className]);\n\n\tdeclare public _settings: ISeriesSettings;\n\tdeclare public _privateSettings: ISeriesPrivate;\n\tdeclare public _dataItemSettings: ISeriesDataItem;\n\tdeclare public _events: ISeriesEvents;\n\n\tprotected _aggregatesCalculated: boolean = false;\n\tprotected _selectionAggregatesCalculated: boolean = false;\n\tprotected _dataProcessed: boolean = false;\t\n\n\tprotected _psi: number | undefined;\n\tprotected _pei: number | undefined;\t\n\n\t/**\n\t * A chart series belongs to.\n\t */\n\tpublic chart:Chart | undefined;\n\n\t/**\n\t * List of bullets to use for the series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/} for more info\n\t */\n\tpublic bullets: List<<D extends DataItem<this[\"_dataItemSettings\"]>>(root: Root, series:Series, dataItem: D) => Bullet | undefined> = new List();\n\n\t/**\n\t * A [[Container]] series' bullets are stored in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly bulletsContainer: Container = Container.new(this._root, {isMeasured:false, width:p100, height:p100, position:\"absolute\"});\n\n\tprotected _afterNew() {\n\t\tthis.valueFields.push(\"value\");\n\n\t\tsuper._afterNew();\n\n\t\tthis._disposers.push(this.bullets.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t}));\n\t}\n\n\tprotected _dispose(){\n\t\tthis.bulletsContainer.dispose(); // can be in a different parent\n\t\tsuper._dispose();\n\t}\n\n\tprotected _handleBullets(dataItems:Array<DataItem<this[\"_dataItemSettings\"]>>){\n\t\t$array.each(dataItems, (dataItem)=>{\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif(bullets){\n\t\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\t\t})\n\n\t\tthis._markDirtyValues();\n\t}\n\n\t/**\n\t * Looks up and returns a data item by its ID.\n\t * \n\t * @param id ID\n\t * @return Data item\n\t */\n\tpublic getDataItemById(id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\t\treturn $array.find(this.dataItems, (dataItem: any) => {\n\t\t\treturn dataItem.get(\"id\") == id;\n\t\t})\n\t}\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif(this._shouldMakeBullet(dataItem)){\n\t\t\tdataItem.bullets = [];\n\n\t\t\tthis.bullets.each((bulletFunction) => {\n\t\t\t\tthis._makeBullet(dataItem, bulletFunction);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _shouldMakeBullet(_dataItem: DataItem<this[\"_dataItemSettings\"]>):boolean{\n\t\treturn true;\n\t}\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction:(root: Root, series:Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?:number):Bullet | undefined{\n\t\tconst bullet = bulletFunction(this._root, this, dataItem);\n\t\tif(bullet){\n\t\t\tlet sprite = bullet.get(\"sprite\");\n\n\t\t\tif (sprite) {\n\t\t\t\tsprite._setDataItem(dataItem);\n\t\t\t\tsprite.setRaw(\"position\", \"absolute\");\n\t\t\t\tthis.bulletsContainer.children.push(sprite);\t\t\t\n\t\t\t}\n\t\t\tbullet._index = index;\n\t\t\tbullet.series = this;\n\t\t\tdataItem.bullets!.push(bullet);\t\t\t\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._aggregatesCalculated = false;\n\t\tthis._selectionAggregatesCalculated = false;\n\t}\n\n\tpublic _prepareChildren(){\n\t\tsuper._prepareChildren();\n\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.getPrivate(\"startIndex\", 0);\t\t\n\t\tlet endIndex = Math.min(len, this.getPrivate(\"endIndex\", len));\n\t\tthis.setPrivateRaw(\"endIndex\", endIndex); // update to handle less data\n\n\t\tconst calculateAggregates = this.get(\"calculateAggregates\");\n\t\tif(calculateAggregates){\n\t\t\tif (this._valuesDirty && !this._dataProcessed) {\n\t\t\t\tif (!this._aggregatesCalculated) {\n\t\t\t\t\tthis._calculateAggregates(0, this.dataItems.length);\n\t\t\t\t\tthis._aggregatesCalculated = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex) && !this._selectionAggregatesCalculated) {\t\t\n\t\t\t\tif (startIndex === 0 && endIndex === this.dataItems.length && this._aggregatesCalculated) {\n\t\t\t\t\t// void\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._calculateAggregates(startIndex, endIndex);\n\t\t\t\t}\n\n\t\t\t\tthis._selectionAggregatesCalculated = true;\n\t\t\t}\n\t\t}\n\n\t\tif(this.isDirty(\"tooltip\")){\n\t\t\tlet tooltip = this.get(\"tooltip\");\n\t\t\tif(tooltip){\n\t\t\t\ttooltip.hide(0);\n\t\t\t\ttooltip.set(\"tooltipTarget\", this);\n\t\t\t}\n\t\t}\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet count = this.dataItems.length;\n\n\t\t\tfor (let i = 0; i < startIndex; i++) {\n\t\t\t\tthis._hideBullets(this.dataItems[i]);\n\t\t\t}\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (!dataItem.bullets) {\n\t\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = endIndex; i < count; i++) {\n\t\t\t\tthis._hideBullets(this.dataItems[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"stroke\")) {\n\n\t\t\tlet markerRectangle: Graphics | undefined;\n\t\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tmarkerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\t\tif (markerRectangle) {\n\n\t\t\t\t\tif (this.isDirty(\"stroke\")) {\n\t\t\t\t\t\tlet stroke = this.get(\"stroke\");\n\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", stroke);\n\t\t\t\t\t}\n\t\t\t\t\tif (this.isDirty(\"fill\")) {\n\t\t\t\t\t\tlet fill = this.get(\"fill\");\n\t\t\t\t\t\tmarkerRectangle.set(\"fill\", fill);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateLegendMarker(undefined);\n\t\t}\t\t\n\t}\n\n\tprotected _calculateAggregates(startIndex: number, endIndex: number) {\n\t\tlet fields = this._valueFields;\n\n\t\tif (!fields) {\n\t\t\tthrow new Error(\"No value fields are set for the series.\");\n\t\t}\n\n\t\tconst sum: { [index: string]: number } = {};\n\t\tconst absSum: { [index: string]: number } = {};\n\t\tconst count: { [index: string]: number } = {};\n\t\tconst low: { [index: string]: number } = {};\n\t\tconst high: { [index: string]: number } = {};\n\t\tconst open: { [index: string]: number } = {};\n\t\tconst close: { [index: string]: number } = {};\n\t\tconst average: { [index: string]: number } = {};\n\t\tconst previous: { [index: string]: number } = {};\n\n\t\t$array.each(fields, (key) => {\n\t\t\tsum[key] = 0;\n\t\t\tabsSum[key] = 0;\n\t\t\tcount[key] = 0;\n\t\t})\n\n\t\t$array.each(fields, (key) => {\n\t\t\tlet change = key + \"Change\";\n\t\t\tlet changePercent = key + \"ChangePercent\";\n\t\t\tlet changePrevious = key + \"ChangePrevious\";\n\t\t\tlet changePreviousPercent = key + \"ChangePreviousPercent\";\n\t\t\tlet changeSelection = key + \"ChangeSelection\";\n\t\t\tlet ChangeSelectionPercent = key + \"ChangeSelectionPercent\";\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\n\t\t\t\tlet value = dataItem.get(<any>key)\n\n\t\t\t\tif (value != null) {\n\t\t\t\t\tcount[key]++;\n\t\t\t\t\tsum[key] += value;\n\n\t\t\t\t\tabsSum[key] += Math.abs(value);\n\n\t\t\t\t\taverage[key] = sum[key] / count[key];\n\n\t\t\t\t\tif (low[key] > value || low[key] == null) {\n\t\t\t\t\t\tlow[key] = value;\n\t\t\t\t\t}\n\t\t\t\t\tif (high[key] < value || high[key] == null) {\n\t\t\t\t\t\thigh[key] = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tclose[key] = value;\n\n\t\t\t\t\tif (open[key] == null) {\n\t\t\t\t\t\topen[key] = value;\n\t\t\t\t\t\tprevious[key] = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (startIndex === 0) {\n\t\t\t\t\t\tdataItem.setRaw(<any>(change), value - open[key]);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changePercent), (value - open[key]) / open[key] * 100);\n\t\t\t\t\t}\n\n\n\t\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[key]);\n\t\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[key]) / previous[key] * 100);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[key]);\n\t\t\t\t\tdataItem.setRaw(<any>(ChangeSelectionPercent), (value - open[key]) / open[key] * 100);\n\n\t\t\t\t\tprevious[key] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t$array.each(fields, (key) => {\n\t\t\tthis.setPrivate(<any>(key + \"AverageSelection\"), average[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CountSelection\"), count[key]);\n\t\t\tthis.setPrivate(<any>(key + \"SumSelection\"), sum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSumSelection\"), absSum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"LowSelection\"), low[key]);\n\t\t\tthis.setPrivate(<any>(key + \"HighSelection\"), high[key]);\n\t\t\tthis.setPrivate(<any>(key + \"OpenSelection\"), open[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CloseSelection\"), close[key]);\n\t\t})\n\n\t\tif (startIndex === 0 && endIndex === this.dataItems.length) {\n\t\t\t$array.each(fields, (key) => {\n\t\t\t\tthis.setPrivate(<any>(key + \"Average\"), average[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Count\"), count[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Sum\"), sum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSum\"), absSum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Low\"), low[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"High\"), high[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Open\"), open[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Close\"), close[key]);\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tthis._psi = this.getPrivate(\"startIndex\", 0);\n\t\tthis._pei = this.getPrivate(\"endIndex\", this.dataItems.length);\n\n\t\t// Apply heat rules\n\t\tif (this._valuesDirty && this.get(\"heatRules\") != null) {\n\t\t\tconst rules = this.get(\"heatRules\", []);\n\t\t\t$array.each(rules, (rule) => {\n\t\t\t\tconst minValue = rule.minValue || this.getPrivate(<any>(rule.dataField + \"Low\")) || 0;\n\t\t\t\tconst maxValue = rule.maxValue || this.getPrivate(<any>(rule.dataField + \"High\")) || 0;\n\n\t\t\t\t$array.each(rule.target._entities, (target) => {\n\t\t\t\t\tconst value = target.dataItem.get(rule.dataField);\n\n\t\t\t\t\tif (!$type.isNumber(value)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet percent: number;\n\t\t\t\t\tif (rule.logarithmic) {\n\t\t\t\t\t\tpercent = (Math.log(value) * Math.LOG10E - Math.log(minValue) * Math.LOG10E) / ((Math.log(maxValue) * Math.LOG10E - Math.log(minValue) * Math.LOG10E));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpercent = (value - minValue) / (maxValue - minValue);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($type.isNumber(value) && (!$type.isNumber(percent) || Math.abs(percent) == Infinity)) {\n\t\t\t\t\t\tpercent = 0.5;\n\t\t\t\t\t}\n\n\t\t\t\t\t// fixes problems if all values are the same\n\t\t\t\t\tlet propertyValue;\n\t\t\t\t\tif ($type.isNumber(rule.min)) {\n\t\t\t\t\t\tpropertyValue = rule.min + (rule.max - rule.min) * percent;\n\t\t\t\t\t}\n\t\t\t\t\telse if (rule.min instanceof Color) {\n\t\t\t\t\t\tpropertyValue = Color.interpolate(percent, rule.min, rule.max);\n\t\t\t\t\t}\n\t\t\t\t\telse if (rule.min instanceof Percent) {\n\t\t\t\t\t\tpropertyValue = percentInterpolate(percent, rule.min, rule.max);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (rule.customFunction) {\n\t\t\t\t\t\trule.customFunction.call(this, target, minValue, maxValue, propertyValue);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttarget.set(rule.key, propertyValue);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet count = this.dataItems.length;\n\t\t\tlet startIndex = this.getPrivate(\"startIndex\", 0);\n\t\t\tlet endIndex = this.getPrivate(\"endIndex\", count);\n\n\t\t\tif(endIndex < count){\n\t\t\t\tendIndex++;\n\t\t\t}\n\t\t\tif(startIndex > 0){\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tthis._positionBullets(this.dataItems[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>){\n\t\tif(dataItem.bullets){\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\n\t\t\t\tif(bullet.get(\"dynamic\")){\n\t\t\t\t\t\n\t\t\t\t\tif(sprite){\t\t\t\t\t\t\n\t\t\t\t\t\tsprite._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\tsprite.markDirtySize();\n\t\t\t\t\t}\n\t\t\t\t\tif(sprite instanceof Container){\n\t\t\t\t\t\tsprite.walkChildren((child)=>{\t\t\t\t\t\t\n\t\t\t\t\t\t\tchild._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\t\tchild.markDirtySize();\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\t\n\n\t\t\t\tif(sprite instanceof Label && sprite.get(\"populateText\" as any)){\n\t\t\t\t\tsprite.text.markDirtyText();\n\t\t\t\t}\t\t\t\t\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _hideBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (dataItem.bullets) {\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tlet sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _positionBullet(_bullet: Bullet) {\n\t}\n\n\tpublic _placeBulletsContainer(chart:Chart){\n\t\tchart.bulletsContainer.children.moveValue(this.bulletsContainer);\n\t}\n\n\tpublic _removeBulletsContainer(){\n\t\tconst bulletsContainer = this.bulletsContainer;\n\t\tif(bulletsContainer.parent){\n\t\t\tbulletsContainer.parent.children.removeValue(bulletsContainer)\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst bullets = dataItem.bullets;\n\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tbullet.dispose();\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getItemReaderLabel(): string {\n\t\treturn \"\";\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\tconst bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tpromises.push(bullet.get(\"sprite\").show(duration));\n\t\t\t})\n\t\t}\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 bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tpromises.push(bullet.get(\"sprite\").hide(duration));\n\t\t\t})\n\t\t}\n\t\tawait Promise.all(promises);\n\t}\n\n\n\tprotected async _sequencedShowHide(show: boolean, duration?: number): Promise<void> {\n\t\tif (this.get(\"sequencedInterpolation\")) {\n\n\t\t\tif (!$type.isNumber(duration)) {\n\t\t\t\tduration = this.get(\"interpolationDuration\", 0);\n\t\t\t}\n\n\t\t\tif (duration > 0) {\n\t\t\t\tconst startIndex = this.getPrivate(\"startIndex\", 0);\n\t\t\t\tconst endIndex = this.getPrivate(\"endIndex\", this.dataItems.length);\n\n\t\t\t\tawait Promise.all($array.map(this.dataItems, async (dataItem, i) => {\n\t\t\t\t\tlet realDuration = duration || 0;\n\n\t\t\t\t\tif (i < startIndex - 10 || i > endIndex + 10) {\n\t\t\t\t\t\trealDuration = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t//let delay = this.get(\"sequencedDelay\", 0) * i + realDuration * (i - startIndex) / (endIndex - startIndex);\n\t\t\t\t\tlet delay = this.get(\"sequencedDelay\", 0) + realDuration / (endIndex - startIndex);\n\n\t\t\t\t\tawait $time.sleep(delay * (i - startIndex));\n\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\tawait this.showDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tawait this.hideDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tawait Promise.all($array.map(this.dataItems, (dataItem) => {\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\treturn this.showDataItem(dataItem, 0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn this.hideDataItem(dataItem, 0);\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 * @ignore\n\t */\n\tpublic updateLegendValue(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst legendDataItem = dataItem.get(\"legendDataItem\" as any) as DataItem<ILegendDataItem>;\n\n\t\tif (legendDataItem) {\n\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\tif (valueLabel) {\n\t\t\t\tconst text = valueLabel.text;\n\t\t\t\tlet txt = \"\";\n\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\ttxt = this.get(\"legendValueText\", text.get(\"text\", \"\"));\n\n\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t\ttext.markDirtyText();\n\t\t\t}\n\n\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\tif (label) {\n\t\t\t\tconst text = label.text;\n\t\t\t\tlet txt = \"\";\n\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\ttxt = this.get(\"legendLabelText\", text.get(\"text\", \"\"));\n\n\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t\ttext.markDirtyText();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _onHide(){\n\t\tsuper._onHide();\n\n\t\tconst tooltip = this.getTooltip();\n\t\tif(tooltip){\n\t\t\ttooltip.hide();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic hoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic unhoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Series.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Series.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, IComponentSettings, IComponentPrivate, DataItem, IComponentEvents, IComponentDataItem } from \"../../core/render/Component\";\nimport { List } from \"../../core/util/List\";\nimport { Color } from \"../../core/util/Color\";\nimport { percentInterpolate } from \"../../core/util/Animation\";\nimport { Percent } from \"../../core/util/Percent\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $time from \"../../core/util/Time\";\nimport type { Root } from \"../../core/Root\";\nimport { p100 } from \"../../core/util/Percent\";\nimport type { Chart } from \"./Chart\";\nimport type { Bullet } from \"./Bullet\";\nimport { Container } from \"../../core/render/Container\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { ILegendDataItem } from \"./Legend\";\nimport type { Template } from \"../../core/util/Template\";\nimport type { Sprite } from \"../../core/render/Sprite\";\nimport { Label } from \"../../core/render/Label\";\n//import { Animations } from \"../../core/util/Animation\";\n\n/**\n * Defines interface for a heat rule.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n */\nexport interface IHeatRule {\n\n\t/**\n\t * Target template.\n\t */\n\ttarget: Template<any>;\n\n\t/**\n\t * The setting value to use for items if the lowest value.\n\t */\n\tmin: any;\n\n\t/**\n\t * The setting value to use for items if the highest value.\n\t */\n\tmax: any;\n\n\t/**\n\t * Which data field to use when determining item's value.\n\t */\n\tdataField: string;\n\n\t/**\n\t * A setting key to set.\n\t */\n\tkey?: string;\n\n\t/**\n\t * Custom lowest value.\n\t */\n\tminValue?: number;\n\n\t/**\n\t * Custom highest value.\n\t */\n\tmaxValue?: number;\n\n\t/**\n\t * Use logarithmic scale when calculating intermediate setting values.\n\t *\n\t * @default false\n\t */\n\tlogarithmic?: boolean;\n\n\t/**\n\t * A custom function that will set target element's settings.\n\t *\n\t * Can be used to do custom manipulation on complex objects requiring more\n\t * than modifying a setting.\n\t */\n\tcustomFunction?: (target: Sprite, minValue: number, maxValue: number, propertyValue?: any) => void;\n\n}\n\n\nexport interface ISeriesDataItem extends IComponentDataItem {\n\tid?: string;\n\n\tvalue?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking?:number;\n\n\tvalueChange?: number;\n\tvalueChangePercent?: number;\n\tvalueChangeSelection?: number;\n\tvalueChangeSelectionPercent?: number;\n\tvalueChangePrevious?: number;\n\tvalueChangePreviousPercent?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorkingOpen?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorkingClose?: number;\n}\n\nexport interface ISeriesSettings extends IComponentSettings {\n\n\t/**\n\t * Name of the series.\n\t */\n\tname?: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a numeric value of the data item.\n\t *\n\t * Some series use it to display its elements. It can also be used in heat\n\t * rules.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A text template to be used for label in legend.\n\t */\n\tlegendLabelText?: string;\n\n\t/**\n\t * A text template to be used for value label in legend.\n\t */\n\tlegendValueText?: string;\n\n\t/**\n\t * If set to `true` the series initial animation will be played item by item\n\t * rather than all at once.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedInterpolation?:boolean;\n\n\t/**\n\t * A delay in milliseconds to wait before starting animation of next data\n\t * item.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedDelay?:number;\n\n\t/**\n\t * A list of heat rules to apply on series elements.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n\t */\n\theatRules?:IHeatRule[];\n\n\t/**\n\t * If set to `true`, series will calculate aggregate values, e.g. change\n\t * percent, high, low, etc.\n\t *\n\t * Do not enable unless you are using such aggregate values in tooltips,\n\t * display data fields, heat rules, or similar.\n\t */\n\tcalculateAggregates?: boolean;\n\n\t/**\n\t * Series stroke color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Series fill color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tfill?: Color;\n\n\t/**\n\t * A data item representing series in a [[Legend]].\n\t *\n\t * @readonly\n\t */\n\tlegendDataItem?: DataItem<ILegendDataItem>;\t\n\n}\n\nexport interface ISeriesPrivate extends IComponentPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tchart?: Chart;\n\tstartIndex?: number;\n\tendIndex?: number;\n\n\tvalueAverage?: number;\n\tvalueCount?: number;\n\tvalueSum?: number;\n\tvalueAbsoluteSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n\tvalueOpen?: number;\n\tvalueClose?: number;\n}\n\nexport interface ISeriesEvents extends IComponentEvents {\n\n}\n\n/**\n * A base class for all series.\n */\nexport abstract class Series extends Component {\n\tpublic static className: string = \"Series\";\n\tpublic static classNames: Array<string> = Component.classNames.concat([Series.className]);\n\n\tdeclare public _settings: ISeriesSettings;\n\tdeclare public _privateSettings: ISeriesPrivate;\n\tdeclare public _dataItemSettings: ISeriesDataItem;\n\tdeclare public _events: ISeriesEvents;\n\n\tprotected _aggregatesCalculated: boolean = false;\n\tprotected _selectionAggregatesCalculated: boolean = false;\n\tprotected _dataProcessed: boolean = false;\t\n\n\tprotected _psi: number | undefined;\n\tprotected _pei: number | undefined;\t\n\n\t/**\n\t * A chart series belongs to.\n\t */\n\tpublic chart:Chart | undefined;\n\n\t/**\n\t * List of bullets to use for the series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/} for more info\n\t */\n\tpublic bullets: List<<D extends DataItem<this[\"_dataItemSettings\"]>>(root: Root, series:Series, dataItem: D) => Bullet | undefined> = new List();\n\n\t/**\n\t * A [[Container]] series' bullets are stored in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly bulletsContainer: Container = Container.new(this._root, {isMeasured:false, width:p100, height:p100, position:\"absolute\"});\n\n\tprotected _afterNew() {\n\t\tthis.valueFields.push(\"value\");\n\n\t\tsuper._afterNew();\n\n\t\tthis._disposers.push(this.bullets.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._handleBullets(this.dataItems);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t}));\n\t}\n\n\tprotected _dispose(){\n\t\tthis.bulletsContainer.dispose(); // can be in a different parent\n\t\tsuper._dispose();\n\t}\n\n\tpublic startIndex() {\n\t\treturn this.getPrivate(\"startIndex\", 0);\n\t}\n\n\tpublic endIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(this.getPrivate(\"endIndex\", len), len)\n\t}\t\n\n\tprotected _handleBullets(dataItems:Array<DataItem<this[\"_dataItemSettings\"]>>){\n\t\t$array.each(dataItems, (dataItem)=>{\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif(bullets){\n\t\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\t\t})\n\n\t\tthis._markDirtyValues();\n\t}\n\n\t/**\n\t * Looks up and returns a data item by its ID.\n\t * \n\t * @param id ID\n\t * @return Data item\n\t */\n\tpublic getDataItemById(id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\t\treturn $array.find(this.dataItems, (dataItem: any) => {\n\t\t\treturn dataItem.get(\"id\") == id;\n\t\t})\n\t}\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif(this._shouldMakeBullet(dataItem)){\n\t\t\tdataItem.bullets = [];\n\n\t\t\tthis.bullets.each((bulletFunction) => {\n\t\t\t\tthis._makeBullet(dataItem, bulletFunction);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _shouldMakeBullet(_dataItem: DataItem<this[\"_dataItemSettings\"]>):boolean{\n\t\treturn true;\n\t}\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction:(root: Root, series:Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?:number):Bullet | undefined{\n\t\tconst bullet = bulletFunction(this._root, this, dataItem);\n\t\tif(bullet){\n\t\t\tlet sprite = bullet.get(\"sprite\");\n\n\t\t\tif (sprite) {\n\t\t\t\tsprite._setDataItem(dataItem);\n\t\t\t\tsprite.setRaw(\"position\", \"absolute\");\n\t\t\t\tthis.bulletsContainer.children.push(sprite);\t\t\t\n\t\t\t}\n\t\t\tbullet._index = index;\n\t\t\tbullet.series = this;\n\t\t\tdataItem.bullets!.push(bullet);\t\t\t\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._aggregatesCalculated = false;\n\t\tthis._selectionAggregatesCalculated = false;\n\t}\n\n\tpublic _prepareChildren(){\n\t\tsuper._prepareChildren();\n\n\t\tlet startIndex = this.startIndex();\t\t\n\t\tlet endIndex = this.endIndex();\n\n\t\tconst calculateAggregates = this.get(\"calculateAggregates\");\n\t\tif(calculateAggregates){\n\t\t\tif (this._valuesDirty && !this._dataProcessed) {\n\t\t\t\tif (!this._aggregatesCalculated) {\n\t\t\t\t\tthis._calculateAggregates(0, this.dataItems.length);\n\t\t\t\t\tthis._aggregatesCalculated = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex) && !this._selectionAggregatesCalculated) {\t\t\n\t\t\t\tif (startIndex === 0 && endIndex === this.dataItems.length && this._aggregatesCalculated) {\n\t\t\t\t\t// void\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._calculateAggregates(startIndex, endIndex);\n\t\t\t\t}\n\n\t\t\t\tthis._selectionAggregatesCalculated = true;\n\t\t\t}\n\t\t}\n\n\t\tif(this.isDirty(\"tooltip\")){\n\t\t\tlet tooltip = this.get(\"tooltip\");\n\t\t\tif(tooltip){\n\t\t\t\ttooltip.hide(0);\n\t\t\t\ttooltip.set(\"tooltipTarget\", this);\n\t\t\t}\n\t\t}\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet count = this.dataItems.length;\n\n\t\t\tfor (let i = 0; i < startIndex; i++) {\n\t\t\t\tthis._hideBullets(this.dataItems[i]);\n\t\t\t}\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (!dataItem.bullets) {\n\t\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = endIndex; i < count; i++) {\n\t\t\t\tthis._hideBullets(this.dataItems[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"stroke\")) {\n\n\t\t\tlet markerRectangle: Graphics | undefined;\n\t\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tmarkerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\t\tif (markerRectangle) {\n\n\t\t\t\t\tif (this.isDirty(\"stroke\")) {\n\t\t\t\t\t\tlet stroke = this.get(\"stroke\");\n\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", stroke);\n\t\t\t\t\t}\n\t\t\t\t\tif (this.isDirty(\"fill\")) {\n\t\t\t\t\t\tlet fill = this.get(\"fill\");\n\t\t\t\t\t\tmarkerRectangle.set(\"fill\", fill);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateLegendMarker(undefined);\n\t\t}\t\t\n\t}\n\n\tprotected _calculateAggregates(startIndex: number, endIndex: number) {\n\t\tlet fields = this._valueFields;\n\n\t\tif (!fields) {\n\t\t\tthrow new Error(\"No value fields are set for the series.\");\n\t\t}\n\n\t\tconst sum: { [index: string]: number } = {};\n\t\tconst absSum: { [index: string]: number } = {};\n\t\tconst count: { [index: string]: number } = {};\n\t\tconst low: { [index: string]: number } = {};\n\t\tconst high: { [index: string]: number } = {};\n\t\tconst open: { [index: string]: number } = {};\n\t\tconst close: { [index: string]: number } = {};\n\t\tconst average: { [index: string]: number } = {};\n\t\tconst previous: { [index: string]: number } = {};\n\n\t\t$array.each(fields, (key) => {\n\t\t\tsum[key] = 0;\n\t\t\tabsSum[key] = 0;\n\t\t\tcount[key] = 0;\n\t\t})\n\n\t\t$array.each(fields, (key) => {\n\t\t\tlet change = key + \"Change\";\n\t\t\tlet changePercent = key + \"ChangePercent\";\n\t\t\tlet changePrevious = key + \"ChangePrevious\";\n\t\t\tlet changePreviousPercent = key + \"ChangePreviousPercent\";\n\t\t\tlet changeSelection = key + \"ChangeSelection\";\n\t\t\tlet ChangeSelectionPercent = key + \"ChangeSelectionPercent\";\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\n\t\t\t\tlet value = dataItem.get(<any>key)\n\n\t\t\t\tif (value != null) {\n\t\t\t\t\tcount[key]++;\n\t\t\t\t\tsum[key] += value;\n\n\t\t\t\t\tabsSum[key] += Math.abs(value);\n\n\t\t\t\t\taverage[key] = sum[key] / count[key];\n\n\t\t\t\t\tif (low[key] > value || low[key] == null) {\n\t\t\t\t\t\tlow[key] = value;\n\t\t\t\t\t}\n\t\t\t\t\tif (high[key] < value || high[key] == null) {\n\t\t\t\t\t\thigh[key] = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tclose[key] = value;\n\n\t\t\t\t\tif (open[key] == null) {\n\t\t\t\t\t\topen[key] = value;\n\t\t\t\t\t\tprevious[key] = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (startIndex === 0) {\n\t\t\t\t\t\tdataItem.setRaw(<any>(change), value - open[key]);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changePercent), (value - open[key]) / open[key] * 100);\n\t\t\t\t\t}\n\n\n\t\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[key]);\n\t\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[key]) / previous[key] * 100);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[key]);\n\t\t\t\t\tdataItem.setRaw(<any>(ChangeSelectionPercent), (value - open[key]) / open[key] * 100);\n\n\t\t\t\t\tprevious[key] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t$array.each(fields, (key) => {\n\t\t\tthis.setPrivate(<any>(key + \"AverageSelection\"), average[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CountSelection\"), count[key]);\n\t\t\tthis.setPrivate(<any>(key + \"SumSelection\"), sum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSumSelection\"), absSum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"LowSelection\"), low[key]);\n\t\t\tthis.setPrivate(<any>(key + \"HighSelection\"), high[key]);\n\t\t\tthis.setPrivate(<any>(key + \"OpenSelection\"), open[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CloseSelection\"), close[key]);\n\t\t})\n\n\t\tif (startIndex === 0 && endIndex === this.dataItems.length) {\n\t\t\t$array.each(fields, (key) => {\n\t\t\t\tthis.setPrivate(<any>(key + \"Average\"), average[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Count\"), count[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Sum\"), sum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSum\"), absSum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Low\"), low[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"High\"), high[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Open\"), open[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Close\"), close[key]);\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tthis._psi = this.startIndex();\n\t\tthis._pei = this.endIndex();\n\n\t\t// Apply heat rules\n\t\tif (this._valuesDirty && this.get(\"heatRules\") != null) {\n\t\t\tconst rules = this.get(\"heatRules\", []);\n\t\t\t$array.each(rules, (rule) => {\n\t\t\t\tconst minValue = rule.minValue || this.getPrivate(<any>(rule.dataField + \"Low\")) || 0;\n\t\t\t\tconst maxValue = rule.maxValue || this.getPrivate(<any>(rule.dataField + \"High\")) || 0;\n\n\t\t\t\t$array.each(rule.target._entities, (target) => {\n\t\t\t\t\tconst value = target.dataItem.get(rule.dataField);\n\n\t\t\t\t\tif (!$type.isNumber(value)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet percent: number;\n\t\t\t\t\tif (rule.logarithmic) {\n\t\t\t\t\t\tpercent = (Math.log(value) * Math.LOG10E - Math.log(minValue) * Math.LOG10E) / ((Math.log(maxValue) * Math.LOG10E - Math.log(minValue) * Math.LOG10E));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpercent = (value - minValue) / (maxValue - minValue);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($type.isNumber(value) && (!$type.isNumber(percent) || Math.abs(percent) == Infinity)) {\n\t\t\t\t\t\tpercent = 0.5;\n\t\t\t\t\t}\n\n\t\t\t\t\t// fixes problems if all values are the same\n\t\t\t\t\tlet propertyValue;\n\t\t\t\t\tif ($type.isNumber(rule.min)) {\n\t\t\t\t\t\tpropertyValue = rule.min + (rule.max - rule.min) * percent;\n\t\t\t\t\t}\n\t\t\t\t\telse if (rule.min instanceof Color) {\n\t\t\t\t\t\tpropertyValue = Color.interpolate(percent, rule.min, rule.max);\n\t\t\t\t\t}\n\t\t\t\t\telse if (rule.min instanceof Percent) {\n\t\t\t\t\t\tpropertyValue = percentInterpolate(percent, rule.min, rule.max);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (rule.customFunction) {\n\t\t\t\t\t\trule.customFunction.call(this, target, minValue, maxValue, propertyValue);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttarget.set(rule.key, propertyValue);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet count = this.dataItems.length;\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\n\t\t\tif(endIndex < count){\n\t\t\t\tendIndex++;\n\t\t\t}\n\t\t\tif(startIndex > 0){\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tthis._positionBullets(this.dataItems[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>){\n\t\tif(dataItem.bullets){\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\n\t\t\t\tif(bullet.get(\"dynamic\")){\n\t\t\t\t\t\n\t\t\t\t\tif(sprite){\t\t\t\t\t\t\n\t\t\t\t\t\tsprite._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\tsprite.markDirtySize();\n\t\t\t\t\t}\n\t\t\t\t\tif(sprite instanceof Container){\n\t\t\t\t\t\tsprite.walkChildren((child)=>{\t\t\t\t\t\t\n\t\t\t\t\t\t\tchild._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\t\tchild.markDirtySize();\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\t\n\n\t\t\t\tif(sprite instanceof Label && sprite.get(\"populateText\" as any)){\n\t\t\t\t\tsprite.text.markDirtyText();\n\t\t\t\t}\t\t\t\t\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _hideBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (dataItem.bullets) {\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tlet sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _positionBullet(_bullet: Bullet) {\n\t}\n\n\tpublic _placeBulletsContainer(chart:Chart){\n\t\tchart.bulletsContainer.children.moveValue(this.bulletsContainer);\n\t}\n\n\tpublic _removeBulletsContainer(){\n\t\tconst bulletsContainer = this.bulletsContainer;\n\t\tif(bulletsContainer.parent){\n\t\t\tbulletsContainer.parent.children.removeValue(bulletsContainer)\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst bullets = dataItem.bullets;\n\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tbullet.dispose();\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getItemReaderLabel(): string {\n\t\treturn \"\";\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\tconst bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tpromises.push(bullet.get(\"sprite\").show(duration));\n\t\t\t})\n\t\t}\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 bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tpromises.push(bullet.get(\"sprite\").hide(duration));\n\t\t\t})\n\t\t}\n\t\tawait Promise.all(promises);\n\t}\n\n\n\tprotected async _sequencedShowHide(show: boolean, duration?: number): Promise<void> {\n\t\tif (this.get(\"sequencedInterpolation\")) {\n\n\t\t\tif (!$type.isNumber(duration)) {\n\t\t\t\tduration = this.get(\"interpolationDuration\", 0);\n\t\t\t}\n\n\t\t\tif (duration > 0) {\n\t\t\t\tconst startIndex = this.startIndex();\n\t\t\t\tconst endIndex = this.endIndex();\n\n\t\t\t\tawait Promise.all($array.map(this.dataItems, async (dataItem, i) => {\n\t\t\t\t\tlet realDuration = duration || 0;\n\n\t\t\t\t\tif (i < startIndex - 10 || i > endIndex + 10) {\n\t\t\t\t\t\trealDuration = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t//let delay = this.get(\"sequencedDelay\", 0) * i + realDuration * (i - startIndex) / (endIndex - startIndex);\n\t\t\t\t\tlet delay = this.get(\"sequencedDelay\", 0) + realDuration / (endIndex - startIndex);\n\n\t\t\t\t\tawait $time.sleep(delay * (i - startIndex));\n\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\tawait this.showDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tawait this.hideDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tawait Promise.all($array.map(this.dataItems, (dataItem) => {\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\treturn this.showDataItem(dataItem, 0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn this.hideDataItem(dataItem, 0);\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 * @ignore\n\t */\n\tpublic updateLegendValue(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst legendDataItem = dataItem.get(\"legendDataItem\" as any) as DataItem<ILegendDataItem>;\n\n\t\tif (legendDataItem) {\n\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\tif (valueLabel) {\n\t\t\t\tconst text = valueLabel.text;\n\t\t\t\tlet txt = \"\";\n\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\ttxt = this.get(\"legendValueText\", text.get(\"text\", \"\"));\n\n\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t\ttext.markDirtyText();\n\t\t\t}\n\n\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\tif (label) {\n\t\t\t\tconst text = label.text;\n\t\t\t\tlet txt = \"\";\n\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\ttxt = this.get(\"legendLabelText\", text.get(\"text\", \"\"));\n\n\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t\ttext.markDirtyText();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _onHide(){\n\t\tsuper._onHide();\n\n\t\tconst tooltip = this.getTooltip();\n\t\tif(tooltip){\n\t\t\ttooltip.hide();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic hoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic unhoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n}\n"]}
|
|
@@ -29,6 +29,7 @@ export declare class Annotator extends Entity {
|
|
|
29
29
|
private _container?;
|
|
30
30
|
private _picture?;
|
|
31
31
|
private _markerArea?;
|
|
32
|
+
private _skipRender?;
|
|
32
33
|
protected _afterNew(): void;
|
|
33
34
|
_beforeChanged(): void;
|
|
34
35
|
/**
|
|
@@ -36,6 +37,7 @@ export declare class Annotator extends Entity {
|
|
|
36
37
|
* disable all interactions on the chart itself.
|
|
37
38
|
*/
|
|
38
39
|
open(): Promise<void>;
|
|
40
|
+
_renderState(): Promise<void>;
|
|
39
41
|
/**
|
|
40
42
|
* Exists from annotation mode. All annotations remain visible on the chart.
|
|
41
43
|
*/
|
|
@@ -55,7 +57,7 @@ export declare class Annotator extends Entity {
|
|
|
55
57
|
/**
|
|
56
58
|
* @ignore
|
|
57
59
|
*/
|
|
58
|
-
private
|
|
60
|
+
private _getMarkerJS;
|
|
59
61
|
/**
|
|
60
62
|
* An instance of MarkerJS's [[MarkerArea]].
|
|
61
63
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Annotator.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/Annotator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAM/F,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAE1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;CACtD;AAID;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,MAAM;IACpC,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmD;IAE3E,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAM;
|
|
1
|
+
{"version":3,"file":"Annotator.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/Annotator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAM/F,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAE1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;CACtD;AAID;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,MAAM;IACpC,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmD;IAE3E,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAM;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAkB;IAKtC,SAAS,CAAC,SAAS;IAMZ,cAAc;IAQrB;;;OAGG;IACU,IAAI;IAeJ,YAAY;IAQzB;;OAEG;IACU,KAAK;IAMlB;;;OAGG;IACU,MAAM;IAOnB;;OAEG;IACI,KAAK;IAOC,MAAM;IAUZ,OAAO,IAAI,IAAI;YAOR,UAAU;IA6CxB;;OAEG;YACW,YAAY;IAI1B;;;;;OAKG;IACU,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;CAK1C"}
|
|
@@ -30,6 +30,12 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
30
30
|
writable: true,
|
|
31
31
|
value: void 0
|
|
32
32
|
});
|
|
33
|
+
Object.defineProperty(_this, "_skipRender", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: false
|
|
38
|
+
});
|
|
33
39
|
return _this;
|
|
34
40
|
}
|
|
35
41
|
//public extraImages: Array<Root | IAnnotatorImageSource> = [];
|
|
@@ -42,11 +48,6 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
42
48
|
_super.prototype._afterNew.call(this);
|
|
43
49
|
this._setRawDefault("layer", 1000);
|
|
44
50
|
this._root.addDisposer(this);
|
|
45
|
-
if (this.get("markerState")) {
|
|
46
|
-
// Preload image
|
|
47
|
-
this.open();
|
|
48
|
-
this.close();
|
|
49
|
-
}
|
|
50
51
|
}
|
|
51
52
|
});
|
|
52
53
|
Object.defineProperty(Annotator.prototype, "_beforeChanged", {
|
|
@@ -55,6 +56,9 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
55
56
|
writable: true,
|
|
56
57
|
value: function () {
|
|
57
58
|
_super.prototype._beforeChanged.call(this);
|
|
59
|
+
if (this.isDirty("markerState")) {
|
|
60
|
+
this._renderState();
|
|
61
|
+
}
|
|
58
62
|
}
|
|
59
63
|
});
|
|
60
64
|
/**
|
|
@@ -90,6 +94,28 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
90
94
|
});
|
|
91
95
|
}
|
|
92
96
|
});
|
|
97
|
+
Object.defineProperty(Annotator.prototype, "_renderState", {
|
|
98
|
+
enumerable: false,
|
|
99
|
+
configurable: true,
|
|
100
|
+
writable: true,
|
|
101
|
+
value: function () {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
103
|
+
var markerArea;
|
|
104
|
+
return __generator(this, function (_a) {
|
|
105
|
+
switch (_a.label) {
|
|
106
|
+
case 0: return [4 /*yield*/, this.getMarkerArea()];
|
|
107
|
+
case 1:
|
|
108
|
+
markerArea = _a.sent();
|
|
109
|
+
if (this.get("markerState")) {
|
|
110
|
+
this._skipRender = true;
|
|
111
|
+
markerArea.renderState(this.get("markerState"));
|
|
112
|
+
}
|
|
113
|
+
return [2 /*return*/];
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
});
|
|
93
119
|
/**
|
|
94
120
|
* Exists from annotation mode. All annotations remain visible on the chart.
|
|
95
121
|
*/
|
|
@@ -102,12 +128,9 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
102
128
|
var markerArea;
|
|
103
129
|
return __generator(this, function (_a) {
|
|
104
130
|
switch (_a.label) {
|
|
105
|
-
case 0:
|
|
106
|
-
this._root._renderer.interactionsEnabled = true;
|
|
107
|
-
return [4 /*yield*/, this.getMarkerArea()];
|
|
131
|
+
case 0: return [4 /*yield*/, this.getMarkerArea()];
|
|
108
132
|
case 1:
|
|
109
133
|
markerArea = _a.sent();
|
|
110
|
-
this._picture.show(0);
|
|
111
134
|
markerArea.close();
|
|
112
135
|
return [2 /*return*/];
|
|
113
136
|
}
|
|
@@ -215,7 +238,7 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
215
238
|
}));
|
|
216
239
|
}
|
|
217
240
|
if (!!this._markerArea) return [3 /*break*/, 2];
|
|
218
|
-
return [4 /*yield*/, this.
|
|
241
|
+
return [4 /*yield*/, this._getMarkerJS()];
|
|
219
242
|
case 1:
|
|
220
243
|
markerjs2 = _a.sent();
|
|
221
244
|
canvas = this._container._display.getCanvas();
|
|
@@ -224,11 +247,17 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
224
247
|
markerArea.uiStyleSettings.logoPosition = "right";
|
|
225
248
|
markerArea.uiStyleSettings.zIndex = 20;
|
|
226
249
|
markerArea.targetRoot = canvas.parentElement;
|
|
227
|
-
markerArea.
|
|
250
|
+
markerArea.addEventListener("close", function () {
|
|
251
|
+
_this._root._renderer.interactionsEnabled = true;
|
|
252
|
+
_this._picture.show(0);
|
|
253
|
+
});
|
|
254
|
+
markerArea.addEventListener("render", function (event) {
|
|
228
255
|
var picture = _this._picture;
|
|
229
|
-
picture.set("src",
|
|
230
|
-
|
|
231
|
-
|
|
256
|
+
picture.set("src", event.dataUrl);
|
|
257
|
+
if (!_this._skipRender) {
|
|
258
|
+
_this.set("markerState", event.state);
|
|
259
|
+
}
|
|
260
|
+
_this._skipRender = false;
|
|
232
261
|
});
|
|
233
262
|
this._markerArea = markerArea;
|
|
234
263
|
_a.label = 2;
|
|
@@ -241,7 +270,7 @@ var Annotator = /** @class */ (function (_super) {
|
|
|
241
270
|
/**
|
|
242
271
|
* @ignore
|
|
243
272
|
*/
|
|
244
|
-
Object.defineProperty(Annotator.prototype, "
|
|
273
|
+
Object.defineProperty(Annotator.prototype, "_getMarkerJS", {
|
|
245
274
|
enumerable: false,
|
|
246
275
|
configurable: true,
|
|
247
276
|
writable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Annotator.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/Annotator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAkD,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AA0B/C;;;;GAIG;AACH;IAA+B,6BAAM;IAArC;QAAA,
|
|
1
|
+
{"version":3,"file":"Annotator.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/Annotator.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\nimport { Container } from \"../../core/render/Container\";\nimport { Picture } from \"../../core/render/Picture\";\n\nimport { p100 } from \"../../core/util/Percent\";\n\nexport interface IAnnotatorSettings extends IEntitySettings {\n\n\t/**\n\t * Layer number to use for annotations.\n\t * \n\t * @default 1000\n\t */\n\tlayer?: number;\n\n\t/**\n\t * Raw annotation info saved by MarkerJS.\n\t */\n\tmarkerState?: any;\n\n}\n\nexport interface IAnnotatorPrivate extends IEntityPrivate {\n}\n\nexport interface IAnnotatorEvents extends IEntityEvents {\n}\n\n\n\n/**\n * A plugin that can be used to annotate charts.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/exporting/annotator/} for more info\n */\nexport class Annotator extends Entity {\n\tpublic static className: string = \"Annotator\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Annotator.className]);\n\n\tdeclare public _settings: IAnnotatorSettings;\n\tdeclare public _privateSettings: IAnnotatorPrivate;\n\tdeclare public _events: IAnnotatorEvents;\n\n\tprivate _container?: Container;\n\tprivate _picture?: Picture;\n\tprivate _markerArea?: any;\n\tprivate _skipRender?: boolean = false;\n\n\t//public extraImages: Array<Root | IAnnotatorImageSource> = [];\n\t//public dataSources: any[] = [];\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"layer\", 1000);\n\t\tthis._root.addDisposer(this);\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"markerState\")) {\n\t\t\tthis._renderState();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers annotation mode on the chart. This will display UI toolbars and\n\t * disable all interactions on the chart itself.\n\t */\n\tpublic async open() {\n\n\t\t// Delay this so that it's not knocked off by closing of the ExportingMenu\n\t\tthis.setTimeout(() => {\n\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t}, 100)\n\n\t\tconst markerArea = await this.getMarkerArea();\n\t\tmarkerArea.show();\n\t\tthis._picture!.hide(0);\n\t\tif (this.get(\"markerState\")) {\n\t\t\tmarkerArea.restoreState(this.get(\"markerState\"));\n\t\t}\n\t}\n\n\tpublic async _renderState() {\n\t\tconst markerArea = await this.getMarkerArea();\n\t\tif (this.get(\"markerState\")) {\n\t\t\tthis._skipRender = true;\n\t\t\tmarkerArea.renderState(this.get(\"markerState\"));\n\t\t}\n\t}\n\n\t/**\n\t * Exists from annotation mode. All annotations remain visible on the chart.\n\t */\n\tpublic async close() {\n\t\t//this._root._renderer.interactionsEnabled = true;\n\t\tconst markerArea = await this.getMarkerArea();\n\t\tmarkerArea!.close();\n\t}\n\n\t/**\n\t * Exits from annotation mode. Any changes made during last session of the\n\t * annotation editing are cancelled.\n\t */\n\tpublic async cancel() {\n\t\tthis._root._renderer.interactionsEnabled = true;\n\t\tconst markerArea = await this.getMarkerArea();\n\t\tthis._picture!.show(0);\n\t\tmarkerArea!.cancel();\n\t}\n\n\t/**\n\t * All annotations are removed.\n\t */\n\tpublic clear() {\n\t\tthis.set(\"markerState\", undefined);\n\t\tif (this._picture) {\n\t\t\tthis._picture.set(\"src\", \"\");\n\t\t}\n\t}\n\n\tpublic async toggle() {\n\t\tconst markerArea = await this.getMarkerArea();\n\t\tif (markerArea.isOpen) {\n\t\t\tthis.close();\n\t\t}\n\t\telse {\n\t\t\tthis.open();\n\t\t}\n\t}\n\n\tpublic dispose(): void {\n\t\tsuper.dispose();\n\t\tif (this._markerArea && this._markerArea.isOpen) {\n\t\t\tthis._markerArea.close();\n\t\t}\n\t}\n\n\tprivate async _maybeInit() {\n\n\t\t// Create layer canvas\n\t\tif (!this._container) {\n\t\t\tthis._container = this._root.container.children.push(Container.new(this._root, {\n\t\t\t\twidth: p100,\n\t\t\t\theight: p100,\n\t\t\t\tlayer: this.get(\"layer\"),\n\t\t\t\tinteractiveChildren: false\n\t\t\t}));\n\n\t\t\tthis._picture = this._container.children.push(Picture.new(this._root, {\n\t\t\t\twidth: p100,\n\t\t\t\theight: p100\n\t\t\t}));\n\t\t}\n\n\t\t// Create MarkerArea\n\t\tif (!this._markerArea) {\n\t\t\tconst markerjs2 = await this._getMarkerJS();\n\t\t\tconst canvas = this._container._display.getCanvas();\n\t\t\tconst markerArea = new markerjs2.MarkerArea(canvas);\n\t\t\t//markerArea.renderTarget = canvas;\n\t\t\tmarkerArea.uiStyleSettings.logoPosition = \"right\";\n\t\t\tmarkerArea.uiStyleSettings.zIndex = 20;\n\t\t\tmarkerArea.targetRoot = canvas.parentElement!;\n\n\t\t\tmarkerArea.addEventListener(\"close\", () => {\n\t\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t\t\tthis._picture!.show(0);\n\t\t\t})\n\n\t\t\tmarkerArea.addEventListener(\"render\", (event: any) => {\n\t\t\t\tconst picture = this._picture!;\n\t\t\t\tpicture.set(\"src\", event.dataUrl);\n\t\t\t\tif (!this._skipRender) {\n\t\t\t\t\tthis.set(\"markerState\", event.state);\n\t\t\t\t}\n\t\t\t\tthis._skipRender = false;\n\t\t\t});\n\n\t\t\tthis._markerArea = markerArea;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprivate async _getMarkerJS(): Promise<any> {\n\t\treturn await import(/* webpackChunkName: \"markerjs2\" */ \"markerjs2\");\n\t}\n\n\t/**\n\t * An instance of MarkerJS's [[MarkerArea]].\n\t *\n\t * @see {@link https://markerjs.com/docs/getting-started} for more info\n\t * @return MarkerArea\n\t */\n\tpublic async getMarkerArea(): Promise<any> {\n\t\tawait this._maybeInit();\n\t\treturn this._markerArea;\n\t}\n\n}"]}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,17 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
|
|
5
5
|
Please note, that this project, while following numbering syntax, it DOES NOT
|
|
6
6
|
adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) rules.
|
|
7
7
|
|
|
8
|
+
## [5.0.14] - 2021-12-01
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- When setting `markerState` on `Annotator` it will now automatically render annotations without the need to open annotation mode.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Updating data dynamically on series in all-`ValueAxis` setups.
|
|
15
|
+
- Rmoving axis range was not working properly.
|
|
16
|
+
- Closing annotation mode would not make chart regain its interactivity.
|
|
17
|
+
|
|
18
|
+
|
|
8
19
|
## [5.0.13] - 2021-11-25
|
|
9
20
|
|
|
10
21
|
### Added
|