@amcharts/amcharts5 5.2.40 → 5.2.42
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/hierarchy/Hierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +4 -0
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/map/MapLine.d.ts +10 -1
- package/.internal/charts/map/MapLine.d.ts.map +1 -1
- package/.internal/charts/map/MapLine.js +38 -2
- package/.internal/charts/map/MapLine.js.map +1 -1
- package/.internal/charts/map/MapPointSeries.d.ts +2 -0
- package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPointSeries.js +15 -0
- package/.internal/charts/map/MapPointSeries.js.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.d.ts +5 -0
- package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPolygonSeries.js +15 -0
- package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.js +2 -0
- package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +2 -1
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYCursor.d.ts +4 -0
- package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
- package/.internal/charts/xy/XYCursor.js +1 -0
- package/.internal/charts/xy/XYCursor.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +3 -1
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +6 -4
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts.map +1 -1
- package/.internal/core/render/Tooltip.js +7 -0
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +2 -2
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/util/PopulateString.js +2 -2
- package/.internal/core/util/PopulateString.js.map +1 -1
- package/CHANGELOG.md +24 -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/jest/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/jest/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":"Hierarchy.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Hierarchy.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -549,6 +549,10 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
549
549
|
if (!dataItem.isHidden()) {
|
|
550
550
|
dataItem.get("node").show(duration);
|
|
551
551
|
}
|
|
552
|
+
var topDepth = this.get("topDepth", 0);
|
|
553
|
+
if (depth < topDepth) {
|
|
554
|
+
dataItem.get("node").hide(0);
|
|
555
|
+
}
|
|
552
556
|
if (depth == 0) {
|
|
553
557
|
var upDepth = this.get("upDepth", Infinity);
|
|
554
558
|
var parent_2 = dataItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hierarchy.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../../core/util/Color\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { Easing } from \"../../core/util/Ease\";\n\nimport { HierarchyDefaultTheme } from \"./HierarchyDefaultTheme\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { DataItem } from \"../../core/render/Component\";\nimport { HierarchyNode } from \"./HierarchyNode\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\n/**\n * @ignore\n */\nexport interface IHierarchyDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IHierarchyDataObject[],\n\tdataItem?: DataItem<IHierarchyDataItem>\n\tcustomValue?: boolean;\n};\n\nexport interface IHierarchyDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Value of the node as set in data.\n\t */\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\n\t/**\n\t * Percent value of the node, based on total sum of all nodes in upper level.\n\t */\n\tvaluePercentTotal: number;\n\n\t/**\n\t * Percent value of the node, based on the value of its direct parent.\n\t *\n\t * @since 5.2.21\n\t */\n\tvaluePercent: number;\n\n\t/**\n\t * Sum of child values.\n\t */\n\tsum: number;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * List of child node data items.\n\t */\n\tchildren: Array<DataItem<IHierarchyDataItem>>;\n\n\t/**\n\t * Raw data of the node's children.\n\t */\n\tchildData: Array<any>\n\n\t/**\n\t * Data item of parent node.\n\t */\n\tparent: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Node's depth within the hierarchy.\n\t */\n\tdepth: number;\n\n\t/**\n\t * A reference to the related [[HierarchyNode]].\n\t */\n\tnode: HierarchyNode;\n\n\t/**\n\t * A reference to node's [[Label]].\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Node's auto-assigned color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * Indicates if node is currently disabled.\n\t */\n\tdisabled: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\td3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>;\n\n}\n\nexport interface IHierarchySettings extends ISeriesSettings {\n\t/**\n\t * How to sort nodes by their value.\n\t *\n\t * @default \"none\"\n\t */\n\tsort?: \"ascending\" | \"descending\" | \"none\"\n\n\n\t/**\n\t * A field in data that holds numeric value for the node.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A field in data that holds string-based identificator for node.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * A field in data that holds an array of child node data.\n\t */\n\tchildDataField?: string;\n\n\t/**\n\t * A field in data that holds boolean value indicating if node is\n\t * disabled (collapsed).\n\t */\n\tdisabledField?: string;\n\n\t/**\n\t * A field in data that holds color used for fills for various elements, such\n\t * as nodes.\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for nodes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Node_colors} for more info\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * Number of child levels to open when clicking on a node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tdownDepth?: number;\n\n\t/**\n\t * Number of levels parent levels to show from currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tupDepth?: number;\n\n\t/**\n\t * Number of levels to show on chart's first load.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\tinitialDepth?: number;\n\n\t/**\n\t * If set, will show nodes starting from set level.\n\t *\n\t * It could be used to eliminate top level branches, that do not need to be\n\t * shown.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\ttopDepth?: number;\n\n\t/**\n\t * If set to `true` will make all other branches collapse when some branch is\n\t * expanded.\n\t */\n\tsingleBranchOnly?: boolean;\n\n\t/**\n\t * A data item for currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Pre_selected_branch} for more info\n\t */\n\tselectedDataItem?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Duration for all drill animations in milliseconds.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * An easing function to use for drill animations.\n\t */\n\tanimationEasing?: Easing;\n\n}\n\nexport interface IHierarchyPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Level count in series.\n\t */\n\tmaxDepth: number;\n\n}\n\nexport interface IHierarchyEvents extends ISeriesEvents {\n\tdataitemselected: {\n\t\tdataItem?: DataItem<IHierarchyDataItem>\n\t};\n}\n\n/**\n * A base class for all hierarchy charts.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/} for more info\n */\nexport abstract class Hierarchy extends Series {\n\tpublic static className: string = \"Hierarchy\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Hierarchy.className]);\n\n\tdeclare public _settings: IHierarchySettings;\n\tdeclare public _privateSettings: IHierarchyPrivate;\n\tdeclare public _dataItemSettings: IHierarchyDataItem;\n\tdeclare public _events: IHierarchyEvents;\n\n\t/**\n\t * A [[Container]] that nodes are placed in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly nodesContainer = this.children.push(Container.new(this._root, { isMeasured: false }));\n\n\tpublic _rootNode: d3hierarchy.HierarchyNode<IHierarchyDataObject> | undefined;\n\n\tpublic _treeData: IHierarchyDataObject | undefined;\n\n\tprotected _index: number = 0;\n\n\tprotected _tag: string = \"hierarchy\";\n\n\t/**\n\t * A list of nodes in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<HierarchyNode>\n\t */\n\tpublic readonly nodes: ListTemplate<HierarchyNode> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => HierarchyNode.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.nodes.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\"])\n\t\t}, this.nodes.template)\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\n\t\tconst childData = dataItem.get(\"childData\");\n\n\t\tconst node = this.nodes.make();\n\t\tnode.series = this;\n\t\tnode._setDataItem(dataItem);\n\t\tthis.nodes.push(node);\n\t\tdataItem.setRaw(\"node\", node);\n\n\t\tconst label = this.labels.make();\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.setRaw(\"label\", label);\n\t\tthis.labels.push(label);\n\n\t\tif (!childData || childData.length == 0) {\n\t\t\tnode.addTag(\"last\");\n\t\t}\n\n\t\tconst depth = dataItem.get(\"depth\");\n\t\tnode.addTag(\"depth\" + depth);\n\n\t\tthis.nodesContainer.children.push(node);\n\t\tnode.children.push(label);\n\n\t\treturn node;\n\t}\n\n\t/**\n\t * A list of label elements in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [this._tag])\n\t\t}, this.labels.template)\n\t);\n\n\tpublic _currentDownDepth: number | undefined;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(HierarchyDefaultTheme.new(this._root));\n\t\tthis.fields.push(\"category\", \"childData\", \"disabled\", \"fill\");\n\n\t\tthis.children.push(this.bulletsContainer);\n\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._treeData = {};\n\n\t\t\tconst first = this.dataItems[0];\n\t\t\tif (first) {\n\t\t\t\tthis._makeHierarchyData(this._treeData, first);\n\t\t\t\tthis._index = 0;\n\t\t\t\tthis._rootNode = (d3hierarchy.hierarchy(this._treeData) as any);\n\t\t\t\tif (this._rootNode) {\n\t\t\t\t\tthis._rootNode.sum((d) => {\n\t\t\t\t\t\treturn d.value as any;\n\t\t\t\t\t});\n\t\t\t\t\tconst sort = this.get(\"sort\")\n\t\t\t\t\tif (sort == \"descending\") {\n\t\t\t\t\t\tthis._rootNode.sort((a, b) => (b.value as any) - (a.value as any));\n\t\t\t\t\t}\n\t\t\t\t\telse if (sort == \"ascending\") {\n\t\t\t\t\t\tthis._rootNode.sort((a, b) => (a.value as any) - (b.value as any));\n\t\t\t\t\t}\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", -Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"maxDepth\", 0);\n\t\t\t\t\tthis._updateValues(this._rootNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._valuesDirty || this._sizeDirty) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\n\t\tif (this._sizeDirty) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"), this._currentDownDepth, false);\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\t\tif (this.isDirty(\"selectedDataItem\")) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"));\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNodes(hierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\n\t\tif (dataItem) {\n\t\t\tthis._updateNode(dataItem);\n\n\t\t\tif (this.bullets.length > 0 && !dataItem.bullets) {\n\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t}\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodes(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateNode(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tpublic _getDataItemById(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>, id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\n\t\tlet di: DataItem<this[\"_dataItemSettings\"]> | undefined;\n\n\t\t$array.each(dataItems, (dataItem: any) => {\n\n\t\t\tif (dataItem.get(\"id\") == id) {\n\t\t\t\tdi = dataItem;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tlet childDataItem = this._getDataItemById(children, id);\n\t\t\t\tif (childDataItem) {\n\t\t\t\t\tdi = childDataItem\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\treturn di;\n\t}\n\n\tprotected _handleBullets(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif (bullets) {\n\t\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children) {\n\t\t\t\tthis._handleBullets(children);\n\t\t\t}\n\t\t})\n\n\t\tthis._updateVisuals();\n\t}\n\n\tprotected _onDataClear() {\n\t\tsuper._onDataClear();\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst childData = dataItem.get(\"childData\");\n\t\tconst colors = this.get(\"colors\");\n\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\tif (!dataItem.get(\"parent\")) {\n\t\t\tdataItem.setRaw(\"depth\", 0);\n\t\t\tif (colors && topDepth == 0 && dataItem.get(\"fill\") == null) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tlet depth = dataItem.get(\"depth\");\n\t\tconst initialDepth = this.get(\"initialDepth\", 1);\n\n\t\tthis.makeNode(dataItem);\n\t\tthis._processDataItem(dataItem);\n\n\t\tif (childData) {\n\t\t\tconst children: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\t\tdataItem.setRaw(\"children\", children);\n\n\t\t\t$array.each(childData, (child) => {\n\t\t\t\tconst childDataItem = new DataItem(this, child, this._makeDataItem(child));\n\n\t\t\t\tchildren.push(childDataItem);\n\n\t\t\t\tchildDataItem.setRaw(\"parent\", dataItem);\n\t\t\t\tchildDataItem.setRaw(\"depth\", depth + 1);\n\n\t\t\t\tif (this.dataItems.length == 1 && depth == 0) {\n\t\t\t\t\tif (colors && childDataItem.get(\"fill\") == null) {\n\t\t\t\t\t\tchildDataItem.setRaw(\"fill\", colors.next());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tchildDataItem.setRaw(\"fill\", dataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tthis.processDataItem(childDataItem);\n\t\t\t})\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (!children || children.length == 0) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tnode.setAll({ toggleKey: undefined });\n\t\t}\n\n\t\tif (dataItem.get(\"disabled\") == null) {\n\t\t\tif (depth >= topDepth + initialDepth) {\n\t\t\t\tthis.disableDataItem(dataItem, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _processDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = d3HierarchyNode.data.dataItem;\n\n\t\tif (d3HierarchyNode.depth > this.getPrivate(\"maxDepth\")) {\n\t\t\tthis.setPrivateRaw(\"maxDepth\", d3HierarchyNode.depth);\n\t\t}\n\n\t\tif (dataItem) {\n\t\t\tdataItem.setRaw(\"d3HierarchyNode\", d3HierarchyNode);\n\n\t\t\t(d3HierarchyNode as any).index = this._index;\n\n\t\t\tthis._index++;\n\n\t\t\tdataItem.get(\"node\").set(\"disabled\", dataItem.get(\"disabled\"));\n\n\t\t\tlet dataValue = d3HierarchyNode.data.value;\n\t\t\tlet value = d3HierarchyNode.value\n\n\t\t\tif (dataValue != null) {\n\t\t\t\tvalue = dataValue;\n\t\t\t\t(d3HierarchyNode as any)[\"value\"] = value;\n\t\t\t}\n\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdataItem.setRaw(\"sum\", value);\n\t\t\t\tdataItem.setRaw(\"valuePercentTotal\", value / this.dataItems[0].get(\"sum\") * 100);\n\n\t\t\t\tlet valuePercent = 100;\n\t\t\t\tconst parent = dataItem.get(\"parent\");\n\t\t\t\tif (parent) {\n\t\t\t\t\tvaluePercent = value / parent.get(\"sum\") * 100;\n\t\t\t\t}\n\t\t\t\tdataItem.get(\"label\").text.markDirtyText();\n\t\t\t\tdataItem.setRaw(\"valuePercent\", valuePercent);\n\n\t\t\t\tif (this.getPrivate(\"valueLow\") > value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", value);\n\t\t\t\t}\n\n\t\t\t\tif (this.getPrivate(\"valueHigh\") < value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateLegendValue(dataItem);\n\t\t}\n\n\t\tconst hierarchyChildren = d3HierarchyNode.children;\n\t\tif (hierarchyChildren) {\n\t\t\t$array.each(hierarchyChildren, (d3HierarchyChild) => {\n\t\t\t\tthis._updateValues(d3HierarchyChild);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _makeHierarchyData(data: IHierarchyDataObject, dataItem: DataItem<IHierarchyDataItem>) {\n\t\tdata.dataItem = dataItem;\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tconst childrenDataArray: Array<IHierarchyDataObject> = [];\n\t\t\tdata.children = childrenDataArray;\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tconst childData = {};\n\t\t\t\tchildrenDataArray.push(childData);\n\t\t\t\tthis._makeHierarchyData(childData, childDataItem);\n\t\t\t})\n\n\t\t\tconst value = dataItem.get(\"valueWorking\");\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdata.value = value;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconst value = dataItem.get(\"valueWorking\");\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdata.value = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tthis.nodes.removeValue(node);\n\t\t\tnode.dispose();\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disposeDataItem(child);\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Hides hierarchy'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\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\tconst stateAnimationDuration = \"stateAnimationDuration\"\n\t\t\tduration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));\n\t\t}\n\n\t\tconst stateAnimationEasing = \"stateAnimationEasing\";\n\t\tconst easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));\n\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: 0, duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.hide();\n\t\tnode.hideTooltip();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.hideDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows hierarchy'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\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\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.show();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.showDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Enables a disabled data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic enableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth?: number, depth?: number, duration?: number) {\n\n\t\tif (depth == null) {\n\t\t\tdepth = 0;\n\t\t}\n\n\t\tif (maxDepth == null) {\n\t\t\tmaxDepth = 1;\n\t\t}\n\n\t\tdataItem.set(\"disabled\", false);\n\t\tdataItem.get(\"node\").set(\"disabled\", false);\n\n\t\tif (!dataItem.isHidden()) {\n\t\t\tdataItem.get(\"node\").show(duration);\n\t\t}\n\n\t\tif (depth == 0) {\n\t\t\tconst upDepth = this.get(\"upDepth\", Infinity);\n\t\t\tlet parent = dataItem;\n\t\t\tlet count = 0;\n\n\t\t\twhile (parent !== undefined) {\n\t\t\t\tif (count > upDepth) {\n\t\t\t\t\tparent.get(\"node\").hide();\n\t\t\t\t}\n\t\t\t\tparent = parent.get(\"parent\");\n\t\t\t\tcount++;\n\t\t\t}\n\t\t}\n\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tif (depth < maxDepth - 1) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tthis.enableDataItem(child, maxDepth, depth as number + 1, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (!child.isHidden()) {\n\t\t\t\t\t\tchild.get(\"node\").show(duration);\n\t\t\t\t\t\tchild.get(\"node\").states.applyAnimate(\"disabled\");\n\t\t\t\t\t\tchild.set(\"disabled\", true);\n\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Disables a data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic disableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number) {\n\t\tdataItem.set(\"disabled\", true);\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disableDataItem(child, duration);\n\t\t\t\tchild.get(\"node\").hide(duration);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number, skipDisptach?: boolean) {\n\t\tif (dataItem) {\n\t\t\tif (!skipDisptach) {\n\t\t\t\tconst type = \"dataitemselected\";\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this, dataItem: dataItem });\n\t\t\t}\n\n\t\t\tlet maxDepth = this.getPrivate(\"maxDepth\", 1);\n\t\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\t\tif (downDepth == null) {\n\t\t\t\tdownDepth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\t\t\t}\n\n\t\t\tif (!this.inited) {\n\t\t\t\tdownDepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - topDepth);\n\t\t\t}\n\n\t\t\tthis._currentDownDepth = downDepth;\n\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\t\t\tlet currentDepth = hierarchyNode.depth;\n\n\t\t\tif (currentDepth + downDepth > maxDepth) {\n\t\t\t\tdownDepth = maxDepth - currentDepth;\n\t\t\t}\n\n\t\t\tif (currentDepth < topDepth) {\n\t\t\t\tdownDepth += topDepth - currentDepth;\n\t\t\t\tcurrentDepth = topDepth;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children && children.length > 0) {\n\t\t\t\tif (downDepth > 0) {\n\t\t\t\t\tthis.enableDataItem(dataItem, downDepth);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdataItem.get(\"node\").show();\n\t\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\t\tchild.get(\"node\").hide();\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (hierarchyNode.depth < topDepth) {\n\t\t\t\t\tdataItem.get(\"node\").hide(0);\n\t\t\t\t}\n\n\t\t\t\tif (this.get(\"singleBranchOnly\")) {\n\t\t\t\t\tthis._handleSingle(dataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.enableDataItem(this.dataItems[0], downDepth, 0);\n\t\t\t}\n\n\t\t\tthis._zoom(dataItem);\n\t\t}\n\n\t}\n\n\tprotected _zoom(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tif (parent) {\n\t\t\tconst children = parent.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (child != dataItem) {\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Selects specific data item.\n\t *\n\t * @param dataItem Target data item\n\t */\n\tpublic selectDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tconst maxDepth = this.getPrivate(\"maxDepth\", 1);\n\n\t\tif (this.get(\"selectedDataItem\") == dataItem) {\n\t\t\tif (parent) {\n\t\t\t\tthis.set(\"selectedDataItem\", parent);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet depth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\n\t\t\t\tif (this._currentDownDepth == depth) {\n\t\t\t\t\tdepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - this.get(\"topDepth\", 0));\n\t\t\t\t}\n\n\t\t\t\tthis._selectDataItem(dataItem, depth);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.set(\"selectedDataItem\", dataItem);\n\t\t}\n\t}\n\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction: (root: Root, series: Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?: number) {\n\t\tconst bullet = super._makeBullet(dataItem, bulletFunction, index);\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tif (sprite) {\n\t\t\t\tnode.children.push(sprite);\n\t\t\t\tnode.on(\"width\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\t\t\t\tnode.on(\"height\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tsprite.set(\"x\", node.width() * locationX);\n\t\t\tsprite.set(\"y\", node.height() * locationY);\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node && !node.isHidden()) {\n\t\t\tnode.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tnode.unhover();\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Hierarchy.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Hierarchy.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../../core/util/Color\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { Easing } from \"../../core/util/Ease\";\n\nimport { HierarchyDefaultTheme } from \"./HierarchyDefaultTheme\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { DataItem } from \"../../core/render/Component\";\nimport { HierarchyNode } from \"./HierarchyNode\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\n/**\n * @ignore\n */\nexport interface IHierarchyDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IHierarchyDataObject[],\n\tdataItem?: DataItem<IHierarchyDataItem>\n\tcustomValue?: boolean;\n};\n\nexport interface IHierarchyDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Value of the node as set in data.\n\t */\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\n\t/**\n\t * Percent value of the node, based on total sum of all nodes in upper level.\n\t */\n\tvaluePercentTotal: number;\n\n\t/**\n\t * Percent value of the node, based on the value of its direct parent.\n\t *\n\t * @since 5.2.21\n\t */\n\tvaluePercent: number;\n\n\t/**\n\t * Sum of child values.\n\t */\n\tsum: number;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * List of child node data items.\n\t */\n\tchildren: Array<DataItem<IHierarchyDataItem>>;\n\n\t/**\n\t * Raw data of the node's children.\n\t */\n\tchildData: Array<any>\n\n\t/**\n\t * Data item of parent node.\n\t */\n\tparent: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Node's depth within the hierarchy.\n\t */\n\tdepth: number;\n\n\t/**\n\t * A reference to the related [[HierarchyNode]].\n\t */\n\tnode: HierarchyNode;\n\n\t/**\n\t * A reference to node's [[Label]].\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Node's auto-assigned color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * Indicates if node is currently disabled.\n\t */\n\tdisabled: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\td3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>;\n\n}\n\nexport interface IHierarchySettings extends ISeriesSettings {\n\t/**\n\t * How to sort nodes by their value.\n\t *\n\t * @default \"none\"\n\t */\n\tsort?: \"ascending\" | \"descending\" | \"none\"\n\n\n\t/**\n\t * A field in data that holds numeric value for the node.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A field in data that holds string-based identificator for node.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * A field in data that holds an array of child node data.\n\t */\n\tchildDataField?: string;\n\n\t/**\n\t * A field in data that holds boolean value indicating if node is\n\t * disabled (collapsed).\n\t */\n\tdisabledField?: string;\n\n\t/**\n\t * A field in data that holds color used for fills for various elements, such\n\t * as nodes.\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for nodes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Node_colors} for more info\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * Number of child levels to open when clicking on a node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tdownDepth?: number;\n\n\t/**\n\t * Number of levels parent levels to show from currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info\n\t */\n\tupDepth?: number;\n\n\t/**\n\t * Number of levels to show on chart's first load.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\tinitialDepth?: number;\n\n\t/**\n\t * If set, will show nodes starting from set level.\n\t *\n\t * It could be used to eliminate top level branches, that do not need to be\n\t * shown.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Tree_depth} for more info\n\t */\n\ttopDepth?: number;\n\n\t/**\n\t * If set to `true` will make all other branches collapse when some branch is\n\t * expanded.\n\t */\n\tsingleBranchOnly?: boolean;\n\n\t/**\n\t * A data item for currently selected node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Pre_selected_branch} for more info\n\t */\n\tselectedDataItem?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Duration for all drill animations in milliseconds.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * An easing function to use for drill animations.\n\t */\n\tanimationEasing?: Easing;\n\n}\n\nexport interface IHierarchyPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Level count in series.\n\t */\n\tmaxDepth: number;\n\n}\n\nexport interface IHierarchyEvents extends ISeriesEvents {\n\tdataitemselected: {\n\t\tdataItem?: DataItem<IHierarchyDataItem>\n\t};\n}\n\n/**\n * A base class for all hierarchy charts.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/} for more info\n */\nexport abstract class Hierarchy extends Series {\n\tpublic static className: string = \"Hierarchy\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Hierarchy.className]);\n\n\tdeclare public _settings: IHierarchySettings;\n\tdeclare public _privateSettings: IHierarchyPrivate;\n\tdeclare public _dataItemSettings: IHierarchyDataItem;\n\tdeclare public _events: IHierarchyEvents;\n\n\t/**\n\t * A [[Container]] that nodes are placed in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly nodesContainer = this.children.push(Container.new(this._root, { isMeasured: false }));\n\n\tpublic _rootNode: d3hierarchy.HierarchyNode<IHierarchyDataObject> | undefined;\n\n\tpublic _treeData: IHierarchyDataObject | undefined;\n\n\tprotected _index: number = 0;\n\n\tprotected _tag: string = \"hierarchy\";\n\n\t/**\n\t * A list of nodes in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<HierarchyNode>\n\t */\n\tpublic readonly nodes: ListTemplate<HierarchyNode> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => HierarchyNode.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.nodes.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\"])\n\t\t}, this.nodes.template)\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\n\t\tconst childData = dataItem.get(\"childData\");\n\n\t\tconst node = this.nodes.make();\n\t\tnode.series = this;\n\t\tnode._setDataItem(dataItem);\n\t\tthis.nodes.push(node);\n\t\tdataItem.setRaw(\"node\", node);\n\n\t\tconst label = this.labels.make();\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.setRaw(\"label\", label);\n\t\tthis.labels.push(label);\n\n\t\tif (!childData || childData.length == 0) {\n\t\t\tnode.addTag(\"last\");\n\t\t}\n\n\t\tconst depth = dataItem.get(\"depth\");\n\t\tnode.addTag(\"depth\" + depth);\n\n\t\tthis.nodesContainer.children.push(node);\n\t\tnode.children.push(label);\n\n\t\treturn node;\n\t}\n\n\t/**\n\t * A list of label elements in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label.new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [this._tag])\n\t\t}, this.labels.template)\n\t);\n\n\tpublic _currentDownDepth: number | undefined;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(HierarchyDefaultTheme.new(this._root));\n\t\tthis.fields.push(\"category\", \"childData\", \"disabled\", \"fill\");\n\n\t\tthis.children.push(this.bulletsContainer);\n\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._treeData = {};\n\n\t\t\tconst first = this.dataItems[0];\n\t\t\tif (first) {\n\t\t\t\tthis._makeHierarchyData(this._treeData, first);\n\t\t\t\tthis._index = 0;\n\t\t\t\tthis._rootNode = (d3hierarchy.hierarchy(this._treeData) as any);\n\t\t\t\tif (this._rootNode) {\n\t\t\t\t\tthis._rootNode.sum((d) => {\n\t\t\t\t\t\treturn d.value as any;\n\t\t\t\t\t});\n\t\t\t\t\tconst sort = this.get(\"sort\")\n\t\t\t\t\tif (sort == \"descending\") {\n\t\t\t\t\t\tthis._rootNode.sort((a, b) => (b.value as any) - (a.value as any));\n\t\t\t\t\t}\n\t\t\t\t\telse if (sort == \"ascending\") {\n\t\t\t\t\t\tthis._rootNode.sort((a, b) => (a.value as any) - (b.value as any));\n\t\t\t\t\t}\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", -Infinity);\n\t\t\t\t\tthis.setPrivateRaw(\"maxDepth\", 0);\n\t\t\t\t\tthis._updateValues(this._rootNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._valuesDirty || this._sizeDirty) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\n\t\tif (this._sizeDirty) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"), this._currentDownDepth, false);\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\t\tif (this.isDirty(\"selectedDataItem\")) {\n\t\t\tthis._selectDataItem(this.get(\"selectedDataItem\"));\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNodes(hierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\n\t\tif (dataItem) {\n\t\t\tthis._updateNode(dataItem);\n\n\t\t\tif (this.bullets.length > 0 && !dataItem.bullets) {\n\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t}\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodes(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateNode(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tpublic _getDataItemById(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>, id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\n\t\tlet di: DataItem<this[\"_dataItemSettings\"]> | undefined;\n\n\t\t$array.each(dataItems, (dataItem: any) => {\n\n\t\t\tif (dataItem.get(\"id\") == id) {\n\t\t\t\tdi = dataItem;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tlet childDataItem = this._getDataItemById(children, id);\n\t\t\t\tif (childDataItem) {\n\t\t\t\t\tdi = childDataItem\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\treturn di;\n\t}\n\n\tprotected _handleBullets(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif (bullets) {\n\t\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children) {\n\t\t\t\tthis._handleBullets(children);\n\t\t\t}\n\t\t})\n\n\t\tthis._updateVisuals();\n\t}\n\n\tprotected _onDataClear() {\n\t\tsuper._onDataClear();\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst childData = dataItem.get(\"childData\");\n\t\tconst colors = this.get(\"colors\");\n\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\tif (!dataItem.get(\"parent\")) {\n\t\t\tdataItem.setRaw(\"depth\", 0);\n\t\t\tif (colors && topDepth == 0 && dataItem.get(\"fill\") == null) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tlet depth = dataItem.get(\"depth\");\n\t\tconst initialDepth = this.get(\"initialDepth\", 1);\n\n\t\tthis.makeNode(dataItem);\n\t\tthis._processDataItem(dataItem);\n\n\t\tif (childData) {\n\t\t\tconst children: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\t\tdataItem.setRaw(\"children\", children);\n\n\t\t\t$array.each(childData, (child) => {\n\t\t\t\tconst childDataItem = new DataItem(this, child, this._makeDataItem(child));\n\n\t\t\t\tchildren.push(childDataItem);\n\n\t\t\t\tchildDataItem.setRaw(\"parent\", dataItem);\n\t\t\t\tchildDataItem.setRaw(\"depth\", depth + 1);\n\n\t\t\t\tif (this.dataItems.length == 1 && depth == 0) {\n\t\t\t\t\tif (colors && childDataItem.get(\"fill\") == null) {\n\t\t\t\t\t\tchildDataItem.setRaw(\"fill\", colors.next());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tchildDataItem.setRaw(\"fill\", dataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tthis.processDataItem(childDataItem);\n\t\t\t})\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (!children || children.length == 0) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tnode.setAll({ toggleKey: undefined });\n\t\t}\n\n\t\tif (dataItem.get(\"disabled\") == null) {\n\t\t\tif (depth >= topDepth + initialDepth) {\n\t\t\t\tthis.disableDataItem(dataItem, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _processDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3hierarchy.HierarchyNode<IHierarchyDataObject>) {\n\t\tconst dataItem = d3HierarchyNode.data.dataItem;\n\n\t\tif (d3HierarchyNode.depth > this.getPrivate(\"maxDepth\")) {\n\t\t\tthis.setPrivateRaw(\"maxDepth\", d3HierarchyNode.depth);\n\t\t}\n\n\t\tif (dataItem) {\n\t\t\tdataItem.setRaw(\"d3HierarchyNode\", d3HierarchyNode);\n\n\t\t\t(d3HierarchyNode as any).index = this._index;\n\n\t\t\tthis._index++;\n\n\t\t\tdataItem.get(\"node\").set(\"disabled\", dataItem.get(\"disabled\"));\n\n\t\t\tlet dataValue = d3HierarchyNode.data.value;\n\t\t\tlet value = d3HierarchyNode.value\n\n\t\t\tif (dataValue != null) {\n\t\t\t\tvalue = dataValue;\n\t\t\t\t(d3HierarchyNode as any)[\"value\"] = value;\n\t\t\t}\n\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdataItem.setRaw(\"sum\", value);\n\t\t\t\tdataItem.setRaw(\"valuePercentTotal\", value / this.dataItems[0].get(\"sum\") * 100);\n\n\t\t\t\tlet valuePercent = 100;\n\t\t\t\tconst parent = dataItem.get(\"parent\");\n\t\t\t\tif (parent) {\n\t\t\t\t\tvaluePercent = value / parent.get(\"sum\") * 100;\n\t\t\t\t}\n\t\t\t\tdataItem.get(\"label\").text.markDirtyText();\n\t\t\t\tdataItem.setRaw(\"valuePercent\", valuePercent);\n\n\t\t\t\tif (this.getPrivate(\"valueLow\") > value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueLow\", value);\n\t\t\t\t}\n\n\t\t\t\tif (this.getPrivate(\"valueHigh\") < value) {\n\t\t\t\t\tthis.setPrivateRaw(\"valueHigh\", value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateLegendValue(dataItem);\n\t\t}\n\n\t\tconst hierarchyChildren = d3HierarchyNode.children;\n\t\tif (hierarchyChildren) {\n\t\t\t$array.each(hierarchyChildren, (d3HierarchyChild) => {\n\t\t\t\tthis._updateValues(d3HierarchyChild);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _makeHierarchyData(data: IHierarchyDataObject, dataItem: DataItem<IHierarchyDataItem>) {\n\t\tdata.dataItem = dataItem;\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tconst childrenDataArray: Array<IHierarchyDataObject> = [];\n\t\t\tdata.children = childrenDataArray;\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tconst childData = {};\n\t\t\t\tchildrenDataArray.push(childData);\n\t\t\t\tthis._makeHierarchyData(childData, childDataItem);\n\t\t\t})\n\n\t\t\tconst value = dataItem.get(\"valueWorking\");\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdata.value = value;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconst value = dataItem.get(\"valueWorking\");\n\t\t\tif ($type.isNumber(value)) {\n\t\t\t\tdata.value = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tthis.nodes.removeValue(node);\n\t\t\tnode.dispose();\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tconst children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disposeDataItem(child);\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Hides hierarchy'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\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\tconst stateAnimationDuration = \"stateAnimationDuration\"\n\t\t\tduration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));\n\t\t}\n\n\t\tconst stateAnimationEasing = \"stateAnimationEasing\";\n\t\tconst easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));\n\n\t\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: 0, duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.hide();\n\t\tnode.hideTooltip();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.hideDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows hierarchy'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\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\tconst children = dataItem.get(\"children\");\n\n\t\tif ((!children || children.length == 0) && $type.isNumber(dataItem.get(\"value\"))) {\n\t\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\t\t}\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.show();\n\n\t\tif (children) {\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tpromises.push(this.showDataItem(childDataItem));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Enables a disabled data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic enableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth?: number, depth?: number, duration?: number) {\n\n\t\tif (depth == null) {\n\t\t\tdepth = 0;\n\t\t}\n\n\t\tif (maxDepth == null) {\n\t\t\tmaxDepth = 1;\n\t\t}\n\n\t\tdataItem.set(\"disabled\", false);\n\t\tdataItem.get(\"node\").set(\"disabled\", false);\n\n\t\tif (!dataItem.isHidden()) {\n\t\t\tdataItem.get(\"node\").show(duration);\n\t\t}\n\n\t\tconst topDepth = this.get(\"topDepth\", 0);\n\t\tif (depth < topDepth) {\n\t\t\tdataItem.get(\"node\").hide(0);\n\t\t}\n\n\t\tif (depth == 0) {\n\t\t\tconst upDepth = this.get(\"upDepth\", Infinity);\n\t\t\tlet parent = dataItem;\n\t\t\tlet count = 0;\n\n\t\t\twhile (parent !== undefined) {\n\t\t\t\tif (count > upDepth) {\n\t\t\t\t\tparent.get(\"node\").hide();\n\t\t\t\t}\n\t\t\t\tparent = parent.get(\"parent\");\n\t\t\t\tcount++;\n\t\t\t}\n\t\t}\n\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\tif (depth < maxDepth - 1) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tthis.enableDataItem(child, maxDepth, depth as number + 1, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (!child.isHidden()) {\n\t\t\t\t\t\tchild.get(\"node\").show(duration);\n\t\t\t\t\t\tchild.get(\"node\").states.applyAnimate(\"disabled\");\n\t\t\t\t\t\tchild.set(\"disabled\", true);\n\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Disables a data item.\n\t *\n\t * @param dataItem Target data item\n\t * @param duration Animation duration in milliseconds\n\t */\n\tpublic disableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number) {\n\t\tdataItem.set(\"disabled\", true);\n\t\tlet children = dataItem.get(\"children\");\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tthis.disableDataItem(child, duration);\n\t\t\t\tchild.get(\"node\").hide(duration);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number, skipDisptach?: boolean) {\n\t\tif (dataItem) {\n\t\t\tif (!skipDisptach) {\n\t\t\t\tconst type = \"dataitemselected\";\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this, dataItem: dataItem });\n\t\t\t}\n\n\t\t\tlet maxDepth = this.getPrivate(\"maxDepth\", 1);\n\t\t\tconst topDepth = this.get(\"topDepth\", 0);\n\n\t\t\tif (downDepth == null) {\n\t\t\t\tdownDepth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\t\t\t}\n\n\t\t\tif (!this.inited) {\n\t\t\t\tdownDepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - topDepth);\n\t\t\t}\n\n\t\t\tthis._currentDownDepth = downDepth;\n\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\t\t\tlet currentDepth = hierarchyNode.depth;\n\n\t\t\tif (currentDepth + downDepth > maxDepth) {\n\t\t\t\tdownDepth = maxDepth - currentDepth;\n\t\t\t}\n\n\t\t\tif (currentDepth < topDepth) {\n\t\t\t\tdownDepth += topDepth - currentDepth;\n\t\t\t\tcurrentDepth = topDepth;\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\n\t\t\tif (children && children.length > 0) {\n\t\t\t\tif (downDepth > 0) {\n\t\t\t\t\tthis.enableDataItem(dataItem, downDepth);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdataItem.get(\"node\").show();\n\t\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\t\tchild.get(\"node\").hide();\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (hierarchyNode.depth < topDepth) {\n\t\t\t\t\tdataItem.get(\"node\").hide(0);\n\t\t\t\t}\n\n\t\t\t\tif (this.get(\"singleBranchOnly\")) {\n\t\t\t\t\tthis._handleSingle(dataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.enableDataItem(this.dataItems[0], downDepth, 0);\n\t\t\t}\n\n\t\t\tthis._zoom(dataItem);\n\t\t}\n\n\t}\n\n\tprotected _zoom(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tif (parent) {\n\t\t\tconst children = parent.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (child != dataItem) {\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Selects specific data item.\n\t *\n\t * @param dataItem Target data item\n\t */\n\tpublic selectDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tconst maxDepth = this.getPrivate(\"maxDepth\", 1);\n\n\t\tif (this.get(\"selectedDataItem\") == dataItem) {\n\t\t\tif (parent) {\n\t\t\t\tthis.set(\"selectedDataItem\", parent);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet depth = Math.min(this.get(\"downDepth\", 1), maxDepth - dataItem.get(\"depth\"));\n\n\t\t\t\tif (this._currentDownDepth == depth) {\n\t\t\t\t\tdepth = Math.min(this.get(\"initialDepth\", 1), maxDepth - this.get(\"topDepth\", 0));\n\t\t\t\t}\n\n\t\t\t\tthis._selectDataItem(dataItem, depth);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.set(\"selectedDataItem\", dataItem);\n\t\t}\n\t}\n\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction: (root: Root, series: Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?: number) {\n\t\tconst bullet = super._makeBullet(dataItem, bulletFunction, index);\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tif (sprite) {\n\t\t\t\tnode.children.push(sprite);\n\t\t\t\tnode.on(\"width\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\t\t\t\tnode.on(\"height\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tsprite.set(\"x\", node.width() * locationX);\n\t\t\tsprite.set(\"y\", node.height() * locationY);\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node && !node.isHidden()) {\n\t\t\tnode.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tnode.unhover();\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { MapLineSeries } from "./MapLineSeries";
|
|
2
2
|
import type { IGeoPoint } from "../../core/util/IGeoPoint";
|
|
3
|
-
import {
|
|
3
|
+
import type { IPoint } from "../../core/util/IPoint";
|
|
4
|
+
import { Graphics, IGraphicsSettings, IGraphicsPrivate, IGraphicsEvents } from "../../core/render/Graphics";
|
|
4
5
|
export interface IMapLineSettings extends IGraphicsSettings {
|
|
5
6
|
/**
|
|
6
7
|
* A GeoJSON representation of the polygons geometry.
|
|
@@ -18,12 +19,19 @@ export interface IMapLinePrivate extends IGraphicsPrivate {
|
|
|
18
19
|
*/
|
|
19
20
|
series: MapLineSeries;
|
|
20
21
|
}
|
|
22
|
+
export interface IMapLineEvents extends IGraphicsEvents {
|
|
23
|
+
/**
|
|
24
|
+
* Invoked when line is redrawn
|
|
25
|
+
*/
|
|
26
|
+
linechanged: {};
|
|
27
|
+
}
|
|
21
28
|
/**
|
|
22
29
|
* A line object in a [[MapLineSeries]].
|
|
23
30
|
*/
|
|
24
31
|
export declare class MapLine extends Graphics {
|
|
25
32
|
_settings: IMapLineSettings;
|
|
26
33
|
_privateSettings: IMapLinePrivate;
|
|
34
|
+
_events: IMapLineEvents;
|
|
27
35
|
static className: string;
|
|
28
36
|
static classNames: Array<string>;
|
|
29
37
|
protected _projectionDirty: boolean;
|
|
@@ -33,6 +41,7 @@ export declare class MapLine extends Graphics {
|
|
|
33
41
|
*/
|
|
34
42
|
markDirtyProjection(): void;
|
|
35
43
|
_clearDirty(): void;
|
|
44
|
+
_getTooltipPoint(): IPoint;
|
|
36
45
|
/**
|
|
37
46
|
* Converts relative position along the line (0-1) into pixel coordinates.
|
|
38
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapLine.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"MapLine.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG5G,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IAE1D;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;IAExD;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IAExD;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IAEtD;;OAEG;IACH,WAAW,EAAE,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,QAAQ;IAErB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,OAAO,EAAE,cAAc,CAAC;IAEvC,OAAc,SAAS,EAAE,MAAM,CAAa;IAC5C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmD;IAC1F,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;IAErC,cAAc;IAmFrB;;OAEG;IACI,mBAAmB;IAKnB,WAAW;IAKX,gBAAgB,IAAI,MAAM;IA+BjC;;;;;OAKG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;CA8EtD"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
+
import * as $type from "../../core/util/Type";
|
|
3
|
+
import { Percent } from "../../core/util/Percent";
|
|
2
4
|
import { Graphics } from "../../core/render/Graphics";
|
|
3
5
|
import { geoLength, geoInterpolate, geoDistance } from "d3-geo";
|
|
4
6
|
/**
|
|
@@ -32,7 +34,7 @@ var MapLine = /** @class */ (function (_super) {
|
|
|
32
34
|
if (chart_1) {
|
|
33
35
|
var projection_1 = chart_1.get("projection");
|
|
34
36
|
var clipAngle_1 = null;
|
|
35
|
-
if (projection_1) {
|
|
37
|
+
if (projection_1 && projection_1.clipAngle) {
|
|
36
38
|
clipAngle_1 = projection_1.clipAngle();
|
|
37
39
|
projection_1.precision(this.get("precision", 0.5));
|
|
38
40
|
}
|
|
@@ -78,7 +80,7 @@ var MapLine = /** @class */ (function (_super) {
|
|
|
78
80
|
geoPath_1.context(_this._display);
|
|
79
81
|
geoPath_1(geometry_1);
|
|
80
82
|
geoPath_1.context(null);
|
|
81
|
-
if (projection_1) {
|
|
83
|
+
if (projection_1 && projection_1.clipAngle) {
|
|
82
84
|
projection_1.clipAngle(clipAngle_1);
|
|
83
85
|
}
|
|
84
86
|
});
|
|
@@ -87,6 +89,10 @@ var MapLine = /** @class */ (function (_super) {
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
}
|
|
92
|
+
var type = "linechanged";
|
|
93
|
+
if (this.events.isEnabled(type)) {
|
|
94
|
+
this.events.dispatch(type, { type: type, target: this });
|
|
95
|
+
}
|
|
90
96
|
}
|
|
91
97
|
}
|
|
92
98
|
});
|
|
@@ -111,6 +117,36 @@ var MapLine = /** @class */ (function (_super) {
|
|
|
111
117
|
this._projectionDirty = false;
|
|
112
118
|
}
|
|
113
119
|
});
|
|
120
|
+
Object.defineProperty(MapLine.prototype, "_getTooltipPoint", {
|
|
121
|
+
enumerable: false,
|
|
122
|
+
configurable: true,
|
|
123
|
+
writable: true,
|
|
124
|
+
value: function () {
|
|
125
|
+
var tooltipX = this.get("tooltipX");
|
|
126
|
+
var tooltipY = this.get("tooltipY");
|
|
127
|
+
var x = 0;
|
|
128
|
+
var y = 0;
|
|
129
|
+
if ($type.isNumber(tooltipX)) {
|
|
130
|
+
x = tooltipX;
|
|
131
|
+
}
|
|
132
|
+
if ($type.isNumber(tooltipY)) {
|
|
133
|
+
y = tooltipY;
|
|
134
|
+
}
|
|
135
|
+
if (tooltipX instanceof Percent) {
|
|
136
|
+
var geoPoint = this.positionToGeoPoint(tooltipX.value);
|
|
137
|
+
var series = this.getPrivate("series");
|
|
138
|
+
if (series) {
|
|
139
|
+
var chart = series.chart;
|
|
140
|
+
if (chart) {
|
|
141
|
+
var point = chart.convert(geoPoint);
|
|
142
|
+
x = point.x;
|
|
143
|
+
y = point.y;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return { x: x, y: y };
|
|
148
|
+
}
|
|
149
|
+
});
|
|
114
150
|
/**
|
|
115
151
|
* Converts relative position along the line (0-1) into pixel coordinates.
|
|
116
152
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapLine.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapLine.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,QAAQ,EAAuC,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAyBhE;;GAEG;AACH;IAA6B,2BAAQ;IAArC;QAAA,qEAyLC;QAlLA;;;;mBAAsC,KAAK;WAAC;;IAkL7C,CAAC;;;;;eAhLA;YAAA,iBA6EC;YA5EA,iBAAM,cAAc,WAAE,CAAC;YAEvB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACnF,IAAM,UAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;gBACvC,IAAI,UAAQ,EAAE;oBACb,IAAM,QAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,QAAM,EAAE;wBACX,IAAM,OAAK,GAAG,QAAM,CAAC,KAAK,CAAC;wBAC3B,IAAI,OAAK,EAAE;4BACV,IAAM,YAAU,GAAG,OAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAC3C,IAAI,WAAS,GAAkB,IAAI,CAAC;4BAEpC,IAAI,YAAU,EAAE;gCACf,WAAS,GAAG,YAAU,CAAC,SAAS,EAAE,CAAC;gCACnC,YAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;6BACjD;4BACD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAA4C,CAAC;4BACnE,IAAM,SAAO,GAAG,OAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;4BAC5C,IAAI,SAAO,IAAI,QAAQ,EAAE;gCACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gCACnB,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,QAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,UAAU,EAAE;oCAEnE,IAAM,UAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;oCAEvC,IAAI,UAAQ,EAAE;wCACb,IAAI,WAAW,GAAG,UAAQ,CAAC,WAAW,CAAC;wCACvC,IAAI,WAAW,EAAE;4CAEhB,IAAI,UAAuB,CAAC;4CAE5B,IAAI,UAAQ,CAAC,IAAI,IAAI,YAAY,EAAE;gDAClC,UAAQ,GAAG,CAAC,WAAW,CAAiB,CAAC;6CACzC;iDACI,IAAI,UAAQ,CAAC,IAAI,IAAI,iBAAiB,EAAE;gDAC5C,UAAQ,GAAG,WAA2B,CAAC;6CACvC;4CAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;gDACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDACzC,IAAI,OAAO,GAAG,UAAQ,CAAC,CAAC,CAAC,CAAC;oDAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;wDACvB,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wDACvB,IAAM,EAAE,GAAG,OAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;wDACjE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;wDAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4DACxC,IAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;4DACtB,IAAM,EAAE,GAAG,OAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;4DAC/D,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;yDAC3B;qDACD;iDACD;4CACF,CAAC,CAAC,CAAA;yCACF;qCACD;iCACD;qCACI;oCACJ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,QAAQ;wCACzB,IAAI,YAAU,IAAI,QAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE;4CACnD,YAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;yCAC1B;wCAED,SAAO,CAAC,OAAO,CAAC,KAAI,CAAC,QAAe,CAAC,CAAC;wCACtC,SAAO,CAAC,UAAQ,CAAC,CAAC;wCAClB,SAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wCAEtB,IAAI,YAAU,EAAE;4CACf,YAAU,CAAC,SAAS,CAAC,WAAgB,CAAC,CAAC;yCACvC;oCACF,CAAC,CAAC,CAAA;iCACF;6BACD;yBACD;qBACD;iBACD;aACD;QACF,CAAC;;IAED;;OAEG;;;;;eACH;YACC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,CAAC;;;;;;eAED;YACC,iBAAM,WAAW,WAAE,CAAC;YACpB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;;IAED;;;;;OAKG;;;;;eACH,UAA0B,QAAgB;YAEzC,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YACvC,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,QAA4C,CAAC;YAEnE,IAAI,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,QAAQ,EAAE;gBAC5C,IAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClE,IAAI,aAAa,GAAW,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,eAAe,GAAW,CAAC,CAAC;gBAEhC,IAAI,UAAU,SAAQ,CAAC;gBACvB,IAAI,SAAS,GAAW,CAAC,CAAC;gBAC1B,IAAI,SAAS,GAAW,CAAC,CAAC;gBAC1B,IAAI,MAAM,SAAmB,CAAC;gBAC9B,IAAI,MAAM,SAAmB,CAAC;gBAE9B,IAAI,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACvC,IAAI,WAAW,EAAE;oBAChB,IAAI,QAAQ,SAAe,CAAC;oBAE5B,IAAI,QAAQ,CAAC,IAAI,IAAI,YAAY,EAAE;wBAClC,QAAQ,GAAG,CAAC,WAAW,CAAiB,CAAC;qBACzC;yBACI,IAAI,QAAQ,CAAC,IAAI,IAAI,iBAAiB,EAAE;wBAC5C,QAAQ,GAAG,WAA2B,CAAC;qBACvC;oBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzC,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACxC,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAqB,CAAC;gCAC5C,MAAM,GAAG,OAAO,CAAC,CAAC,CAAqB,CAAC;gCAExC,SAAS,GAAG,eAAe,GAAG,aAAa,CAAC;gCAC5C,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gCACzC,eAAe,IAAI,UAAU,CAAC;gCAC9B,SAAS,GAAG,eAAe,GAAG,aAAa,CAAC;gCAE5C,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,GAAG,QAAQ,EAAE;oCAClD,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;oCACpB,MAAM;iCACN;6BACD;yBACD;6BACI,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;4BAC7B,MAAM,GAAG,OAAO,CAAC,CAAC,CAAqB,CAAC;4BACxC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAqB,CAAC;4BACxC,SAAS,GAAG,CAAC,CAAC;4BACd,SAAS,GAAG,CAAC,CAAC;yBACd;qBACD;oBAED,IAAI,MAAM,IAAI,MAAM,EAAE;wBACrB,IAAI,UAAU,GAAW,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;wBAC1E,IAAI,UAAkB,CAAC;wBAEvB,IAAI,QAAQ,IAAI,UAAU,EAAE;4BAC3B,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACtE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAEtE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;4BAC1C,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;4BAE1C,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;yBACpC;6BACI;4BACJ,UAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;4BACtD,OAAO,EAAE,SAAS,EAAE,UAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;yBACxD;qBAED;iBACD;aACD;YACD,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC;;IAnLD;;;;eAAkC,SAAS;OAAC;IAC5C;;;;eAA0C,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;OAAC;IAmL3F,cAAC;CAAA,AAzLD,CAA6B,QAAQ,GAyLpC;SAzLY,OAAO","sourcesContent":["import type { MapLineSeries, IMapLineSeriesDataItem } from \"./MapLineSeries\";\nimport type { IGeoPoint } from \"../../core/util/IGeoPoint\";\nimport type { DataItem } from \"../../core/render/Component\";\n\n\nimport { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\nimport { geoLength, geoInterpolate, geoDistance } from \"d3-geo\";\n\nexport interface IMapLineSettings extends IGraphicsSettings {\n\n\t/**\n\t * A GeoJSON representation of the polygons geometry.\n\t */\n\tgeometry?: GeoJSON.LineString | GeoJSON.MultiLineString;\n\n\t/**\n\t * @todo needs description\n\t * @default 0.5\n\t */\n\tprecision?: number;\n}\n\nexport interface IMapLinePrivate extends IGraphicsPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tseries: MapLineSeries;\n\n}\n\n/**\n * A line object in a [[MapLineSeries]].\n */\nexport class MapLine extends Graphics {\n\n\tdeclare public _settings: IMapLineSettings;\n\tdeclare public _privateSettings: IMapLinePrivate;\n\n\tpublic static className: string = \"MapLine\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([MapLine.className]);\n\tprotected _projectionDirty: boolean = false;\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this._projectionDirty || this.isDirty(\"geometry\") || this.isDirty(\"precision\")) {\n\t\t\tconst geometry = this.get(\"geometry\")!;\n\t\t\tif (geometry) {\n\t\t\t\tconst series = this.getPrivate(\"series\");\n\t\t\t\tif (series) {\n\t\t\t\t\tconst chart = series.chart;\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\tconst projection = chart.get(\"projection\");\n\t\t\t\t\t\tlet clipAngle: number | null = null;\n\n\t\t\t\t\t\tif (projection) {\n\t\t\t\t\t\t\tclipAngle = projection.clipAngle();\n\t\t\t\t\t\t\tprojection.precision(this.get(\"precision\", 0.5));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst dataItem = this.dataItem as DataItem<IMapLineSeriesDataItem>;\n\t\t\t\t\t\tconst geoPath = chart.getPrivate(\"geoPath\");\n\t\t\t\t\t\tif (geoPath && dataItem) {\n\t\t\t\t\t\t\tthis._clear = true;\n\t\t\t\t\t\t\tif (dataItem.get(\"lineType\", series.get(\"lineType\")) == \"straight\") {\n\n\t\t\t\t\t\t\t\tconst geometry = this.get(\"geometry\")!;\n\n\t\t\t\t\t\t\t\tif (geometry) {\n\t\t\t\t\t\t\t\t\tlet coordinates = geometry.coordinates;\n\t\t\t\t\t\t\t\t\tif (coordinates) {\n\n\t\t\t\t\t\t\t\t\t\tlet segments!: number[][][];\n\n\t\t\t\t\t\t\t\t\t\tif (geometry.type == \"LineString\") {\n\t\t\t\t\t\t\t\t\t\t\tsegments = [coordinates] as number[][][];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (geometry.type == \"MultiLineString\") {\n\t\t\t\t\t\t\t\t\t\t\tsegments = coordinates as number[][][];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tthis.set(\"draw\", (display) => {\n\t\t\t\t\t\t\t\t\t\t\tfor (let s = 0; s < segments.length; s++) {\n\t\t\t\t\t\t\t\t\t\t\t\tlet segment = segments[s];\n\t\t\t\t\t\t\t\t\t\t\t\tif (segment.length > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst gp0 = segment[0];\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst p0 = chart.convert({ longitude: gp0[0], latitude: gp0[1] })\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay.lineTo(p0.x, p0.y);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let p = 0; p < segment.length; p++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst gp = segment[p];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst pn = chart.convert({ longitude: gp[0], latitude: gp[1] })\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay.lineTo(pn.x, pn.y);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})\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\telse {\n\t\t\t\t\t\t\t\tthis.set(\"draw\", (_display) => {\n\t\t\t\t\t\t\t\t\tif (projection && series.get(\"clipBack\") === false) {\n\t\t\t\t\t\t\t\t\t\tprojection.clipAngle(180);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tgeoPath.context(this._display as any);\n\t\t\t\t\t\t\t\t\tgeoPath(geometry);\n\t\t\t\t\t\t\t\t\tgeoPath.context(null);\n\n\t\t\t\t\t\t\t\t\tif (projection) {\n\t\t\t\t\t\t\t\t\t\tprojection.clipAngle(clipAngle as any);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\tthis.markDirty();\n\t\tthis._projectionDirty = true;\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._projectionDirty = false;\n\t}\n\n\t/**\n\t * Converts relative position along the line (0-1) into pixel coordinates.\n\t *\n\t * @param position Position (0-1)\n\t * @return Coordinates\n\t */\n\tpublic positionToGeoPoint(position: number): IGeoPoint {\n\n\t\tconst geometry = this.get(\"geometry\")!;\n\t\tconst series = this.getPrivate(\"series\");\n\t\tconst chart = series.chart;\n\t\tconst dataItem = this.dataItem as DataItem<IMapLineSeriesDataItem>;\n\n\t\tif (geometry && series && chart && dataItem) {\n\t\t\tconst lineType = dataItem.get(\"lineType\", series.get(\"lineType\"));\n\t\t\tlet totalDistance: number = geoLength(geometry);\n\t\t\tlet currentDistance: number = 0;\n\n\t\t\tlet distanceAB: number;\n\t\t\tlet positionA: number = 0;\n\t\t\tlet positionB: number = 0;\n\t\t\tlet pointA!: [number, number];\n\t\t\tlet pointB!: [number, number];\n\n\t\t\tlet coordinates = geometry.coordinates;\n\t\t\tif (coordinates) {\n\t\t\t\tlet segments!: number[][][];\n\n\t\t\t\tif (geometry.type == \"LineString\") {\n\t\t\t\t\tsegments = [coordinates] as number[][][];\n\t\t\t\t}\n\t\t\t\telse if (geometry.type == \"MultiLineString\") {\n\t\t\t\t\tsegments = coordinates as number[][][];\n\t\t\t\t}\n\n\t\t\t\tfor (let s = 0; s < segments.length; s++) {\n\t\t\t\t\tlet segment = segments[s];\n\t\t\t\t\tif (segment.length > 1) {\n\t\t\t\t\t\tfor (let p = 1; p < segment.length; p++) {\n\t\t\t\t\t\t\tpointA = segment[p - 1] as [number, number];\n\t\t\t\t\t\t\tpointB = segment[p] as [number, number];\n\n\t\t\t\t\t\t\tpositionA = currentDistance / totalDistance;\n\t\t\t\t\t\t\tdistanceAB = geoDistance(pointA, pointB);\n\t\t\t\t\t\t\tcurrentDistance += distanceAB;\n\t\t\t\t\t\t\tpositionB = currentDistance / totalDistance;\n\n\t\t\t\t\t\t\tif (positionA <= position && positionB > position) {\n\t\t\t\t\t\t\t\ts = segments.length;\n\t\t\t\t\t\t\t\tbreak;\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\telse if (segment.length == 1) {\n\t\t\t\t\t\tpointA = segment[0] as [number, number];\n\t\t\t\t\t\tpointB = segment[0] as [number, number];\n\t\t\t\t\t\tpositionA = 0;\n\t\t\t\t\t\tpositionB = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (pointA && pointB) {\n\t\t\t\t\tlet positionAB: number = (position - positionA) / (positionB - positionA);\n\t\t\t\t\tlet location: number[];\n\n\t\t\t\t\tif (lineType == \"straight\") {\n\t\t\t\t\t\tlet p0 = chart.convert({ longitude: pointA[0], latitude: pointA[1] });\n\t\t\t\t\t\tlet p1 = chart.convert({ longitude: pointB[0], latitude: pointB[1] });\n\n\t\t\t\t\t\tlet x = p0.x + (p1.x - p0.x) * positionAB;\n\t\t\t\t\t\tlet y = p0.y + (p1.y - p0.y) * positionAB;\n\n\t\t\t\t\t\treturn chart.invert({ x: x, y: y });\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlocation = geoInterpolate(pointA, pointB)(positionAB);\n\t\t\t\t\t\treturn { longitude: location[0], latitude: location[1] }\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn { longitude: 0, latitude: 0 };\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MapLine.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapLine.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MapLineSeries, IMapLineSeriesDataItem } from \"./MapLineSeries\";\nimport type { IGeoPoint } from \"../../core/util/IGeoPoint\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport * as $type from \"../../core/util/Type\";\nimport { Percent } from \"../../core/util/Percent\";\n\nimport { Graphics, IGraphicsSettings, IGraphicsPrivate, IGraphicsEvents } from \"../../core/render/Graphics\";\nimport { geoLength, geoInterpolate, geoDistance } from \"d3-geo\";\n\nexport interface IMapLineSettings extends IGraphicsSettings {\n\n\t/**\n\t * A GeoJSON representation of the polygons geometry.\n\t */\n\tgeometry?: GeoJSON.LineString | GeoJSON.MultiLineString;\n\n\t/**\n\t * @todo needs description\n\t * @default 0.5\n\t */\n\tprecision?: number;\n}\n\nexport interface IMapLinePrivate extends IGraphicsPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tseries: MapLineSeries;\n}\n\nexport interface IMapLineEvents extends IGraphicsEvents {\n\n\t/**\n\t * Invoked when line is redrawn\n\t */\n\tlinechanged: {};\n}\n\n/**\n * A line object in a [[MapLineSeries]].\n */\nexport class MapLine extends Graphics {\n\n\tdeclare public _settings: IMapLineSettings;\n\tdeclare public _privateSettings: IMapLinePrivate;\n\tdeclare public _events: IMapLineEvents;\n\n\tpublic static className: string = \"MapLine\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([MapLine.className]);\n\tprotected _projectionDirty: boolean = false;\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this._projectionDirty || this.isDirty(\"geometry\") || this.isDirty(\"precision\")) {\n\t\t\tconst geometry = this.get(\"geometry\")!;\n\t\t\tif (geometry) {\n\t\t\t\tconst series = this.getPrivate(\"series\");\n\t\t\t\tif (series) {\n\t\t\t\t\tconst chart = series.chart;\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\tconst projection = chart.get(\"projection\");\n\t\t\t\t\t\tlet clipAngle: number | null = null;\n\n\t\t\t\t\t\tif (projection && projection.clipAngle) {\n\t\t\t\t\t\t\tclipAngle = projection.clipAngle();\n\t\t\t\t\t\t\tprojection.precision(this.get(\"precision\", 0.5));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst dataItem = this.dataItem as DataItem<IMapLineSeriesDataItem>;\n\t\t\t\t\t\tconst geoPath = chart.getPrivate(\"geoPath\");\n\t\t\t\t\t\tif (geoPath && dataItem) {\n\t\t\t\t\t\t\tthis._clear = true;\n\t\t\t\t\t\t\tif (dataItem.get(\"lineType\", series.get(\"lineType\")) == \"straight\") {\n\n\t\t\t\t\t\t\t\tconst geometry = this.get(\"geometry\")!;\n\n\t\t\t\t\t\t\t\tif (geometry) {\n\t\t\t\t\t\t\t\t\tlet coordinates = geometry.coordinates;\n\t\t\t\t\t\t\t\t\tif (coordinates) {\n\n\t\t\t\t\t\t\t\t\t\tlet segments!: number[][][];\n\n\t\t\t\t\t\t\t\t\t\tif (geometry.type == \"LineString\") {\n\t\t\t\t\t\t\t\t\t\t\tsegments = [coordinates] as number[][][];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (geometry.type == \"MultiLineString\") {\n\t\t\t\t\t\t\t\t\t\t\tsegments = coordinates as number[][][];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tthis.set(\"draw\", (display) => {\n\t\t\t\t\t\t\t\t\t\t\tfor (let s = 0; s < segments.length; s++) {\n\t\t\t\t\t\t\t\t\t\t\t\tlet segment = segments[s];\n\t\t\t\t\t\t\t\t\t\t\t\tif (segment.length > 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst gp0 = segment[0];\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst p0 = chart.convert({ longitude: gp0[0], latitude: gp0[1] })\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay.lineTo(p0.x, p0.y);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (let p = 0; p < segment.length; p++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst gp = segment[p];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst pn = chart.convert({ longitude: gp[0], latitude: gp[1] })\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay.lineTo(pn.x, pn.y);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})\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\telse {\n\t\t\t\t\t\t\t\tthis.set(\"draw\", (_display) => {\n\t\t\t\t\t\t\t\t\tif (projection && series.get(\"clipBack\") === false) {\n\t\t\t\t\t\t\t\t\t\tprojection.clipAngle(180);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tgeoPath.context(this._display as any);\n\t\t\t\t\t\t\t\t\tgeoPath(geometry);\n\t\t\t\t\t\t\t\t\tgeoPath.context(null);\n\n\t\t\t\t\t\t\t\t\tif (projection && projection.clipAngle) {\n\t\t\t\t\t\t\t\t\t\tprojection.clipAngle(clipAngle as any);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst type = \"linechanged\";\n\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\tthis.markDirty();\n\t\tthis._projectionDirty = true;\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._projectionDirty = false;\n\t}\n\n\tpublic _getTooltipPoint(): IPoint {\n\t\tlet tooltipX = this.get(\"tooltipX\");\n\t\tlet tooltipY = this.get(\"tooltipY\");\n\n\t\tlet x = 0;\n\t\tlet y = 0;\n\n\t\tif ($type.isNumber(tooltipX)) {\n\t\t\tx = tooltipX;\n\t\t}\n\n\t\tif ($type.isNumber(tooltipY)) {\n\t\t\ty = tooltipY;\n\t\t}\n\n\t\tif (tooltipX instanceof Percent) {\n\t\t\tconst geoPoint = this.positionToGeoPoint(tooltipX.value)\n\t\t\tconst series = this.getPrivate(\"series\");\n\t\t\tif (series) {\n\t\t\t\tconst chart = series.chart;\n\t\t\t\tif (chart) {\n\t\t\t\t\tconst point = chart.convert(geoPoint);\n\t\t\t\t\tx = point.x;\n\t\t\t\t\ty = point.y;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn { x, y };\n\t}\n\n\t/**\n\t * Converts relative position along the line (0-1) into pixel coordinates.\n\t *\n\t * @param position Position (0-1)\n\t * @return Coordinates\n\t */\n\tpublic positionToGeoPoint(position: number): IGeoPoint {\n\n\t\tconst geometry = this.get(\"geometry\")!;\n\t\tconst series = this.getPrivate(\"series\");\n\t\tconst chart = series.chart;\n\t\tconst dataItem = this.dataItem as DataItem<IMapLineSeriesDataItem>;\n\n\t\tif (geometry && series && chart && dataItem) {\n\t\t\tconst lineType = dataItem.get(\"lineType\", series.get(\"lineType\"));\n\t\t\tlet totalDistance: number = geoLength(geometry);\n\t\t\tlet currentDistance: number = 0;\n\n\t\t\tlet distanceAB: number;\n\t\t\tlet positionA: number = 0;\n\t\t\tlet positionB: number = 0;\n\t\t\tlet pointA!: [number, number];\n\t\t\tlet pointB!: [number, number];\n\n\t\t\tlet coordinates = geometry.coordinates;\n\t\t\tif (coordinates) {\n\t\t\t\tlet segments!: number[][][];\n\n\t\t\t\tif (geometry.type == \"LineString\") {\n\t\t\t\t\tsegments = [coordinates] as number[][][];\n\t\t\t\t}\n\t\t\t\telse if (geometry.type == \"MultiLineString\") {\n\t\t\t\t\tsegments = coordinates as number[][][];\n\t\t\t\t}\n\n\t\t\t\tfor (let s = 0; s < segments.length; s++) {\n\t\t\t\t\tlet segment = segments[s];\n\t\t\t\t\tif (segment.length > 1) {\n\t\t\t\t\t\tfor (let p = 1; p < segment.length; p++) {\n\t\t\t\t\t\t\tpointA = segment[p - 1] as [number, number];\n\t\t\t\t\t\t\tpointB = segment[p] as [number, number];\n\n\t\t\t\t\t\t\tpositionA = currentDistance / totalDistance;\n\t\t\t\t\t\t\tdistanceAB = geoDistance(pointA, pointB);\n\t\t\t\t\t\t\tcurrentDistance += distanceAB;\n\t\t\t\t\t\t\tpositionB = currentDistance / totalDistance;\n\n\t\t\t\t\t\t\tif (positionA <= position && positionB > position) {\n\t\t\t\t\t\t\t\ts = segments.length;\n\t\t\t\t\t\t\t\tbreak;\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\telse if (segment.length == 1) {\n\t\t\t\t\t\tpointA = segment[0] as [number, number];\n\t\t\t\t\t\tpointB = segment[0] as [number, number];\n\t\t\t\t\t\tpositionA = 0;\n\t\t\t\t\t\tpositionB = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (pointA && pointB) {\n\t\t\t\t\tlet positionAB: number = (position - positionA) / (positionB - positionA);\n\t\t\t\t\tlet location: number[];\n\n\t\t\t\t\tif (lineType == \"straight\") {\n\t\t\t\t\t\tlet p0 = chart.convert({ longitude: pointA[0], latitude: pointA[1] });\n\t\t\t\t\t\tlet p1 = chart.convert({ longitude: pointB[0], latitude: pointB[1] });\n\n\t\t\t\t\t\tlet x = p0.x + (p1.x - p0.x) * positionAB;\n\t\t\t\t\t\tlet y = p0.y + (p1.y - p0.y) * positionAB;\n\n\t\t\t\t\t\treturn chart.invert({ x: x, y: y });\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlocation = geoInterpolate(pointA, pointB)(positionAB);\n\t\t\t\t\t\treturn { longitude: location[0], latitude: location[1] }\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn { longitude: 0, latitude: 0 };\n\t}\n}\n"]}
|
|
@@ -4,6 +4,7 @@ import type { Bullet } from "../../core/render/Bullet";
|
|
|
4
4
|
import type { DataItem } from "../../core/render/Component";
|
|
5
5
|
import { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from "./MapSeries";
|
|
6
6
|
import type { Animation } from "../../core/util/Entity";
|
|
7
|
+
import type { IDisposer } from "../../core/util/Disposer";
|
|
7
8
|
export interface IMapPointSeriesPrivate extends IMapSeriesPrivate {
|
|
8
9
|
}
|
|
9
10
|
export interface IMapPointSeriesDataItem extends IMapSeriesDataItem {
|
|
@@ -116,6 +117,7 @@ export declare class MapPointSeries extends MapSeries {
|
|
|
116
117
|
_privateSettings: IMapPointSeriesPrivate;
|
|
117
118
|
_dataItemSettings: IMapPointSeriesDataItem;
|
|
118
119
|
protected _types: Array<GeoJSON.GeoJsonGeometryTypes>;
|
|
120
|
+
protected _lineChangedDp?: IDisposer;
|
|
119
121
|
protected _afterNew(): void;
|
|
120
122
|
/**
|
|
121
123
|
* @ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapPointSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAiB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAoB,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKnG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"MapPointSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,12 @@ var MapPointSeries = /** @class */ (function (_super) {
|
|
|
20
20
|
writable: true,
|
|
21
21
|
value: ["Point", "MultiPoint"]
|
|
22
22
|
});
|
|
23
|
+
Object.defineProperty(_this, "_lineChangedDp", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: void 0
|
|
28
|
+
});
|
|
23
29
|
return _this;
|
|
24
30
|
}
|
|
25
31
|
Object.defineProperty(MapPointSeries.prototype, "_afterNew", {
|
|
@@ -143,6 +149,7 @@ var MapPointSeries = /** @class */ (function (_super) {
|
|
|
143
149
|
configurable: true,
|
|
144
150
|
writable: true,
|
|
145
151
|
value: function (bullet) {
|
|
152
|
+
var _this = this;
|
|
146
153
|
var sprite = bullet.get("sprite");
|
|
147
154
|
if (sprite) {
|
|
148
155
|
var dataItem_1 = sprite.dataItem;
|
|
@@ -172,6 +179,14 @@ var MapPointSeries = /** @class */ (function (_super) {
|
|
|
172
179
|
});
|
|
173
180
|
}
|
|
174
181
|
}
|
|
182
|
+
if (this._lineChangedDp) {
|
|
183
|
+
this._lineChangedDp.dispose();
|
|
184
|
+
}
|
|
185
|
+
if (line_1) {
|
|
186
|
+
this._lineChangedDp = line_1.events.on("linechanged", function () {
|
|
187
|
+
_this._positionBullets(dataItem_1);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
175
190
|
var polygonDataItem = dataItem_1.get("polygonDataItem");
|
|
176
191
|
var polygon_1;
|
|
177
192
|
if (polygonDataItem) {
|