UNPKG

cione-comp-lib

Version:

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

122 lines (121 loc) 3.84 kB
import { __extends } from "../../../../tslib/tslib.es6.mjs"; import createSeriesDataSimply from "../helper/createSeriesDataSimply.mjs"; import { bind, curry } from "../../../../zrender/lib/core/util.mjs"; import { defaultEmphasis, makeInner } from "../../util/model.mjs"; import { getPercentSeats } from "../../util/number.mjs"; import { makeSeriesEncodeForNameBased } from "../../data/helper/sourceHelper.mjs"; import LegendVisualProvider from "../../visual/LegendVisualProvider.mjs"; import SeriesModel from "../../model/Series.mjs"; var innerData = makeInner(); var PieSeriesModel = function(_super) { __extends(PieSeriesModel2, _super); function PieSeriesModel2() { return _super !== null && _super.apply(this, arguments) || this; } PieSeriesModel2.prototype.init = function(option) { _super.prototype.init.apply(this, arguments); this.legendVisualProvider = new LegendVisualProvider(bind(this.getData, this), bind(this.getRawData, this)); this._defaultLabelLine(option); }; PieSeriesModel2.prototype.mergeOption = function() { _super.prototype.mergeOption.apply(this, arguments); }; PieSeriesModel2.prototype.getInitialData = function() { return createSeriesDataSimply(this, { coordDimensions: ["value"], encodeDefaulter: curry(makeSeriesEncodeForNameBased, this) }); }; PieSeriesModel2.prototype.getDataParams = function(dataIndex) { var data = this.getData(); var dataInner = innerData(data); var seats = dataInner.seats; if (!seats) { var valueList_1 = []; data.each(data.mapDimension("value"), function(value) { valueList_1.push(value); }); seats = dataInner.seats = getPercentSeats(valueList_1, data.hostModel.get("percentPrecision")); } var params = _super.prototype.getDataParams.call(this, dataIndex); params.percent = seats[dataIndex] || 0; params.$vars.push("percent"); return params; }; PieSeriesModel2.prototype._defaultLabelLine = function(option) { defaultEmphasis(option, "labelLine", ["show"]); var labelLineNormalOpt = option.labelLine; var labelLineEmphasisOpt = option.emphasis.labelLine; labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show; labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show; }; PieSeriesModel2.type = "series.pie"; PieSeriesModel2.defaultOption = { z: 2, legendHoverLink: true, colorBy: "data", center: ["50%", "50%"], radius: [0, "75%"], clockwise: true, startAngle: 90, minAngle: 0, minShowLabelAngle: 0, selectedOffset: 10, percentPrecision: 2, stillShowZeroSum: true, left: 0, top: 0, right: 0, bottom: 0, width: null, height: null, label: { rotate: 0, show: true, overflow: "truncate", position: "outer", alignTo: "none", edgeDistance: "25%", bleedMargin: 10, distanceToLabelLine: 5 }, labelLine: { show: true, length: 15, length2: 15, smooth: false, minTurnAngle: 90, maxSurfaceAngle: 90, lineStyle: { width: 1, type: "solid" } }, itemStyle: { borderWidth: 1, borderJoin: "round" }, showEmptyCircle: true, emptyCircleStyle: { color: "lightgray", opacity: 1 }, labelLayout: { hideOverlap: true }, emphasis: { scale: true, scaleSize: 5 }, avoidLabelOverlap: true, animationType: "expansion", animationDuration: 1e3, animationTypeUpdate: "transition", animationEasingUpdate: "cubicInOut", animationDurationUpdate: 500, animationEasing: "cubicInOut" }; return PieSeriesModel2; }(SeriesModel); var PieSeriesModel$1 = PieSeriesModel; export { PieSeriesModel$1 as default };