@visactor/vchart
Version:
charts lib based @visactor/VGrammar
37 lines (32 loc) • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.ProgressLikeChartSpecTransformer = void 0;
const vutils_1 = require("@visactor/vutils"), polar_transformer_1 = require("../polar-transformer"), util_1 = require("../../../component/axis/util"), vutils_extension_1 = require("@visactor/vutils-extension");
class ProgressLikeChartSpecTransformer extends polar_transformer_1.PolarChartSpecTransformer {
needAxes() {
return !1;
}
_getDefaultSeriesSpec(spec) {
const series = super._getDefaultSeriesSpec(spec, [ "startAngle", "endAngle", "centerX", "centerY" ]);
return series.categoryField = spec.categoryField || spec.radiusField, series.valueField = spec.valueField || spec.angleField,
series;
}
_transformProgressAxisSpec(spec, angleAxisDefaultSpec, radiusAxisDefaultSpec, angleAxisAppendSpec, radiusAxisAppendSpec) {
var _a, _b;
spec.axes || (spec.axes = []);
let radiusAxis = (null !== (_a = spec.axes) && void 0 !== _a ? _a : []).find((axis => "radius" === axis.orient)), angleAxis = (null !== (_b = spec.axes) && void 0 !== _b ? _b : []).find((axis => "angle" === axis.orient));
angleAxis || (angleAxis = angleAxisDefaultSpec, spec.axes.push(angleAxis)), radiusAxis || (radiusAxis = radiusAxisDefaultSpec,
spec.axes.push(radiusAxis)), (0, vutils_1.isNil)(angleAxis.type) && (angleAxis.type = "linear"),
(0, vutils_1.isNil)(radiusAxis.type) && (radiusAxis.type = "band");
const domain = (0, util_1.getLinearAxisSpecDomain)(angleAxis, {
min: 0,
max: 1
});
(0, vutils_1.isNil)(angleAxis.min) && (angleAxis.min = domain.min), (0, vutils_1.isNil)(angleAxis.max) && (angleAxis.max = domain.max),
angleAxisAppendSpec && Object.assign(angleAxis, (0, vutils_extension_1.mergeSpec)({}, angleAxisAppendSpec, angleAxis)),
radiusAxisAppendSpec && Object.assign(radiusAxis, (0, vutils_extension_1.mergeSpec)({}, radiusAxisAppendSpec, radiusAxis));
}
}
exports.ProgressLikeChartSpecTransformer = ProgressLikeChartSpecTransformer;
//# sourceMappingURL=progress-like-transformer.js.map