UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

38 lines (33 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.PieSeriesSpecTransformer = void 0; const vutils_1 = require("@visactor/vutils"), vutils_extension_1 = require("@visactor/vutils-extension"), base_1 = require("../base"); class PieSeriesSpecTransformer extends base_1.BaseSeriesSpecTransformer { _transformLabelSpec(spec) { this._addMarkLabelSpec(spec, "pie"); } _mergeThemeToSpec(spec, chartSpec) { const theme = this._theme; let newSpec = spec; if (this._shouldMergeThemeToSpec()) { const specFromChart = this._getDefaultSpecFromChart(chartSpec); newSpec = (0, vutils_extension_1.mergeSpec)({}, this._theme, specFromChart, spec); const getMergedLabelSpec = (position, label) => "inside" === position || "inside-center" === position ? (0, vutils_extension_1.mergeSpec)({}, this._theme.innerLabel, label) : (0, vutils_extension_1.mergeSpec)({}, this._theme.outerLabel, label); (0, vutils_1.isArray)(newSpec.label) ? newSpec.label = newSpec.label.map((label => getMergedLabelSpec(label.position, label))) : newSpec.label = getMergedLabelSpec(newSpec.label.position, newSpec.label); } return { spec: newSpec, theme: theme }; } _getDefaultSpecFromChart(chartSpec) { var _a; const spec = null !== (_a = super._getDefaultSpecFromChart(chartSpec)) && void 0 !== _a ? _a : {}, {centerX: centerX, centerY: centerY} = chartSpec; return (0, vutils_1.isValid)(centerX) && (spec.centerX = centerX), (0, vutils_1.isValid)(centerY) && (spec.centerY = centerY), Object.keys(spec).length > 0 ? spec : void 0; } } exports.PieSeriesSpecTransformer = PieSeriesSpecTransformer; //# sourceMappingURL=pie-transformer.js.map