
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
{"version":3,"file":"Sunburst.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Sunburst.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { HierarchyNode } from \"./HierarchyNode\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Series } from \"../../core/render/Series\";\n\nimport { Partition, IPartitionPrivate, IPartitionSettings, IPartitionDataItem } from \"./Partition\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { Percent, p100, p50 } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as d3hierarchy from \"d3-hierarchy\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $math from \"../../core/util/Math\";\n\n/**\n * @ignore\n */\nexport interface ISunburstDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ISunburstDataObject[],\n\tdataItem?: DataItem<ISunburstDataItem>\n};\n\nexport interface ISunburstDataItem extends IPartitionDataItem {\n\n\t/**\n\t * Data items of child nodes.\n\t */\n\tchildren: Array<DataItem<ISunburstDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<ISunburstDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3PartitionNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject>;\n\n\t/**\n\t * A [[Slice]] element of the node.\n\t */\n\tslice: Slice;\n\n}\n\nexport interface ISunburstSettings extends IPartitionSettings {\n\n\t/**\n\t * Start angle of the series.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n\t/**\n\t * Inner radius of the suburst pie.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @default 0\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * Outer radius of the sunburst pie.\n\t *\n\t * @default 100%\n\t */\n\tradius?: number | Percent;\n\n}\n\nexport interface ISunburstPrivate extends IPartitionPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tdr: number;\n\n\t/**\n\t * @ignore\n\t */\n\tdx: number;\n\n\t/**\n\t * @ignore\n\t */\n\tinnerRadius: number;\n\n\t/**\n\t * @ignore\n\t */\n\thierarchySize?: number;\n\n}\n\n/**\n * Builds a sunburst diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/sunburst/} for more info\n * @important\n */\nexport class Sunburst extends Partition {\n\n\tdeclare public _settings: ISunburstSettings;\n\tdeclare public _privateSettings: ISunburstPrivate;\n\tdeclare public _dataItemSettings: ISunburstDataItem;\n\n\tprotected _tag: string = \"sunburst\";\n\n\tpublic static className: string = \"Sunburst\";\n\tpublic static classNames: Array<string> = Partition.classNames.concat([Sunburst.className]);\n\n\tpublic _partitionLayout = d3hierarchy.partition();\n\n\tdeclare public _rootNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject> | undefined;\n\n\t/**\n\t * A list of node slice elements in a [[Sunburst]] chart.\n\t *\n\t * @default new ListTemplate<Slice>\n\t */\n\tpublic readonly slices: ListTemplate<Slice> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Slice._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\", \"shape\"])\n\t\t}, [this.slices.template])\n\t);\n\n\t/**\n\t * A list of label elements in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<RadialLabel>\n\t */\n\tpublic readonly labels: ListTemplate<RadialLabel> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RadialLabel._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\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.nodesContainer.setAll({ x: p50, y: p50 });\n\t\tthis.setPrivateRaw(\"dx\", 0);\n\t\tthis.setPrivateRaw(\"dr\", 0);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isPrivateDirty(\"dr\") || this.isPrivateDirty(\"dx\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodesScale(this._rootNode);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst partitionLayout = this._partitionLayout;\n\n\t\t\tlet bounds = $math.getArcBounds(0, 0, this.get(\"startAngle\", 0), this.get(\"endAngle\", 360), 1);\n\n\t\t\tlet w = this.innerWidth();\n\t\t\tlet h = this.innerHeight();\n\n\t\t\tconst wr = w / (bounds.right - bounds.left);\n\t\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\t\tlet s = Math.min(wr, hr);\n\n\t\t\tlet r = $utils.relativeToValue(this.get(\"radius\", p100), s);\n\t\t\tlet ir = $utils.relativeToValue(this.get(\"innerRadius\", 0), r);\n\n\t\t\tif (ir < 0) {\n\t\t\t\tir = r + ir;\n\t\t\t}\n\n\t\t\ts = r - ir;\n\n\t\t\tthis.setPrivateRaw(\"innerRadius\", ir);\n\t\t\tthis.setPrivateRaw(\"hierarchySize\", s);\n\n\t\t\tpartitionLayout.size([s, s]);\n\n\t\t\tthis.nodesContainer.setAll({\n\t\t\t\tdy: -r * (bounds.bottom + bounds.top) / 2, dx: -r * (bounds.right + bounds.left) / 2\n\t\t\t})\n\n\t\t\tconst nodePadding = this.get(\"nodePadding\");\n\n\t\t\tif ($type.isNumber(nodePadding)) {\n\t\t\t\tpartitionLayout.padding(nodePadding);\n\t\t\t}\n\n\n\t\t\tpartitionLayout(this._rootNode);\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\t\tconst node = dataItem.get(\"node\");\n\n\t\tnode.setAll({ x: 0, y: 0 });\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\t\tconst dr = this.getPrivate(\"dr\", 0);\n\t\tconst dx = this.getPrivate(\"dx\", 0);\n\n\t\tconst x0 = hierarchyNode.x0 * scaleX + dx;\n\t\tconst x1 = hierarchyNode.x1 * scaleX + dx;\n\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\tconst ir = this.getPrivate(\"innerRadius\");\n\t\tconst hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tconst startAngle = this.get(\"startAngle\", -90);\n\t\t\tconst endAngle = this.get(\"endAngle\", 270);\n\n\t\t\tconst sliceStartAngle = startAngle + x0 / hs * (endAngle - startAngle);\n\t\t\tconst arc = startAngle + x1 / hs * (endAngle - startAngle) - sliceStartAngle;\n\n\t\t\tlet sliceInnerRadius = ir + y0;\n\t\t\tlet sliceRadius = ir + y1;\n\n\t\t\tsliceInnerRadius -= dr;\n\t\t\tsliceRadius -= dr;\n\n\t\t\tsliceRadius = Math.max(0, sliceRadius);\n\t\t\tsliceInnerRadius = Math.max(0, sliceInnerRadius);\n\n\t\t\tslice.animate({ key: \"radius\", to: sliceRadius, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"innerRadius\", to: sliceInnerRadius, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"startAngle\", to: sliceStartAngle, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"arc\", to: arc, duration: duration, easing: easing })\n\n\t\t\tconst fill = dataItem.get(\"fill\");\n\n\t\t\tslice._setDefault(\"fill\", fill);\n\t\t\tslice._setDefault(\"stroke\", fill);\n\t\t}\n\t}\n\n\n\tprotected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\t\tif (dataItem) {\n\t\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\t\t\tconst dr = this.getPrivate(\"dr\", 0);\n\t\t\tconst dx = this.getPrivate(\"dx\", 0);\n\n\t\t\tconst x0 = hierarchyNode.x0 * scaleX + dx;\n\t\t\tconst x1 = hierarchyNode.x1 * scaleX + dx;\n\t\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\t\tconst ir = this.getPrivate(\"innerRadius\");\n\t\t\tconst hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\tif (slice) {\n\t\t\t\tconst startAngle = this.get(\"startAngle\", -90);\n\t\t\t\tconst endAngle = this.get(\"endAngle\", 270);\n\n\t\t\t\tconst sliceStartAngle = startAngle + x0 / hs * (endAngle - startAngle);\n\t\t\t\tconst arc = startAngle + x1 / hs * (endAngle - startAngle) - sliceStartAngle;\n\n\t\t\t\tlet sliceInnerRadius = ir + y0;\n\t\t\t\tlet sliceRadius = ir + y1;\n\n\t\t\t\tsliceInnerRadius -= dr;\n\t\t\t\tsliceRadius -= dr;\n\n\t\t\t\tsliceRadius = Math.max(0, sliceRadius);\n\t\t\t\tsliceInnerRadius = Math.max(0, sliceInnerRadius);\n\n\t\t\t\tslice.setAll({ radius: sliceRadius, innerRadius: sliceInnerRadius, startAngle: sliceStartAngle, arc: arc });\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._updateNodesScale(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, node: HierarchyNode) {\n\t\tconst slice = node.children.moveValue(this.slices.make(), 0);\n\t\tnode.setPrivate(\"tooltipTarget\", slice);\n\t\tdataItem.setRaw(\"slice\", slice);\n\n\t\tslice._setDataItem(dataItem);\n\n\t\tslice.on(\"arc\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t\tslice.on(\"innerRadius\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t\tslice.on(\"radius\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t}\n\n\tprotected _updateLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst label = dataItem.get(\"label\") as RadialLabel;\n\n\t\tif (slice && label) {\n\t\t\tlet innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\tlet radius = slice.get(\"radius\", 0);\n\t\t\tlet angle = slice.get(\"startAngle\", 0);\n\t\t\tlet arc = Math.abs(slice.get(\"arc\", 0));\n\t\t\tlet labelAngle = angle + arc / 2;\n\t\t\tlet textType = label.get(\"textType\");\n\n\t\t\tlet maxWidth = radius - innerRadius;\n\t\t\tlet maxHeight = radius * arc * $math.RADIANS;\n\n\t\t\tif (innerRadius == 0 && arc >= 360 && textType == \"radial\") {\n\t\t\t\tradius = 1;\n\t\t\t\tlabelAngle = 0;\n\t\t\t\tmaxWidth *= 2;\n\t\t\t\tmaxHeight = maxWidth;\t\t\t\t\n\t\t\t}\n\n\t\t\tif (Math.round(arc) >= 360 && textType == \"radial\") {\n\t\t\t\tlabelAngle = 0;\n\t\t\t}\t\t\t\n\n\t\t\tif (textType == \"circular\") {\n\t\t\t\tmaxWidth = arc * $math.RADIANS * (innerRadius + (radius - innerRadius) / 2) - 10;\n\t\t\t}\n\n\n\t\t\tlabel.setAll({ labelAngle: labelAngle });\n\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\n\t\t\tlabel.setAll({\n\t\t\t\tmaxHeight: maxHeight,\n\t\t\t\tmaxWidth: maxWidth\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _zoom(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet x0 = 0;\n\t\tlet x1 = 0;\n\t\tlet hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tlet upDepth = this.get(\"upDepth\", 0);\n\t\tlet topDepth = this.get(\"topDepth\", 0);\n\t\tlet currentDepth = hierarchyNode.depth;\n\t\tlet maxDepth = this.getPrivate(\"maxDepth\", 1);\n\t\tlet downDepth = this._currentDownDepth;\n\n\t\tif (downDepth == null) {\n\t\t\tdownDepth = this.get(\"downDepth\", 1);\n\t\t}\n\n\t\tconst levelHeight = hs / (maxDepth + 1);\n\n\t\tif (currentDepth < topDepth) {\n\t\t\tcurrentDepth = topDepth;\n\t\t}\n\n\t\tif (currentDepth - upDepth < 0) {\n\t\t\tupDepth = currentDepth;\n\t\t}\n\n\t\tx0 = hierarchyNode.x0;\n\t\tx1 = hierarchyNode.x1;\n\n\t\tlet scaleDepth = (downDepth + upDepth + 1);\n\n\t\tif (scaleDepth > maxDepth - topDepth + 1) {\n\t\t\tscaleDepth = maxDepth - topDepth + 1;\n\t\t}\n\n\t\tlet scaleX = hs / (x1 - x0);\n\t\tlet scaleY = hs / (levelHeight * scaleDepth);\n\n\t\tlet dr = Math.max(currentDepth - upDepth, topDepth) * levelHeight * scaleY;\n\n\t\tconst easing = this.get(\"animationEasing\");\n\t\tlet duration = this.get(\"animationDuration\", 0);\n\n\t\tif (!this.inited) {\n\t\t\tduration = 0;\n\t\t}\n\n\t\tlet dx = -x0 * scaleX\n\n\t\tthis.animatePrivate({ key: \"scaleX\", to: scaleX, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"scaleY\", to: scaleY, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"dr\", to: dr, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"dx\", to: dx, duration: duration, easing: easing });\n\t}\n\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\tchild.get(\"node\").hide();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis._handleSingle(parent);\n\t\t}\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 slice = dataItem.get(\"slice\");\n\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\tconst angle = slice.get(\"startAngle\", 0) + slice.get(\"arc\", 0) * locationX;\n\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\tconst radius = innerRadius + (slice.get(\"radius\", 0) - innerRadius) * locationY;\n\n\t\t\tlet x = $math.cos(angle) * radius;\n\t\t\tlet y = $math.sin(angle) * radius;\n\n\t\t\tif ($math.round(arc, 5) === 360 && $math.round(innerRadius, 2) === 0) {\n\t\t\t\tx = 0;\n\t\t\t\ty = 0;\n\t\t\t}\n\n\t\t\tsprite.set(\"x\", x);\n\t\t\tsprite.set(\"y\", y);\n\t\t}\n\t}\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\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (sprite && slice) {\n\t\t\t\tslice.on(\"arc\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\n\t\t\t\tslice.on(\"radius\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn bullet;\n\t\t}\n\t}\n}\n"]}