@amcharts/amcharts5 5.8.5 → 5.8.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/flow/SankeyLink.d.ts.map +1 -1
- package/.internal/charts/flow/SankeyLink.js +8 -4
- package/.internal/charts/flow/SankeyLink.js.map +1 -1
- package/.internal/charts/venn/Venn.d.ts.map +1 -1
- package/.internal/charts/venn/Venn.js +15 -0
- package/.internal/charts/venn/Venn.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +1 -2
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
- package/.internal/charts/xy/XYCursor.js +7 -2
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +2 -1
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +10 -5
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +6 -0
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +6 -0
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/render/Container.d.ts +1 -0
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +11 -8
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Label.d.ts.map +1 -1
- package/.internal/core/render/Label.js +8 -0
- package/.internal/core/render/Label.js.map +1 -1
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +47 -41
- package/.internal/core/render/Series.js.map +1 -1
- package/CHANGELOG.md +22 -0
- package/LICENSE-3RD-PARTY.md +8 -3
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/text-styling/} for text styling info\n\t * \n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Text opacity.\n\t *\n\t * @default 1\n\t * @ince 5.2.39\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * Supported options `\"underline\"`, `\"line-through\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\" | \"line-through\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How mouch of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * LIMITATIONS: on circular labels, the only values supported are `\"hide\"` and\n\t * `\"truncate\"`. The latter will ignore `breakWords` setting.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t/**\n\t * Maximum number of characters to allow in label.\n\t *\n\t * If the `text` is longer than `maxChars`, the text will be truncated\n\t * using the `breakWords` and `ellipsis` settings.\n\t * \n\t * @since 5.7.2\n\t */\n\tmaxChars?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"fillOpacity\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\",\n\t\t\"maxChars\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t});\n\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\n\t\tthis.onPrivate(\"maxWidth\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\n\t\tthis.onPrivate(\"maxHeight\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"maxHeight\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\t// Do not show regular text if HTML is used\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\t\telse {\n\t\t\tthis._text.set(\"text\", this.get(\"text\"));\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\");\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.text.set(\"x\", x);\n\t\t}\n\t}\n\n\tprotected _maybeUpdateHTMLColor() {\n\t\tconst htmlElement = this.getPrivate(\"htmlElement\");\n\t\tif (htmlElement && this.get(\"fill\")) {\n\t\t\thtmlElement.style.color = this.get(\"fill\")!.toCSSHex();\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270 || rotation == -90;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\", Infinity));\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\", Infinity));\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\")\n\t\tif (this.text.get(\"populateText\")) {\n\t\t\tthis.text.markDirtyText();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/text-styling/} for text styling info\n\t * \n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Text opacity.\n\t *\n\t * @default 1\n\t * @ince 5.2.39\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * Supported options `\"underline\"`, `\"line-through\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\" | \"line-through\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How mouch of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * LIMITATIONS: on circular labels, the only values supported are `\"hide\"` and\n\t * `\"truncate\"`. The latter will ignore `breakWords` setting.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t/**\n\t * Maximum number of characters to allow in label.\n\t *\n\t * If the `text` is longer than `maxChars`, the text will be truncated\n\t * using the `breakWords` and `ellipsis` settings.\n\t * \n\t * @since 5.7.2\n\t */\n\tmaxChars?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"fillOpacity\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\",\n\t\t\"maxChars\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t});\n\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\n\t\tthis.onPrivate(\"maxWidth\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\n\t\tthis.onPrivate(\"maxHeight\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"maxHeight\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\t// Do not show regular text if HTML is used\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\t\telse {\n\t\t\tthis._text.set(\"text\", this.get(\"text\"));\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\");\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.text.set(\"x\", x);\n\t\t}\n\n\t\tconst background = this.get(\"background\");\n\t\tif (background) {\n\t\t\tbackground.setPrivate(\"visible\", this.text._display.textVisible);\n\t\t}\n\t}\n\n\tprotected _maybeUpdateHTMLColor() {\n\t\tconst htmlElement = this.getPrivate(\"htmlElement\");\n\t\tif (htmlElement && this.get(\"fill\")) {\n\t\t\thtmlElement.style.color = this.get(\"fill\")!.toCSSHex();\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270 || rotation == -90;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\", Infinity));\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\", Infinity));\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\")\n\t\tif (this.text.get(\"populateText\")) {\n\t\t\tthis.text.markDirtyText();\n\t\t}\n\t\tconst html = this.get(\"html\");\n\t\tif (html && html !== \"\") {\n\t\t\tthis._updateHTMLContent();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Series.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Series.ts"],"names":[],"mappings":"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"}
|
|
@@ -317,61 +317,67 @@ export class Series extends Component {
|
|
|
317
317
|
const adjustedStartIndex = this.getPrivate("adjustedStartIndex", startIndex);
|
|
318
318
|
for (let i = adjustedStartIndex; i < endIndex; i++) {
|
|
319
319
|
const dataItem = this.dataItems[i];
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
low[key]
|
|
328
|
-
|
|
329
|
-
if (high[key] < value || high[key] == null) {
|
|
330
|
-
high[key] = value;
|
|
331
|
-
}
|
|
332
|
-
close[key] = value;
|
|
333
|
-
if (open[key] == null) {
|
|
334
|
-
open[key] = value;
|
|
335
|
-
previous[key] = value;
|
|
336
|
-
if (baseValueSeries) {
|
|
337
|
-
open[openKey] = baseValueSeries._getBase(openKey);
|
|
320
|
+
if (dataItem) {
|
|
321
|
+
let value = dataItem.get(key);
|
|
322
|
+
if (value != null) {
|
|
323
|
+
count[key]++;
|
|
324
|
+
sum[key] += value;
|
|
325
|
+
absSum[key] += Math.abs(value);
|
|
326
|
+
average[key] = sum[key] / count[key];
|
|
327
|
+
if (low[key] > value || low[key] == null) {
|
|
328
|
+
low[key] = value;
|
|
338
329
|
}
|
|
330
|
+
if (high[key] < value || high[key] == null) {
|
|
331
|
+
high[key] = value;
|
|
332
|
+
}
|
|
333
|
+
close[key] = value;
|
|
334
|
+
if (open[key] == null) {
|
|
335
|
+
open[key] = value;
|
|
336
|
+
previous[key] = value;
|
|
337
|
+
if (baseValueSeries) {
|
|
338
|
+
open[openKey] = baseValueSeries._getBase(openKey);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
if (startIndex === 0) {
|
|
342
|
+
dataItem.setRaw((change), value - open[openKey]);
|
|
343
|
+
dataItem.setRaw((changePercent), (value - open[openKey]) / open[openKey] * 100);
|
|
344
|
+
}
|
|
345
|
+
dataItem.setRaw((changePrevious), value - previous[openKey]);
|
|
346
|
+
dataItem.setRaw((changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);
|
|
347
|
+
dataItem.setRaw((changeSelection), value - open[openKey]);
|
|
348
|
+
dataItem.setRaw((changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);
|
|
349
|
+
previous[key] = value;
|
|
339
350
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
if (endIndex < this.dataItems.length - 1) {
|
|
354
|
+
const dataItem = this.dataItems[endIndex];
|
|
355
|
+
if (dataItem) {
|
|
356
|
+
let value = dataItem.get(key);
|
|
344
357
|
dataItem.setRaw((changePrevious), value - previous[openKey]);
|
|
345
358
|
dataItem.setRaw((changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);
|
|
346
359
|
dataItem.setRaw((changeSelection), value - open[openKey]);
|
|
347
360
|
dataItem.setRaw((changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);
|
|
348
|
-
previous[key] = value;
|
|
349
361
|
}
|
|
350
362
|
}
|
|
351
|
-
if (endIndex < this.dataItems.length - 1) {
|
|
352
|
-
const dataItem = this.dataItems[endIndex];
|
|
353
|
-
let value = dataItem.get(key);
|
|
354
|
-
dataItem.setRaw((changePrevious), value - previous[openKey]);
|
|
355
|
-
dataItem.setRaw((changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);
|
|
356
|
-
dataItem.setRaw((changeSelection), value - open[openKey]);
|
|
357
|
-
dataItem.setRaw((changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);
|
|
358
|
-
}
|
|
359
363
|
if (startIndex > 0) {
|
|
360
364
|
startIndex--;
|
|
361
365
|
}
|
|
362
366
|
delete previous[key];
|
|
363
367
|
for (let i = startIndex; i < adjustedStartIndex; i++) {
|
|
364
368
|
const dataItem = this.dataItems[i];
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
previous[key]
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
369
|
+
if (dataItem) {
|
|
370
|
+
let value = dataItem.get(key);
|
|
371
|
+
if (previous[key] == null) {
|
|
372
|
+
previous[key] = value;
|
|
373
|
+
}
|
|
374
|
+
if (value != null) {
|
|
375
|
+
dataItem.setRaw((changePrevious), value - previous[openKey]);
|
|
376
|
+
dataItem.setRaw((changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);
|
|
377
|
+
dataItem.setRaw((changeSelection), value - open[openKey]);
|
|
378
|
+
dataItem.setRaw((changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);
|
|
379
|
+
previous[key] = value;
|
|
380
|
+
}
|
|
375
381
|
}
|
|
376
382
|
}
|
|
377
383
|
});
|
|
@@ -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 * The setting value to use for items which do not have value at all.\n\t */\n\tneutral?: 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, value?: any) => void;\n\n}\n\n\nexport interface ISeriesDataItem extends IComponentDataItem {\n\tid?: string;\n\tvalue?: number;\n\tvalueWorking?:number;\n\tvalueChange?: number;\n\tvalueChangePercent?: number;\n\tvalueChangeSelection?: number;\n\tvalueChangeSelectionPercent?: number;\n\tvalueChangePrevious?: number;\n\tvalueChangePreviousPercent?: number;\n\tvalueWorkingOpen?: number;\n\tvalueWorkingClose?: number;\n\n\tcustomValue?: number;\n\tcustomValueWorking?:number;\n\tcustomValueChange?: number;\n\tcustomValueChangePercent?: number;\n\tcustomValueChangeSelection?: number;\n\tcustomValueChangeSelectionPercent?: number;\n\tcustomValueChangePrevious?: number;\n\tcustomValueChangePreviousPercent?: 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 key to look up in data for a numeric customValue of the data item.\n\t *\n\t * Usually used for storing additional numeric information and heat rules.\n\t */\n\tcustomValueField?: string;\t\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>;\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\tadjustedStartIndex?: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\tcustomValueAverage?: number;\n\tcustomValueCount?: number;\n\tcustomValueSum?: number;\n\tcustomValueAbsoluteSum?: number;\n\tcustomValueLow?: number;\n\tcustomValueHigh?: number;\n\tcustomValueOpen?: number;\n\tcustomValueClose?: number;\t\n\n\tbaseValueSeries?: Series;\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;\n\n\tprotected _psi: number | undefined;\n\tprotected _pei: number | undefined;\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, {width:p100, height:p100, position:\"absolute\"});\n\n\tprotected _afterNew() {\n\t\tthis.valueFields.push(\"value\", \"customValue\");\n\n\t\tsuper._afterNew();\n\n\t\tthis.setPrivate(\"customData\", {});\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 if (change.type === \"moveIndex\") {\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():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(this.getPrivate(\"startIndex\", 0), len);\n\t}\n\n\tpublic endIndex():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(this.getPrivate(\"endIndex\", len), len)\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\tbullet._index = index;\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tprotected _makeBulletReal(dataItem: DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tlet sprite = bullet.get(\"sprite\");\n\n\t\tif (sprite) {\n\t\t\tsprite._setDataItem(dataItem);\n\t\t\tsprite.setRaw(\"position\", \"absolute\");\n\t\t\tthis.bulletsContainer.children.push(sprite);\n\t\t}\n\t\tbullet.series = this;\n\t\tdataItem.bullets!.push(bullet);\n\t}\n\n\t/**\n\t * Adds bullet directly to a data item.\n\t *\n\t * Please note: method accepts [[Bullet]] instance as a paramter, not a\n\t * reference to a function.\n\t *\n\t * You should add Bullet instance, not a method like you do it on series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/#Adding_directly_to_data_item} for more info\n\t * @since 5.6.0\n\t *\n\t * @param dataItem Target data item\n\t * @param bullet Bullet instance\n\t */\n\tpublic addBullet(dataItem:DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tif(!dataItem.bullets){\n\t\t\tdataItem.bullets = [];\n\t\t}\n\t\tif(bullet){\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t}\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();\n\t\tlet endIndex = this.endIndex();\n\n\t\tif(this.isDirty(\"name\")){\n\t\t\tthis.updateLegendValue();\n\t\t}\n\n\t\tif(this.isDirty(\"heatRules\")){\n\t\t\tthis._valuesDirty = true;\n\t\t}\n\n\t\tif(this.isPrivateDirty(\"baseValueSeries\")){\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tif(baseValueSeries){\n\t\t\t\tthis._disposers.push(baseValueSeries.onPrivate(\"startIndex\", ()=>{\n\t\t\t\t\tthis.markDirtyValues();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\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\tif(startIndex != 0){\n\t\t\t\t\t\tthis._psi = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex || this.isPrivateDirty(\"adjustedStartIndex\")) && !this._selectionAggregatesCalculated) {\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.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\t\t\t\t\tif(this.isVisible()){\n\t\t\t\t\t\tif (this.isDirty(\"stroke\")) {\n\t\t\t\t\t\t\tlet stroke = this.get(\"stroke\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", stroke);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.isDirty(\"fill\")) {\n\t\t\t\t\t\t\tlet fill = this.get(\"fill\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", fill);\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\tthis.updateLegendMarker(undefined);\n\t\t}\n\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\n\t\t\tif(endIndex < this.dataItems.length){\n\t\t\t\tendIndex++;\n\t\t\t}\n\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\t\t}\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _adjustStartIndex(index:number):number{\n\t\treturn index;\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\tlet openKey = \"valueY\";\n\n\t\t\tif(key == \"valueX\" || key == \"openValueX\" || key == \"lowValueX\" || key == \"highValueX\"){\n\t\t\t\topenKey = \"valueX\";\n\t\t\t}\n\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tconst adjustedStartIndex = this.getPrivate(\"adjustedStartIndex\", startIndex);\n\n\t\t\tfor (let i = adjustedStartIndex; 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\n\t\t\t\t\t\tif(baseValueSeries){\n\t\t\t\t\t\t\topen[openKey] = baseValueSeries._getBase(openKey);\n\t\t\t\t\t\t}\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[openKey]);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changePercent), (value - open[openKey]) / open[openKey] * 100);\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[openKey]);\n\t\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[openKey]);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);\n\n\t\t\t\t\tprevious[key] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(endIndex < this.dataItems.length - 1){\n\t\t\t\tconst dataItem = this.dataItems[endIndex];\n\t\t\t\tlet value = dataItem.get(<any>key)\n\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[openKey]);\n\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);\n\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[openKey]);\n\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);\n\t\t\t}\n\n\t\t\tif(startIndex > 0){\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tdelete previous[key];\n\n\t\t\tfor (let i = startIndex; i < adjustedStartIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\n\t\t\t\tlet value = dataItem.get(<any>key);\n\n\t\t\t\tif (previous[key] == null) {\n\t\t\t\t\tprevious[key] = value;\n\t\t\t\t}\t\t\t\t\n\t\n\t\t\t\tif (value != null) {\n\t\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[openKey]);\n\t\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[openKey]);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);\n\t\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\tif(this.isDirty(\"visible\")){\n\t\t\tthis.bulletsContainer.set(\"visible\", this.get(\"visible\"));\n\t\t}\n\n\n\t\t// Apply heat rules\n\t\tconst rules = this.get(\"heatRules\");\n\n\t\tif (this._valuesDirty && rules && rules.length > 0) {\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\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\tif(rule.neutral){\n\t\t\t\t\t\t\ttarget.set(rule.key, rule.neutral);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState && rule.neutral){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, rule.neutral);\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!rule.customFunction){\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\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, value);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet percent: number;\n\t\t\t\t\t\tif (rule.logarithmic) {\n\t\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\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpercent = (value - minValue) / (maxValue - minValue);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ($type.isNumber(value) && (!$type.isNumber(percent) || Math.abs(percent) == Infinity)) {\n\t\t\t\t\t\t\tpercent = 0.5;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// fixes problems if all values are the same\n\t\t\t\t\t\tlet propertyValue;\n\t\t\t\t\t\tif ($type.isNumber(rule.min)) {\n\t\t\t\t\t\t\tpropertyValue = rule.min + (rule.max - rule.min) * percent;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Color) {\n\t\t\t\t\t\t\tpropertyValue = Color.interpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Percent) {\n\t\t\t\t\t\t\tpropertyValue = percentInterpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.set(rule.key, propertyValue);\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, propertyValue);\n\t\t\t\t\t\t\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\n\t\tif(this.get(\"visible\")){\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 = 0; i < startIndex; i++) {\n\t\t\t\tthis._hideBullets(this.dataItems[i]);\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\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\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\n\t\t\t\tif(bullet.get(\"dynamic\")){\n\n\t\t\t\t\tif(sprite){\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)=>{\n\t\t\t\t\t\t\tchild._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\t\tchild.markDirtySize();\n\n\t\t\t\t\t\t\tif(child instanceof Label){\n\t\t\t\t\t\t\t\tchild.text.markDirtyText();\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\tif(sprite instanceof Label && sprite.get(\"populateText\" as any)){\n\t\t\t\t\tsprite.text.markDirtyText();\n\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\t//super.disposeDataItem(dataItem); // does nothing\n\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\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tpromises.push(sprite.show(duration));\n\t\t\t\t}\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\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\t\t\t\t\t\n\t\t\t\t\tpromises.push(sprite.hide(duration));\n\t\t\t\t}\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\tif(dataItem){\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\" as any) as DataItem<ILegendDataItem>;\n\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\t\tif (valueLabel) {\n\t\t\t\t\tconst text = valueLabel.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendValueText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\n\n\t\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\t\tif (label) {\n\t\t\t\t\tconst text = label.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendLabelText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\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\n\t/**\n\t * @ignore\n\t */\n\tpublic unhoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _getBase(key: any): number {\n\t\tconst dataItem = this.dataItems[this.startIndex()];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(key);\n\t\t}\n\t\treturn 0;\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 * The setting value to use for items which do not have value at all.\n\t */\n\tneutral?: 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, value?: any) => void;\n\n}\n\n\nexport interface ISeriesDataItem extends IComponentDataItem {\n\tid?: string;\n\tvalue?: number;\n\tvalueWorking?:number;\n\tvalueChange?: number;\n\tvalueChangePercent?: number;\n\tvalueChangeSelection?: number;\n\tvalueChangeSelectionPercent?: number;\n\tvalueChangePrevious?: number;\n\tvalueChangePreviousPercent?: number;\n\tvalueWorkingOpen?: number;\n\tvalueWorkingClose?: number;\n\n\tcustomValue?: number;\n\tcustomValueWorking?:number;\n\tcustomValueChange?: number;\n\tcustomValueChangePercent?: number;\n\tcustomValueChangeSelection?: number;\n\tcustomValueChangeSelectionPercent?: number;\n\tcustomValueChangePrevious?: number;\n\tcustomValueChangePreviousPercent?: 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 key to look up in data for a numeric customValue of the data item.\n\t *\n\t * Usually used for storing additional numeric information and heat rules.\n\t */\n\tcustomValueField?: string;\t\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>;\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\tadjustedStartIndex?: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\tcustomValueAverage?: number;\n\tcustomValueCount?: number;\n\tcustomValueSum?: number;\n\tcustomValueAbsoluteSum?: number;\n\tcustomValueLow?: number;\n\tcustomValueHigh?: number;\n\tcustomValueOpen?: number;\n\tcustomValueClose?: number;\t\n\n\tbaseValueSeries?: Series;\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;\n\n\tprotected _psi: number | undefined;\n\tprotected _pei: number | undefined;\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, {width:p100, height:p100, position:\"absolute\"});\n\n\tprotected _afterNew() {\n\t\tthis.valueFields.push(\"value\", \"customValue\");\n\n\t\tsuper._afterNew();\n\n\t\tthis.setPrivate(\"customData\", {});\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 if (change.type === \"moveIndex\") {\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():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(this.getPrivate(\"startIndex\", 0), len);\n\t}\n\n\tpublic endIndex():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(this.getPrivate(\"endIndex\", len), len)\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\tbullet._index = index;\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tprotected _makeBulletReal(dataItem: DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tlet sprite = bullet.get(\"sprite\");\n\n\t\tif (sprite) {\n\t\t\tsprite._setDataItem(dataItem);\n\t\t\tsprite.setRaw(\"position\", \"absolute\");\n\t\t\tthis.bulletsContainer.children.push(sprite);\n\t\t}\n\t\tbullet.series = this;\n\t\tdataItem.bullets!.push(bullet);\n\t}\n\n\t/**\n\t * Adds bullet directly to a data item.\n\t *\n\t * Please note: method accepts [[Bullet]] instance as a paramter, not a\n\t * reference to a function.\n\t *\n\t * You should add Bullet instance, not a method like you do it on series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/#Adding_directly_to_data_item} for more info\n\t * @since 5.6.0\n\t *\n\t * @param dataItem Target data item\n\t * @param bullet Bullet instance\n\t */\n\tpublic addBullet(dataItem:DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tif(!dataItem.bullets){\n\t\t\tdataItem.bullets = [];\n\t\t}\n\t\tif(bullet){\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t}\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();\n\t\tlet endIndex = this.endIndex();\n\n\t\tif(this.isDirty(\"name\")){\n\t\t\tthis.updateLegendValue();\n\t\t}\n\n\t\tif(this.isDirty(\"heatRules\")){\n\t\t\tthis._valuesDirty = true;\n\t\t}\n\n\t\tif(this.isPrivateDirty(\"baseValueSeries\")){\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tif(baseValueSeries){\n\t\t\t\tthis._disposers.push(baseValueSeries.onPrivate(\"startIndex\", ()=>{\n\t\t\t\t\tthis.markDirtyValues();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\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\tif(startIndex != 0){\n\t\t\t\t\t\tthis._psi = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex || this.isPrivateDirty(\"adjustedStartIndex\")) && !this._selectionAggregatesCalculated) {\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.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\t\t\t\t\tif(this.isVisible()){\n\t\t\t\t\t\tif (this.isDirty(\"stroke\")) {\n\t\t\t\t\t\t\tlet stroke = this.get(\"stroke\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", stroke);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.isDirty(\"fill\")) {\n\t\t\t\t\t\t\tlet fill = this.get(\"fill\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", fill);\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\tthis.updateLegendMarker(undefined);\n\t\t}\n\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\n\t\t\tif(endIndex < this.dataItems.length){\n\t\t\t\tendIndex++;\n\t\t\t}\n\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\t\t}\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _adjustStartIndex(index:number):number{\n\t\treturn index;\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\tlet openKey = \"valueY\";\n\n\t\t\tif(key == \"valueX\" || key == \"openValueX\" || key == \"lowValueX\" || key == \"highValueX\"){\n\t\t\t\topenKey = \"valueX\";\n\t\t\t}\n\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tconst adjustedStartIndex = this.getPrivate(\"adjustedStartIndex\", startIndex);\n\n\t\t\tfor (let i = adjustedStartIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key)\n\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tcount[key]++;\n\t\t\t\t\t\tsum[key] += value;\n\n\t\t\t\t\t\tabsSum[key] += Math.abs(value);\n\n\t\t\t\t\t\taverage[key] = sum[key] / count[key];\n\n\t\t\t\t\t\tif (low[key] > value || low[key] == null) {\n\t\t\t\t\t\t\tlow[key] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (high[key] < value || high[key] == null) {\n\t\t\t\t\t\t\thigh[key] = value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tclose[key] = value;\n\n\t\t\t\t\t\tif (open[key] == null) {\n\t\t\t\t\t\t\topen[key] = value;\n\t\t\t\t\t\t\tprevious[key] = value;\n\n\t\t\t\t\t\t\tif(baseValueSeries){\n\t\t\t\t\t\t\t\topen[openKey] = baseValueSeries._getBase(openKey);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (startIndex === 0) {\n\t\t\t\t\t\t\tdataItem.setRaw(<any>(change), value - open[openKey]);\n\t\t\t\t\t\t\tdataItem.setRaw(<any>(changePercent), (value - open[openKey]) / open[openKey] * 100);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[openKey]);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[openKey]);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);\n\n\t\t\t\t\t\tprevious[key] = value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(endIndex < this.dataItems.length - 1){\n\t\t\t\tconst dataItem = this.dataItems[endIndex];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key)\n\t\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[openKey]);\n\t\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[openKey]);\n\t\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(startIndex > 0){\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tdelete previous[key];\n\n\t\t\tfor (let i = startIndex; i < adjustedStartIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\tif(dataItem){\n\t\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\n\t\t\t\t\tif (previous[key] == null) {\n\t\t\t\t\t\tprevious[key] = value;\n\t\t\t\t\t}\t\t\t\t\n\t\t\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tdataItem.setRaw(<any>(changePrevious), value - previous[openKey]);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), (value - previous[openKey]) / previous[openKey] * 100);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changeSelection), value - open[openKey]);\n\t\t\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), (value - open[openKey]) / open[openKey] * 100);\n\t\t\n\t\t\t\t\t\tprevious[key] = value;\n\t\t\t\t\t}\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\tif(this.isDirty(\"visible\")){\n\t\t\tthis.bulletsContainer.set(\"visible\", this.get(\"visible\"));\n\t\t}\n\n\n\t\t// Apply heat rules\n\t\tconst rules = this.get(\"heatRules\");\n\n\t\tif (this._valuesDirty && rules && rules.length > 0) {\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\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\tif(rule.neutral){\n\t\t\t\t\t\t\ttarget.set(rule.key, rule.neutral);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState && rule.neutral){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, rule.neutral);\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!rule.customFunction){\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\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, value);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet percent: number;\n\t\t\t\t\t\tif (rule.logarithmic) {\n\t\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\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpercent = (value - minValue) / (maxValue - minValue);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ($type.isNumber(value) && (!$type.isNumber(percent) || Math.abs(percent) == Infinity)) {\n\t\t\t\t\t\t\tpercent = 0.5;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// fixes problems if all values are the same\n\t\t\t\t\t\tlet propertyValue;\n\t\t\t\t\t\tif ($type.isNumber(rule.min)) {\n\t\t\t\t\t\t\tpropertyValue = rule.min + (rule.max - rule.min) * percent;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Color) {\n\t\t\t\t\t\t\tpropertyValue = Color.interpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Percent) {\n\t\t\t\t\t\t\tpropertyValue = percentInterpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.set(rule.key, propertyValue);\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, propertyValue);\n\t\t\t\t\t\t\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\n\t\tif(this.get(\"visible\")){\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 = 0; i < startIndex; i++) {\n\t\t\t\tthis._hideBullets(this.dataItems[i]);\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\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\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\n\t\t\t\tif(bullet.get(\"dynamic\")){\n\n\t\t\t\t\tif(sprite){\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)=>{\n\t\t\t\t\t\t\tchild._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\t\tchild.markDirtySize();\n\n\t\t\t\t\t\t\tif(child instanceof Label){\n\t\t\t\t\t\t\t\tchild.text.markDirtyText();\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\tif(sprite instanceof Label && sprite.get(\"populateText\" as any)){\n\t\t\t\t\tsprite.text.markDirtyText();\n\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\t//super.disposeDataItem(dataItem); // does nothing\n\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\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tpromises.push(sprite.show(duration));\n\t\t\t\t}\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\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\t\t\t\t\t\n\t\t\t\t\tpromises.push(sprite.hide(duration));\n\t\t\t\t}\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\tif(dataItem){\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\" as any) as DataItem<ILegendDataItem>;\n\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\t\tif (valueLabel) {\n\t\t\t\t\tconst text = valueLabel.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendValueText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\n\n\t\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\t\tif (label) {\n\t\t\t\t\tconst text = label.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendLabelText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\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\n\t/**\n\t * @ignore\n\t */\n\tpublic unhoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _getBase(key: any): number {\n\t\tconst dataItem = this.dataItems[this.startIndex()];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(key);\n\t\t}\n\t\treturn 0;\n\t}\n}\n"]}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,28 @@ 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.8.7] - 2024-03-25
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- If a `Label` with background was hidden due to `oversizedBehavior` rule, the background was still visible.
|
|
12
|
+
- Moving `XYCursor` with keyboard were not always properly updating adapter-populated tooltips.
|
|
13
|
+
- HTML-based tooltips were not being updated properly in some cases.
|
|
14
|
+
- Labels of a zero-value slices on a `Venn` diagram will not be displayed anymore.
|
|
15
|
+
- `Sankey` links were ignoring `dx` and `dy` settings set on nodes.
|
|
16
|
+
- A JS error could occur when loading on-demand data in some specific cases.
|
|
17
|
+
- Series range affected by an axis range was not using settings from its `tempalteField`.
|
|
18
|
+
- When data grouping was enabled on `DateAxis`, calling `zoomToDates()` (and `zoomToValues()`) could result zooming to slightly different dates.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## [5.8.6] - 2024-03-20
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
- `pancancelled` event of an `XYChart` was not being fired in some cases.
|
|
25
|
+
- When old series were removed from an `XYChart` and a new added, related `ValueAxis` was not zooming out to new data if Animated theme was not used.
|
|
26
|
+
- `Series.on("tooltipDataItem")` was not working in some setups since `5.8.3`.
|
|
27
|
+
- If a `ValueAxis` width `extraMin` and/or `extraMax` set was being synced with another axis (via `syncWith`) chart could go into an SO in some setups/cases.
|
|
28
|
+
|
|
29
|
+
|
|
8
30
|
## [5.8.5] - 2024-03-15
|
|
9
31
|
|
|
10
32
|
### Added
|
package/LICENSE-3RD-PARTY.md
CHANGED
|
@@ -4,14 +4,19 @@
|
|
|
4
4
|
|
|
5
5
|
|Package|Copyright (c)|License|
|
|
6
6
|
|-------|-------------|-------|
|
|
7
|
-
|css-element-queries|Marc J. Schmidt|[License](https://github.com/marcj/css-element-queries/blob/master/LICENSE)|
|
|
8
7
|
|d3|Mike Bostock|[License](https://github.com/d3/d3/blob/master/LICENSE)|
|
|
9
|
-
|d3-force|Mike Bostock|[License](https://github.com/d3/d3-force/blob/master/LICENSE)|
|
|
10
8
|
|d3-chord|Mike Bostock|[License](https://github.com/d3/d3-fchord/blob/master/LICENSE)|
|
|
11
|
-
|d3-sankey|Mike Bostock|[License](https://github.com/d3/d3-sankey/blob/master/LICENSE)|
|
|
12
9
|
|d3-geo|Mike Bostock|[License](https://github.com/d3/d3-geo/blob/master/LICENSE)|
|
|
13
10
|
|d3-geo-projection|Mike Bostock|[License](https://github.com/d3/d3-geo-projection/blob/master/LICENSE)|
|
|
11
|
+
|d3-force|Mike Bostock|[License](https://github.com/d3/d3-force/blob/master/LICENSE)|
|
|
12
|
+
|d3-sankey|Mike Bostock|[License](https://github.com/d3/d3-sankey/blob/master/LICENSE)|
|
|
13
|
+
|d3-selection|Mike Bostock|[License](https://github.com/d3/d3-selection/blob/main/LICENSE)|
|
|
14
|
+
|d3-transition|Mike Bostock|[License](https://github.com/d3/d3-transition/blob/main/LICENSE)|
|
|
15
|
+
|d3-voronoi-treemap|LEBEAU Franck|[License](https://github.com/Kcnarf/d3-voronoi-treemap/blob/master/LICENSE)|
|
|
16
|
+
|flatpickr|Gregory Petrosyan|[License](https://github.com/flatpickr/flatpickr/blob/master/LICENSE.md)|
|
|
14
17
|
|polylabel|Mapbox|[License](https://github.com/mapbox/polylabel/blob/master/LICENSE)|
|
|
18
|
+
|seedrandom|David Bau|[License](https://github.com/davidbau/seedrandom?tab=readme-ov-file#license-mit)|
|
|
19
|
+
|svg-arc-to-cubic-bezier|Colin Meinke|[License](https://github.com/colinmeinke/svg-arc-to-cubic-bezier/blob/master/LICENSE.md)|
|
|
15
20
|
|tslib|Microsoft|[License](https://github.com/microsoft/tslib/blob/master/LICENSE.txt)|
|
|
16
21
|
|
|
17
22
|
|