UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

132 lines (131 loc) 4.11 kB
import { __extends } from "../../../../tslib/tslib.es6.mjs"; import { map, each, isArray } from "../../../../zrender/lib/core/util.mjs"; import SeriesModel from "../../model/Series.mjs"; import Tree from "../../data/Tree.mjs"; import { wrapTreePathInfo } from "../helper/treeHelper.mjs"; import Model from "../../model/Model.mjs"; import enableAriaDecalForTree from "../helper/enableAriaDecalForTree.mjs"; var SunburstSeriesModel = function(_super) { __extends(SunburstSeriesModel2, _super); function SunburstSeriesModel2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = SunburstSeriesModel2.type; _this.ignoreStyleOnData = true; return _this; } SunburstSeriesModel2.prototype.getInitialData = function(option, ecModel) { var root = { name: option.name, children: option.data }; completeTreeValue(root); var levelModels = this._levelModels = map(option.levels || [], function(levelDefine) { return new Model(levelDefine, this, ecModel); }, this); var tree = Tree.createTree(root, this, beforeLink); function beforeLink(nodeData) { nodeData.wrapMethod("getItemModel", function(model, idx) { var node = tree.getNodeByDataIndex(idx); var levelModel = levelModels[node.depth]; levelModel && (model.parentModel = levelModel); return model; }); } return tree.data; }; SunburstSeriesModel2.prototype.optionUpdated = function() { this.resetViewRoot(); }; SunburstSeriesModel2.prototype.getDataParams = function(dataIndex) { var params = _super.prototype.getDataParams.apply(this, arguments); var node = this.getData().tree.getNodeByDataIndex(dataIndex); params.treePathInfo = wrapTreePathInfo(node, this); return params; }; SunburstSeriesModel2.prototype.getLevelModel = function(node) { return this._levelModels && this._levelModels[node.depth]; }; SunburstSeriesModel2.prototype.getViewRoot = function() { return this._viewRoot; }; SunburstSeriesModel2.prototype.resetViewRoot = function(viewRoot) { viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot; var root = this.getRawData().tree.root; if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) { this._viewRoot = root; } }; SunburstSeriesModel2.prototype.enableAriaDecal = function() { enableAriaDecalForTree(this); }; SunburstSeriesModel2.type = "series.sunburst"; SunburstSeriesModel2.defaultOption = { z: 2, center: ["50%", "50%"], radius: [0, "75%"], clockwise: true, startAngle: 90, minAngle: 0, stillShowZeroSum: true, nodeClick: "rootToNode", renderLabelForZeroData: false, label: { rotate: "radial", show: true, opacity: 1, align: "center", position: "inside", distance: 5, silent: true }, itemStyle: { borderWidth: 1, borderColor: "white", borderType: "solid", shadowBlur: 0, shadowColor: "rgba(0, 0, 0, 0.2)", shadowOffsetX: 0, shadowOffsetY: 0, opacity: 1 }, emphasis: { focus: "descendant" }, blur: { itemStyle: { opacity: 0.2 }, label: { opacity: 0.1 } }, animationType: "expansion", animationDuration: 1e3, animationDurationUpdate: 500, data: [], sort: "desc" }; return SunburstSeriesModel2; }(SeriesModel); function completeTreeValue(dataNode) { var sum = 0; each(dataNode.children, function(child) { completeTreeValue(child); var childValue = child.value; isArray(childValue) && (childValue = childValue[0]); sum += childValue; }); var thisValue = dataNode.value; if (isArray(thisValue)) { thisValue = thisValue[0]; } if (thisValue == null || isNaN(thisValue)) { thisValue = sum; } if (thisValue < 0) { thisValue = 0; } isArray(dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue; } var SunburstSeriesModel$1 = SunburstSeriesModel; export { SunburstSeriesModel$1 as default };