@amcharts/amcharts5 5.2.42 → 5.2.44
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.js +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +2 -0
- package/.internal/charts/stock/toolbar/PeriodSelector.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.js +32 -5
- package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +6 -3
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +6 -0
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +14 -8
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +12 -3
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/CHANGELOG.md +19 -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
|
@@ -550,7 +550,7 @@ var Hierarchy = /** @class */ (function (_super) {
|
|
|
550
550
|
dataItem.get("node").show(duration);
|
|
551
551
|
}
|
|
552
552
|
var topDepth = this.get("topDepth", 0);
|
|
553
|
-
if (depth < topDepth) {
|
|
553
|
+
if (dataItem.get("depth") < topDepth) {
|
|
554
554
|
dataItem.get("node").hide(0);
|
|
555
555
|
}
|
|
556
556
|
if (depth == 0) {
|
|
@@ -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\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
|
+
{"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 (dataItem.get(\"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"]}
|
|
@@ -41,6 +41,8 @@ export declare class PeriodSelector extends StockControl {
|
|
|
41
41
|
_settings: IPeriodSelectorSettings;
|
|
42
42
|
_privateSettings: IPeriodSelectorPrivate;
|
|
43
43
|
_events: IPeriodSelectorEvents;
|
|
44
|
+
protected _groupChangedDp: IDisposer | undefined;
|
|
45
|
+
protected _groupChangedTo: IDisposer | undefined;
|
|
44
46
|
protected _afterNew(): void;
|
|
45
47
|
protected _initPeriodButtons(): void;
|
|
46
48
|
protected _resetActiveButtons(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeriodSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAiB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAMvE,MAAM,WAAW,OAAO;IACvB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IAErE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CAEpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAEnE;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAEzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;CACjE;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC/C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA8D;IAEtF,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAE9C,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,kBAAkB,IAAI,IAAI;IA6BpC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAwB9B,aAAa;IAOpB,SAAS,CAAC,SAAS,IAAI,GAAG;IAI1B,SAAS,CAAC,QAAQ,IAAI,GAAG;IAIlB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"PeriodSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAiB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAMvE,MAAM,WAAW,OAAO;IACvB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IAErE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CAEpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAEnE;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAEzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;CACjE;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC/C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA8D;IAEtF,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAE9C,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;IAEjD,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,kBAAkB,IAAI,IAAI;IA6BpC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAwB9B,aAAa;IAOpB,SAAS,CAAC,SAAS,IAAI,GAAG;IAI1B,SAAS,CAAC,QAAQ,IAAI,GAAG;IAIlB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAsE1C,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAejD"}
|
|
@@ -12,7 +12,20 @@ import * as $array from "../../../core/util/Array";
|
|
|
12
12
|
var PeriodSelector = /** @class */ (function (_super) {
|
|
13
13
|
__extends(PeriodSelector, _super);
|
|
14
14
|
function PeriodSelector() {
|
|
15
|
-
|
|
15
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
16
|
+
Object.defineProperty(_this, "_groupChangedDp", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true,
|
|
20
|
+
value: void 0
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(_this, "_groupChangedTo", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
value: void 0
|
|
27
|
+
});
|
|
28
|
+
return _this;
|
|
16
29
|
}
|
|
17
30
|
Object.defineProperty(PeriodSelector.prototype, "_afterNew", {
|
|
18
31
|
enumerable: false,
|
|
@@ -115,6 +128,8 @@ var PeriodSelector = /** @class */ (function (_super) {
|
|
|
115
128
|
configurable: true,
|
|
116
129
|
writable: true,
|
|
117
130
|
value: function (period) {
|
|
131
|
+
var _this = this;
|
|
132
|
+
this._highlightPeriod(period);
|
|
118
133
|
if (period.timeUnit == "max") {
|
|
119
134
|
this._getChart().zoomOut();
|
|
120
135
|
}
|
|
@@ -148,10 +163,23 @@ var PeriodSelector = /** @class */ (function (_super) {
|
|
|
148
163
|
end_1 = $time.round(end_1, interval.timeUnit, interval.count);
|
|
149
164
|
}
|
|
150
165
|
start_1 = $time.add(new Date(end_1), period.timeUnit, (period.count || 1) * -1);
|
|
151
|
-
|
|
152
|
-
|
|
166
|
+
if (this._groupChangedDp) {
|
|
167
|
+
this._groupChangedDp.dispose();
|
|
168
|
+
this._groupChangedDp = undefined;
|
|
169
|
+
}
|
|
170
|
+
if (this._groupChangedTo) {
|
|
171
|
+
this._groupChangedTo.dispose();
|
|
172
|
+
}
|
|
173
|
+
this._groupChangedDp = axis_1.events.once("groupintervalchanged", function () {
|
|
153
174
|
axis_1.zoomToDates(start_1, end_1, 0);
|
|
154
|
-
}
|
|
175
|
+
});
|
|
176
|
+
axis_1.zoomToDates(start_1, end_1, 0);
|
|
177
|
+
this._groupChangedTo = this.setTimeout(function () {
|
|
178
|
+
if (_this._groupChangedDp) {
|
|
179
|
+
_this._groupChangedDp.dispose();
|
|
180
|
+
}
|
|
181
|
+
_this._groupChangedTo = undefined;
|
|
182
|
+
}, 500);
|
|
155
183
|
return;
|
|
156
184
|
}
|
|
157
185
|
}
|
|
@@ -159,7 +187,6 @@ var PeriodSelector = /** @class */ (function (_super) {
|
|
|
159
187
|
}
|
|
160
188
|
axis_1.zoomToDates(start_1, end_1);
|
|
161
189
|
}
|
|
162
|
-
this._highlightPeriod(period);
|
|
163
190
|
}
|
|
164
191
|
});
|
|
165
192
|
Object.defineProperty(PeriodSelector.prototype, "_highlightPeriod", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeriodSelector.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"../../../core/util/Time\"\r\nimport type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { MultiDisposer, IDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPeriod {\r\n\ttimeUnit: TimeUnit | \"ytd\" | \"max\";\r\n\tcount?: number;\r\n\tname?: string;\r\n}\r\n\r\nexport interface IPeriodSelectorSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * A list periods to choose from.\r\n\t */\r\n\tperiods?: IPeriod[];\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorPrivate extends IStockControlPrivate {\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\taxis?: DateAxis<AxisRenderer>;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferReset?: boolean;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferTimeout?: IDisposer;\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorEvents extends IStockControlEvents {\r\n}\r\n\r\n/**\r\n * A pre-defined period selector control for [[StockToolback]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/} for more info\r\n */\r\nexport class PeriodSelector extends StockControl {\r\n\tpublic static className: string = \"PeriodSelector\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([PeriodSelector.className]);\r\n\r\n\tdeclare public _settings: IPeriodSelectorSettings;\r\n\tdeclare public _privateSettings: IPeriodSelectorPrivate;\r\n\tdeclare public _events: IPeriodSelectorEvents;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-no-hover\";\r\n\r\n\t\tthis._initPeriodButtons();\r\n\t}\r\n\r\n\tprotected _initPeriodButtons(): void {\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tcontainer.style.display = \"\";\r\n\r\n\t\tconst periods = this.get(\"periods\", []);\r\n\t\t$array.each(periods, (period) => {\r\n\t\t\tconst button = document.createElement(\"a\");\r\n\t\t\tbutton.innerHTML = period.name || (period.timeUnit.toUpperCase() + period.count || \"1\");\r\n\t\t\tbutton.className = \"am5stock-link\";\r\n\t\t\tbutton.setAttribute(\"data-period\", period.timeUnit + (period.count || \"\"));\r\n\t\t\tcontainer.appendChild(button);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (_ev) => {\r\n\t\t\t\tthis.setPrivate(\"deferReset\", false);\r\n\t\t\t\tthis._resetActiveButtons();\r\n\t\t\t\tthis.selectPeriod(period);\r\n\t\t\t\tthis.setPrivate(\"deferReset\", true);\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t\tconst timeout = this.getPrivate(\"deferTimeout\");\r\n\t\t\t\tif (timeout) {\r\n\t\t\t\t\ttimeout.dispose();\r\n\t\t\t\t}\r\n\t\t\t\tconst axis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"deferTimeout\", this.setTimeout(() => this.setPrivate(\"deferReset\", false), axis.get(\"interpolationDuration\", 1000) + 200));\r\n\t\t\t}));\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tprotected _resetActiveButtons(): void {\r\n\t\tif (this.getPrivate(\"deferReset\") !== true) {\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByClassName(\"am5stock-active\");\r\n\t\t\t$array.each(buttons, (b) => {\r\n\t\t\t\t$utils.removeClass(<HTMLElement>b, \"am5stock-active\");\r\n\t\t\t});\r\n\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"axis\", axis);\r\n\t\t\t\tthis._disposers.push(new MultiDisposer([\r\n\t\t\t\t\taxis!.on(\"start\", () => this._resetActiveButtons()),\r\n\t\t\t\t\taxis!.on(\"end\", () => this._resetActiveButtons())\r\n\t\t\t\t]));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// protected _getDefaultIcon(): SVGElement {\r\n\t// \treturn StockIcons.getIcon(\"Period\");\r\n\t// }\r\n\r\n\tpublic _afterChanged() {\r\n\t\tsuper._afterChanged();\r\n\t\t// if (this.isDirty(\"active\")) {\r\n\t\t// \tthis._initDropdown();\r\n\t\t// }\r\n\t}\r\n\r\n\tprotected _getChart(): any {\r\n\t\treturn this.get(\"stockChart\").panels.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getAxis(): any {\r\n\t\treturn this._getChart().xAxes.getIndex(0)!;\r\n\t}\r\n\r\n\tpublic selectPeriod(period: IPeriod): void {\r\n\t\tif (period.timeUnit == \"max\") {\r\n\t\t\tthis._getChart().zoomOut();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet end = new Date(axis.getPrivate(\"max\"));\r\n\t\t\tlet start: Date;\r\n\t\t\tif (period.timeUnit == \"ytd\") {\r\n\t\t\t\tstart = new Date(end.getFullYear(), 0, 1, 0, 0, 0, 0);\r\n\t\t\t\tend = new Date(axis.getIntervalMax(axis.get(\"baseInterval\")));\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t}, 10);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// some adjustments in case data is grouped\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\t// find interval which will be used after zoom\r\n\t\t\t\t\tconst interval = axis.getGroupInterval($time.getDuration(period.timeUnit, period.count))\r\n\t\t\t\t\tif (interval) {\r\n\t\t\t\t\t\t// find max of the base interval\r\n\t\t\t\t\t\tlet endTime = axis.getIntervalMax(axis.get(\"baseInterval\"));\r\n\r\n\t\t\t\t\t\tif (endTime != null) {\r\n\t\t\t\t\t\t\t// round to the future interval\r\n\t\t\t\t\t\t\tend = $time.round(new Date(endTime), interval.timeUnit, interval.count);\r\n\t\t\t\t\t\t\tend.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));\r\n\t\t\t\t\t\t\tend = $time.round(end, interval.timeUnit, interval.count);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tstart = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t\t}, 10);\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tstart = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);\r\n\t\t\t}\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t\tthis._highlightPeriod(period);\r\n\t}\r\n\r\n\tprotected _highlightPeriod(period: IPeriod): void {\r\n\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\tfor(let i = 0; i < buttons.length; i++) {\r\n\t\t\tconst button = buttons[i];\r\n\t\t\tif (button.getAttribute(\"data-period\") == id) {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}"]}
|
|
1
|
+
{"version":3,"file":"PeriodSelector.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"../../../core/util/Time\"\r\nimport type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { MultiDisposer, IDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPeriod {\r\n\ttimeUnit: TimeUnit | \"ytd\" | \"max\";\r\n\tcount?: number;\r\n\tname?: string;\r\n}\r\n\r\nexport interface IPeriodSelectorSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * A list periods to choose from.\r\n\t */\r\n\tperiods?: IPeriod[];\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorPrivate extends IStockControlPrivate {\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\taxis?: DateAxis<AxisRenderer>;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferReset?: boolean;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferTimeout?: IDisposer;\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorEvents extends IStockControlEvents {\r\n}\r\n\r\n/**\r\n * A pre-defined period selector control for [[StockToolback]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/} for more info\r\n */\r\nexport class PeriodSelector extends StockControl {\r\n\tpublic static className: string = \"PeriodSelector\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([PeriodSelector.className]);\r\n\r\n\tdeclare public _settings: IPeriodSelectorSettings;\r\n\tdeclare public _privateSettings: IPeriodSelectorPrivate;\r\n\tdeclare public _events: IPeriodSelectorEvents;\r\n\r\n\tprotected _groupChangedDp: IDisposer | undefined;\r\n\tprotected _groupChangedTo: IDisposer | undefined;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-no-hover\";\r\n\r\n\t\tthis._initPeriodButtons();\r\n\t}\r\n\r\n\tprotected _initPeriodButtons(): void {\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tcontainer.style.display = \"\";\r\n\r\n\t\tconst periods = this.get(\"periods\", []);\r\n\t\t$array.each(periods, (period) => {\r\n\t\t\tconst button = document.createElement(\"a\");\r\n\t\t\tbutton.innerHTML = period.name || (period.timeUnit.toUpperCase() + period.count || \"1\");\r\n\t\t\tbutton.className = \"am5stock-link\";\r\n\t\t\tbutton.setAttribute(\"data-period\", period.timeUnit + (period.count || \"\"));\r\n\t\t\tcontainer.appendChild(button);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (_ev) => {\r\n\t\t\t\tthis.setPrivate(\"deferReset\", false);\r\n\t\t\t\tthis._resetActiveButtons();\r\n\t\t\t\tthis.selectPeriod(period);\r\n\t\t\t\tthis.setPrivate(\"deferReset\", true);\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t\tconst timeout = this.getPrivate(\"deferTimeout\");\r\n\t\t\t\tif (timeout) {\r\n\t\t\t\t\ttimeout.dispose();\r\n\t\t\t\t}\r\n\t\t\t\tconst axis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"deferTimeout\", this.setTimeout(() => this.setPrivate(\"deferReset\", false), axis.get(\"interpolationDuration\", 1000) + 200));\r\n\t\t\t}));\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tprotected _resetActiveButtons(): void {\r\n\t\tif (this.getPrivate(\"deferReset\") !== true) {\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByClassName(\"am5stock-active\");\r\n\t\t\t$array.each(buttons, (b) => {\r\n\t\t\t\t$utils.removeClass(<HTMLElement>b, \"am5stock-active\");\r\n\t\t\t});\r\n\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"axis\", axis);\r\n\t\t\t\tthis._disposers.push(new MultiDisposer([\r\n\t\t\t\t\taxis!.on(\"start\", () => this._resetActiveButtons()),\r\n\t\t\t\t\taxis!.on(\"end\", () => this._resetActiveButtons())\r\n\t\t\t\t]));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// protected _getDefaultIcon(): SVGElement {\r\n\t// \treturn StockIcons.getIcon(\"Period\");\r\n\t// }\r\n\r\n\tpublic _afterChanged() {\r\n\t\tsuper._afterChanged();\r\n\t\t// if (this.isDirty(\"active\")) {\r\n\t\t// \tthis._initDropdown();\r\n\t\t// }\r\n\t}\r\n\r\n\tprotected _getChart(): any {\r\n\t\treturn this.get(\"stockChart\").panels.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getAxis(): any {\r\n\t\treturn this._getChart().xAxes.getIndex(0)!;\r\n\t}\r\n\r\n\tpublic selectPeriod(period: IPeriod): void {\r\n\t\tthis._highlightPeriod(period);\r\n\t\tif (period.timeUnit == \"max\") {\r\n\t\t\tthis._getChart().zoomOut();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet end = new Date(axis.getPrivate(\"max\"));\r\n\t\t\tlet start: Date;\r\n\t\t\tif (period.timeUnit == \"ytd\") {\r\n\t\t\t\tstart = new Date(end.getFullYear(), 0, 1, 0, 0, 0, 0);\r\n\t\t\t\tend = new Date(axis.getIntervalMax(axis.get(\"baseInterval\")));\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t}, 10);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// some adjustments in case data is grouped\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\t// find interval which will be used after zoom\r\n\t\t\t\t\tconst interval = axis.getGroupInterval($time.getDuration(period.timeUnit, period.count))\r\n\t\t\t\t\tif (interval) {\r\n\t\t\t\t\t\t// find max of the base interval\r\n\t\t\t\t\t\tlet endTime = axis.getIntervalMax(axis.get(\"baseInterval\"));\r\n\r\n\t\t\t\t\t\tif (endTime != null) {\r\n\t\t\t\t\t\t\t// round to the future interval\r\n\t\t\t\t\t\t\tend = $time.round(new Date(endTime), interval.timeUnit, interval.count);\r\n\t\t\t\t\t\t\tend.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));\r\n\t\t\t\t\t\t\tend = $time.round(end, interval.timeUnit, interval.count);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tstart = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);\r\n\r\n\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\tthis._groupChangedDp = undefined;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedTo) {\r\n\t\t\t\t\t\t\tthis._groupChangedTo.dispose();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._groupChangedDp = axis.events.once(\"groupintervalchanged\", () => {\r\n\t\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\r\n\t\t\t\t\t\tthis._groupChangedTo = this.setTimeout(() => {\r\n\t\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis._groupChangedTo = undefined;\r\n\t\t\t\t\t\t}, 500);\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tstart = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);\r\n\t\t\t}\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _highlightPeriod(period: IPeriod): void {\r\n\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\tconst button = buttons[i];\r\n\t\t\tif (button.getAttribute(\"data-period\") == id) {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"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"}
|
|
@@ -502,13 +502,16 @@ var Axis = /** @class */ (function (_super) {
|
|
|
502
502
|
writable: true,
|
|
503
503
|
value: function () {
|
|
504
504
|
_super.prototype._prepareChildren.call(this);
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
505
|
+
/*
|
|
506
|
+
const gridContainer = this.gridContainer;
|
|
507
|
+
const topGridContainer = this.topGridContainer;
|
|
508
|
+
let global = gridContainer._display.toGlobal({ x: 0, y: 0 });
|
|
508
509
|
this._crispX = global.x - Math.round(global.x);
|
|
509
510
|
this._crispY = global.y - Math.round(global.y);
|
|
511
|
+
|
|
510
512
|
gridContainer.setAll({ dx: this._crispX, dy: this._crispY });
|
|
511
513
|
topGridContainer.setAll({ dx: this._crispX, dy: this._crispY });
|
|
514
|
+
*/
|
|
512
515
|
if (this.get("fixAxisSize")) {
|
|
513
516
|
this.ghostLabel.set("visible", true);
|
|
514
517
|
}
|