@amcharts/amcharts5 5.0.16 → 5.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.internal/charts/map/MapUtils.js +2 -2
- package/.internal/charts/map/MapUtils.js.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.js +6 -1
- package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +4 -0
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +3 -0
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +3 -0
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/render/Component.d.ts.map +1 -1
- package/.internal/core/render/Component.js +5 -1
- package/.internal/core/render/Component.js.map +1 -1
- package/.internal/core/render/Scrollbar.d.ts.map +1 -1
- package/.internal/core/render/Scrollbar.js +8 -2
- package/.internal/core/render/Scrollbar.js.map +1 -1
- package/.internal/core/render/SerialChart.d.ts.map +1 -1
- package/.internal/core/render/SerialChart.js +4 -0
- package/.internal/core/render/SerialChart.js.map +1 -1
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +3 -0
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/util/Children.d.ts.map +1 -1
- package/.internal/core/util/Children.js +4 -0
- package/.internal/core/util/Children.js.map +1 -1
- package/.internal/core/util/List.d.ts +6 -0
- package/.internal/core/util/List.d.ts.map +1 -1
- package/.internal/core/util/List.js +26 -3
- package/.internal/core/util/List.js.map +1 -1
- package/CHANGELOG.md +10 -0
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XYSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/XYSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataItem } from \"../../../core/render/Component\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../../core/render/Series\";\nimport type { Axis, IAxisPrivate, IAxisDataItem } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\nimport { List } from \"../../../core/util/List\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $object from \"../../../core/util/Object\";\nimport type { IPoint } from \"../../../core/util/IPoint\";\nimport type { Sprite } from \"../../../core/render/Sprite\";\nimport type { Bullet } from \"../../../core/render/Bullet\";\nimport type { XYChart } from \"../XYChart\";\nimport { Container } from \"../../../core/render/Container\";\nimport { Graphics } from \"../../../core/render/Graphics\";\n\nimport type { CategoryAxis } from \"../axes/CategoryAxis\";\nimport type { DateAxis } from \"../axes/DateAxis\";\n\n/**\n * @ignore\n */\nfunction min(left: number | undefined, right: number | undefined): number | undefined {\n\tif (left == null) {\n\t\treturn right;\n\n\t} else if (right == null) {\n\t\treturn left;\n\n\t} else if (right < left) {\n\t\treturn right;\n\n\t} else {\n\t\treturn left;\n\t}\n}\n\n/**\n * @ignore\n */\nfunction max(left: number | undefined, right: number | undefined): number | undefined {\n\tif (left == null) {\n\t\treturn right;\n\n\t} else if (right == null) {\n\t\treturn left;\n\n\t} else if (right > left) {\n\t\treturn right;\n\n\t} else {\n\t\treturn left;\n\t}\n}\n\n/**\n * Interface representing a series axis range.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Series_axis_ranges} for more info\n */\nexport interface IXYSeriesAxisRange {\n\n\t/**\n\t * Related axis data item.\n\t */\n\taxisDataItem: DataItem<IAxisDataItem>;\n\n\t/**\n\t * A [[Container]] element that range's elements are placed in.\n\t */\n\tcontainer?: Container;\n\n\t/**\n\t * Target series.\n\t */\n\tseries?: XYSeries;\n\n}\n\nexport interface IXYAxisPrivate extends IAxisPrivate {\n\tmin?: number;\n\tmax?: number;\n}\n\nexport interface IXYAxis extends Axis<AxisRenderer> {\n\t_privateSettings: IXYAxisPrivate;\n}\n\n/**\n * XY chart series data item.\n */\nexport interface IXYSeriesDataItem extends ISeriesDataItem {\n\tvalueX?: number;\n\tvalueXWorking?: number;\n\tvalueXChange?: number;\n\tvalueXChangePercent?: number;\n\tvalueXChangeSelection?: number;\n\tvalueXChangeSelectionPercent?: number;\n\tvalueXChangePrevious?: number;\n\tvalueXChangePreviousPercent?: number;\n\tvalueXWorkingOpen?: number;\n\tvalueXWorkingClose?: number;\n\n\tvalueY?: number;\n\tvalueYChange?: number;\n\tvalueYWorking?: number;\n\tvalueYChangePercent?: number;\n\tvalueYChangeSelection?: number;\n\tvalueYChangeSelectionPercent?: number;\n\tvalueYChangePrevious?: number;\n\tvalueYChangePreviousPercent?: number;\n\tvalueYWorkingOpen?: number;\n\tvalueYWorkingClose?: number;\n\n\topenValueX?: number;\n\topenValueXWorking?: number;\n\topenValueXChange?: number;\n\topenValueXChangePercent?: number;\n\topenValueXChangeSelection?: number;\n\topenValueXChangeSelectionPercent?: number;\n\topenValueXChangePrevious?: number;\n\topenValueXChangePreviousPercent?: number;\n\topenValueXWorkingOpen?: number;\n\topenValueXWorkingClose?: number;\n\topenValueY?: number;\n\topenValueYWorking?: number;\n\topenValueYChange?: number;\n\topenValueYChangePercent?: number;\n\topenValueYChangeSelection?: number;\n\topenValueYChangeSelectionPercent?: number;\n\topenValueYChangePrevious?: number;\n\topenValueYChangePreviousPercent?: number;\n\topenValueYWorkingOpen?: number;\n\topenValueYWorkingClose?: number;\n\n\tcategoryX?: string;\n\tcategoryY?: string;\n\n\topenCategoryX?: string;\n\topenCategoryY?: string;\n\n\tlocationX?: number;\n\tlocationY?: number;\n\n\topenLocationX?: number;\n\topenLocationY?: number;\n\n\tstackToItemX?: DataItem<IXYSeriesDataItem>;\n\tstackToItemY?: DataItem<IXYSeriesDataItem>;\n\n\tleft?: number;\n\tright?: number;\n\ttop?: number;\n\tbottom?: number;\n\n\tpoint?: IPoint;\n}\n\nexport interface IXYSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * Minimal distance between data items in pixels.\n\t *\n\t * If data items are closer than this, bullets are turned off to avoid\n\t * overcrowding.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Bullets} for more info\n\t */\n\tminBulletDistance?: number;\n\n\t/**\n\t * X axis series uses.\n\t */\n\txAxis: IXYAxis;\n\n\t/**\n\t * Y axis series uses.\n\t */\n\tyAxis: IXYAxis;\n\n\t/**\n\t * If set to `true` series will be stacked to other series that also have\n\t * this setting set to `true`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Stacked_series} for more info\n\t */\n\tstacked?: boolean;\n\n\t/**\n\t * Whether to stack negative values from zero (`true`) or from whatever\n\t * previous series value is (`false`).\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Negative_value_stacking} for more info\n\t */\n\tstackToNegative?: boolean;\n\n\t/**\n\t * Base axis for the series.\n\t *\n\t * A base axis will dictate direction series plot.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Base_axis} for more info\n\t */\n\tbaseAxis?: IXYAxis;\n\n\t/**\n\t * Input data field for X value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueXField?: string;\n\n\t/**\n\t * Input data field for Y value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueYField?: string;\n\n\t/**\n\t * Exclude series values when calculating totals for category/interval.\n\t *\n\t * @default false\n\t */\n\texcludeFromTotal?: boolean;\n\n\t/**\n\t * Display data field for X value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueXShow?: \"valueXWorking\" | \"valueXChange\" | \"valueXChangePercent\" | \"valueXChangeSelection\" | \"valueXChangeSelectionPercent\" | \"valueXChangePrevious\" | \"valueXChangePreviousPercent\" | \"valueXTotal\" | \"valueXTotalPercent\" | \"valueXSum\";\n\n\t/**\n\t * Display data field for Y value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueYShow?: \"valueYWorking\" | \"valueYChange\" | \"valueYChangePercent\" | \"valueYChangeSelection\" | \"valueYChangeSelectionPercent\" | \"valueYChangePrevious\" | \"valueYChangePreviousPercent\" | \"valueYTotal\" | \"valueYTotalPercent\" | \"valueYSum\";\n\n\t/**\n\t * Indicates what aggregate value to use for collective data item, when\n\t * aggregating X values from several data items.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\tvalueXGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Indicates what aggregate value to use for collective data item, when\n\t * aggregating X values from several data items.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\tvalueYGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Input data field for X open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueXField?: string;\n\n\t/**\n\t * Input data field for X open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueYField?: string;\n\n\t/**\n\t * Display data field for X open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueXShow?: \"openValueXWorking\" | \"openValueXChange\" | \"openValueXChangePercent\" | \"openValueXChangeSelection\" | \"openValueXChangeSelectionPercent\" | \"openValueXChangePrevious\" | \"openValueXChangePreviousPercent\";\n\n\t/**\n\t * Display data field for Y open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueYShow?: \"openValueYWorking\" | \"openValueYChange\" | \"openValueYChangePercent\" | \"openValueYChangeSelection\" | \"openValueYChangeSelectionPercent\" | \"openValueYChangePrevious\" | \"openValueYChangePreviousPercent\";\n\n\t/**\n\t * Display data field for Y open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\topenValueXGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Display data field for Y open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\topenValueYGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Input data field for X category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tcategoryXField?: string;\n\n\t/**\n\t * Input data field for Y category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tcategoryYField?: string;\n\n\t/**\n\t * Display data field for X category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenCategoryXField?: string;\n\n\t/**\n\t * Display data field for Y category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenCategoryYField?: string;\n\n\t/**\n\t * If set to `true` this series will be ignored when calculating scale of the\n\t * related axes.\n\t *\n\t * @default false\n\t */\n\tignoreMinMax?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tvcx?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvcy?: number;\n\n\t/**\n\t * Horizontal location of the data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Data_item_location} for more info\n\t * @default 0.5\n\t */\n\tlocationX?: number;\n\n\t/**\n\t * Vertical location of the data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Data_item_location} for more info\n\t * @default 0.5\n\t */\n\tlocationY?: number;\n\n\t/**\n\t * Horizontal location of the open data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @default 0.5\n\t */\n\topenLocationX?: number;\n\n\t/**\n\t * Vertical location of the open data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @default 0.5\n\t */\n\topenLocationY?: number;\n\n\t/**\n\t * If set to `true` [[XYCursor]] will show closest data item from series\n\t * even if it is outside currently hovered date axis interval.\n\t *\n\t * This setting is relevant only if `baseAxis` is a date axis.\n\t */\n\tsnapTooltip?: boolean;\n\n\t/**\n\t * Text to use for series legend label when no particular category/interval\n\t * is selected.\n\t */\n\tlegendRangeLabelText?: string;\n\n\t/**\n\t * Text to use for series legend value label when no particular\n\t * category/interval is selected.\n\t */\n\tlegendRangeValueText?: string;\n\n\n\t/**\n\t * If set to `true`, series bullets will be masked by plot area.\n\t */\n\tmaskBullets?: boolean;\n\n\t/**\n\t * Whether series' tooltip should inherit its color from series or its first\n\t * bullet.\n\t * \n\t * @default \"series\"\n\t */\n\tseriesTooltipTarget?: \"series\" | \"bullet\";\n\n\t/**\n\t * Indicates horizontal position at which to show series' tooltip at.\n\t *\n\t * @default \"value\"\n\t * @since 5.0.16\n\t */\n\ttooltipPositionX?: \"open\" | \"value\" | \"low\" | \"high\";\n\n\t/**\n\t * Indicates vertical position at which to show series' tooltip at.\n\t * \n\t * @default \"value\"\n\t * @since 5.0.16\n\t */\n\ttooltipPositionY?: \"open\" | \"value\" | \"low\" | \"high\";\n\n}\n\nexport interface IXYSeriesPrivate extends ISeriesPrivate {\n\n\tminX?: number;\n\tmaxX?: number;\n\n\tminY?: number;\n\tmaxY?: number;\n\n\tselectionMinX?: number;\n\tselectionMaxX?: number;\n\n\tselectionMinY?: number;\n\tselectionMaxY?: number;\n\n\tvalueXAverage?: number;\n\tvalueXCount?: number;\n\tvalueXSum?: number;\n\tvalueXAbsoluteSum?: number;\n\tvalueXLow?: number;\n\tvalueXHigh?: number;\n\tvalueXOpen?: number;\n\tvalueXClose?: number;\n\n\tvalueYAverage?: number;\n\tvalueYCount?: number;\n\tvalueYSum?: number;\n\tvalueYAbsoluteSum?: number;\n\tvalueYLow?: number;\n\tvalueYHigh?: number;\n\tvalueYOpen?: number;\n\tvalueYClose?: number;\n\n\tvalueXAverageSelection?: number;\n\tvalueXCountSelection?: number;\n\tvalueXSumSelection?: number;\n\tvalueXAbsoluteSumSelection?: number;\n\tvalueXLowSelection?: number;\n\tvalueXHighSelection?: number;\n\tvalueXOpenSelection?: number;\n\tvalueXCloseSelection?: number;\n\n\tvalueYAverageSelection?: number;\n\tvalueYCountSelection?: number;\n\tvalueYSumSelection?: number;\n\tvalueYAbsoluteSumSelection?: number;\n\tvalueYLowSelection?: number;\n\tvalueYHighSelection?: number;\n\tvalueYOpenSelection?: number;\n\tvalueYCloseSelection?: number;\n\n\topenValueXAverage?: number;\n\topenValueXCount?: number;\n\topenValueXSum?: number;\n\topenValueXAbsoluteSum?: number;\n\topenValueXLow?: number;\n\topenValueXHigh?: number;\n\topenValueXOpen?: number;\n\topenValueXClose?: number;\n\n\topenValueYAverage?: number;\n\topenValueYCount?: number;\n\topenValueYSum?: number;\n\topenValueYAbsoluteSum?: number;\n\topenValueYLow?: number;\n\topenValueYHigh?: number;\n\topenValueYOpen?: number;\n\topenValueYClose?: number;\n\n\topenValueXAverageSelection?: number;\n\topenValueXCountSelection?: number;\n\topenValueXSumSelection?: number;\n\topenValueXAbsoluteSumSelection?: number;\n\topenValueXLowSelection?: number;\n\topenValueXHighSelection?: number;\n\topenValueXOpenSelection?: number;\n\topenValueXCloseSelection?: number;\n\n\topenValueYAverageSelection?: number;\n\topenValueYCountSelection?: number;\n\topenValueYSumSelection?: number;\n\topenValueYAbsoluteSumSelection?: number;\n\topenValueYLowSelection?: number;\n\topenValueYHighSelection?: number;\n\topenValueYOpenSelection?: number;\n\topenValueYCloseSelection?: number;\n}\n\n\n/**\n * A base class for all XY chart series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/} for more info\n */\nexport abstract class XYSeries extends Series {\n\tpublic static className: string = \"XYSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([XYSeries.className]);\n\n\tdeclare public _settings: IXYSeriesSettings;\n\tdeclare public _privateSettings: IXYSeriesPrivate;\n\tdeclare public _dataItemSettings: IXYSeriesDataItem;\n\tdeclare public _axisRangeType: IXYSeriesAxisRange;\n\n\tprotected _xField!: string;\n\tprotected _yField!: string;\n\tprotected _xOpenField!: string;\n\tprotected _yOpenField!: string;\n\n\tprotected _xLowField!: string;\n\tprotected _xHighField!: string;\n\tprotected _yLowField!: string;\n\tprotected _yHighField!: string;\n\n\tprotected _axesDirty: boolean = false;\n\tprotected _stackDirty: boolean = false;\n\n\tprotected _selectionProcessed = false;\n\n\tdeclare public chart: XYChart | undefined;\n\n\tpublic _dataSets: { [index: string]: Array<DataItem<IXYSeriesDataItem>> } = {};\n\n\tpublic _mainContainerMask: Graphics | undefined;\n\n\tprotected _x: number = 0;\n\tprotected _y: number = 0;\n\n\t/**\n\t * A [[Container]] that us used to put series' elements in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly mainContainer: Container = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A list of axis ranges that affect the series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t */\n\tpublic readonly axisRanges: List<this[\"_axisRangeType\"]> = new List();\n\n\tprotected _skipped: boolean = false;\n\n\tprotected _couldStackTo: Array<XYSeries> = [];\n\n\tprotected _reallyStackedTo: { [index: number]: XYSeries } = {};\n\n\tpublic _stackedSeries: { [index: number]: XYSeries } = {};\n\n\tprotected _aLocationX0: number = 0;\n\tprotected _aLocationX1: number = 1;\n\tprotected _aLocationY0: number = 0;\n\tprotected _aLocationY1: number = 1;\n\n\tprotected _showBullets: boolean = true;\n\n\tprotected valueXFields = [\n\t\t\"valueX\",\n\t\t\"openValueX\"\n\t];\n\n\tprotected valueYFields = [\n\t\t\"valueY\",\n\t\t\"openValueY\"\n\t];\n\n\tpublic _valueXFields!: Array<string>;\n\tpublic _valueYFields!: Array<string>;\n\n\t// used for full min/max\n\tprotected _valueXShowFields!: Array<string>;\n\tprotected _valueYShowFields!: Array<string>;\n\n\t// used for selection (uses working)\n\tprotected __valueXShowFields!: Array<string>;\n\tprotected __valueYShowFields!: Array<string>;\n\n\tprotected _emptyDataItem = new DataItem(this, undefined, {});\n\n\tpublic _dataSetId?: string;\n\n\tprotected _tooltipFieldX?: string;\n\tprotected _tooltipFieldY?: string;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"categoryX\", \"categoryY\", \"openCategoryX\", \"openCategoryY\");\n\t\tthis.valueFields.push(\"valueX\", \"valueY\", \"openValueX\", \"openValueY\");\n\n\t\tthis._setRawDefault(\"vcx\", 1);\n\t\tthis._setRawDefault(\"vcy\", 1);\n\t\t// this can't go to themes, as data might be parsed before theme\n\t\tthis._setRawDefault(\"valueXShow\", \"valueXWorking\");\n\t\tthis._setRawDefault(\"valueYShow\", \"valueYWorking\");\n\n\t\tthis._setRawDefault(\"openValueXShow\", \"openValueXWorking\");\n\t\tthis._setRawDefault(\"openValueYShow\", \"openValueYWorking\");\n\n\t\tsuper._afterNew();\n\n\t\tthis._settings.xAxis.series.push(this);\n\t\tthis._settings.yAxis.series.push(this);\n\n\t\tthis.set(\"maskContent\", true);\n\n\t\tthis._disposers.push(this.axisRanges.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tthis._removeAxisRange(axisRange);\n\t\t\t\t});\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processAxisRange(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeAxisRange(change.oldValue);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IStreamEvent type\");\n\t\t\t}\n\t\t}))\n\n\t\tif (!this.get(\"baseAxis\")) {\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\tif (yAxis.isType<CategoryAxis<any>>(\"CategoryAxis\") || yAxis.isType<DateAxis<any>>(\"DateAxis\")) {\n\t\t\t\tthis.set(\"baseAxis\", yAxis);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"baseAxis\", xAxis);\n\t\t\t}\n\t\t}\n\n\t\tthis.states.create(\"hidden\", <any>{ opacity: 1, visible: false });\n\n\t\tthis._makeFieldNames();\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tconst container = Container.new(this._root, {});\n\t\taxisRange.container = container;\n\t\tthis.children.push(container);\n\n\t\taxisRange.series = this;\n\n\t\tconst axisDataItem = axisRange.axisDataItem;\n\t\taxisDataItem.setRaw(\"isRange\", true);\n\n\t\tconst axis = <Axis<AxisRenderer>>axisDataItem.component;\n\t\tif (axis) {\n\t\t\taxis._processAxisRange(axisDataItem, [\"range\", \"series\"]);\n\n\t\t\tconst bullet = axisDataItem.get(\"bullet\");\n\t\t\tif (bullet) {\n\t\t\t\tconst 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\tconst axisFill = axisDataItem.get(\"axisFill\");\n\t\t\tif (axisFill) {\n\t\t\t\tcontainer.set(\"mask\", axisFill);\n\t\t\t}\n\t\t\taxis._seriesAxisRanges.push(axisDataItem);\n\t\t}\n\t}\n\n\tprotected _removeAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tconst axisDataItem = axisRange.axisDataItem;\n\t\tconst axis = <Axis<AxisRenderer>>axisDataItem.component;\n\t\taxis.disposeDataItem(axisDataItem);\n\n\t\t$array.remove(axis._seriesAxisRanges, axisDataItem);\n\n\t\tconst container = axisRange.container;\n\t\tif (container) {\n\t\t\tcontainer.dispose();\n\t\t}\n\t}\n\n\tprotected _updateFields() {\n\t\tsuper._updateFields();\n\n\t\tthis._valueXFields = [];\n\t\tthis._valueYFields = [];\n\t\tthis._valueXShowFields = [];\n\t\tthis._valueYShowFields = [];\n\n\t\tthis.__valueXShowFields = [];\n\t\tthis.__valueYShowFields = [];\n\n\t\tif (this.valueXFields) {\n\t\t\t$array.each(this.valueXFields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._valueXFields.push(<any>key);\n\t\t\t\t\tlet field = this.get(<any>(key + \"Show\"));\n\t\t\t\t\tthis.__valueXShowFields.push(field);\n\n\t\t\t\t\tif (field.indexOf(\"Working\") != -1) {\n\t\t\t\t\t\tthis._valueXShowFields.push(field.split(\"Working\")[0]);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._valueYShowFields.push(field);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.valueYFields) {\n\t\t\t$array.each(this.valueYFields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._valueYFields.push(<any>key);\n\t\t\t\t\tlet field = this.get(<any>(key + \"Show\"));\n\t\t\t\t\tthis.__valueYShowFields.push(field);\n\n\t\t\t\t\tif (field.indexOf(\"Working\") != -1) {\n\t\t\t\t\t\tthis._valueYShowFields.push(field.split(\"Working\")[0]);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._valueYShowFields.push(field);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\t$array.removeFirst(this.get(\"xAxis\").series, this);\n\t\t$array.removeFirst(this.get(\"yAxis\").series, this);\n\t}\n\n\t// TODO use SelectKeys<this[\"_privateSettings\"], number | undefined>\n\tprotected _min<Key extends keyof this[\"_privateSettings\"]>(key: Key, value: number | undefined) {\n\t\tlet newValue = min(this.getPrivate(key) as any, value);\n\t\tthis.setPrivate(key, newValue as any);\n\t}\n\n\t// TODO use SelectKeys<this[\"_privateSettings\"], number | undefined>\n\tprotected _max<Key extends keyof this[\"_privateSettings\"]>(key: Key, value: number | undefined) {\n\t\tlet newValue = max(this.getPrivate(key) as any, value);\n\t\tthis.setPrivate(key, newValue as any);\n\t}\n\n\tprotected _shouldMakeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tif (!this.get(\"xAxis\").inited || !this.get(\"yAxis\").inited) {\n\t\t\treturn false\n\t\t}\n\t\tif (dataItem.get(this._xField as any) != null && dataItem.get(this._yField as any) != null) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _makeFieldNames() {\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst xName = xAxis.getPrivate(\"name\")!;\n\t\tconst xCapName = $utils.capitalizeFirst(xName);\n\n\t\tconst yName = yAxis.getPrivate(\"name\")!;\n\t\tconst yCapName = $utils.capitalizeFirst(yName);\n\n\t\tconst xLetter = xAxis.get(\"renderer\").getPrivate(\"letter\")!\n\t\tconst yLetter = yAxis.get(\"renderer\").getPrivate(\"letter\")!\n\n\t\tconst open = \"open\";\n\t\tconst low = \"low\";\n\t\tconst high = \"high\";\n\t\tconst show = \"Show\";\n\n\t\tif (xAxis.className === \"ValueAxis\") {\n\t\t\tthis._xField = this.get(<any>(xName + xLetter! + show));\n\t\t\tthis._xOpenField = this.get(<any>(open + xCapName + xLetter! + show));\n\t\t\tthis._xLowField = this.get(<any>(low + xCapName + xLetter! + show));\n\t\t\tthis._xHighField = this.get(<any>(high + xCapName + xLetter! + show));\n\t\t}\n\t\telse {\n\t\t\tthis._xField = <any>(xName + xLetter!);\n\t\t\tthis._xOpenField = <any>(open + xCapName + xLetter!);\n\t\t\tthis._xLowField = <any>(low + xCapName + xLetter!);\n\t\t\tthis._xHighField = <any>(high + xCapName + xLetter!);\n\t\t}\n\n\t\tif (yAxis.className === \"ValueAxis\") {\n\t\t\tthis._yField = this.get(<any>(yName + yLetter! + show));\n\t\t\tthis._yOpenField = this.get(<any>(open + yCapName + yLetter! + show));\n\t\t\tthis._yLowField = this.get(<any>(low + yCapName + yLetter! + show));\n\t\t\tthis._yHighField = this.get(<any>(high + yCapName + yLetter! + show));\n\t\t}\n\t\telse {\n\t\t\tthis._yField = <any>(yName + yLetter!);\n\t\t\tthis._yOpenField = <any>(open + yCapName + yLetter!);\n\t\t\tthis._yLowField = <any>(low + yCapName + yLetter!);\n\t\t\tthis._yHighField = <any>(high + yCapName + yLetter!);\n\t\t}\n\t}\n\n\tprotected _fixVC() {\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\t\tconst hiddenState = this.states.lookup(\"hidden\");\n\t\tconst sequencedInterpolation = this.get(\"sequencedInterpolation\");\n\n\t\tif (hiddenState) {\n\t\t\tlet value = 0;\n\t\t\tif (sequencedInterpolation) {\n\t\t\t\tvalue = 0.999999999999; // makes animate, good for stacked\n\t\t\t}\n\n\t\t\tif (xAxis === baseAxis) {\n\t\t\t\thiddenState.set(\"vcy\", value);\n\t\t\t}\n\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\thiddenState.set(\"vcx\", value);\n\t\t\t}\n\t\t\telse {\n\t\t\t\thiddenState.set(\"vcy\", value);\n\t\t\t\thiddenState.set(\"vcx\", value);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _handleMaskBullets() {\n\t\tif (this.isDirty(\"maskBullets\")) {\n\t\t\tthis.bulletsContainer.set(\"maskContent\", this.get(\"maskBullets\"));\n\t\t}\n\t}\n\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis.set(\"width\", this.get(\"xAxis\").width());\n\t\tthis.set(\"height\", this.get(\"yAxis\").height());\n\n\t\tthis._handleMaskBullets();\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\n\t\tconst tooltipPositionX = this.get(\"tooltipPositionX\");\n\t\tlet tooltipFieldX: string;\n\n\t\tswitch (tooltipPositionX) {\n\t\t\tcase \"open\":\n\t\t\t\ttooltipFieldX = this._xOpenField;\n\t\t\t\tbreak;\n\t\t\tcase \"low\":\n\t\t\t\ttooltipFieldX = this._xLowField;\n\t\t\t\tbreak;\n\t\t\tcase \"high\":\n\t\t\t\ttooltipFieldX = this._xHighField;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ttooltipFieldX = this._xField;\n\t\t}\n\t\tthis._tooltipFieldX = tooltipFieldX;\n\n\t\tconst tooltipPositionY = this.get(\"tooltipPositionY\");\n\t\tlet tooltipFieldY: string;\n\t\tswitch (tooltipPositionY) {\n\t\t\tcase \"open\":\n\t\t\t\ttooltipFieldY = this._yOpenField;\n\t\t\t\tbreak;\n\t\t\tcase \"low\":\n\t\t\t\ttooltipFieldY = this._yLowField;\n\t\t\t\tbreak;\n\t\t\tcase \"high\":\n\t\t\t\ttooltipFieldY = this._yHighField;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ttooltipFieldY = this._yField;\n\t\t}\n\t\tthis._tooltipFieldY = tooltipFieldY;\n\n\t\tif (this.isDirty(\"baseAxis\")) {\n\t\t\tthis._fixVC();\n\t\t}\n\n\t\tif (xAxis === baseAxis) {\n\t\t\tthis.set(\"y\", yAxis.y() - $utils.relativeToValue(yAxis.get(\"centerY\", 0), yAxis.height()) - yAxis.parent!.get(\"paddingTop\", 0));\n\t\t\tthis.bulletsContainer.set(\"y\", this.y());\n\t\t}\n\t\telse if (yAxis === baseAxis) {\n\t\t\tthis.set(\"x\", xAxis.x() - $utils.relativeToValue(xAxis.get(\"centerX\", 0), xAxis.width()) - xAxis.parent!.get(\"paddingLeft\", 0));\n\t\t\tthis.bulletsContainer.set(\"x\", this.x());\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tif (this.isDirty(\"stacked\")) {\n\t\t\tif (stacked) {\n\t\t\t\tif (this._valuesDirty && !this._dataProcessed) {\n\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._stack();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._unstack();\n\t\t\t}\n\t\t}\n\n\t\tif (this._valuesDirty && !this._dataProcessed) {\n\t\t\tthis._dataProcessed = true;\n\n\t\t\tif (stacked) {\n\t\t\t\tthis._stack();\n\t\t\t}\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\t$array.each(this._valueXShowFields, (key) => {\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\t\tvalue += this.getStackedXValue(dataItem, key);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._min(\"minX\", value);\n\t\t\t\t\t\tthis._max(\"maxX\", value);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t$array.each(this._valueYShowFields, (key) => {\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif (value != null) {\n\n\t\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\t\tvalue += this.getStackedYValue(dataItem, key);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._min(\"minY\", value);\n\t\t\t\t\t\tthis._max(\"maxY\", value);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\txAxis.processSeriesDataItem(dataItem, this._valueXFields);\n\t\t\t\tyAxis.processSeriesDataItem(dataItem, this._valueYFields);\n\t\t\t})\n\n\t\t\tif (!this.get(\"ignoreMinMax\")) {\n\t\t\t\tif (this.isPrivateDirty(\"minX\") || this.isPrivateDirty(\"maxX\")) {\n\t\t\t\t\txAxis.markDirtyExtremes();\n\t\t\t\t}\n\t\t\t\tif (this.isPrivateDirty(\"minY\") || this.isPrivateDirty(\"maxY\")) {\n\t\t\t\t\tyAxis.markDirtyExtremes();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._markStakedDirtyStack();\n\n\t\t\t//this.updateLegendMarker(undefined); // causes legend marker to change color instantly when on\n\t\t\tthis.updateLegendValue(undefined);\n\t\t}\n\n\t\tif (this.isDirty(\"vcx\") || this.isDirty(\"vcy\")) {\n\t\t\tthis._markStakedDirtyStack();\n\t\t}\n\n\t\tif (!this._dataGrouped) {\n\t\t\txAxis._groupSeriesData(this);\n\t\t\tyAxis._groupSeriesData(this);\n\t\t\tthis._dataGrouped = true;\n\t\t}\n\n\t\tif ((this._valuesDirty || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"endIndex\") || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._stackDirty)) {\n\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\t\t\tlet minBulletDistance = this.get(\"minBulletDistance\", 0);\n\t\t\tif (minBulletDistance > 0 && baseAxis) {\n\t\t\t\tif (baseAxis.get(\"renderer\").axisLength() / (endIndex - startIndex) > minBulletDistance) {\n\t\t\t\t\tthis._showBullets = true;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._showBullets = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._stackDirty || this._valuesDirty) && !this._selectionProcessed) {\n\t\t\t\tthis._selectionProcessed = true;\n\n\t\t\t\tconst vcx = this.get(\"vcx\", 1);\n\t\t\t\tconst vcy = this.get(\"vcy\", 1);\n\t\t\t\tconst stacked = this.get(\"stacked\", false);\n\n\t\t\t\tif (baseAxis === xAxis) {\n\t\t\t\t\tyAxis._calculateTotals();\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMinY\", undefined);\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMaxY\", undefined);\n\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\tthis.processYSelectionDataItem(this.dataItems[i], vcy, stacked);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (baseAxis === yAxis) {\n\t\t\t\t\txAxis._calculateTotals();\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMinX\", undefined);\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMaxX\", undefined);\n\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\tthis.processXSelectionDataItem(this.dataItems[i], vcx, stacked);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (baseAxis === xAxis) {\n\t\t\t\t\tif (this.get(\"valueYShow\") !== \"valueYWorking\") {\n\t\t\t\t\t\tthis.setPrivateRaw(\"minY\", this.getPrivate(\"selectionMinY\"));\n\t\t\t\t\t\tthis.setPrivateRaw(\"maxY\", this.getPrivate(\"selectionMaxY\"));\n\t\t\t\t\t\tyAxis.markDirtyExtremes();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (baseAxis === yAxis) {\n\t\t\t\t\tif (this.get(\"valueXShow\") !== \"valueXWorking\") {\n\t\t\t\t\t\tthis.setPrivateRaw(\"minX\", this.getPrivate(\"selectionMinX\"));\n\t\t\t\t\t\tthis.setPrivateRaw(\"maxX\", this.getPrivate(\"selectionMaxX\"));\n\t\t\t\t\t\txAxis.markDirtyExtremes();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tif (this.isPrivateDirty(\"selectionMinX\") || this.isPrivateDirty(\"selectionMaxX\")) {\n\t\t\t\t\txAxis.markDirtySelectionExtremes();\n\t\t\t\t}\n\n\t\t\t\tif (this.isPrivateDirty(\"selectionMinY\") || this.isPrivateDirty(\"selectionMaxY\")) {\n\t\t\t\t\tyAxis.markDirtySelectionExtremes();\n\t\t\t\t}\n\n\t\t\t\t// this.updateLegendValue(undefined); flickers while panning\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _makeRangeMask() {\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tlet mainContainerMask = this._mainContainerMask;\n\t\t\tif (mainContainerMask == null) {\n\t\t\t\tmainContainerMask = this.children.push(Graphics.new(this._root, {}));\n\t\t\t\tthis._mainContainerMask = mainContainerMask;\n\n\t\t\t\tmainContainerMask.set(\"draw\", (display, target) => {\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tconst w = this._root.container.width();\n\t\t\t\t\t\tconst h = this._root.container.height();\n\t\t\t\t\t\tdisplay.moveTo(-w, -h);\n\t\t\t\t\t\tdisplay.lineTo(-w, h * 2);\n\t\t\t\t\t\tdisplay.lineTo(w * 2, h * 2);\n\t\t\t\t\t\tdisplay.lineTo(w * 2, -h);\n\t\t\t\t\t\tdisplay.lineTo(-w, -h);\n\n\n\t\t\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\t\t\tconst fill = axisRange.axisDataItem.get(\"axisFill\");\n\n\t\t\t\t\t\t\tif (parent) {\n\t\t\t\t\t\t\t\tif (fill) {\n\t\t\t\t\t\t\t\t\tlet draw = fill.get(\"draw\");\n\t\t\t\t\t\t\t\t\tif (draw) {\n\t\t\t\t\t\t\t\t\t\tdraw(display, target);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tthis.mainContainer._display.mask = mainContainerMask!._display;\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tmainContainerMask.markDirty();\n\t\t\tmainContainerMask._markDirtyKey(\"fill\");\n\t\t}\n\t\telse {\n\t\t\tthis.mainContainer._display.mask = null;\n\t\t}\n\t}\n\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\t// save for performance\n\t\tthis._x = this.x();\n\t\tthis._y = this.y();\n\t\tthis._makeRangeMask();\n\t}\n\n\tprotected _stack() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst seriesIndex = chart.series.indexOf(this);\n\n\t\t\tthis._couldStackTo = [];\n\n\t\t\tif (seriesIndex > 0) {\n\t\t\t\tlet series: XYSeries;\n\n\t\t\t\tfor (let i = seriesIndex - 1; i >= 0; i--) {\n\t\t\t\t\tseries = chart.series.getIndex(i)!;\n\t\t\t\t\tif (series.get(\"xAxis\") === this.get(\"xAxis\") && series.get(\"yAxis\") === this.get(\"yAxis\") && series.className === this.className) {\n\t\t\t\t\t\tthis._couldStackTo.push(series);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._stackDataItems();\n\t\t}\n\t}\n\n\tprotected _unstack() {\n\t\t$object.each(this._reallyStackedTo, (_key, value) => {\n\t\t\tdelete (value._stackedSeries[this.uid]);\n\t\t})\n\n\t\tthis._reallyStackedTo = {};\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tdataItem.setRaw(\"stackToItemY\", undefined);\n\t\t\tdataItem.setRaw(\"stackToItemX\", undefined);\n\t\t})\n\t}\n\n\tprotected _stackDataItems() {\n\t\t// this works only with the same number of data @todo: search by date/category?\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\tlet field: \"valueX\" | \"valueY\";\n\t\tlet stackToItemKey: \"stackToItemX\" | \"stackToItemY\";\n\t\tif (baseAxis === xAxis) {\n\t\t\tfield = \"valueY\";\n\t\t\tstackToItemKey = \"stackToItemY\";\n\t\t}\n\t\telse if (baseAxis === yAxis) {\n\t\t\tfield = \"valueX\";\n\t\t\tstackToItemKey = \"stackToItemX\";\n\t\t}\n\n\t\tlet len = this._couldStackTo.length;\n\t\tlet index = 0;\n\t\tconst stackToNegative = this.get(\"stackToNegative\");\n\n\t\tthis._reallyStackedTo = {};\n\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tfor (let s = 0; s < len; s++) {\n\t\t\t\tlet stackToSeries = this._couldStackTo[s];\n\t\t\t\tlet stackToItem = stackToSeries.dataItems[index];\n\t\t\t\tlet value = dataItem.get(field);\n\t\t\t\tlet stackValue = stackToItem.get(field);\n\n\t\t\t\tif (stackToItem) {\n\t\t\t\t\tif (stackToNegative) {\n\t\t\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\t\t\tif ($type.isNumber(stackValue)) {\n\t\t\t\t\t\t\t\tif (value >= 0 && stackValue >= 0) {\n\t\t\t\t\t\t\t\t\tdataItem.setRaw(stackToItemKey, stackToItem);\n\t\t\t\t\t\t\t\t\tthis._reallyStackedTo[stackToSeries.uid] = stackToSeries;\n\t\t\t\t\t\t\t\t\tstackToSeries._stackedSeries[this.uid] = this;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (value < 0 && stackValue < 0) {\n\t\t\t\t\t\t\t\t\tdataItem.setRaw(stackToItemKey, stackToItem);\n\t\t\t\t\t\t\t\t\tthis._reallyStackedTo[stackToSeries.uid] = stackToSeries;\n\t\t\t\t\t\t\t\t\tstackToSeries._stackedSeries[this.uid] = this;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif ($type.isNumber(value) && $type.isNumber(stackValue)) {\n\t\t\t\t\t\t\tdataItem.setRaw(stackToItemKey, stackToItem);\n\t\t\t\t\t\t\tthis._reallyStackedTo[stackToSeries.uid] = stackToSeries;\n\t\t\t\t\t\t\tstackToSeries._stackedSeries[this.uid] = this;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tindex++;\n\t\t})\n\t}\n\n\tprotected processXSelectionDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, vcx: number, stacked: boolean) {\n\t\t$array.each(this.__valueXShowFields, (key) => {\n\t\t\tlet value = dataItem.get(<any>key);\n\t\t\tif (value != null) {\n\t\t\t\tif (stacked) {\n\t\t\t\t\tvalue += this.getStackedXValueWorking(dataItem, key);\n\t\t\t\t}\n\n\t\t\t\tthis._min(\"selectionMinX\", value);\n\t\t\t\tthis._max(\"selectionMaxX\", value * vcx);\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected processYSelectionDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, vcy: number, stacked: boolean) {\n\t\t$array.each(this.__valueYShowFields, (key) => {\n\n\t\t\tlet value = dataItem.get(<any>key);\n\t\t\tif (value != null) {\n\t\t\t\tif (stacked) {\n\t\t\t\t\tvalue += this.getStackedYValueWorking(dataItem, key);\n\t\t\t\t}\n\n\t\t\t\tthis._min(\"selectionMinY\", value);\n\t\t\t\tthis._max(\"selectionMaxY\", value * vcy);\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedYValueWorking(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemY\");\n\n\t\tif (stackToItem) {\n\t\t\tconst stackedToSeries = stackToItem.component as XYSeries;\n\n\t\t\treturn stackToItem.get(key as any, 0) * stackedToSeries.get(\"vcy\", 1) + this.getStackedYValueWorking(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedXValueWorking(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemX\");\n\n\t\tif (stackToItem) {\n\t\t\tconst stackedToSeries = stackToItem.component as XYSeries;\n\t\t\treturn stackToItem.get(key as any, 0) * stackedToSeries.get(\"vcx\", 1) + this.getStackedXValueWorking(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedYValue(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemY\");\n\n\t\tif (stackToItem) {\n\t\t\treturn stackToItem.get(key as any, 0) + this.getStackedYValue(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedXValue(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemX\");\n\n\t\tif (stackToItem) {\n\t\t\treturn stackToItem.get(key as any, 0) + this.getStackedXValue(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tthis.updateLegendMarker();\n\t}\n\n\tpublic _markDirtyAxes() {\n\t\tthis._axesDirty = true;\n\t\tthis.markDirty();\n\t}\n\n\tpublic _markDataSetDirty() {\n\t\tthis._afterDataChange();\n\t\tthis._valuesDirty = true;\n\t\tthis._dataProcessed = false;\n\t\tthis._aggregatesCalculated = false;\n\t\tthis.markDirty();\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._axesDirty = false;\n\t\tthis._selectionProcessed = false;\n\t\tthis._stackDirty = false;\n\t\tthis._dataProcessed = false;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tlet sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tlet dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tlet locationX = bullet.get(\"locationX\", dataItem.get(\"locationX\", 0.5));\n\t\t\tlet locationY = bullet.get(\"locationY\", dataItem.get(\"locationY\", 0.5));\n\n\t\t\tlet xAxis = this.get(\"xAxis\");\n\t\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\t\tconst positionX = xAxis.getDataItemPositionX(dataItem, this._xField, locationX, this.get(\"vcx\", 1));\n\t\t\tconst positionY = yAxis.getDataItemPositionY(dataItem, this._yField, locationY, this.get(\"vcy\", 1))\n\n\t\t\tlet point = this.getPoint(positionX, positionY);\n\n\t\t\tlet left = dataItem.get(\"left\", point.x);\n\t\t\tlet right = dataItem.get(\"right\", point.x);\n\t\t\tlet top = dataItem.get(\"top\", point.y);\n\t\t\tlet bottom = dataItem.get(\"bottom\", point.y);\n\n\t\t\tif (this._shouldShowBullet(positionX, positionY)) {\n\t\t\t\tif (!bullet.getPrivate(\"hidden\")) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\n\t\t\t\tlet w = right - left;\n\t\t\t\tlet h = bottom - top;\n\n\t\t\t\tif (sprite.isType(\"Label\")) {\n\t\t\t\t\tsprite.set(\"maxWidth\", Math.abs(w));\n\t\t\t\t\tsprite.set(\"maxHeight\", Math.abs(h));\n\t\t\t\t}\n\n\t\t\t\tlet x = left + w * locationX;\n\t\t\t\tlet y = bottom - h * locationY;\n\n\t\t\t\tsprite.set(\"x\", x);\n\t\t\t\tsprite.set(\"y\", y);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _shouldShowBullet(_positionX: number, _positionY: number): boolean {\n\t\treturn this._showBullets;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic setDataSet(id: string) {\n\t\tif (this._dataSets[id]) {\n\t\t\tthis._handleDataSetChange();\n\t\t\tthis._dataItems = this._dataSets[id];\n\t\t\tthis._markDataSetDirty();\n\t\t\tthis._dataSetId = id;\n\t\t}\n\t}\n\n\tprotected _handleDataSetChange() {\n\t\tif (this.bullets.length > 0) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet bullets = dataItem.bullets;\n\t\t\t\tif (bullets) {\n\t\t\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\t\t\tlet sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.setPrivate(\"visible\", false);\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}\n\n\t/**\n\t * Shows hidden series.\n\t *\n\t * @param duration Duration of animation in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async show(duration?: number): Promise<void> {\n\t\tthis._fixVC();\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.show(duration).then(() => {\n\t\t\tthis._isShowing = false;\n\t\t\tlet xAxis = this.get(\"xAxis\");\n\t\t\tlet yAxis = this.get(\"yAxis\");\n\t\t\tlet baseAxis = this.get(\"baseAxis\");\n\t\t\tif (yAxis !== baseAxis) {\n\t\t\t\tyAxis.markDirtySelectionExtremes();\n\t\t\t}\n\t\t\tif (xAxis !== baseAxis) {\n\t\t\t\txAxis.markDirtySelectionExtremes();\n\t\t\t}\n\t\t}));\n\t\tpromises.push(this.bulletsContainer.show(duration));\n\t\tpromises.push(this._sequencedShowHide(true, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series.\n\t *\n\t * @param duration Duration of animation in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async hide(duration?: number): Promise<void> {\n\t\tthis._fixVC();\n\t\tlet promises: Promise<any>[] = [];\n\t\tpromises.push(super.hide(duration).then(() => {\n\t\t\tthis._isHiding = false;\n\t\t}));\n\t\tpromises.push(this.bulletsContainer.hide(duration));\n\t\tpromises.push(this._sequencedShowHide(false, duration));\n\t\tawait Promise.all(promises);\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\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\t$array.each(this._valueFields, (key) => {\n\t\t\tpromises.push(dataItem.animate({ key: key + \"Working\" as any, to: dataItem.get(key as any), duration: duration!, easing: easing }).waitForStop());\n\t\t})\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tif (baseAxis === xAxis || !baseAxis) {\n\n\t\t\t$array.each(this._valueYFields, (key) => {\n\t\t\t\tlet min = yAxis.getPrivate(\"min\");\n\t\t\t\tlet baseValue = yAxis.baseValue();\n\t\t\t\tif ($type.isNumber(min) && min > baseValue) {\n\t\t\t\t\tbaseValue = min;\n\t\t\t\t}\n\t\t\t\tif (stacked) {\n\t\t\t\t\tbaseValue = 0;\n\t\t\t\t}\n\t\t\t\tpromises.push(dataItem.animate({ key: key + \"Working\" as any, to: baseValue, duration: duration!, easing: easing }).waitForStop());\n\t\t\t})\n\t\t}\n\t\tif (baseAxis === yAxis || !baseAxis) {\n\n\t\t\tlet min = xAxis.getPrivate(\"min\");\n\t\t\tlet baseValue = xAxis.baseValue();\n\t\t\tif ($type.isNumber(min) && min > baseValue) {\n\t\t\t\tbaseValue = min;\n\t\t\t}\n\t\t\tif (stacked) {\n\t\t\t\tbaseValue = 0;\n\t\t\t}\n\n\t\t\t$array.each(this._valueXFields, (key) => {\n\t\t\t\tpromises.push(dataItem.animate({ key: key + \"Working\" as any, to: baseValue, duration: duration!, easing: easing }).waitForStop());\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tpublic _markDirtyStack() {\n\t\tthis._stackDirty = true;\n\t\tthis.markDirty();\n\t\tthis._markStakedDirtyStack();\n\t}\n\n\tprotected _markStakedDirtyStack() {\n\t\tconst stackedSeries = this._stackedSeries;\n\t\tif (stackedSeries) {\n\n\t\t\t$object.each(stackedSeries, (_key, value) => {\n\t\t\t\tvalue._markDirtyStack();\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tif (this._skipped) {\n\t\t\tthis._markDirtyAxes();\n\t\t\tthis._skipped = false;\n\t\t}\n\t}\n\n\t/**\n\t * Shows a tooltip for specific data item.\n\t *\n\t * @param dataItem Data item\n\t */\n\tpublic showDataItemTooltip(dataItem: DataItem<this[\"_dataItemSettings\"]> | undefined) {\n\t\tthis.updateLegendMarker(dataItem);\n\t\tthis.updateLegendValue(dataItem);\n\n\t\tif (this.get(\"tooltip\")) {\n\t\t\tif (!this.isHidden()) {\n\t\t\t\tconst tooltip = this.get(\"tooltip\")!;\n\t\t\t\tif (tooltip) {\n\t\t\t\t\ttooltip._setDataItem(dataItem);\n\n\t\t\t\t\tif (dataItem) {\n\t\t\t\t\t\tlet locationX = this.get(\"locationX\", 0);\n\t\t\t\t\t\tlet locationY = this.get(\"locationY\", 1);\n\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"locationX\", locationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"locationY\", locationY);\n\n\t\t\t\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\t\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\t\t\t\tconst vcx = this.get(\"vcx\", 1);\n\t\t\t\t\t\tconst vcy = this.get(\"vcy\", 1);\n\n\t\t\t\t\t\tconst xPos = xAxis.getDataItemPositionX(dataItem, this._tooltipFieldX!, this._aLocationX0 + (this._aLocationX1 - this._aLocationX0) * itemLocationX, vcx);\n\t\t\t\t\t\tconst yPos = yAxis.getDataItemPositionY(dataItem, this._tooltipFieldY!, this._aLocationY0 + (this._aLocationY1 - this._aLocationY0) * itemLocationY, vcy);\n\n\t\t\t\t\t\tconst point = this.getPoint(xPos, yPos);\n\n\t\t\t\t\t\tlet show = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (dataItem.get(field as any) == null) {\n\t\t\t\t\t\t\t\tshow = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tif (show) {\n\t\t\t\t\t\t\tconst chart = this.chart;\n\t\t\t\t\t\t\tif (chart && chart.inPlot(point)) {\n\t\t\t\t\t\t\t\ttooltip.label.text.markDirtyText();\n\t\t\t\t\t\t\t\ttooltip.set(\"tooltipTarget\", this._getTooltipTarget(dataItem));\n\t\t\t\t\t\t\t\ttooltip.set(\"pointTo\", this._display.toGlobal({ x: point.x, y: point.y }));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\ttooltip._setDataItem(undefined);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\ttooltip._setDataItem(undefined);\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\telse {\n\t\t\t\tthis.hideTooltip();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _getTooltipTarget(dataItem: DataItem<this[\"_dataItemSettings\"]>): Sprite {\n\t\tif (this.get(\"seriesTooltipTarget\") == \"bullet\") {\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif (bullets && bullets.length > 0) {\n\t\t\t\tconst bullet = bullets[0];\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\treturn sprite;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendValue(dataItem: DataItem<this[\"_dataItemSettings\"]> | undefined) {\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\n\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\tif (label) {\n\t\t\t\tlet txt = \"\";\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendLabelText\", label.get(\"text\", this.get(\"name\", \"\")));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlabel._setDataItem(this._emptyDataItem);\n\t\t\t\t\ttxt = this.get(\"legendRangeLabelText\", this.get(\"legendLabelText\", label.get(\"text\", this.get(\"name\", \"\"))));\n\t\t\t\t}\n\n\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t}\n\n\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\tif (valueLabel) {\n\t\t\t\tlet txt = \"\";\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendValueText\", valueLabel.get(\"text\", \"\"));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvalueLabel._setDataItem(this._emptyDataItem);\n\t\t\t\t\ttxt = this.get(\"legendRangeValueText\", valueLabel.get(\"text\", \"\"));\n\t\t\t\t}\n\n\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _getItemReaderLabel(): string {\n\t\tlet text = \"X: {\" + this._xField;\n\t\tif (this.get(\"xAxis\").isType<DateAxis<any>>(\"DateAxis\")) {\n\t\t\ttext += \".formatDate()\";\n\t\t}\n\t\ttext += \"}; Y: {\" + this._yField;\n\t\tif (this.get(\"yAxis\").isType<DateAxis<any>>(\"DateAxis\")) {\n\t\t\ttext += \".formatDate()\";\n\t\t}\n\t\ttext += \"}\";\n\t\treturn text;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getPoint(positionX: number, positionY: number): IPoint {\n\t\tlet x = this.get(\"xAxis\").get(\"renderer\").positionToCoordinate(positionX);\n\t\tlet y = this.get(\"yAxis\").get(\"renderer\").positionToCoordinate(positionY);\n\n\t\treturn { x: x, y: y };\n\t}\n\n\tprotected _shouldInclude(_position: number): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic handleCursorHide() {\n\t\tthis.hideTooltip();\n\t\tthis.updateLegendValue(undefined);\n\t\tthis.updateLegendMarker(undefined);\n\t}\n\n\tpublic _afterDataChange() {\n\t\tsuper._afterDataChange();\n\t\tthis.resetExtremes();\n\t}\n\n\n\t// todo description\n\tpublic resetExtremes() {\n\t\tthis.setPrivate(\"selectionMinX\", undefined);\n\t\tthis.setPrivate(\"selectionMaxX\", undefined);\n\t\tthis.setPrivate(\"selectionMinY\", undefined);\n\t\tthis.setPrivate(\"selectionMaxY\", undefined);\n\n\t\tthis.setPrivate(\"minX\", undefined);\n\t\tthis.setPrivate(\"minY\", undefined);\n\t\tthis.setPrivate(\"maxX\", undefined);\n\t\tthis.setPrivate(\"maxY\", undefined);\n\t}\n\n\t/**\n\t * Creates and returns an axis range object.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t * @param axisDataItem Axis data item\n\t * @return Axis range\n\t */\n\tpublic createAxisRange(axisDataItem: DataItem<IAxisDataItem>): this[\"_axisRangeType\"] {\n\t\treturn this.axisRanges.push({\n\t\t\taxisDataItem: axisDataItem\n\t\t})\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"XYSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/XYSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataItem } from \"../../../core/render/Component\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../../core/render/Series\";\nimport type { Axis, IAxisPrivate, IAxisDataItem } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\nimport { List } from \"../../../core/util/List\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $object from \"../../../core/util/Object\";\nimport type { IPoint } from \"../../../core/util/IPoint\";\nimport type { Sprite } from \"../../../core/render/Sprite\";\nimport type { Bullet } from \"../../../core/render/Bullet\";\nimport type { XYChart } from \"../XYChart\";\nimport { Container } from \"../../../core/render/Container\";\nimport { Graphics } from \"../../../core/render/Graphics\";\n\nimport type { CategoryAxis } from \"../axes/CategoryAxis\";\nimport type { DateAxis } from \"../axes/DateAxis\";\n\n/**\n * @ignore\n */\nfunction min(left: number | undefined, right: number | undefined): number | undefined {\n\tif (left == null) {\n\t\treturn right;\n\n\t} else if (right == null) {\n\t\treturn left;\n\n\t} else if (right < left) {\n\t\treturn right;\n\n\t} else {\n\t\treturn left;\n\t}\n}\n\n/**\n * @ignore\n */\nfunction max(left: number | undefined, right: number | undefined): number | undefined {\n\tif (left == null) {\n\t\treturn right;\n\n\t} else if (right == null) {\n\t\treturn left;\n\n\t} else if (right > left) {\n\t\treturn right;\n\n\t} else {\n\t\treturn left;\n\t}\n}\n\n/**\n * Interface representing a series axis range.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Series_axis_ranges} for more info\n */\nexport interface IXYSeriesAxisRange {\n\n\t/**\n\t * Related axis data item.\n\t */\n\taxisDataItem: DataItem<IAxisDataItem>;\n\n\t/**\n\t * A [[Container]] element that range's elements are placed in.\n\t */\n\tcontainer?: Container;\n\n\t/**\n\t * Target series.\n\t */\n\tseries?: XYSeries;\n\n}\n\nexport interface IXYAxisPrivate extends IAxisPrivate {\n\tmin?: number;\n\tmax?: number;\n}\n\nexport interface IXYAxis extends Axis<AxisRenderer> {\n\t_privateSettings: IXYAxisPrivate;\n}\n\n/**\n * XY chart series data item.\n */\nexport interface IXYSeriesDataItem extends ISeriesDataItem {\n\tvalueX?: number;\n\tvalueXWorking?: number;\n\tvalueXChange?: number;\n\tvalueXChangePercent?: number;\n\tvalueXChangeSelection?: number;\n\tvalueXChangeSelectionPercent?: number;\n\tvalueXChangePrevious?: number;\n\tvalueXChangePreviousPercent?: number;\n\tvalueXWorkingOpen?: number;\n\tvalueXWorkingClose?: number;\n\n\tvalueY?: number;\n\tvalueYChange?: number;\n\tvalueYWorking?: number;\n\tvalueYChangePercent?: number;\n\tvalueYChangeSelection?: number;\n\tvalueYChangeSelectionPercent?: number;\n\tvalueYChangePrevious?: number;\n\tvalueYChangePreviousPercent?: number;\n\tvalueYWorkingOpen?: number;\n\tvalueYWorkingClose?: number;\n\n\topenValueX?: number;\n\topenValueXWorking?: number;\n\topenValueXChange?: number;\n\topenValueXChangePercent?: number;\n\topenValueXChangeSelection?: number;\n\topenValueXChangeSelectionPercent?: number;\n\topenValueXChangePrevious?: number;\n\topenValueXChangePreviousPercent?: number;\n\topenValueXWorkingOpen?: number;\n\topenValueXWorkingClose?: number;\n\topenValueY?: number;\n\topenValueYWorking?: number;\n\topenValueYChange?: number;\n\topenValueYChangePercent?: number;\n\topenValueYChangeSelection?: number;\n\topenValueYChangeSelectionPercent?: number;\n\topenValueYChangePrevious?: number;\n\topenValueYChangePreviousPercent?: number;\n\topenValueYWorkingOpen?: number;\n\topenValueYWorkingClose?: number;\n\n\tcategoryX?: string;\n\tcategoryY?: string;\n\n\topenCategoryX?: string;\n\topenCategoryY?: string;\n\n\tlocationX?: number;\n\tlocationY?: number;\n\n\topenLocationX?: number;\n\topenLocationY?: number;\n\n\tstackToItemX?: DataItem<IXYSeriesDataItem>;\n\tstackToItemY?: DataItem<IXYSeriesDataItem>;\n\n\tleft?: number;\n\tright?: number;\n\ttop?: number;\n\tbottom?: number;\n\n\tpoint?: IPoint;\n}\n\nexport interface IXYSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * Minimal distance between data items in pixels.\n\t *\n\t * If data items are closer than this, bullets are turned off to avoid\n\t * overcrowding.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Bullets} for more info\n\t */\n\tminBulletDistance?: number;\n\n\t/**\n\t * X axis series uses.\n\t */\n\txAxis: IXYAxis;\n\n\t/**\n\t * Y axis series uses.\n\t */\n\tyAxis: IXYAxis;\n\n\t/**\n\t * If set to `true` series will be stacked to other series that also have\n\t * this setting set to `true`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Stacked_series} for more info\n\t */\n\tstacked?: boolean;\n\n\t/**\n\t * Whether to stack negative values from zero (`true`) or from whatever\n\t * previous series value is (`false`).\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Negative_value_stacking} for more info\n\t */\n\tstackToNegative?: boolean;\n\n\t/**\n\t * Base axis for the series.\n\t *\n\t * A base axis will dictate direction series plot.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Base_axis} for more info\n\t */\n\tbaseAxis?: IXYAxis;\n\n\t/**\n\t * Input data field for X value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueXField?: string;\n\n\t/**\n\t * Input data field for Y value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueYField?: string;\n\n\t/**\n\t * Exclude series values when calculating totals for category/interval.\n\t *\n\t * @default false\n\t */\n\texcludeFromTotal?: boolean;\n\n\t/**\n\t * Display data field for X value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueXShow?: \"valueXWorking\" | \"valueXChange\" | \"valueXChangePercent\" | \"valueXChangeSelection\" | \"valueXChangeSelectionPercent\" | \"valueXChangePrevious\" | \"valueXChangePreviousPercent\" | \"valueXTotal\" | \"valueXTotalPercent\" | \"valueXSum\";\n\n\t/**\n\t * Display data field for Y value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tvalueYShow?: \"valueYWorking\" | \"valueYChange\" | \"valueYChangePercent\" | \"valueYChangeSelection\" | \"valueYChangeSelectionPercent\" | \"valueYChangePrevious\" | \"valueYChangePreviousPercent\" | \"valueYTotal\" | \"valueYTotalPercent\" | \"valueYSum\";\n\n\t/**\n\t * Indicates what aggregate value to use for collective data item, when\n\t * aggregating X values from several data items.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\tvalueXGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Indicates what aggregate value to use for collective data item, when\n\t * aggregating X values from several data items.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\tvalueYGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Input data field for X open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueXField?: string;\n\n\t/**\n\t * Input data field for X open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueYField?: string;\n\n\t/**\n\t * Display data field for X open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueXShow?: \"openValueXWorking\" | \"openValueXChange\" | \"openValueXChangePercent\" | \"openValueXChangeSelection\" | \"openValueXChangeSelectionPercent\" | \"openValueXChangePrevious\" | \"openValueXChangePreviousPercent\";\n\n\t/**\n\t * Display data field for Y open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenValueYShow?: \"openValueYWorking\" | \"openValueYChange\" | \"openValueYChangePercent\" | \"openValueYChangeSelection\" | \"openValueYChangeSelectionPercent\" | \"openValueYChangePrevious\" | \"openValueYChangePreviousPercent\";\n\n\t/**\n\t * Display data field for Y open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\topenValueXGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Display data field for Y open value.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Dynamic_data_item_grouping} for more info\n\t */\n\topenValueYGrouped?: \"open\" | \"close\" | \"low\" | \"high\" | \"average\" | \"sum\" | \"extreme\";\n\n\t/**\n\t * Input data field for X category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tcategoryXField?: string;\n\n\t/**\n\t * Input data field for Y category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\tcategoryYField?: string;\n\n\t/**\n\t * Display data field for X category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenCategoryXField?: string;\n\n\t/**\n\t * Display data field for Y category.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Data_fields} for more info\n\t */\n\topenCategoryYField?: string;\n\n\t/**\n\t * If set to `true` this series will be ignored when calculating scale of the\n\t * related axes.\n\t *\n\t * @default false\n\t */\n\tignoreMinMax?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tvcx?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvcy?: number;\n\n\t/**\n\t * Horizontal location of the data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Data_item_location} for more info\n\t * @default 0.5\n\t */\n\tlocationX?: number;\n\n\t/**\n\t * Vertical location of the data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Data_item_location} for more info\n\t * @default 0.5\n\t */\n\tlocationY?: number;\n\n\t/**\n\t * Horizontal location of the open data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @default 0.5\n\t */\n\topenLocationX?: number;\n\n\t/**\n\t * Vertical location of the open data point relative to its cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @default 0.5\n\t */\n\topenLocationY?: number;\n\n\t/**\n\t * If set to `true` [[XYCursor]] will show closest data item from series\n\t * even if it is outside currently hovered date axis interval.\n\t *\n\t * This setting is relevant only if `baseAxis` is a date axis.\n\t */\n\tsnapTooltip?: boolean;\n\n\t/**\n\t * Text to use for series legend label when no particular category/interval\n\t * is selected.\n\t */\n\tlegendRangeLabelText?: string;\n\n\t/**\n\t * Text to use for series legend value label when no particular\n\t * category/interval is selected.\n\t */\n\tlegendRangeValueText?: string;\n\n\n\t/**\n\t * If set to `true`, series bullets will be masked by plot area.\n\t */\n\tmaskBullets?: boolean;\n\n\t/**\n\t * Whether series' tooltip should inherit its color from series or its first\n\t * bullet.\n\t *\n\t * @default \"series\"\n\t */\n\tseriesTooltipTarget?: \"series\" | \"bullet\";\n\n\t/**\n\t * Indicates horizontal position at which to show series' tooltip at.\n\t *\n\t * @default \"value\"\n\t * @since 5.0.16\n\t */\n\ttooltipPositionX?: \"open\" | \"value\" | \"low\" | \"high\";\n\n\t/**\n\t * Indicates vertical position at which to show series' tooltip at.\n\t *\n\t * @default \"value\"\n\t * @since 5.0.16\n\t */\n\ttooltipPositionY?: \"open\" | \"value\" | \"low\" | \"high\";\n\n}\n\nexport interface IXYSeriesPrivate extends ISeriesPrivate {\n\n\tminX?: number;\n\tmaxX?: number;\n\n\tminY?: number;\n\tmaxY?: number;\n\n\tselectionMinX?: number;\n\tselectionMaxX?: number;\n\n\tselectionMinY?: number;\n\tselectionMaxY?: number;\n\n\tvalueXAverage?: number;\n\tvalueXCount?: number;\n\tvalueXSum?: number;\n\tvalueXAbsoluteSum?: number;\n\tvalueXLow?: number;\n\tvalueXHigh?: number;\n\tvalueXOpen?: number;\n\tvalueXClose?: number;\n\n\tvalueYAverage?: number;\n\tvalueYCount?: number;\n\tvalueYSum?: number;\n\tvalueYAbsoluteSum?: number;\n\tvalueYLow?: number;\n\tvalueYHigh?: number;\n\tvalueYOpen?: number;\n\tvalueYClose?: number;\n\n\tvalueXAverageSelection?: number;\n\tvalueXCountSelection?: number;\n\tvalueXSumSelection?: number;\n\tvalueXAbsoluteSumSelection?: number;\n\tvalueXLowSelection?: number;\n\tvalueXHighSelection?: number;\n\tvalueXOpenSelection?: number;\n\tvalueXCloseSelection?: number;\n\n\tvalueYAverageSelection?: number;\n\tvalueYCountSelection?: number;\n\tvalueYSumSelection?: number;\n\tvalueYAbsoluteSumSelection?: number;\n\tvalueYLowSelection?: number;\n\tvalueYHighSelection?: number;\n\tvalueYOpenSelection?: number;\n\tvalueYCloseSelection?: number;\n\n\topenValueXAverage?: number;\n\topenValueXCount?: number;\n\topenValueXSum?: number;\n\topenValueXAbsoluteSum?: number;\n\topenValueXLow?: number;\n\topenValueXHigh?: number;\n\topenValueXOpen?: number;\n\topenValueXClose?: number;\n\n\topenValueYAverage?: number;\n\topenValueYCount?: number;\n\topenValueYSum?: number;\n\topenValueYAbsoluteSum?: number;\n\topenValueYLow?: number;\n\topenValueYHigh?: number;\n\topenValueYOpen?: number;\n\topenValueYClose?: number;\n\n\topenValueXAverageSelection?: number;\n\topenValueXCountSelection?: number;\n\topenValueXSumSelection?: number;\n\topenValueXAbsoluteSumSelection?: number;\n\topenValueXLowSelection?: number;\n\topenValueXHighSelection?: number;\n\topenValueXOpenSelection?: number;\n\topenValueXCloseSelection?: number;\n\n\topenValueYAverageSelection?: number;\n\topenValueYCountSelection?: number;\n\topenValueYSumSelection?: number;\n\topenValueYAbsoluteSumSelection?: number;\n\topenValueYLowSelection?: number;\n\topenValueYHighSelection?: number;\n\topenValueYOpenSelection?: number;\n\topenValueYCloseSelection?: number;\n}\n\n\n/**\n * A base class for all XY chart series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/} for more info\n */\nexport abstract class XYSeries extends Series {\n\tpublic static className: string = \"XYSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([XYSeries.className]);\n\n\tdeclare public _settings: IXYSeriesSettings;\n\tdeclare public _privateSettings: IXYSeriesPrivate;\n\tdeclare public _dataItemSettings: IXYSeriesDataItem;\n\tdeclare public _axisRangeType: IXYSeriesAxisRange;\n\n\tprotected _xField!: string;\n\tprotected _yField!: string;\n\tprotected _xOpenField!: string;\n\tprotected _yOpenField!: string;\n\n\tprotected _xLowField!: string;\n\tprotected _xHighField!: string;\n\tprotected _yLowField!: string;\n\tprotected _yHighField!: string;\n\n\tprotected _axesDirty: boolean = false;\n\tprotected _stackDirty: boolean = false;\n\n\tprotected _selectionProcessed = false;\n\n\tdeclare public chart: XYChart | undefined;\n\n\tpublic _dataSets: { [index: string]: Array<DataItem<IXYSeriesDataItem>> } = {};\n\n\tpublic _mainContainerMask: Graphics | undefined;\n\n\tprotected _x: number = 0;\n\tprotected _y: number = 0;\n\n\t/**\n\t * A [[Container]] that us used to put series' elements in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly mainContainer: Container = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A list of axis ranges that affect the series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t */\n\tpublic readonly axisRanges: List<this[\"_axisRangeType\"]> = new List();\n\n\tprotected _skipped: boolean = false;\n\n\tprotected _couldStackTo: Array<XYSeries> = [];\n\n\tprotected _reallyStackedTo: { [index: number]: XYSeries } = {};\n\n\tpublic _stackedSeries: { [index: number]: XYSeries } = {};\n\n\tprotected _aLocationX0: number = 0;\n\tprotected _aLocationX1: number = 1;\n\tprotected _aLocationY0: number = 0;\n\tprotected _aLocationY1: number = 1;\n\n\tprotected _showBullets: boolean = true;\n\n\tprotected valueXFields = [\n\t\t\"valueX\",\n\t\t\"openValueX\"\n\t];\n\n\tprotected valueYFields = [\n\t\t\"valueY\",\n\t\t\"openValueY\"\n\t];\n\n\tpublic _valueXFields!: Array<string>;\n\tpublic _valueYFields!: Array<string>;\n\n\t// used for full min/max\n\tprotected _valueXShowFields!: Array<string>;\n\tprotected _valueYShowFields!: Array<string>;\n\n\t// used for selection (uses working)\n\tprotected __valueXShowFields!: Array<string>;\n\tprotected __valueYShowFields!: Array<string>;\n\n\tprotected _emptyDataItem = new DataItem(this, undefined, {});\n\n\tpublic _dataSetId?: string;\n\n\tprotected _tooltipFieldX?: string;\n\tprotected _tooltipFieldY?: string;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"categoryX\", \"categoryY\", \"openCategoryX\", \"openCategoryY\");\n\t\tthis.valueFields.push(\"valueX\", \"valueY\", \"openValueX\", \"openValueY\");\n\n\t\tthis._setRawDefault(\"vcx\", 1);\n\t\tthis._setRawDefault(\"vcy\", 1);\n\t\t// this can't go to themes, as data might be parsed before theme\n\t\tthis._setRawDefault(\"valueXShow\", \"valueXWorking\");\n\t\tthis._setRawDefault(\"valueYShow\", \"valueYWorking\");\n\n\t\tthis._setRawDefault(\"openValueXShow\", \"openValueXWorking\");\n\t\tthis._setRawDefault(\"openValueYShow\", \"openValueYWorking\");\n\n\t\tsuper._afterNew();\n\n\t\tthis._settings.xAxis.series.push(this);\n\t\tthis._settings.yAxis.series.push(this);\n\n\t\tthis.set(\"maskContent\", true);\n\n\t\tthis._disposers.push(this.axisRanges.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tthis._removeAxisRange(axisRange);\n\t\t\t\t});\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processAxisRange(change.newValue);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeAxisRange(change.oldValue);\n\t\t\t} else if (change.type === \"moveIndex\") {\n\t\t\t\tthis._processAxisRange(change.value);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IStreamEvent type\");\n\t\t\t}\n\t\t}))\n\n\t\tif (!this.get(\"baseAxis\")) {\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\tif (yAxis.isType<CategoryAxis<any>>(\"CategoryAxis\") || yAxis.isType<DateAxis<any>>(\"DateAxis\")) {\n\t\t\t\tthis.set(\"baseAxis\", yAxis);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"baseAxis\", xAxis);\n\t\t\t}\n\t\t}\n\n\t\tthis.states.create(\"hidden\", <any>{ opacity: 1, visible: false });\n\n\t\tthis._makeFieldNames();\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tconst container = Container.new(this._root, {});\n\t\taxisRange.container = container;\n\t\tthis.children.push(container);\n\n\t\taxisRange.series = this;\n\n\t\tconst axisDataItem = axisRange.axisDataItem;\n\t\taxisDataItem.setRaw(\"isRange\", true);\n\n\t\tconst axis = <Axis<AxisRenderer>>axisDataItem.component;\n\t\tif (axis) {\n\t\t\taxis._processAxisRange(axisDataItem, [\"range\", \"series\"]);\n\n\t\t\tconst bullet = axisDataItem.get(\"bullet\");\n\t\t\tif (bullet) {\n\t\t\t\tconst 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\tconst axisFill = axisDataItem.get(\"axisFill\");\n\t\t\tif (axisFill) {\n\t\t\t\tcontainer.set(\"mask\", axisFill);\n\t\t\t}\n\t\t\taxis._seriesAxisRanges.push(axisDataItem);\n\t\t}\n\t}\n\n\tprotected _removeAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tconst axisDataItem = axisRange.axisDataItem;\n\t\tconst axis = <Axis<AxisRenderer>>axisDataItem.component;\n\t\taxis.disposeDataItem(axisDataItem);\n\n\t\t$array.remove(axis._seriesAxisRanges, axisDataItem);\n\n\t\tconst container = axisRange.container;\n\t\tif (container) {\n\t\t\tcontainer.dispose();\n\t\t}\n\t}\n\n\tprotected _updateFields() {\n\t\tsuper._updateFields();\n\n\t\tthis._valueXFields = [];\n\t\tthis._valueYFields = [];\n\t\tthis._valueXShowFields = [];\n\t\tthis._valueYShowFields = [];\n\n\t\tthis.__valueXShowFields = [];\n\t\tthis.__valueYShowFields = [];\n\n\t\tif (this.valueXFields) {\n\t\t\t$array.each(this.valueXFields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._valueXFields.push(<any>key);\n\t\t\t\t\tlet field = this.get(<any>(key + \"Show\"));\n\t\t\t\t\tthis.__valueXShowFields.push(field);\n\n\t\t\t\t\tif (field.indexOf(\"Working\") != -1) {\n\t\t\t\t\t\tthis._valueXShowFields.push(field.split(\"Working\")[0]);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._valueYShowFields.push(field);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.valueYFields) {\n\t\t\t$array.each(this.valueYFields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._valueYFields.push(<any>key);\n\t\t\t\t\tlet field = this.get(<any>(key + \"Show\"));\n\t\t\t\t\tthis.__valueYShowFields.push(field);\n\n\t\t\t\t\tif (field.indexOf(\"Working\") != -1) {\n\t\t\t\t\t\tthis._valueYShowFields.push(field.split(\"Working\")[0]);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._valueYShowFields.push(field);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\t$array.removeFirst(this.get(\"xAxis\").series, this);\n\t\t$array.removeFirst(this.get(\"yAxis\").series, this);\n\t}\n\n\t// TODO use SelectKeys<this[\"_privateSettings\"], number | undefined>\n\tprotected _min<Key extends keyof this[\"_privateSettings\"]>(key: Key, value: number | undefined) {\n\t\tlet newValue = min(this.getPrivate(key) as any, value);\n\t\tthis.setPrivate(key, newValue as any);\n\t}\n\n\t// TODO use SelectKeys<this[\"_privateSettings\"], number | undefined>\n\tprotected _max<Key extends keyof this[\"_privateSettings\"]>(key: Key, value: number | undefined) {\n\t\tlet newValue = max(this.getPrivate(key) as any, value);\n\t\tthis.setPrivate(key, newValue as any);\n\t}\n\n\tprotected _shouldMakeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tif (!this.get(\"xAxis\").inited || !this.get(\"yAxis\").inited) {\n\t\t\treturn false\n\t\t}\n\t\tif (dataItem.get(this._xField as any) != null && dataItem.get(this._yField as any) != null) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _makeFieldNames() {\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst xName = xAxis.getPrivate(\"name\")!;\n\t\tconst xCapName = $utils.capitalizeFirst(xName);\n\n\t\tconst yName = yAxis.getPrivate(\"name\")!;\n\t\tconst yCapName = $utils.capitalizeFirst(yName);\n\n\t\tconst xLetter = xAxis.get(\"renderer\").getPrivate(\"letter\")!\n\t\tconst yLetter = yAxis.get(\"renderer\").getPrivate(\"letter\")!\n\n\t\tconst open = \"open\";\n\t\tconst low = \"low\";\n\t\tconst high = \"high\";\n\t\tconst show = \"Show\";\n\n\t\tif (xAxis.className === \"ValueAxis\") {\n\t\t\tthis._xField = this.get(<any>(xName + xLetter! + show));\n\t\t\tthis._xOpenField = this.get(<any>(open + xCapName + xLetter! + show));\n\t\t\tthis._xLowField = this.get(<any>(low + xCapName + xLetter! + show));\n\t\t\tthis._xHighField = this.get(<any>(high + xCapName + xLetter! + show));\n\t\t}\n\t\telse {\n\t\t\tthis._xField = <any>(xName + xLetter!);\n\t\t\tthis._xOpenField = <any>(open + xCapName + xLetter!);\n\t\t\tthis._xLowField = <any>(low + xCapName + xLetter!);\n\t\t\tthis._xHighField = <any>(high + xCapName + xLetter!);\n\t\t}\n\n\t\tif (yAxis.className === \"ValueAxis\") {\n\t\t\tthis._yField = this.get(<any>(yName + yLetter! + show));\n\t\t\tthis._yOpenField = this.get(<any>(open + yCapName + yLetter! + show));\n\t\t\tthis._yLowField = this.get(<any>(low + yCapName + yLetter! + show));\n\t\t\tthis._yHighField = this.get(<any>(high + yCapName + yLetter! + show));\n\t\t}\n\t\telse {\n\t\t\tthis._yField = <any>(yName + yLetter!);\n\t\t\tthis._yOpenField = <any>(open + yCapName + yLetter!);\n\t\t\tthis._yLowField = <any>(low + yCapName + yLetter!);\n\t\t\tthis._yHighField = <any>(high + yCapName + yLetter!);\n\t\t}\n\t}\n\n\tprotected _fixVC() {\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\t\tconst hiddenState = this.states.lookup(\"hidden\");\n\t\tconst sequencedInterpolation = this.get(\"sequencedInterpolation\");\n\n\t\tif (hiddenState) {\n\t\t\tlet value = 0;\n\t\t\tif (sequencedInterpolation) {\n\t\t\t\tvalue = 0.999999999999; // makes animate, good for stacked\n\t\t\t}\n\n\t\t\tif (xAxis === baseAxis) {\n\t\t\t\thiddenState.set(\"vcy\", value);\n\t\t\t}\n\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\thiddenState.set(\"vcx\", value);\n\t\t\t}\n\t\t\telse {\n\t\t\t\thiddenState.set(\"vcy\", value);\n\t\t\t\thiddenState.set(\"vcx\", value);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _handleMaskBullets() {\n\t\tif (this.isDirty(\"maskBullets\")) {\n\t\t\tthis.bulletsContainer.set(\"maskContent\", this.get(\"maskBullets\"));\n\t\t}\n\t}\n\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis.set(\"width\", this.get(\"xAxis\").width());\n\t\tthis.set(\"height\", this.get(\"yAxis\").height());\n\n\t\tthis._handleMaskBullets();\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\n\t\tconst tooltipPositionX = this.get(\"tooltipPositionX\");\n\t\tlet tooltipFieldX: string;\n\n\t\tswitch (tooltipPositionX) {\n\t\t\tcase \"open\":\n\t\t\t\ttooltipFieldX = this._xOpenField;\n\t\t\t\tbreak;\n\t\t\tcase \"low\":\n\t\t\t\ttooltipFieldX = this._xLowField;\n\t\t\t\tbreak;\n\t\t\tcase \"high\":\n\t\t\t\ttooltipFieldX = this._xHighField;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ttooltipFieldX = this._xField;\n\t\t}\n\t\tthis._tooltipFieldX = tooltipFieldX;\n\n\t\tconst tooltipPositionY = this.get(\"tooltipPositionY\");\n\t\tlet tooltipFieldY: string;\n\t\tswitch (tooltipPositionY) {\n\t\t\tcase \"open\":\n\t\t\t\ttooltipFieldY = this._yOpenField;\n\t\t\t\tbreak;\n\t\t\tcase \"low\":\n\t\t\t\ttooltipFieldY = this._yLowField;\n\t\t\t\tbreak;\n\t\t\tcase \"high\":\n\t\t\t\ttooltipFieldY = this._yHighField;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ttooltipFieldY = this._yField;\n\t\t}\n\t\tthis._tooltipFieldY = tooltipFieldY;\n\n\t\tif (this.isDirty(\"baseAxis\")) {\n\t\t\tthis._fixVC();\n\t\t}\n\n\t\tif (xAxis === baseAxis) {\n\t\t\tthis.set(\"y\", yAxis.y() - $utils.relativeToValue(yAxis.get(\"centerY\", 0), yAxis.height()) - yAxis.parent!.get(\"paddingTop\", 0));\n\t\t\tthis.bulletsContainer.set(\"y\", this.y());\n\t\t}\n\t\telse if (yAxis === baseAxis) {\n\t\t\tthis.set(\"x\", xAxis.x() - $utils.relativeToValue(xAxis.get(\"centerX\", 0), xAxis.width()) - xAxis.parent!.get(\"paddingLeft\", 0));\n\t\t\tthis.bulletsContainer.set(\"x\", this.x());\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tif (this.isDirty(\"stacked\")) {\n\t\t\tif (stacked) {\n\t\t\t\tif (this._valuesDirty && !this._dataProcessed) {\n\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._stack();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._unstack();\n\t\t\t}\n\t\t}\n\n\t\tif (this._valuesDirty && !this._dataProcessed) {\n\t\t\tthis._dataProcessed = true;\n\n\t\t\tif (stacked) {\n\t\t\t\tthis._stack();\n\t\t\t}\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\t$array.each(this._valueXShowFields, (key) => {\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\t\tvalue += this.getStackedXValue(dataItem, key);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._min(\"minX\", value);\n\t\t\t\t\t\tthis._max(\"maxX\", value);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t$array.each(this._valueYShowFields, (key) => {\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif (value != null) {\n\n\t\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\t\tvalue += this.getStackedYValue(dataItem, key);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._min(\"minY\", value);\n\t\t\t\t\t\tthis._max(\"maxY\", value);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\txAxis.processSeriesDataItem(dataItem, this._valueXFields);\n\t\t\t\tyAxis.processSeriesDataItem(dataItem, this._valueYFields);\n\t\t\t})\n\n\t\t\tif (!this.get(\"ignoreMinMax\")) {\n\t\t\t\tif (this.isPrivateDirty(\"minX\") || this.isPrivateDirty(\"maxX\")) {\n\t\t\t\t\txAxis.markDirtyExtremes();\n\t\t\t\t}\n\t\t\t\tif (this.isPrivateDirty(\"minY\") || this.isPrivateDirty(\"maxY\")) {\n\t\t\t\t\tyAxis.markDirtyExtremes();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._markStakedDirtyStack();\n\n\t\t\t//this.updateLegendMarker(undefined); // causes legend marker to change color instantly when on\n\t\t\tthis.updateLegendValue(undefined);\n\t\t}\n\n\t\tif (this.isDirty(\"vcx\") || this.isDirty(\"vcy\")) {\n\t\t\tthis._markStakedDirtyStack();\n\t\t}\n\n\t\tif (!this._dataGrouped) {\n\t\t\txAxis._groupSeriesData(this);\n\t\t\tyAxis._groupSeriesData(this);\n\t\t\tthis._dataGrouped = true;\n\t\t}\n\n\t\tif ((this._valuesDirty || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"endIndex\") || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._stackDirty)) {\n\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\t\t\tlet minBulletDistance = this.get(\"minBulletDistance\", 0);\n\t\t\tif (minBulletDistance > 0 && baseAxis) {\n\t\t\t\tif (baseAxis.get(\"renderer\").axisLength() / (endIndex - startIndex) > minBulletDistance) {\n\t\t\t\t\tthis._showBullets = true;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._showBullets = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._stackDirty || this._valuesDirty) && !this._selectionProcessed) {\n\t\t\t\tthis._selectionProcessed = true;\n\n\t\t\t\tconst vcx = this.get(\"vcx\", 1);\n\t\t\t\tconst vcy = this.get(\"vcy\", 1);\n\t\t\t\tconst stacked = this.get(\"stacked\", false);\n\n\t\t\t\tif (baseAxis === xAxis) {\n\t\t\t\t\tyAxis._calculateTotals();\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMinY\", undefined);\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMaxY\", undefined);\n\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\tthis.processYSelectionDataItem(this.dataItems[i], vcy, stacked);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (baseAxis === yAxis) {\n\t\t\t\t\txAxis._calculateTotals();\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMinX\", undefined);\n\t\t\t\t\tthis.setPrivateRaw(\"selectionMaxX\", undefined);\n\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\tthis.processXSelectionDataItem(this.dataItems[i], vcx, stacked);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (baseAxis === xAxis) {\n\t\t\t\t\tif (this.get(\"valueYShow\") !== \"valueYWorking\") {\n\t\t\t\t\t\tthis.setPrivateRaw(\"minY\", this.getPrivate(\"selectionMinY\"));\n\t\t\t\t\t\tthis.setPrivateRaw(\"maxY\", this.getPrivate(\"selectionMaxY\"));\n\t\t\t\t\t\tyAxis.markDirtyExtremes();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (baseAxis === yAxis) {\n\t\t\t\t\tif (this.get(\"valueXShow\") !== \"valueXWorking\") {\n\t\t\t\t\t\tthis.setPrivateRaw(\"minX\", this.getPrivate(\"selectionMinX\"));\n\t\t\t\t\t\tthis.setPrivateRaw(\"maxX\", this.getPrivate(\"selectionMaxX\"));\n\t\t\t\t\t\txAxis.markDirtyExtremes();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tif (this.isPrivateDirty(\"selectionMinX\") || this.isPrivateDirty(\"selectionMaxX\")) {\n\t\t\t\t\txAxis.markDirtySelectionExtremes();\n\t\t\t\t}\n\n\t\t\t\tif (this.isPrivateDirty(\"selectionMinY\") || this.isPrivateDirty(\"selectionMaxY\")) {\n\t\t\t\t\tyAxis.markDirtySelectionExtremes();\n\t\t\t\t}\n\n\t\t\t\t// this.updateLegendValue(undefined); flickers while panning\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _makeRangeMask() {\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tlet mainContainerMask = this._mainContainerMask;\n\t\t\tif (mainContainerMask == null) {\n\t\t\t\tmainContainerMask = this.children.push(Graphics.new(this._root, {}));\n\t\t\t\tthis._mainContainerMask = mainContainerMask;\n\n\t\t\t\tmainContainerMask.set(\"draw\", (display, target) => {\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tconst w = this._root.container.width();\n\t\t\t\t\t\tconst h = this._root.container.height();\n\t\t\t\t\t\tdisplay.moveTo(-w, -h);\n\t\t\t\t\t\tdisplay.lineTo(-w, h * 2);\n\t\t\t\t\t\tdisplay.lineTo(w * 2, h * 2);\n\t\t\t\t\t\tdisplay.lineTo(w * 2, -h);\n\t\t\t\t\t\tdisplay.lineTo(-w, -h);\n\n\n\t\t\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\t\t\tconst fill = axisRange.axisDataItem.get(\"axisFill\");\n\n\t\t\t\t\t\t\tif (parent) {\n\t\t\t\t\t\t\t\tif (fill) {\n\t\t\t\t\t\t\t\t\tlet draw = fill.get(\"draw\");\n\t\t\t\t\t\t\t\t\tif (draw) {\n\t\t\t\t\t\t\t\t\t\tdraw(display, target);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tthis.mainContainer._display.mask = mainContainerMask!._display;\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tmainContainerMask.markDirty();\n\t\t\tmainContainerMask._markDirtyKey(\"fill\");\n\t\t}\n\t\telse {\n\t\t\tthis.mainContainer._display.mask = null;\n\t\t}\n\t}\n\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\t// save for performance\n\t\tthis._x = this.x();\n\t\tthis._y = this.y();\n\t\tthis._makeRangeMask();\n\t}\n\n\tprotected _stack() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst seriesIndex = chart.series.indexOf(this);\n\n\t\t\tthis._couldStackTo = [];\n\n\t\t\tif (seriesIndex > 0) {\n\t\t\t\tlet series: XYSeries;\n\n\t\t\t\tfor (let i = seriesIndex - 1; i >= 0; i--) {\n\t\t\t\t\tseries = chart.series.getIndex(i)!;\n\t\t\t\t\tif (series.get(\"xAxis\") === this.get(\"xAxis\") && series.get(\"yAxis\") === this.get(\"yAxis\") && series.className === this.className) {\n\t\t\t\t\t\tthis._couldStackTo.push(series);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._stackDataItems();\n\t\t}\n\t}\n\n\tprotected _unstack() {\n\t\t$object.each(this._reallyStackedTo, (_key, value) => {\n\t\t\tdelete (value._stackedSeries[this.uid]);\n\t\t})\n\n\t\tthis._reallyStackedTo = {};\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tdataItem.setRaw(\"stackToItemY\", undefined);\n\t\t\tdataItem.setRaw(\"stackToItemX\", undefined);\n\t\t})\n\t}\n\n\tprotected _stackDataItems() {\n\t\t// this works only with the same number of data @todo: search by date/category?\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\tlet field: \"valueX\" | \"valueY\";\n\t\tlet stackToItemKey: \"stackToItemX\" | \"stackToItemY\";\n\t\tif (baseAxis === xAxis) {\n\t\t\tfield = \"valueY\";\n\t\t\tstackToItemKey = \"stackToItemY\";\n\t\t}\n\t\telse if (baseAxis === yAxis) {\n\t\t\tfield = \"valueX\";\n\t\t\tstackToItemKey = \"stackToItemX\";\n\t\t}\n\n\t\tlet len = this._couldStackTo.length;\n\t\tlet index = 0;\n\t\tconst stackToNegative = this.get(\"stackToNegative\");\n\n\t\tthis._reallyStackedTo = {};\n\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tfor (let s = 0; s < len; s++) {\n\t\t\t\tlet stackToSeries = this._couldStackTo[s];\n\t\t\t\tlet stackToItem = stackToSeries.dataItems[index];\n\t\t\t\tlet value = dataItem.get(field);\n\t\t\t\tlet stackValue = stackToItem.get(field);\n\n\t\t\t\tif (stackToItem) {\n\t\t\t\t\tif (stackToNegative) {\n\t\t\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\t\t\tif ($type.isNumber(stackValue)) {\n\t\t\t\t\t\t\t\tif (value >= 0 && stackValue >= 0) {\n\t\t\t\t\t\t\t\t\tdataItem.setRaw(stackToItemKey, stackToItem);\n\t\t\t\t\t\t\t\t\tthis._reallyStackedTo[stackToSeries.uid] = stackToSeries;\n\t\t\t\t\t\t\t\t\tstackToSeries._stackedSeries[this.uid] = this;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (value < 0 && stackValue < 0) {\n\t\t\t\t\t\t\t\t\tdataItem.setRaw(stackToItemKey, stackToItem);\n\t\t\t\t\t\t\t\t\tthis._reallyStackedTo[stackToSeries.uid] = stackToSeries;\n\t\t\t\t\t\t\t\t\tstackToSeries._stackedSeries[this.uid] = this;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif ($type.isNumber(value) && $type.isNumber(stackValue)) {\n\t\t\t\t\t\t\tdataItem.setRaw(stackToItemKey, stackToItem);\n\t\t\t\t\t\t\tthis._reallyStackedTo[stackToSeries.uid] = stackToSeries;\n\t\t\t\t\t\t\tstackToSeries._stackedSeries[this.uid] = this;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tindex++;\n\t\t})\n\t}\n\n\tprotected processXSelectionDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, vcx: number, stacked: boolean) {\n\t\t$array.each(this.__valueXShowFields, (key) => {\n\t\t\tlet value = dataItem.get(<any>key);\n\t\t\tif (value != null) {\n\t\t\t\tif (stacked) {\n\t\t\t\t\tvalue += this.getStackedXValueWorking(dataItem, key);\n\t\t\t\t}\n\n\t\t\t\tthis._min(\"selectionMinX\", value);\n\t\t\t\tthis._max(\"selectionMaxX\", value * vcx);\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected processYSelectionDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, vcy: number, stacked: boolean) {\n\t\t$array.each(this.__valueYShowFields, (key) => {\n\n\t\t\tlet value = dataItem.get(<any>key);\n\t\t\tif (value != null) {\n\t\t\t\tif (stacked) {\n\t\t\t\t\tvalue += this.getStackedYValueWorking(dataItem, key);\n\t\t\t\t}\n\n\t\t\t\tthis._min(\"selectionMinY\", value);\n\t\t\t\tthis._max(\"selectionMaxY\", value * vcy);\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedYValueWorking(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemY\");\n\n\t\tif (stackToItem) {\n\t\t\tconst stackedToSeries = stackToItem.component as XYSeries;\n\n\t\t\treturn stackToItem.get(key as any, 0) * stackedToSeries.get(\"vcy\", 1) + this.getStackedYValueWorking(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedXValueWorking(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemX\");\n\n\t\tif (stackToItem) {\n\t\t\tconst stackedToSeries = stackToItem.component as XYSeries;\n\t\t\treturn stackToItem.get(key as any, 0) * stackedToSeries.get(\"vcx\", 1) + this.getStackedXValueWorking(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedYValue(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemY\");\n\n\t\tif (stackToItem) {\n\t\t\treturn stackToItem.get(key as any, 0) + this.getStackedYValue(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getStackedXValue(dataItem: DataItem<IXYSeriesDataItem>, key: string): number {\n\t\tconst stackToItem = dataItem.get(\"stackToItemX\");\n\n\t\tif (stackToItem) {\n\t\t\treturn stackToItem.get(key as any, 0) + this.getStackedXValue(stackToItem, key);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tthis.updateLegendMarker();\n\t}\n\n\tpublic _markDirtyAxes() {\n\t\tthis._axesDirty = true;\n\t\tthis.markDirty();\n\t}\n\n\tpublic _markDataSetDirty() {\n\t\tthis._afterDataChange();\n\t\tthis._valuesDirty = true;\n\t\tthis._dataProcessed = false;\n\t\tthis._aggregatesCalculated = false;\n\t\tthis.markDirty();\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._axesDirty = false;\n\t\tthis._selectionProcessed = false;\n\t\tthis._stackDirty = false;\n\t\tthis._dataProcessed = false;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tlet sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tlet dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tlet locationX = bullet.get(\"locationX\", dataItem.get(\"locationX\", 0.5));\n\t\t\tlet locationY = bullet.get(\"locationY\", dataItem.get(\"locationY\", 0.5));\n\n\t\t\tlet xAxis = this.get(\"xAxis\");\n\t\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\t\tconst positionX = xAxis.getDataItemPositionX(dataItem, this._xField, locationX, this.get(\"vcx\", 1));\n\t\t\tconst positionY = yAxis.getDataItemPositionY(dataItem, this._yField, locationY, this.get(\"vcy\", 1))\n\n\t\t\tlet point = this.getPoint(positionX, positionY);\n\n\t\t\tlet left = dataItem.get(\"left\", point.x);\n\t\t\tlet right = dataItem.get(\"right\", point.x);\n\t\t\tlet top = dataItem.get(\"top\", point.y);\n\t\t\tlet bottom = dataItem.get(\"bottom\", point.y);\n\n\t\t\tif (this._shouldShowBullet(positionX, positionY)) {\n\t\t\t\tif (!bullet.getPrivate(\"hidden\")) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\n\t\t\t\tlet w = right - left;\n\t\t\t\tlet h = bottom - top;\n\n\t\t\t\tif (sprite.isType(\"Label\")) {\n\t\t\t\t\tsprite.set(\"maxWidth\", Math.abs(w));\n\t\t\t\t\tsprite.set(\"maxHeight\", Math.abs(h));\n\t\t\t\t}\n\n\t\t\t\tlet x = left + w * locationX;\n\t\t\t\tlet y = bottom - h * locationY;\n\n\t\t\t\tsprite.set(\"x\", x);\n\t\t\t\tsprite.set(\"y\", y);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _shouldShowBullet(_positionX: number, _positionY: number): boolean {\n\t\treturn this._showBullets;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic setDataSet(id: string) {\n\t\tif (this._dataSets[id]) {\n\t\t\tthis._handleDataSetChange();\n\t\t\tthis._dataItems = this._dataSets[id];\n\t\t\tthis._markDataSetDirty();\n\t\t\tthis._dataSetId = id;\n\t\t}\n\t}\n\n\tprotected _handleDataSetChange() {\n\t\tif (this.bullets.length > 0) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet bullets = dataItem.bullets;\n\t\t\t\tif (bullets) {\n\t\t\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\t\t\tlet sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.setPrivate(\"visible\", false);\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}\n\n\t/**\n\t * Shows hidden series.\n\t *\n\t * @param duration Duration of animation in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async show(duration?: number): Promise<void> {\n\t\tthis._fixVC();\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.show(duration).then(() => {\n\t\t\tthis._isShowing = false;\n\t\t\tlet xAxis = this.get(\"xAxis\");\n\t\t\tlet yAxis = this.get(\"yAxis\");\n\t\t\tlet baseAxis = this.get(\"baseAxis\");\n\t\t\tif (yAxis !== baseAxis) {\n\t\t\t\tyAxis.markDirtySelectionExtremes();\n\t\t\t}\n\t\t\tif (xAxis !== baseAxis) {\n\t\t\t\txAxis.markDirtySelectionExtremes();\n\t\t\t}\n\t\t}));\n\t\tpromises.push(this.bulletsContainer.show(duration));\n\t\tpromises.push(this._sequencedShowHide(true, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series.\n\t *\n\t * @param duration Duration of animation in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async hide(duration?: number): Promise<void> {\n\t\tthis._fixVC();\n\t\tlet promises: Promise<any>[] = [];\n\t\tpromises.push(super.hide(duration).then(() => {\n\t\t\tthis._isHiding = false;\n\t\t}));\n\t\tpromises.push(this.bulletsContainer.hide(duration));\n\t\tpromises.push(this._sequencedShowHide(false, duration));\n\t\tawait Promise.all(promises);\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\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\t$array.each(this._valueFields, (key) => {\n\t\t\tpromises.push(dataItem.animate({ key: key + \"Working\" as any, to: dataItem.get(key as any), duration: duration!, easing: easing }).waitForStop());\n\t\t})\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\");\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tif (baseAxis === xAxis || !baseAxis) {\n\n\t\t\t$array.each(this._valueYFields, (key) => {\n\t\t\t\tlet min = yAxis.getPrivate(\"min\");\n\t\t\t\tlet baseValue = yAxis.baseValue();\n\t\t\t\tif ($type.isNumber(min) && min > baseValue) {\n\t\t\t\t\tbaseValue = min;\n\t\t\t\t}\n\t\t\t\tif (stacked) {\n\t\t\t\t\tbaseValue = 0;\n\t\t\t\t}\n\t\t\t\tpromises.push(dataItem.animate({ key: key + \"Working\" as any, to: baseValue, duration: duration!, easing: easing }).waitForStop());\n\t\t\t})\n\t\t}\n\t\tif (baseAxis === yAxis || !baseAxis) {\n\n\t\t\tlet min = xAxis.getPrivate(\"min\");\n\t\t\tlet baseValue = xAxis.baseValue();\n\t\t\tif ($type.isNumber(min) && min > baseValue) {\n\t\t\t\tbaseValue = min;\n\t\t\t}\n\t\t\tif (stacked) {\n\t\t\t\tbaseValue = 0;\n\t\t\t}\n\n\t\t\t$array.each(this._valueXFields, (key) => {\n\t\t\t\tpromises.push(dataItem.animate({ key: key + \"Working\" as any, to: baseValue, duration: duration!, easing: easing }).waitForStop());\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tpublic _markDirtyStack() {\n\t\tthis._stackDirty = true;\n\t\tthis.markDirty();\n\t\tthis._markStakedDirtyStack();\n\t}\n\n\tprotected _markStakedDirtyStack() {\n\t\tconst stackedSeries = this._stackedSeries;\n\t\tif (stackedSeries) {\n\n\t\t\t$object.each(stackedSeries, (_key, value) => {\n\t\t\t\tvalue._markDirtyStack();\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tif (this._skipped) {\n\t\t\tthis._markDirtyAxes();\n\t\t\tthis._skipped = false;\n\t\t}\n\t}\n\n\t/**\n\t * Shows a tooltip for specific data item.\n\t *\n\t * @param dataItem Data item\n\t */\n\tpublic showDataItemTooltip(dataItem: DataItem<this[\"_dataItemSettings\"]> | undefined) {\n\t\tthis.updateLegendMarker(dataItem);\n\t\tthis.updateLegendValue(dataItem);\n\n\t\tif (this.get(\"tooltip\")) {\n\t\t\tif (!this.isHidden()) {\n\t\t\t\tconst tooltip = this.get(\"tooltip\")!;\n\t\t\t\tif (tooltip) {\n\t\t\t\t\ttooltip._setDataItem(dataItem);\n\n\t\t\t\t\tif (dataItem) {\n\t\t\t\t\t\tlet locationX = this.get(\"locationX\", 0);\n\t\t\t\t\t\tlet locationY = this.get(\"locationY\", 1);\n\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"locationX\", locationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"locationY\", locationY);\n\n\t\t\t\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\t\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\t\t\t\tconst vcx = this.get(\"vcx\", 1);\n\t\t\t\t\t\tconst vcy = this.get(\"vcy\", 1);\n\n\t\t\t\t\t\tconst xPos = xAxis.getDataItemPositionX(dataItem, this._tooltipFieldX!, this._aLocationX0 + (this._aLocationX1 - this._aLocationX0) * itemLocationX, vcx);\n\t\t\t\t\t\tconst yPos = yAxis.getDataItemPositionY(dataItem, this._tooltipFieldY!, this._aLocationY0 + (this._aLocationY1 - this._aLocationY0) * itemLocationY, vcy);\n\n\t\t\t\t\t\tconst point = this.getPoint(xPos, yPos);\n\n\t\t\t\t\t\tlet show = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (dataItem.get(field as any) == null) {\n\t\t\t\t\t\t\t\tshow = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tif (show) {\n\t\t\t\t\t\t\tconst chart = this.chart;\n\t\t\t\t\t\t\tif (chart && chart.inPlot(point)) {\n\t\t\t\t\t\t\t\ttooltip.label.text.markDirtyText();\n\t\t\t\t\t\t\t\ttooltip.set(\"tooltipTarget\", this._getTooltipTarget(dataItem));\n\t\t\t\t\t\t\t\ttooltip.set(\"pointTo\", this._display.toGlobal({ x: point.x, y: point.y }));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\ttooltip._setDataItem(undefined);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\ttooltip._setDataItem(undefined);\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\telse {\n\t\t\t\tthis.hideTooltip();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _getTooltipTarget(dataItem: DataItem<this[\"_dataItemSettings\"]>): Sprite {\n\t\tif (this.get(\"seriesTooltipTarget\") == \"bullet\") {\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif (bullets && bullets.length > 0) {\n\t\t\t\tconst bullet = bullets[0];\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\treturn sprite;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendValue(dataItem: DataItem<this[\"_dataItemSettings\"]> | undefined) {\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\n\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\tif (label) {\n\t\t\t\tlet txt = \"\";\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendLabelText\", label.get(\"text\", this.get(\"name\", \"\")));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlabel._setDataItem(this._emptyDataItem);\n\t\t\t\t\ttxt = this.get(\"legendRangeLabelText\", this.get(\"legendLabelText\", label.get(\"text\", this.get(\"name\", \"\"))));\n\t\t\t\t}\n\n\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t}\n\n\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\tif (valueLabel) {\n\t\t\t\tlet txt = \"\";\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendValueText\", valueLabel.get(\"text\", \"\"));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvalueLabel._setDataItem(this._emptyDataItem);\n\t\t\t\t\ttxt = this.get(\"legendRangeValueText\", valueLabel.get(\"text\", \"\"));\n\t\t\t\t}\n\n\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _getItemReaderLabel(): string {\n\t\tlet text = \"X: {\" + this._xField;\n\t\tif (this.get(\"xAxis\").isType<DateAxis<any>>(\"DateAxis\")) {\n\t\t\ttext += \".formatDate()\";\n\t\t}\n\t\ttext += \"}; Y: {\" + this._yField;\n\t\tif (this.get(\"yAxis\").isType<DateAxis<any>>(\"DateAxis\")) {\n\t\t\ttext += \".formatDate()\";\n\t\t}\n\t\ttext += \"}\";\n\t\treturn text;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getPoint(positionX: number, positionY: number): IPoint {\n\t\tlet x = this.get(\"xAxis\").get(\"renderer\").positionToCoordinate(positionX);\n\t\tlet y = this.get(\"yAxis\").get(\"renderer\").positionToCoordinate(positionY);\n\n\t\treturn { x: x, y: y };\n\t}\n\n\tprotected _shouldInclude(_position: number): boolean {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic handleCursorHide() {\n\t\tthis.hideTooltip();\n\t\tthis.updateLegendValue(undefined);\n\t\tthis.updateLegendMarker(undefined);\n\t}\n\n\tpublic _afterDataChange() {\n\t\tsuper._afterDataChange();\n\t\tthis.resetExtremes();\n\t}\n\n\n\t// todo description\n\tpublic resetExtremes() {\n\t\tthis.setPrivate(\"selectionMinX\", undefined);\n\t\tthis.setPrivate(\"selectionMaxX\", undefined);\n\t\tthis.setPrivate(\"selectionMinY\", undefined);\n\t\tthis.setPrivate(\"selectionMaxY\", undefined);\n\n\t\tthis.setPrivate(\"minX\", undefined);\n\t\tthis.setPrivate(\"minY\", undefined);\n\t\tthis.setPrivate(\"maxX\", undefined);\n\t\tthis.setPrivate(\"maxY\", undefined);\n\t}\n\n\t/**\n\t * Creates and returns an axis range object.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t * @param axisDataItem Axis data item\n\t * @return Axis range\n\t */\n\tpublic createAxisRange(axisDataItem: DataItem<IAxisDataItem>): this[\"_axisRangeType\"] {\n\t\treturn this.axisRanges.push({\n\t\t\taxisDataItem: axisDataItem\n\t\t})\n\t}\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Component.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Component.ts"],"names":[],"mappings":"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"}
|
|
@@ -313,7 +313,11 @@ var Component = /** @class */ (function (_super) {
|
|
|
313
313
|
var dataItem = dataItems[change.index];
|
|
314
314
|
dataItem.dispose();
|
|
315
315
|
dataItems.splice(change.index, 1);
|
|
316
|
-
|
|
316
|
+
}
|
|
317
|
+
else if (change.type === "moveIndex") {
|
|
318
|
+
var dataItem = dataItems[change.oldIndex];
|
|
319
|
+
dataItems.splice(change.oldIndex, 1);
|
|
320
|
+
dataItems.splice(change.newIndex, 0, dataItem);
|
|
317
321
|
}
|
|
318
322
|
else {
|
|
319
323
|
throw new Error("Unknown IStreamEvent type");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Settings } from \"../util/Entity\";\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"./Container\";\nimport { ListData } from \"../util/Data\";\nimport * as $array from \"../util/Array\";\nimport * as $object from \"../util/Object\";\nimport type * as $ease from \"../util/Ease\";\nimport type { Bullet } from \"./Bullet\";\n\n/**\n * A base element that holds data bit (data item) for any [[Component]].\n */\nexport class DataItem<P extends IComponentDataItem> extends Settings {\n\tdeclare public _settings: P;\n\n\t/**\n\t * A data item's owener [[Component]].\n\t */\n\tpublic component: Component;\n\n\t/**\n\t * A reference to actual item in source data this item is based on.\n\t */\n\tpublic dataContext: unknown;\n\n\t/**\n\t * @todo requires description\n\t */\n\tpublic bullets: Array<Bullet> | undefined;\n\n\t/**\n\t * A set of \"open\" values.\n\t */\n\tpublic open: { [index: string]: any } | undefined;\n\n\t/**\n\t * A set of \"close\" values.\n\t */\n\tpublic close: { [index: string]: any } | undefined;\n\n\tconstructor(component: Component, dataContext: unknown, settings: P) {\n\t\tsuper(settings);\n\n\t\tthis.dataContext = dataContext;\n\t\tthis.component = component;\n\t\tthis._settings.visible = true;\n\t\tthis._checkDirty();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirty(): void {\n\t\tthis.component._markDirtyValues(this);\n\t}\n\n\tprotected _startAnimation(): void {\n\t\tthis.component._root._addAnimation(this);\n\t}\n\n\tprotected _animationTime(): number | null {\n\t\treturn this.component._root.animationTime;\n\t}\n\n\tprotected _dispose() {\n\t\tif (this.component) {\n\t\t\tthis.component.disposeDataItem(this);\n\t\t}\n\t\tsuper._dispose();\n\t}\n\n\t/**\n\t * Shows a data item that's currently hidden.\n\t */\n\tpublic show(duration?: number) {\n\t\tthis.setRaw(\"visible\", true);\n\t\tif (this.component) {\n\t\t\tthis.component.showDataItem(this, duration);\n\t\t}\n\t}\n\n\t/**\n\t * Hides a data item that's currently visible.\n\t */\n\tpublic hide(duration?: number) {\n\t\tthis.setRaw(\"visible\", false);\n\t\tif (this.component) {\n\t\t\tthis.component.hideDataItem(this, duration);\n\t\t}\n\t}\n\n\tpublic isHidden() {\n\t\treturn !this.get(\"visible\");\n\t}\n}\n\n\nexport interface IComponentDataItem {\n\tvisible?: boolean;\n}\n\nexport interface IComponentSettings extends IContainerSettings {\n\n\t/**\n\t * A duration of the animation from one setting value to another, in\n\t * milliseconds.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animating_data_values} for more info\n\t */\n\tinterpolationDuration?: number;\n\n\t/**\n\t * Easing function to use for cross setting value animations.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\n\t */\n\tinterpolationEasing?: $ease.Easing;\n\n}\n\nexport interface IComponentPrivate extends IContainerPrivate {\n}\n\nexport interface IComponentEvents extends IContainerEvents {\n\tdatavalidated: {}\n}\n\n/**\n * A base class for elements that make use of data.\n */\nexport abstract class Component extends Container {\n\tpublic static className: string = \"Component\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Component.className]);\n\n\tdeclare public _settings: IComponentSettings;\n\tdeclare public _privateSettings: IComponentPrivate;\n\tdeclare public _dataItemSettings: IComponentDataItem;\n\tdeclare public _events: IComponentEvents;\n\n\tprotected _data: ListData<unknown> = new ListData();\n\n\tprotected _dataItems: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\n\tpublic _mainDataItems = this._dataItems;\n\n\tprotected valueFields: Array<string> = [];\n\tprotected fields: Array<string> = [\"id\"];\n\n\tprotected _valueFields!: Array<string>;\n\tprotected _valueFieldsF!: { [index: string]: { fieldKey: string, workingKey: string } };\n\n\tprotected _fields!: Array<string>;\n\tprotected _fieldsF!: { [index: string]: string };\n\n\tpublic _valuesDirty: boolean = false;\n\n\tprotected _dataChanged: boolean = false;\n\n\tprotected _dataGrouped = false;\t\n\n\t/**\n\t * Indicates if the component has already been initialized.\n\t */\n\tpublic inited: boolean = false;\n\n\t/**\n\t * Component's data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/data/} for more info\n\t */\n\tpublic set data(data: ListData<unknown>) {\n\t\tdata.incrementRef();\n\t\tthis._data.decrementRef();\n\t\tthis._data = data;\n\t}\n\n\t/**\n\t * @return Data\n\t */\n\tpublic get data(): ListData<unknown> {\n\t\treturn this._data;\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\tthis._data.decrementRef();\n\t}\n\n\tprotected _onDataClear() {\n\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._data.incrementRef();\n\t\tthis._updateFields();\n\n\t\tthis._disposers.push(this.data.events.onAll((change) => {\n\t\t\tconst dataItems = this._mainDataItems;\n\t\t\tthis._markDirtyValues();\n\t\t\tthis._markDirtyGroup();\n\t\t\tthis._dataChanged = true;\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(dataItems, (dataItem) => {\n\t\t\t\t\tdataItem.dispose();\n\t\t\t\t});\n\n\t\t\t\tdataItems.length = 0;\n\t\t\t\tthis._onDataClear();\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tconst dataItem = new DataItem(this, change.newValue, this._makeDataItem(change.newValue));\n\t\t\t\tdataItems.push(dataItem);\n\t\t\t\tthis.processDataItem(dataItem);\n\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tconst dataItem = dataItems[change.index];\n\t\t\t\tconst properties = this._makeDataItem(change.newValue);\n\n\t\t\t\t$object.keys(properties).forEach((key) => {\n\t\t\t\t\tdataItem.animate({\n\t\t\t\t\t\tkey: key,\n\t\t\t\t\t\tto: properties[key],\n\t\t\t\t\t\tduration: this.get(\"interpolationDuration\", 0),\n\t\t\t\t\t\teasing: this.get(\"interpolationEasing\"),\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tdataItem.dataContext = change.newValue;\n\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tconst dataItem = new DataItem(this, change.newValue, this._makeDataItem(change.newValue));\n\t\t\t\tdataItems.splice(change.index, 0, dataItem);\n\t\t\t\tthis.processDataItem(dataItem);\n\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tconst dataItem = dataItems[change.index];\n\t\t\t\tdataItem.dispose();\n\t\t\t\tdataItems.splice(change.index, 1);\n\t\t\t\tthis._markDirtyValues();\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IStreamEvent type\");\n\t\t\t}\n\n\t\t\tthis._afterDataChange();\n\t\t}));\n\t}\n\n\tprotected _updateFields() {\n\t\tif (this.valueFields) {\n\t\t\tthis._valueFields = [];\n\t\t\tthis._valueFieldsF = {};\n\n\t\t\t$array.each(this.valueFields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._valueFields.push(<any>key);\n\t\t\t\t\tthis._valueFieldsF[key as string] = { fieldKey: key + \"Field\", workingKey: key + \"Working\" };\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.fields) {\n\t\t\tthis._fields = [];\n\t\t\tthis._fieldsF = {};\n\n\t\t\t$array.each(this.fields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._fields.push(<any>key);\n\t\t\t\t\tthis._fieldsF[key as string] = key + \"Field\";\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * A list of component's data items.\n\t *\n\t * @return Data items\n\t */\n\tpublic get dataItems(): Array<DataItem<this[\"_dataItemSettings\"]>> {\n\t\treturn this._dataItems;\n\t}\n\n\tprotected processDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) { }\n\n\n\tpublic _makeDataItem(data: unknown): this[\"_dataItemSettings\"] {\n\t\t//const output: this[\"_dataItemSettings\"] = {};\n\t\tconst output: any = {}; // temporary to solve error\n\t\tif (this._valueFields) {\n\t\t\t$array.each(this._valueFields, (key) => {\n\t\t\t\tconst field = this.get(<any>(this._valueFieldsF[key].fieldKey));\n\t\t\t\toutput[key] = (data as any)[field];\n\n\t\t\t\toutput[this._valueFieldsF[key].workingKey] = output[key];\n\t\t\t});\n\t\t}\n\t\tif (this._fields) {\n\t\t\t$array.each(this._fields, (key) => {\n\t\t\t\tconst field = this.get(<any>(this._fieldsF[key]));\n\t\t\t\toutput[key] = (data as any)[field];\n\t\t\t});\n\t\t}\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeDataItem(data: this[\"_dataItemSettings\"]): DataItem<this[\"_dataItemSettings\"]> {\n\t\tlet dataItem = new DataItem(this, undefined, data);\n\t\tthis.processDataItem(dataItem);\n\t\treturn dataItem;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic pushDataItem(data: this[\"_dataItemSettings\"]): DataItem<this[\"_dataItemSettings\"]> {\n\t\tconst dataItem = this.makeDataItem(data);\n\t\tthis._mainDataItems.push(dataItem);\n\t\treturn dataItem;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) { }\n\n\t/**\n\t * Shows component'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\tdataItem.set(\"visible\", true);\n\t}\n\n\t/**\n\t * Hides component'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\tdataItem.set(\"visible\", false);\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._valuesDirty = false;\n\t}\n\n\tprotected _afterDataChange() {\n\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tif (this._dataChanged) {\n\t\t\tconst type = \"datavalidated\";\n\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\tthis._dataChanged = false;\n\t\t\t}\n\t\t}\n\n\t\tthis.inited = true;\n\t}\n\n\tpublic _markDirtyValues(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tthis.markDirty();\n\t\tthis._valuesDirty = true;\n\t}\n\n\tpublic _markDirtyGroup() {\t\t\n\t\tthis._dataGrouped = false;\n\t}\t\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtySize() {\n\t\tthis._sizeDirty = true;\n\t\tthis.markDirty();\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Settings } from \"../util/Entity\";\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"./Container\";\nimport { ListData } from \"../util/Data\";\nimport * as $array from \"../util/Array\";\nimport * as $object from \"../util/Object\";\nimport type * as $ease from \"../util/Ease\";\nimport type { Bullet } from \"./Bullet\";\n\n/**\n * A base element that holds data bit (data item) for any [[Component]].\n */\nexport class DataItem<P extends IComponentDataItem> extends Settings {\n\tdeclare public _settings: P;\n\n\t/**\n\t * A data item's owener [[Component]].\n\t */\n\tpublic component: Component;\n\n\t/**\n\t * A reference to actual item in source data this item is based on.\n\t */\n\tpublic dataContext: unknown;\n\n\t/**\n\t * @todo requires description\n\t */\n\tpublic bullets: Array<Bullet> | undefined;\n\n\t/**\n\t * A set of \"open\" values.\n\t */\n\tpublic open: { [index: string]: any } | undefined;\n\n\t/**\n\t * A set of \"close\" values.\n\t */\n\tpublic close: { [index: string]: any } | undefined;\n\n\tconstructor(component: Component, dataContext: unknown, settings: P) {\n\t\tsuper(settings);\n\n\t\tthis.dataContext = dataContext;\n\t\tthis.component = component;\n\t\tthis._settings.visible = true;\n\t\tthis._checkDirty();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirty(): void {\n\t\tthis.component._markDirtyValues(this);\n\t}\n\n\tprotected _startAnimation(): void {\n\t\tthis.component._root._addAnimation(this);\n\t}\n\n\tprotected _animationTime(): number | null {\n\t\treturn this.component._root.animationTime;\n\t}\n\n\tprotected _dispose() {\n\t\tif (this.component) {\n\t\t\tthis.component.disposeDataItem(this);\n\t\t}\n\t\tsuper._dispose();\n\t}\n\n\t/**\n\t * Shows a data item that's currently hidden.\n\t */\n\tpublic show(duration?: number) {\n\t\tthis.setRaw(\"visible\", true);\n\t\tif (this.component) {\n\t\t\tthis.component.showDataItem(this, duration);\n\t\t}\n\t}\n\n\t/**\n\t * Hides a data item that's currently visible.\n\t */\n\tpublic hide(duration?: number) {\n\t\tthis.setRaw(\"visible\", false);\n\t\tif (this.component) {\n\t\t\tthis.component.hideDataItem(this, duration);\n\t\t}\n\t}\n\n\tpublic isHidden() {\n\t\treturn !this.get(\"visible\");\n\t}\n}\n\n\nexport interface IComponentDataItem {\n\tvisible?: boolean;\n}\n\nexport interface IComponentSettings extends IContainerSettings {\n\n\t/**\n\t * A duration of the animation from one setting value to another, in\n\t * milliseconds.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animating_data_values} for more info\n\t */\n\tinterpolationDuration?: number;\n\n\t/**\n\t * Easing function to use for cross setting value animations.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\n\t */\n\tinterpolationEasing?: $ease.Easing;\n\n}\n\nexport interface IComponentPrivate extends IContainerPrivate {\n}\n\nexport interface IComponentEvents extends IContainerEvents {\n\tdatavalidated: {}\n}\n\n/**\n * A base class for elements that make use of data.\n */\nexport abstract class Component extends Container {\n\tpublic static className: string = \"Component\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Component.className]);\n\n\tdeclare public _settings: IComponentSettings;\n\tdeclare public _privateSettings: IComponentPrivate;\n\tdeclare public _dataItemSettings: IComponentDataItem;\n\tdeclare public _events: IComponentEvents;\n\n\tprotected _data: ListData<unknown> = new ListData();\n\n\tprotected _dataItems: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\n\tpublic _mainDataItems = this._dataItems;\n\n\tprotected valueFields: Array<string> = [];\n\tprotected fields: Array<string> = [\"id\"];\n\n\tprotected _valueFields!: Array<string>;\n\tprotected _valueFieldsF!: { [index: string]: { fieldKey: string, workingKey: string } };\n\n\tprotected _fields!: Array<string>;\n\tprotected _fieldsF!: { [index: string]: string };\n\n\tpublic _valuesDirty: boolean = false;\n\n\tprotected _dataChanged: boolean = false;\n\n\tprotected _dataGrouped = false;\n\n\t/**\n\t * Indicates if the component has already been initialized.\n\t */\n\tpublic inited: boolean = false;\n\n\t/**\n\t * Component's data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/data/} for more info\n\t */\n\tpublic set data(data: ListData<unknown>) {\n\t\tdata.incrementRef();\n\t\tthis._data.decrementRef();\n\t\tthis._data = data;\n\t}\n\n\t/**\n\t * @return Data\n\t */\n\tpublic get data(): ListData<unknown> {\n\t\treturn this._data;\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\tthis._data.decrementRef();\n\t}\n\n\tprotected _onDataClear() {\n\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._data.incrementRef();\n\t\tthis._updateFields();\n\n\t\tthis._disposers.push(this.data.events.onAll((change) => {\n\t\t\tconst dataItems = this._mainDataItems;\n\t\t\tthis._markDirtyValues();\n\t\t\tthis._markDirtyGroup();\n\t\t\tthis._dataChanged = true;\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(dataItems, (dataItem) => {\n\t\t\t\t\tdataItem.dispose();\n\t\t\t\t});\n\n\t\t\t\tdataItems.length = 0;\n\t\t\t\tthis._onDataClear();\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tconst dataItem = new DataItem(this, change.newValue, this._makeDataItem(change.newValue));\n\t\t\t\tdataItems.push(dataItem);\n\t\t\t\tthis.processDataItem(dataItem);\n\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tconst dataItem = dataItems[change.index];\n\t\t\t\tconst properties = this._makeDataItem(change.newValue);\n\n\t\t\t\t$object.keys(properties).forEach((key) => {\n\t\t\t\t\tdataItem.animate({\n\t\t\t\t\t\tkey: key,\n\t\t\t\t\t\tto: properties[key],\n\t\t\t\t\t\tduration: this.get(\"interpolationDuration\", 0),\n\t\t\t\t\t\teasing: this.get(\"interpolationEasing\"),\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tdataItem.dataContext = change.newValue;\n\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tconst dataItem = new DataItem(this, change.newValue, this._makeDataItem(change.newValue));\n\t\t\t\tdataItems.splice(change.index, 0, dataItem);\n\t\t\t\tthis.processDataItem(dataItem);\n\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tconst dataItem = dataItems[change.index];\n\t\t\t\tdataItem.dispose();\n\t\t\t\tdataItems.splice(change.index, 1);\n\n\t\t\t} else if (change.type === \"moveIndex\") {\n\t\t\t\tconst dataItem = dataItems[change.oldIndex];\n\t\t\t\tdataItems.splice(change.oldIndex, 1);\n\t\t\t\tdataItems.splice(change.newIndex, 0, dataItem);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IStreamEvent type\");\n\t\t\t}\n\n\t\t\tthis._afterDataChange();\n\t\t}));\n\t}\n\n\tprotected _updateFields() {\n\t\tif (this.valueFields) {\n\t\t\tthis._valueFields = [];\n\t\t\tthis._valueFieldsF = {};\n\n\t\t\t$array.each(this.valueFields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._valueFields.push(<any>key);\n\t\t\t\t\tthis._valueFieldsF[key as string] = { fieldKey: key + \"Field\", workingKey: key + \"Working\" };\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.fields) {\n\t\t\tthis._fields = [];\n\t\t\tthis._fieldsF = {};\n\n\t\t\t$array.each(this.fields as Array<keyof this[\"_settings\"]>, (key) => {\n\t\t\t\tconst field = this.get(<any>(key + \"Field\"));\n\t\t\t\tif (field) {\n\t\t\t\t\tthis._fields.push(<any>key);\n\t\t\t\t\tthis._fieldsF[key as string] = key + \"Field\";\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * A list of component's data items.\n\t *\n\t * @return Data items\n\t */\n\tpublic get dataItems(): Array<DataItem<this[\"_dataItemSettings\"]>> {\n\t\treturn this._dataItems;\n\t}\n\n\tprotected processDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) { }\n\n\n\tpublic _makeDataItem(data: unknown): this[\"_dataItemSettings\"] {\n\t\t//const output: this[\"_dataItemSettings\"] = {};\n\t\tconst output: any = {}; // temporary to solve error\n\t\tif (this._valueFields) {\n\t\t\t$array.each(this._valueFields, (key) => {\n\t\t\t\tconst field = this.get(<any>(this._valueFieldsF[key].fieldKey));\n\t\t\t\toutput[key] = (data as any)[field];\n\n\t\t\t\toutput[this._valueFieldsF[key].workingKey] = output[key];\n\t\t\t});\n\t\t}\n\t\tif (this._fields) {\n\t\t\t$array.each(this._fields, (key) => {\n\t\t\t\tconst field = this.get(<any>(this._fieldsF[key]));\n\t\t\t\toutput[key] = (data as any)[field];\n\t\t\t});\n\t\t}\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeDataItem(data: this[\"_dataItemSettings\"]): DataItem<this[\"_dataItemSettings\"]> {\n\t\tlet dataItem = new DataItem(this, undefined, data);\n\t\tthis.processDataItem(dataItem);\n\t\treturn dataItem;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic pushDataItem(data: this[\"_dataItemSettings\"]): DataItem<this[\"_dataItemSettings\"]> {\n\t\tconst dataItem = this.makeDataItem(data);\n\t\tthis._mainDataItems.push(dataItem);\n\t\treturn dataItem;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) { }\n\n\t/**\n\t * Shows component'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\tdataItem.set(\"visible\", true);\n\t}\n\n\t/**\n\t * Hides component'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\tdataItem.set(\"visible\", false);\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._valuesDirty = false;\n\t}\n\n\tprotected _afterDataChange() {\n\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tif (this._dataChanged) {\n\t\t\tconst type = \"datavalidated\";\n\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\tthis._dataChanged = false;\n\t\t\t}\n\t\t}\n\n\t\tthis.inited = true;\n\t}\n\n\tpublic _markDirtyValues(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tthis.markDirty();\n\t\tthis._valuesDirty = true;\n\t}\n\n\tpublic _markDirtyGroup() {\n\t\tthis._dataGrouped = false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtySize() {\n\t\tthis._sizeDirty = true;\n\t\tthis.markDirty();\n\t}\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scrollbar.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Scrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAE7D;;OAEG;IACH,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IAEvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;CAEpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAE3D;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAEpD;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IAEzD;;OAEG;IACH,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAE7C;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,SAAS;IAEhC,oBAAoB;IASZ,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE7F;;;OAGG;IACI,KAAK,EAAE,gBAAgB,CAAqB;IAEnD;;OAEG;IACI,SAAS,EAAE,MAAM,CAAsB;IAE9C;;OAEG;IACI,OAAO,EAAE,MAAM,CAAsB;IAE5C,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,WAAW,IAAI,MAAM;IAQ/B,SAAS,CAAC,UAAU,IAAI,gBAAgB;IAMxC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAWpD,SAAS,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"Scrollbar.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Scrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAE7D;;OAEG;IACH,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IAEvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;CAEpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAE3D;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAEpD;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IAEzD;;OAEG;IACH,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAE7C;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,SAAS;IAEhC,oBAAoB;IASZ,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE7F;;;OAGG;IACI,KAAK,EAAE,gBAAgB,CAAqB;IAEnD;;OAEG;IACI,SAAS,EAAE,MAAM,CAAsB;IAE9C;;OAEG;IACI,OAAO,EAAE,MAAM,CAAsB;IAE5C,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,WAAW,IAAI,MAAM;IAQ/B,SAAS,CAAC,UAAU,IAAI,gBAAgB;IAMxC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAWpD,SAAS,CAAC,SAAS;IAgLZ,eAAe;IAQf,QAAQ;IAUf;;OAEG;IACI,WAAW;IA8ClB,SAAS,CAAC,YAAY;IA+DtB,SAAS,CAAC,mBAAmB;CAiB7B"}
|