@amcharts/amcharts5 5.2.6 → 5.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.internal/charts/percent/PercentSeries.d.ts +1 -1
- package/.internal/charts/percent/PercentSeries.js.map +1 -1
- package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
- package/.internal/charts/pie/PieSeries.js +3 -2
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts +1 -0
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +34 -25
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts +6 -2
- package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/SpriteResizer.d.ts +4 -2
- package/.internal/charts/stock/drawing/SpriteResizer.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/SpriteResizer.js.map +1 -1
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts +6 -6
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +1 -1
- package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/Aroon.d.ts +2 -2
- package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
- package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts +2 -2
- package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
- package/.internal/charts/stock/indicators/BollingerBands.d.ts +3 -3
- package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
- package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts +4 -4
- package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.d.ts +17 -12
- package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
- package/.internal/charts/stock/indicators/MACD.d.ts +6 -6
- package/.internal/charts/stock/indicators/MACD.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/MACD.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +2 -2
- package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.d.ts +2 -2
- package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts +4 -4
- package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
- package/.internal/charts/stock/indicators/StochasticOscillator.d.ts +3 -3
- package/.internal/charts/stock/indicators/StochasticOscillator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
- package/.internal/charts/stock/indicators/Volume.d.ts +2 -2
- package/.internal/charts/stock/indicators/Volume.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/Volume.js.map +1 -1
- package/.internal/charts/stock/indicators/WilliamsR.d.ts +4 -4
- package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js +7 -5
- package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js +7 -2
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +1 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts +16 -2
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +29 -4
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/core/Root.d.ts +16 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +139 -6
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +11 -1
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +25 -15
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.d.ts +2 -0
- package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +74 -15
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/render/backend/Renderer.d.ts +1 -0
- package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
- package/.internal/core/render/backend/Renderer.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +2 -2
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/CHANGELOG.md +22 -2
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/json/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/json/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Graphics } from \"../../../core/render/Graphics\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport { CurveFactory, line, area } from \"d3-shape\";\nimport { Template } from \"../../../core/util/Template\";\nimport { ListTemplate } from \"../../../core/util/List\";\nimport { color } from \"../../../core/util/Color\";\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\nimport type { Axis } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IPointOptions {\n}\n\nexport interface ILineSeriesDataItem extends IXYSeriesDataItem {\n}\n\nexport interface ILineSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * If set to `true` the line will connect over \"gaps\" - categories or time\n\t * intervals with no data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Gaps} for more info\n\t * @default true\n\t */\n\tconnect?: boolean;\n\n\t/**\n\t * If there are more than `autoGapCount` base time intervals (e.g. days) with\n\t * no data, the line will break and will display gap.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Auto_gaps_with_dates} for more info\n\t * @default 1.1\n\t */\n\tautoGapCount?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcurveFactory?: CurveFactory;\n}\n\nexport interface ILineSeriesPrivate extends IXYSeriesPrivate {\n}\n\n/**\n * Interface representing a [[LineSeries]] 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 ILineSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list template to use when applying line settings to the line segments covered\n\t * by an axis range.\n\t */\n\tstrokes?: ListTemplate<Graphics>;\n\n\t/**\n\t * A list template to use when applying fill settings to the fill segments covered\n\t * by an axis range.\n\t */\n\tfills?: ListTemplate<Graphics>;\n}\n\n/**\n * Used to plot line and/or area series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/} for more info\n * @important\n */\nexport class LineSeries extends XYSeries {\n\n\tdeclare public _settings: ILineSeriesSettings;\n\tdeclare public _privateSettings: ILineSeriesPrivate;\n\tdeclare public _dataItemSettings: ILineSeriesDataItem;\n\tdeclare public _axisRangeType: ILineSeriesAxisRange;\n\n\tpublic static className: string = \"LineSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([LineSeries.className]);\n\n\tprotected _endIndex!: number;\n\n\tprotected _strokeGenerator = line();\n\tprotected _fillGenerator = area();\n\n\tprotected _legendStroke?: Graphics;\n\tprotected _legendFill?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._fillGenerator.y0(function(p: number[]) {\n\t\t\treturn p[3];\n\t\t});\n\n\t\tthis._fillGenerator.x0(function(p: number[]) {\n\t\t\treturn p[2];\n\t\t});\n\n\t\tthis._fillGenerator.y1(function(p: number[]) {\n\t\t\treturn p[1];\n\t\t});\n\n\t\tthis._fillGenerator.x1(function(p: number[]) {\n\t\t\treturn p[0];\n\t\t});\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeStroke(strokes: ListTemplate<Graphics>): Graphics {\n\t\tconst stroke = this.mainContainer.children.push(strokes.make());\n\t\tstrokes.push(stroke);\n\t\treturn stroke;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all line segments in series.\n\t *\n\t * `strokes.template` can be used to set default settings for all line\n\t * segments, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly strokes: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"])\n\t\t}, [this.strokes.template]),\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeFill(fills: ListTemplate<Graphics>): Graphics {\n\t\tconst fill = this.mainContainer.children.push(fills.make());\n\t\tfills.push(fill);\n\t\treturn fill;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all segment fills in series.\n\t *\n\t * `fills.template` can be used to set default settings for all segment\n\t * fills, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly fills: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"])\n\t\t}, [this.fills.template]),\n\t);\n\n\t// custom set from data\n\tprotected _fillTemplate: Template<Graphics> | undefined;\n\tprotected _strokeTemplate: Template<Graphics> | undefined;\n\n\tpublic _updateChildren() {\n\n\t\tthis._strokeTemplate = undefined;\n\t\tthis._fillTemplate = undefined;\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tthis.strokes.template.set(\"stroke\", stroke);\n\t\t\tconst legendStroke = this._legendStroke;\n\t\t\tif (legendStroke) {\n\t\t\t\tlegendStroke.states.lookup(\"default\")!.set(\"stroke\", stroke);\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tthis.fills.template.set(\"fill\", fill);\n\t\t\tconst legendFill = this._legendFill;\n\t\t\tif (legendFill) {\n\t\t\t\tlegendFill.states.lookup(\"default\")!.set(\"fill\", fill);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"curveFactory\")) {\n\t\t\tconst curveFactory = this.get(\"curveFactory\")!;\n\t\t\tif (curveFactory) {\n\t\t\t\tthis._strokeGenerator.curve(curveFactory);\n\t\t\t\tthis._fillGenerator.curve(curveFactory);\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty || this.isDirty(\"connect\") || this.isDirty(\"curveFactory\")) {\n\n\t\t\t\tthis.fills.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.strokes.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tlet fills = axisRange.fills;\n\t\t\t\t\tif (fills) {\n\t\t\t\t\t\tfills.each((fill) => {\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tlet strokes = axisRange.strokes;\n\t\t\t\t\tif (strokes) {\n\t\t\t\t\t\tstrokes.each((stroke) => {\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet startIndex = this.startIndex();\n\n\t\t\t\tlet strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\t\t\tlet fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\t\t\tlet strokeTemplateFound = true;\n\t\t\t\tlet fillTemplateFound = true;\n\n\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\tstrokeTemplateFound = false;\n\t\t\t\t}\n\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\tfillTemplateFound = false;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\tlet dataContext = dataItem.dataContext as any;\n\t\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\t\tif (dataContext[strokeTemplateField]) {\n\t\t\t\t\t\t\tstrokeTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\t\tif (dataContext[fillTemplateField]) {\n\t\t\t\t\t\t\tfillTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tif (hasValues && strokeTemplateFound && fillTemplateFound) {\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet len = this.dataItems.length;\n\t\t\t\tlet endIndex = this.endIndex();\n\n\t\t\t\tif (endIndex < len) {\n\t\t\t\t\tendIndex++;\n\t\t\t\t\tfor (let i = endIndex; i < len; i++) {\n\t\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tif (hasValues) {\n\t\t\t\t\t\t\tendIndex = i + 1;\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\tif(startIndex > 0){\n\t\t\t\t\tstartIndex--\n\t\t\t\t}\n\n\t\t\t\tthis._endIndex = endIndex;\n\n\t\t\t\tthis._clearGraphics();\n\n\t\t\t\tthis._startSegment(0, startIndex);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\n\t\tsuper._updateChildren();\n\t}\n\n\tprotected _clearGraphics() {\n\t\tthis.strokes.clear();\n\t\tthis.fills.clear();\n\t}\n\n\tprotected _startSegment(segmentIndex: number, dataItemIndex: number) {\n\t\tlet endIndex = this._endIndex;\n\t\tlet currentEndIndex = endIndex;\n\n\t\tconst autoGapCount = this.get(\"autoGapCount\")!;\n\t\tconst connect = this.get(\"connect\");\n\n\t\tconst fill = this.makeFill(this.fills);\n\n\t\tconst fillTemplate = this._fillTemplate;\n\t\tconst originalTemplate = this.fills.template;\n\t\tif (fillTemplate && fillTemplate != originalTemplate) {\n\t\t\tfill.template = fillTemplate;\n\t\t}\n\n\t\tfill.setPrivate(\"visible\", true);\n\n\t\tconst stroke = this.makeStroke(this.strokes);\n\n\t\tconst strokeTemplate = this._strokeTemplate;\n\t\tif (strokeTemplate && strokeTemplate != this.strokes.template) {\n\t\t\tstroke.template = strokeTemplate;\n\t\t}\n\n\t\tstroke.setPrivate(\"visible\", true);\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\t\tlet baseAxis = this.get(\"baseAxis\")!;\n\n\t\tlet vcx = this.get(\"vcx\", 1);\n\t\tlet vcy = this.get(\"vcy\", 1);\n\n\t\tlet xField = this._xField;\n\t\tlet yField = this._yField;\n\n\t\tlet xOpenField = this._xOpenField;\n\t\tlet yOpenField = this._yOpenField;\n\n\t\tconst xOpenFieldValue = this.get(\"openValueXField\");\n\t\tconst yOpenFieldValue = this.get(\"openValueYField\");\n\n\t\tif (!xOpenFieldValue) {\n\t\t\txOpenField = this._xField;\n\t\t}\n\n\t\tif (!yOpenFieldValue) {\n\t\t\tyOpenField = this._yField;\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tconst basePosX = xAxis.basePosition();\n\t\tconst basePosY = yAxis.basePosition();\n\n\t\tlet baseField: string;\n\t\tif (baseAxis === yAxis) {\n\t\t\tbaseField = this._yField;\n\t\t}\n\t\telse {\n\t\t\tbaseField = this._xField;\n\t\t}\n\n\t\tconst segments: Array<Array<Array<number>>> = [];\n\t\tlet points: Array<Array<number>> = [];\n\t\tsegments.push(points);\n\n\t\tconst strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\tconst fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\tlet locationX = this.get(\"locationX\", 0.5);\n\t\tlet locationY = this.get(\"locationY\", 0.5);\n\n\t\tlet openLocationX = this.get(\"openLocationX\", locationX);\n\t\tlet openLocationY = this.get(\"openLocationY\", locationY);\n\n\t\tlet i: number;\n\n\t\tlet fillVisible = this.fills.template.get(\"visible\");\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tfillVisible = true;\n\t\t}\n\n\t\tlet getOpen = false;\n\t\tif (stacked || xOpenFieldValue || yOpenFieldValue) {\n\t\t\tgetOpen = true;\n\t\t}\n\n\t\tconst o = {\n\t\t\tpoints, segments, stacked, getOpen, basePosX, basePosY, fillVisible, xField, yField, xOpenField, yOpenField, vcx, vcy, baseAxis, xAxis, yAxis, locationX, locationY, openLocationX, openLocationY\n\t\t}\n\n\n\t\tfor (i = dataItemIndex; i < currentEndIndex; i++) {\n\t\t\tconst dataItem = this._dataItems[i];\n\n\t\t\tlet valueX = dataItem.get(xField as any);\n\t\t\tlet valueY = dataItem.get(yField as any);\n\n\t\t\tif (valueX == null || valueY == null) {\n\t\t\t\tif (!connect) {\n\t\t\t\t\tpoints = [];\n\t\t\t\t\tsegments.push(points);\n\t\t\t\t\to.points = points;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._getPoints(dataItem, o);\n\t\t\t}\n\n\t\t\tif (strokeTemplateField) {\n\t\t\t\tlet strokeTemplate = (dataItem.dataContext as any)[strokeTemplateField]\n\t\t\t\tif (strokeTemplate) {\n\t\t\t\t\tif (!(strokeTemplate instanceof Template)) {\n\t\t\t\t\t\tstrokeTemplate = Template.new(strokeTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._strokeTemplate = strokeTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tstroke.template = strokeTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fillTemplateField) {\n\t\t\t\tlet fillTemplate = (dataItem.dataContext as any)[fillTemplateField]\n\t\t\t\tif (fillTemplate) {\n\t\t\t\t\tif (!(fillTemplate instanceof Template)) {\n\t\t\t\t\t\tfillTemplate = Template.new(fillTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._fillTemplate = fillTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tfill.template = fillTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!connect) {\n\t\t\t\tlet nextItem = this.dataItems[i + 1];\n\t\t\t\tif (nextItem) {\n\t\t\t\t\tif (baseAxis.shouldGap(dataItem, nextItem, autoGapCount, baseField)) {\n\t\t\t\t\t\tpoints = [];\n\t\t\t\t\t\tsegments.push(points);\n\t\t\t\t\t\to.points = points;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\n\t\tif (i === endIndex) {\n\t\t\tthis._endLine(points, segments[0][0]);\n\t\t}\n\n\t\tif (stroke) {\n\t\t\tthis._drawStroke(stroke, segments);\n\t\t}\n\n\t\tif (fill) {\n\t\t\tthis._drawFill(fill, segments);\n\t\t}\n\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tconst container = axisRange.container;\n\t\t\tconst fills = axisRange.fills!;\n\t\t\tconst fill = this.makeFill(fills);\n\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(fill);\n\t\t\t}\n\n\t\t\tfill.setPrivate(\"visible\", true);\n\t\t\tthis._drawFill(fill, segments);\n\n\t\t\tconst strokes = axisRange.strokes!;\n\t\t\tconst stroke = this.makeStroke(strokes);\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(stroke);\n\t\t\t}\n\n\t\t\tstroke.setPrivate(\"visible\", true);\n\t\t\tthis._drawStroke(stroke, segments);\n\n\t\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t})\n\n\t\tif (currentEndIndex < endIndex) {\n\t\t\tthis._startSegment(segmentIndex + 1, currentEndIndex);\n\t\t}\n\t}\n\n\tprotected _getPoints(dataItem: DataItem<this[\"_dataItemSettings\"]>, o: { points: Array<Array<number>>, segments: number[][][], stacked: boolean | undefined, getOpen: boolean, basePosX: number, basePosY: number, fillVisible: boolean | undefined, xField: string, yField: string, xOpenField: string, yOpenField: string, vcx: number, vcy: number, baseAxis: Axis<AxisRenderer>, xAxis: Axis<AxisRenderer>, yAxis: Axis<AxisRenderer>, locationX: number, locationY: number, openLocationX: number, openLocationY: number }) {\n\t\tlet points = o.points;\n\n\t\tlet itemLocationX = dataItem.get(\"locationX\", o.locationX);\n\t\tlet itemLocationY = dataItem.get(\"locationY\", o.locationY);\n\n\t\tlet xPos = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX, o.vcx);\n\t\tlet yPos = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY, o.vcy);\n\n\t\tif (this._shouldInclude(xPos)) {\n\n\t\t\tconst iPoint = this.getPoint(xPos, yPos);\n\t\t\tconst point = [iPoint.x, iPoint.y];\n\n\t\t\tiPoint.x += this._x;\n\t\t\tiPoint.y += this._y;\n\n\t\t\tdataItem.set(\"point\", iPoint);\n\n\t\t\tif (o.fillVisible) {\n\t\t\t\tlet xPos0: number = xPos;\n\t\t\t\tlet yPos0: number = yPos;\n\n\t\t\t\tif (o.baseAxis === o.xAxis) {\n\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t}\n\t\t\t\telse if (o.baseAxis === o.yAxis) {\n\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t}\n\n\t\t\t\tif (o.getOpen) {\n\t\t\t\t\tlet valueX = dataItem.get(o.xOpenField as any);\n\t\t\t\t\tlet valueY = dataItem.get(o.yOpenField as any);\n\n\t\t\t\t\tif (valueX != null && valueY != null) {\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"openLocationX\", o.openLocationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"openLocationY\", o.openLocationY);\n\n\t\t\t\t\t\tif (o.stacked) {\n\t\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\n\t\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(xPos0)) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.yAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(yPos0)) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.xAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\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\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet closeIPoint = this.getPoint(xPos0, yPos0);\n\n\t\t\t\tpoint[2] = closeIPoint.x;\n\t\t\t\tpoint[3] = closeIPoint.y;\n\t\t\t}\n\n\t\t\tpoints.push(point);\n\t\t}\n\t}\n\n\n\tprotected _endLine(_points: Array<Array<number>>, _firstPoint: Array<number>) {\n\n\t}\n\n\tprotected _drawStroke(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._strokeGenerator.context(display as any);\n\t\t\t\t\tthis._strokeGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _drawFill(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._fillGenerator.context(display as any);\n\t\t\t\t\tthis._fillGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tsuper._processAxisRange(axisRange);\n\t\taxisRange.fills = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.fills!.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"]),\n\t\t\t}, [this.fills.template, axisRange.fills!.template]),\n\t\t);\n\n\t\taxisRange.strokes = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.strokes!.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"]),\n\t\t\t}, [this.strokes.template, axisRange.strokes!.template])\n\t\t);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\t\t\tconst marker = legendDataItem.get(\"marker\");\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\tif (markerRectangle) {\n\t\t\t\tmarkerRectangle.setPrivate(\"visible\", false);\n\t\t\t}\n\n\t\t\tmarker.set(\"background\", Rectangle.new(marker._root, {fillOpacity:0, fill:color(0x000000)}))\n\n\t\t\tconst legendStroke = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"stroke\"], interactive:false\n\t\t\t}, [this.strokes.template]));\n\n\t\t\tthis._legendStroke = legendStroke;\n\n\t\t\tconst legendFill = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"fill\"]\n\t\t\t}, [this.fills.template]));\n\n\t\t\tthis._legendFill = legendFill;\n\n\t\t\tconst disabledColor = this._root.interfaceColors.get(\"disabled\");\n\n\t\t\tlegendStroke.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\tlegendFill.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\n\t\t\tif (this.bullets.length > 0) {\n\t\t\t\tconst bulletFunction = this.bullets.getIndex(0);\n\t\t\t\tif (bulletFunction) {\n\t\t\t\t\tconst bullet = bulletFunction(marker._root, this, new DataItem(this, {}, {}));\n\t\t\t\t\tif (bullet) {\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite instanceof Graphics) {\n\t\t\t\t\t\t\tsprite.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.set(\"tooltipText\", undefined);\n\n\t\t\t\t\t\t\tmarker.children.push(sprite);\n\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"LineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Axis } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\n\nimport { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Graphics } from \"../../../core/render/Graphics\";\nimport { CurveFactory, line, area } from \"d3-shape\";\nimport { Template } from \"../../../core/util/Template\";\nimport { ListTemplate } from \"../../../core/util/List\";\nimport { color } from \"../../../core/util/Color\";\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\n\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IPointOptions {\n}\n\nexport interface ILineSeriesDataItem extends IXYSeriesDataItem {\n}\n\nexport interface ILineSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * If set to `true` the line will connect over \"gaps\" - categories or time\n\t * intervals with no data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Gaps} for more info\n\t * @default true\n\t */\n\tconnect?: boolean;\n\n\t/**\n\t * If there are more than `autoGapCount` base time intervals (e.g. days) with\n\t * no data, the line will break and will display gap.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Auto_gaps_with_dates} for more info\n\t * @default 1.1\n\t */\n\tautoGapCount?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcurveFactory?: CurveFactory;\n\n\t/**\n\t * Allows simplifying the line with many points.\n\t *\n\t * If set, the series will skip points that are closer than X pixels to each\n\t * other.\n\t *\n\t * With many data points, this allows having smoother, less cluttered lines.\n\t *\n\t * @default 0\n\t * @since 5.2.7\n\t */\n\tminDistance?: number;\n\n}\n\nexport interface ILineSeriesPrivate extends IXYSeriesPrivate {\n}\n\n/**\n * Interface representing a [[LineSeries]] 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 ILineSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list template to use when applying line settings to the line segments covered\n\t * by an axis range.\n\t */\n\tstrokes?: ListTemplate<Graphics>;\n\n\t/**\n\t * A list template to use when applying fill settings to the fill segments covered\n\t * by an axis range.\n\t */\n\tfills?: ListTemplate<Graphics>;\n}\n\n/**\n * Used to plot line and/or area series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/} for more info\n * @important\n */\nexport class LineSeries extends XYSeries {\n\n\tdeclare public _settings: ILineSeriesSettings;\n\tdeclare public _privateSettings: ILineSeriesPrivate;\n\tdeclare public _dataItemSettings: ILineSeriesDataItem;\n\tdeclare public _axisRangeType: ILineSeriesAxisRange;\n\n\tpublic static className: string = \"LineSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([LineSeries.className]);\n\n\tprotected _endIndex!: number;\n\n\tprotected _strokeGenerator = line();\n\tprotected _fillGenerator = area();\n\n\tprotected _legendStroke?: Graphics;\n\tprotected _legendFill?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._fillGenerator.y0(function(p: number[]) {\n\t\t\treturn p[3];\n\t\t});\n\n\t\tthis._fillGenerator.x0(function(p: number[]) {\n\t\t\treturn p[2];\n\t\t});\n\n\t\tthis._fillGenerator.y1(function(p: number[]) {\n\t\t\treturn p[1];\n\t\t});\n\n\t\tthis._fillGenerator.x1(function(p: number[]) {\n\t\t\treturn p[0];\n\t\t});\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeStroke(strokes: ListTemplate<Graphics>): Graphics {\n\t\tconst stroke = this.mainContainer.children.push(strokes.make());\n\t\tstrokes.push(stroke);\n\t\treturn stroke;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all line segments in series.\n\t *\n\t * `strokes.template` can be used to set default settings for all line\n\t * segments, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly strokes: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"])\n\t\t}, [this.strokes.template]),\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeFill(fills: ListTemplate<Graphics>): Graphics {\n\t\tconst fill = this.mainContainer.children.push(fills.make());\n\t\tfills.push(fill);\n\t\treturn fill;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all segment fills in series.\n\t *\n\t * `fills.template` can be used to set default settings for all segment\n\t * fills, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly fills: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"])\n\t\t}, [this.fills.template]),\n\t);\n\n\t// custom set from data\n\tprotected _fillTemplate: Template<Graphics> | undefined;\n\tprotected _strokeTemplate: Template<Graphics> | undefined;\n\n\tprotected _previousPoint: Array<number> = [0, 0, 0, 0];\n\n\tpublic _updateChildren() {\n\n\t\tthis._strokeTemplate = undefined;\n\t\tthis._fillTemplate = undefined;\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tthis.strokes.template.set(\"stroke\", stroke);\n\t\t\tconst legendStroke = this._legendStroke;\n\t\t\tif (legendStroke) {\n\t\t\t\tlegendStroke.states.lookup(\"default\")!.set(\"stroke\", stroke);\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tthis.fills.template.set(\"fill\", fill);\n\t\t\tconst legendFill = this._legendFill;\n\t\t\tif (legendFill) {\n\t\t\t\tlegendFill.states.lookup(\"default\")!.set(\"fill\", fill);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"curveFactory\")) {\n\t\t\tconst curveFactory = this.get(\"curveFactory\")!;\n\t\t\tif (curveFactory) {\n\t\t\t\tthis._strokeGenerator.curve(curveFactory);\n\t\t\t\tthis._fillGenerator.curve(curveFactory);\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty || this.isDirty(\"connect\") || this.isDirty(\"curveFactory\")) {\n\n\t\t\t\tthis.fills.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.strokes.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tlet fills = axisRange.fills;\n\t\t\t\t\tif (fills) {\n\t\t\t\t\t\tfills.each((fill) => {\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tlet strokes = axisRange.strokes;\n\t\t\t\t\tif (strokes) {\n\t\t\t\t\t\tstrokes.each((stroke) => {\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet startIndex = this.startIndex();\n\n\t\t\t\tlet strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\t\t\tlet fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\t\t\tlet strokeTemplateFound = true;\n\t\t\t\tlet fillTemplateFound = true;\n\n\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\tstrokeTemplateFound = false;\n\t\t\t\t}\n\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\tfillTemplateFound = false;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\tlet dataContext = dataItem.dataContext as any;\n\t\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\t\tif (dataContext[strokeTemplateField]) {\n\t\t\t\t\t\t\tstrokeTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\t\tif (dataContext[fillTemplateField]) {\n\t\t\t\t\t\t\tfillTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tif (hasValues && strokeTemplateFound && fillTemplateFound) {\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet len = this.dataItems.length;\n\t\t\t\tlet endIndex = this.endIndex();\n\n\t\t\t\tif (endIndex < len) {\n\t\t\t\t\tendIndex++;\n\t\t\t\t\tfor (let i = endIndex; i < len; i++) {\n\t\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tif (hasValues) {\n\t\t\t\t\t\t\tendIndex = i + 1;\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\tif (startIndex > 0) {\n\t\t\t\t\tstartIndex--\n\t\t\t\t}\n\n\t\t\t\tthis._endIndex = endIndex;\n\n\t\t\t\tthis._clearGraphics();\n\t\t\t\tthis._startSegment(0, startIndex);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\n\t\tsuper._updateChildren();\n\t}\n\n\tprotected _clearGraphics() {\n\t\tthis.strokes.clear();\n\t\tthis.fills.clear();\n\t}\n\n\tprotected _startSegment(segmentIndex: number, dataItemIndex: number) {\n\t\tlet endIndex = this._endIndex;\n\t\tlet currentEndIndex = endIndex;\n\n\t\tconst autoGapCount = this.get(\"autoGapCount\")!;\n\t\tconst connect = this.get(\"connect\");\n\n\t\tconst fill = this.makeFill(this.fills);\n\n\t\tconst fillTemplate = this._fillTemplate;\n\t\tconst originalTemplate = this.fills.template;\n\t\tif (fillTemplate && fillTemplate != originalTemplate) {\n\t\t\tfill.template = fillTemplate;\n\t\t}\n\n\t\tfill.setPrivate(\"visible\", true);\n\n\t\tconst stroke = this.makeStroke(this.strokes);\n\n\t\tconst strokeTemplate = this._strokeTemplate;\n\t\tif (strokeTemplate && strokeTemplate != this.strokes.template) {\n\t\t\tstroke.template = strokeTemplate;\n\t\t}\n\n\t\tstroke.setPrivate(\"visible\", true);\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\t\tlet baseAxis = this.get(\"baseAxis\")!;\n\n\t\tlet vcx = this.get(\"vcx\", 1);\n\t\tlet vcy = this.get(\"vcy\", 1);\n\n\t\tlet xField = this._xField;\n\t\tlet yField = this._yField;\n\n\t\tlet xOpenField = this._xOpenField;\n\t\tlet yOpenField = this._yOpenField;\n\n\t\tconst xOpenFieldValue = this.get(\"openValueXField\");\n\t\tconst yOpenFieldValue = this.get(\"openValueYField\");\n\n\t\tif (!xOpenFieldValue) {\n\t\t\txOpenField = this._xField;\n\t\t}\n\n\t\tif (!yOpenFieldValue) {\n\t\t\tyOpenField = this._yField;\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tconst basePosX = xAxis.basePosition();\n\t\tconst basePosY = yAxis.basePosition();\n\n\t\tlet baseField: string;\n\t\tif (baseAxis === yAxis) {\n\t\t\tbaseField = this._yField;\n\t\t}\n\t\telse {\n\t\t\tbaseField = this._xField;\n\t\t}\n\n\t\tconst segments: Array<Array<Array<number>>> = [];\n\t\tlet points: Array<Array<number>> = [];\n\t\tsegments.push(points);\n\n\t\tconst strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\tconst fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\tlet locationX = this.get(\"locationX\", 0.5);\n\t\tlet locationY = this.get(\"locationY\", 0.5);\n\n\t\tlet openLocationX = this.get(\"openLocationX\", locationX);\n\t\tlet openLocationY = this.get(\"openLocationY\", locationY);\n\n\t\tconst minDistance = this.get(\"minDistance\", 0);\n\n\t\tlet i: number;\n\n\t\tlet fillVisible = this.fills.template.get(\"visible\");\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tfillVisible = true;\n\t\t}\n\n\t\tlet getOpen = false;\n\t\tif (stacked || xOpenFieldValue || yOpenFieldValue) {\n\t\t\tgetOpen = true;\n\t\t}\n\n\t\tconst o = {\n\t\t\tpoints, segments, stacked, getOpen, basePosX, basePosY, fillVisible, xField, yField, xOpenField, yOpenField, vcx, vcy, baseAxis, xAxis, yAxis, locationX, locationY, openLocationX, openLocationY, minDistance\n\t\t}\n\n\n\t\tfor (i = dataItemIndex; i < currentEndIndex; i++) {\n\t\t\tconst dataItem = this._dataItems[i];\n\n\t\t\tlet valueX = dataItem.get(xField as any);\n\t\t\tlet valueY = dataItem.get(yField as any);\n\n\t\t\tif (valueX == null || valueY == null) {\n\t\t\t\tif (!connect) {\n\t\t\t\t\tpoints = [];\n\t\t\t\t\tsegments.push(points);\n\t\t\t\t\to.points = points;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._getPoints(dataItem, o);\n\t\t\t}\n\n\t\t\tif (strokeTemplateField) {\n\t\t\t\tlet strokeTemplate = (dataItem.dataContext as any)[strokeTemplateField]\n\t\t\t\tif (strokeTemplate) {\n\t\t\t\t\tif (!(strokeTemplate instanceof Template)) {\n\t\t\t\t\t\tstrokeTemplate = Template.new(strokeTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._strokeTemplate = strokeTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tstroke.template = strokeTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fillTemplateField) {\n\t\t\t\tlet fillTemplate = (dataItem.dataContext as any)[fillTemplateField]\n\t\t\t\tif (fillTemplate) {\n\t\t\t\t\tif (!(fillTemplate instanceof Template)) {\n\t\t\t\t\t\tfillTemplate = Template.new(fillTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._fillTemplate = fillTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tfill.template = fillTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!connect) {\n\t\t\t\tlet nextItem = this.dataItems[i + 1];\n\t\t\t\tif (nextItem) {\n\t\t\t\t\tif (baseAxis.shouldGap(dataItem, nextItem, autoGapCount, baseField)) {\n\t\t\t\t\t\tpoints = [];\n\t\t\t\t\t\tsegments.push(points);\n\t\t\t\t\t\to.points = points;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\n\t\tif (i === endIndex) {\n\t\t\tthis._endLine(points, segments[0][0]);\n\t\t}\n\n\t\tif (stroke) {\n\t\t\tthis._drawStroke(stroke, segments);\n\t\t}\n\n\t\tif (fill) {\n\t\t\tthis._drawFill(fill, segments);\n\t\t}\n\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tconst container = axisRange.container;\n\t\t\tconst fills = axisRange.fills!;\n\t\t\tconst fill = this.makeFill(fills);\n\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(fill);\n\t\t\t}\n\n\t\t\tfill.setPrivate(\"visible\", true);\n\t\t\tthis._drawFill(fill, segments);\n\n\t\t\tconst strokes = axisRange.strokes!;\n\t\t\tconst stroke = this.makeStroke(strokes);\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(stroke);\n\t\t\t}\n\n\t\t\tstroke.setPrivate(\"visible\", true);\n\t\t\tthis._drawStroke(stroke, segments);\n\n\t\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t})\n\n\t\tif (currentEndIndex < endIndex) {\n\t\t\tthis._startSegment(segmentIndex + 1, currentEndIndex);\n\t\t}\n\t}\n\n\tprotected _getPoints(dataItem: DataItem<this[\"_dataItemSettings\"]>, o: { points: Array<Array<number>>, segments: number[][][], stacked: boolean | undefined, getOpen: boolean, basePosX: number, basePosY: number, fillVisible: boolean | undefined, xField: string, yField: string, xOpenField: string, yOpenField: string, vcx: number, vcy: number, baseAxis: Axis<AxisRenderer>, xAxis: Axis<AxisRenderer>, yAxis: Axis<AxisRenderer>, locationX: number, locationY: number, openLocationX: number, openLocationY: number, minDistance: number }) {\n\t\tlet points = o.points;\n\n\t\tlet itemLocationX = dataItem.get(\"locationX\", o.locationX);\n\t\tlet itemLocationY = dataItem.get(\"locationY\", o.locationY);\n\n\t\tlet xPos = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX, o.vcx);\n\t\tlet yPos = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY, o.vcy);\n\n\t\tif (this._shouldInclude(xPos)) {\n\n\t\t\tconst iPoint = this.getPoint(xPos, yPos);\n\t\t\tconst point = [iPoint.x, iPoint.y];\n\n\t\t\tiPoint.x += this._x;\n\t\t\tiPoint.y += this._y;\n\n\t\t\tdataItem.set(\"point\", iPoint);\n\n\t\t\tif (o.fillVisible) {\n\t\t\t\tlet xPos0: number = xPos;\n\t\t\t\tlet yPos0: number = yPos;\n\n\t\t\t\tif (o.baseAxis === o.xAxis) {\n\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t}\n\t\t\t\telse if (o.baseAxis === o.yAxis) {\n\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t}\n\n\t\t\t\tif (o.getOpen) {\n\t\t\t\t\tlet valueX = dataItem.get(o.xOpenField as any);\n\t\t\t\t\tlet valueY = dataItem.get(o.yOpenField as any);\n\n\t\t\t\t\tif (valueX != null && valueY != null) {\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"openLocationX\", o.openLocationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"openLocationY\", o.openLocationY);\n\n\t\t\t\t\t\tif (o.stacked) {\n\t\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\n\t\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(xPos0)) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.yAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(yPos0)) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.xAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\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\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet closeIPoint = this.getPoint(xPos0, yPos0);\n\n\t\t\t\tpoint[2] = closeIPoint.x;\n\t\t\t\tpoint[3] = closeIPoint.y;\n\t\t\t}\n\n\t\t\tif (o.minDistance > 0) {\n\t\t\t\tconst p0 = point[0];\n\t\t\t\tconst p1 = point[1];\n\t\t\t\tconst p2 = point[2];\n\t\t\t\tconst p3 = point[3];\n\n\t\t\t\tconst prev = this._previousPoint;\n\n\t\t\t\tconst pp0 = prev[0];\n\t\t\t\tconst pp1 = prev[1];\n\t\t\t\tconst pp2 = prev[2];\n\t\t\t\tconst pp3 = prev[3];\n\n\t\t\t\tif (Math.hypot(p0 - pp0, p1 - pp1) > o.minDistance || (p2 && p3 && Math.hypot(p2 - pp2, p3 - pp3) > o.minDistance)) {\n\t\t\t\t\tpoints.push(point);\n\t\t\t\t\tthis._previousPoint = point;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpoints.push(point);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _endLine(_points: Array<Array<number>>, _firstPoint: Array<number>) {\n\n\t}\n\n\tprotected _drawStroke(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._strokeGenerator.context(display as any);\n\t\t\t\t\tthis._strokeGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _drawFill(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._fillGenerator.context(display as any);\n\t\t\t\t\tthis._fillGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tsuper._processAxisRange(axisRange);\n\t\taxisRange.fills = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.fills!.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"]),\n\t\t\t}, [this.fills.template, axisRange.fills!.template]),\n\t\t);\n\n\t\taxisRange.strokes = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.strokes!.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"]),\n\t\t\t}, [this.strokes.template, axisRange.strokes!.template])\n\t\t);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\t\t\tconst marker = legendDataItem.get(\"marker\");\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\tif (markerRectangle) {\n\t\t\t\tmarkerRectangle.setPrivate(\"visible\", false);\n\t\t\t}\n\n\t\t\tmarker.set(\"background\", Rectangle.new(marker._root, { fillOpacity: 0, fill: color(0x000000) }))\n\n\t\t\tconst legendStroke = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"stroke\"], interactive: false\n\t\t\t}, [this.strokes.template]));\n\n\t\t\tthis._legendStroke = legendStroke;\n\n\t\t\tconst legendFill = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"fill\"]\n\t\t\t}, [this.fills.template]));\n\n\t\t\tthis._legendFill = legendFill;\n\n\t\t\tconst disabledColor = this._root.interfaceColors.get(\"disabled\");\n\n\t\t\tlegendStroke.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\tlegendFill.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\n\t\t\tif (this.bullets.length > 0) {\n\t\t\t\tconst bulletFunction = this.bullets.getIndex(0);\n\t\t\t\tif (bulletFunction) {\n\t\t\t\t\tconst bullet = bulletFunction(marker._root, this, new DataItem(this, {}, {}));\n\t\t\t\t\tif (bullet) {\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite instanceof Graphics) {\n\t\t\t\t\t\t\tsprite.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.set(\"tooltipText\", undefined);\n\n\t\t\t\t\t\t\tmarker.children.push(sprite);\n\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
package/.internal/core/Root.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { IAnimation } from "./util/Animation";
|
|
2
2
|
import type { Entity } from "./util/Entity";
|
|
3
3
|
import type { Sprite } from "./render/Sprite";
|
|
4
|
-
import type { Text } from "./render/Text";
|
|
5
4
|
import type { Theme } from "./Theme";
|
|
6
5
|
import type { IPoint } from "./util/IPoint";
|
|
7
6
|
import type { IRenderer } from "./render/backend/Renderer";
|
|
8
7
|
import type { Timezone } from "./util/Timezone";
|
|
9
8
|
import { Container } from "./render/Container";
|
|
9
|
+
import { Text } from "./render/Text";
|
|
10
10
|
import { VerticalLayout } from "./render/VerticalLayout";
|
|
11
11
|
import { IDisposer } from "./util/Disposer";
|
|
12
12
|
import { InterfaceColors } from "./util/InterfaceColors";
|
|
@@ -150,6 +150,7 @@ export declare class Root implements IDisposer {
|
|
|
150
150
|
protected _focusElementDirty: boolean;
|
|
151
151
|
protected _focusElementContainer: HTMLDivElement | undefined;
|
|
152
152
|
protected _focusedSprite: Sprite | undefined;
|
|
153
|
+
protected _isShift: boolean | undefined;
|
|
153
154
|
protected _keyboardDragPoint: IPoint | undefined;
|
|
154
155
|
protected _tooltipElementContainer: HTMLDivElement | undefined;
|
|
155
156
|
protected _readerAlertElement: HTMLDivElement | undefined;
|
|
@@ -193,6 +194,7 @@ export declare class Root implements IDisposer {
|
|
|
193
194
|
* by calling root element's `resize()` method.
|
|
194
195
|
*/
|
|
195
196
|
autoResize: boolean;
|
|
197
|
+
protected _fontHash: string;
|
|
196
198
|
protected _isDisposed: boolean;
|
|
197
199
|
protected _disposers: Array<IDisposer>;
|
|
198
200
|
protected _resizeSensorDisposer?: IDisposer;
|
|
@@ -270,9 +272,11 @@ export declare class Root implements IDisposer {
|
|
|
270
272
|
_decorateFocusElement(target: Sprite, focusElement?: HTMLDivElement): void;
|
|
271
273
|
_makeFocusElement(index: number, target: Sprite): void;
|
|
272
274
|
_removeFocusElement(target: Sprite): void;
|
|
275
|
+
_hideFocusElement(target: Sprite): void;
|
|
273
276
|
protected _moveFocusElement(index: number, target: Sprite): void;
|
|
274
277
|
protected _positionFocusElement(target: Sprite): void;
|
|
275
278
|
protected _handleFocus(ev: FocusEvent, index: number): void;
|
|
279
|
+
protected _focusNext(el: HTMLDivElement, direction: 1 | -1): void;
|
|
276
280
|
protected _handleBlur(ev: FocusEvent, _index: number): void;
|
|
277
281
|
/**
|
|
278
282
|
* @ignore
|
|
@@ -305,6 +309,9 @@ export declare class Root implements IDisposer {
|
|
|
305
309
|
* @ignore
|
|
306
310
|
*/
|
|
307
311
|
addDisposer<T extends IDisposer>(disposer: T): T;
|
|
312
|
+
protected _updateComputedStyles(): boolean;
|
|
313
|
+
protected _checkComputedStyles(): void;
|
|
314
|
+
protected _invalidateLabelBounds(target: Sprite): void;
|
|
308
315
|
/**
|
|
309
316
|
* To all the clever heads out there. Yes, we did not make any attempts to
|
|
310
317
|
* scramble this.
|
|
@@ -320,6 +327,14 @@ export declare class Root implements IDisposer {
|
|
|
320
327
|
*/
|
|
321
328
|
protected _hasLicense(): boolean;
|
|
322
329
|
_licenseApplied(): void;
|
|
330
|
+
/**
|
|
331
|
+
* @ignore
|
|
332
|
+
*/
|
|
333
|
+
get debugGhostView(): boolean;
|
|
334
|
+
/**
|
|
335
|
+
* @ignore
|
|
336
|
+
*/
|
|
337
|
+
set debugGhostView(value: boolean);
|
|
323
338
|
}
|
|
324
339
|
export {};
|
|
325
340
|
//# sourceMappingURL=Root.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA8BjE;;GAEG;AACH,UAAU,OAAQ,SAAQ,MAAM;IAC/B,gBAAgB,IAAI,IAAI,CAAC;IACzB,eAAe,IAAI,IAAI,CAAC;CACxB;AAED,UAAU,OAAQ,SAAQ,MAAM;IAC/B,KAAK,IAAI,MAAM,CAAC;IAChB,aAAa,IAAI,IAAI,CAAC;CACtB;AAGD,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE;QACb,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,UAAU,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAGD,MAAM,WAAW,aAAa;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAID;;;;GAIG;AACH,qBAAa,IAAK,YAAW,SAAS;IAErC;;OAEG;IACI,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IAE3B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IACpC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAS;IAC3C,SAAS,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAChD,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAM;IACxD,SAAS,CAAC,YAAY,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAM;IACvD,SAAS,CAAC,eAAe,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAEzD,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IACjE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,CAAM;IAE9D;;;;OAIG;IACI,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAyB;IAElF;;;OAGG;IACI,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C,OAAO,CAAC,WAAW,CAAyB;IAErC,SAAS,EAAE,SAAS,CAAC;IAErB,cAAc,EAAG,SAAS,CAAC;IAElC;;OAEG;IACI,SAAS,EAAG,SAAS,CAAC;IAE7B;;OAEG;IACI,gBAAgB,EAAG,SAAS,CAAA;IAE5B,QAAQ,EAAG,OAAO,CAAC;IAI1B;;OAEG;IACI,QAAQ,EAAE,QAAQ,CAA0B;IAEnD;;;;OAIG;IACI,MAAM,EAAE,OAAO,CAAM;IAI5B;;;;OAIG;IACI,GAAG,EAAE,OAAO,CAAS;IAE5B;;;;;;;;OAQG;IACI,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAE3B;;;;;;OAMG;IACI,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;;;OAIG;IACI,eAAe,EAAE,eAAe,CAAiC;IAExE;;;;OAIG;IACI,aAAa,EAAE,aAAa,CAA+B;IAElE;;;;OAIG;IACI,iBAAiB,EAAE,iBAAiB,CAAmC;IAK9E;;;;OAIG;IACI,QAAQ,EAAE,MAAM,CAAK;IAG5B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAM;IAErC,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAS;IAC9C,SAAS,CAAC,sBAAsB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC7D,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,wBAAwB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/D,SAAS,CAAC,mBAAmB,EAAE,cAAc,GAAG,SAAS,CAAC;IAEnD,KAAK,CAAC,EAAE,SAAS,CAAC;IAEzB;;OAEG;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACI,eAAe,EAAE,eAAe,CAAC;IAExC;;;;;OAKG;IACI,cAAc,EAAE,cAAc,CAAgC;IAErE;;;;;OAKG;IACI,gBAAgB,EAAE,cAAc,CAAkC;IAEzE;;;;;OAKG;IACI,UAAU,EAAE,cAAc,CAA4B;IAE7D;;;;;;OAMG;IACI,UAAU,EAAE,OAAO,CAAQ;IAElC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAM;IAEjC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IACvC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAM;IAE5C,SAAS,CAAC,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAErC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAM;IAEtC,SAAS,aAAa,EAAE,EAAE,MAAM,GAAG,WAAW,EAAE,QAAQ,2BAAoB,EAAE,MAAM,EAAE,OAAO;WAqD/E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI;IAMpE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAsB9C,SAAS,CAAC,WAAW,IAAI,IAAI;IAatB,aAAa,IAAI,IAAI;IAuE5B,SAAS,CAAC,KAAK,IAAI,IAAI;IA4NvB,OAAO,CAAC,iBAAiB;IAYzB;;;OAGG;IACI,MAAM,IAAI,IAAI;IAqBrB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,WAAW;IA2FnB,OAAO,CAAC,UAAU;IAwClB,OAAO,CAAC,YAAY;IAYb,eAAe,CAAC,MAAM,EAAE,MAAM;IAQ9B,eAAe,CAAC,MAAM,EAAE,OAAO;IAS/B,eAAe,CAAC,MAAM,EAAE,OAAO;IAQ/B,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAQhC,aAAa,CAAC,SAAS,EAAE,UAAU;IAQnC,UAAU;IAIV,gBAAgB;IAOhB,SAAS,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS;IAS7D;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB;;;;OAIG;IACI,MAAM,IAAI,MAAM;IAIvB;;OAEG;IACI,OAAO,IAAI,IAAI;IAsBtB;;;;OAIG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI;IAgB5C,SAAS,CAAC,WAAW;IAYrB;;OAEG;IAEI,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAU5C,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK9C,qBAAqB,IAAI,IAAI;IAsC7B,mBAAmB,IAAI,IAAI;IAO3B,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI;IA6G1E,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmCtD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAYzC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK9C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAoBhE,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAcrD,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyB3D,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;IA6BjE,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAY3D;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAiBjC,mBAAmB,CAAC,MAAM,EAAE,IAAI,GAAG,cAAc;IAcjD,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBrD;;;;;OAKG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;OAKG;IACI,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQjD;;;;;OAKG;IACI,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQjD;;OAEG;IACI,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAKvD,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAe1C,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAMtC,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWtD;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,WAAW,IAAI,OAAO;IASzB,eAAe,IAAI,IAAI;IAM9B;;OAEG;IACH,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED;;OAEG;IACH,IAAW,cAAc,CAAC,KAAK,EAAE,OAAO,EAEvC;CACD"}
|
package/.internal/core/Root.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Container } from "./render/Container";
|
|
2
|
+
import { Text } from "./render/Text";
|
|
2
3
|
import { HorizontalLayout } from "./render/HorizontalLayout";
|
|
3
4
|
import { VerticalLayout } from "./render/VerticalLayout";
|
|
4
5
|
import { GridLayout } from "./render/GridLayout";
|
|
@@ -23,6 +24,7 @@ import * as $order from "./util/Order";
|
|
|
23
24
|
import * as $array from "./util/Array";
|
|
24
25
|
import * as $object from "./util/Object";
|
|
25
26
|
import * as $utils from "./util/Utils";
|
|
27
|
+
import * as $type from "./util/Type";
|
|
26
28
|
import en from "../../locales/en";
|
|
27
29
|
function rAF(fps, callback) {
|
|
28
30
|
if (fps == null) {
|
|
@@ -300,6 +302,12 @@ var Root = /** @class */ (function () {
|
|
|
300
302
|
writable: true,
|
|
301
303
|
value: void 0
|
|
302
304
|
});
|
|
305
|
+
Object.defineProperty(this, "_isShift", {
|
|
306
|
+
enumerable: true,
|
|
307
|
+
configurable: true,
|
|
308
|
+
writable: true,
|
|
309
|
+
value: void 0
|
|
310
|
+
});
|
|
303
311
|
Object.defineProperty(this, "_keyboardDragPoint", {
|
|
304
312
|
enumerable: true,
|
|
305
313
|
configurable: true,
|
|
@@ -393,6 +401,12 @@ var Root = /** @class */ (function () {
|
|
|
393
401
|
writable: true,
|
|
394
402
|
value: true
|
|
395
403
|
});
|
|
404
|
+
Object.defineProperty(this, "_fontHash", {
|
|
405
|
+
enumerable: true,
|
|
406
|
+
configurable: true,
|
|
407
|
+
writable: true,
|
|
408
|
+
value: ""
|
|
409
|
+
});
|
|
396
410
|
Object.defineProperty(this, "_isDisposed", {
|
|
397
411
|
enumerable: true,
|
|
398
412
|
configurable: true,
|
|
@@ -450,6 +464,7 @@ var Root = /** @class */ (function () {
|
|
|
450
464
|
inner.style.height = "100%";
|
|
451
465
|
dom.appendChild(inner);
|
|
452
466
|
this._inner = inner;
|
|
467
|
+
this._updateComputedStyles();
|
|
453
468
|
registry.rootElements.push(this);
|
|
454
469
|
}
|
|
455
470
|
Object.defineProperty(Root, "new", {
|
|
@@ -611,6 +626,16 @@ var Root = /** @class */ (function () {
|
|
|
611
626
|
// Add keyboard events for accessibility, e.g. simulating drag with arrow
|
|
612
627
|
// keys and click with ENTER
|
|
613
628
|
if ($utils.supports("keyboardevents")) {
|
|
629
|
+
this._disposers.push($utils.addEventListener(window, "keydown", function (ev) {
|
|
630
|
+
if (ev.keyCode == 16) {
|
|
631
|
+
_this._isShift = true;
|
|
632
|
+
}
|
|
633
|
+
}));
|
|
634
|
+
this._disposers.push($utils.addEventListener(window, "keyup", function (ev) {
|
|
635
|
+
if (ev.keyCode == 16) {
|
|
636
|
+
_this._isShift = false;
|
|
637
|
+
}
|
|
638
|
+
}));
|
|
614
639
|
this._disposers.push($utils.addEventListener(focusElementContainer, "keydown", function (ev) {
|
|
615
640
|
var focusedSprite = _this._focusedSprite;
|
|
616
641
|
if (focusedSprite) {
|
|
@@ -918,6 +943,7 @@ var Root = /** @class */ (function () {
|
|
|
918
943
|
timestamp: currentTime,
|
|
919
944
|
});
|
|
920
945
|
}
|
|
946
|
+
this._checkComputedStyles();
|
|
921
947
|
this._runTickers(currentTime);
|
|
922
948
|
this._runAnimations(currentTime);
|
|
923
949
|
this._runDirties();
|
|
@@ -1380,13 +1406,24 @@ var Root = /** @class */ (function () {
|
|
|
1380
1406
|
configurable: true,
|
|
1381
1407
|
writable: true,
|
|
1382
1408
|
value: function (target) {
|
|
1383
|
-
|
|
1384
|
-
var container = this._focusElementContainer;
|
|
1409
|
+
$array.remove(this._tabindexes, target);
|
|
1385
1410
|
var focusElement = target.getPrivate("focusElement");
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1411
|
+
if (focusElement) {
|
|
1412
|
+
var container = this._focusElementContainer;
|
|
1413
|
+
container.removeChild(focusElement.dom);
|
|
1414
|
+
$array.each(focusElement.disposers, function (x) {
|
|
1415
|
+
x.dispose();
|
|
1416
|
+
});
|
|
1417
|
+
}
|
|
1418
|
+
}
|
|
1419
|
+
});
|
|
1420
|
+
Object.defineProperty(Root.prototype, "_hideFocusElement", {
|
|
1421
|
+
enumerable: false,
|
|
1422
|
+
configurable: true,
|
|
1423
|
+
writable: true,
|
|
1424
|
+
value: function (target) {
|
|
1425
|
+
var focusElement = target.getPrivate("focusElement");
|
|
1426
|
+
focusElement.dom.style.display = "none";
|
|
1390
1427
|
}
|
|
1391
1428
|
});
|
|
1392
1429
|
Object.defineProperty(Root.prototype, "_moveFocusElement", {
|
|
@@ -1432,6 +1469,11 @@ var Root = /** @class */ (function () {
|
|
|
1432
1469
|
value: function (ev, index) {
|
|
1433
1470
|
// Get element
|
|
1434
1471
|
var focused = this._tabindexes[index];
|
|
1472
|
+
// Jump over hidden elements
|
|
1473
|
+
if (!focused.isVisibleDeep()) {
|
|
1474
|
+
this._focusNext(ev.target, this._isShift ? -1 : 1);
|
|
1475
|
+
return;
|
|
1476
|
+
}
|
|
1435
1477
|
// Size and position
|
|
1436
1478
|
this._positionFocusElement(focused);
|
|
1437
1479
|
//this._decorateFocusElement(focused);
|
|
@@ -1445,6 +1487,36 @@ var Root = /** @class */ (function () {
|
|
|
1445
1487
|
}
|
|
1446
1488
|
}
|
|
1447
1489
|
});
|
|
1490
|
+
Object.defineProperty(Root.prototype, "_focusNext", {
|
|
1491
|
+
enumerable: false,
|
|
1492
|
+
configurable: true,
|
|
1493
|
+
writable: true,
|
|
1494
|
+
value: function (el, direction) {
|
|
1495
|
+
var focusableElements = Array.from(document.querySelectorAll([
|
|
1496
|
+
'a[href]',
|
|
1497
|
+
'area[href]',
|
|
1498
|
+
'button:not([disabled])',
|
|
1499
|
+
'details',
|
|
1500
|
+
'input:not([disabled])',
|
|
1501
|
+
'iframe:not([disabled])',
|
|
1502
|
+
'select:not([disabled])',
|
|
1503
|
+
'textarea:not([disabled])',
|
|
1504
|
+
'[contentEditable=""]',
|
|
1505
|
+
'[contentEditable="true"]',
|
|
1506
|
+
'[contentEditable="TRUE"]',
|
|
1507
|
+
'[tabindex]:not([tabindex^="-"])',
|
|
1508
|
+
//':not([disabled])'
|
|
1509
|
+
].join(',')));
|
|
1510
|
+
var index = focusableElements.indexOf(el) + direction;
|
|
1511
|
+
if (index < 0) {
|
|
1512
|
+
index = focusableElements.length - 1;
|
|
1513
|
+
}
|
|
1514
|
+
else if (index >= focusableElements.length) {
|
|
1515
|
+
index = 0;
|
|
1516
|
+
}
|
|
1517
|
+
focusableElements[index].focus();
|
|
1518
|
+
}
|
|
1519
|
+
});
|
|
1448
1520
|
Object.defineProperty(Root.prototype, "_handleBlur", {
|
|
1449
1521
|
enumerable: false,
|
|
1450
1522
|
configurable: true,
|
|
@@ -1585,6 +1657,51 @@ var Root = /** @class */ (function () {
|
|
|
1585
1657
|
return disposer;
|
|
1586
1658
|
}
|
|
1587
1659
|
});
|
|
1660
|
+
Object.defineProperty(Root.prototype, "_updateComputedStyles", {
|
|
1661
|
+
enumerable: false,
|
|
1662
|
+
configurable: true,
|
|
1663
|
+
writable: true,
|
|
1664
|
+
value: function () {
|
|
1665
|
+
var styles = window.getComputedStyle(this.dom);
|
|
1666
|
+
var fontHash = "";
|
|
1667
|
+
$object.each(styles, function (key, val) {
|
|
1668
|
+
if ($type.isString(key) && key.match(/^font/)) {
|
|
1669
|
+
fontHash += val;
|
|
1670
|
+
}
|
|
1671
|
+
});
|
|
1672
|
+
var changed = fontHash != this._fontHash;
|
|
1673
|
+
if (changed) {
|
|
1674
|
+
this._fontHash = fontHash;
|
|
1675
|
+
}
|
|
1676
|
+
return changed;
|
|
1677
|
+
}
|
|
1678
|
+
});
|
|
1679
|
+
Object.defineProperty(Root.prototype, "_checkComputedStyles", {
|
|
1680
|
+
enumerable: false,
|
|
1681
|
+
configurable: true,
|
|
1682
|
+
writable: true,
|
|
1683
|
+
value: function () {
|
|
1684
|
+
if (this._updateComputedStyles()) {
|
|
1685
|
+
this._invalidateLabelBounds(this.container);
|
|
1686
|
+
}
|
|
1687
|
+
}
|
|
1688
|
+
});
|
|
1689
|
+
Object.defineProperty(Root.prototype, "_invalidateLabelBounds", {
|
|
1690
|
+
enumerable: false,
|
|
1691
|
+
configurable: true,
|
|
1692
|
+
writable: true,
|
|
1693
|
+
value: function (target) {
|
|
1694
|
+
var _this = this;
|
|
1695
|
+
if (target instanceof Container) {
|
|
1696
|
+
target.children.each(function (child) {
|
|
1697
|
+
_this._invalidateLabelBounds(child);
|
|
1698
|
+
});
|
|
1699
|
+
}
|
|
1700
|
+
else if (target instanceof Text) {
|
|
1701
|
+
target.markDirtyBounds();
|
|
1702
|
+
}
|
|
1703
|
+
}
|
|
1704
|
+
});
|
|
1588
1705
|
/**
|
|
1589
1706
|
* To all the clever heads out there. Yes, we did not make any attempts to
|
|
1590
1707
|
* scramble this.
|
|
@@ -1621,6 +1738,22 @@ var Root = /** @class */ (function () {
|
|
|
1621
1738
|
}
|
|
1622
1739
|
}
|
|
1623
1740
|
});
|
|
1741
|
+
Object.defineProperty(Root.prototype, "debugGhostView", {
|
|
1742
|
+
/**
|
|
1743
|
+
* @ignore
|
|
1744
|
+
*/
|
|
1745
|
+
get: function () {
|
|
1746
|
+
return this._renderer.debugGhostView;
|
|
1747
|
+
},
|
|
1748
|
+
/**
|
|
1749
|
+
* @ignore
|
|
1750
|
+
*/
|
|
1751
|
+
set: function (value) {
|
|
1752
|
+
this._renderer.debugGhostView = value;
|
|
1753
|
+
},
|
|
1754
|
+
enumerable: false,
|
|
1755
|
+
configurable: true
|
|
1756
|
+
});
|
|
1624
1757
|
return Root;
|
|
1625
1758
|
}());
|
|
1626
1759
|
export { Root };
|