@visactor/vchart
Version:
charts lib based @visactor/VGrammar
41 lines (37 loc) • 1.91 kB
JavaScript
import { array } from "../../util";
import { RoseLikeChartSpecTransformer } from "../polar";
import { mergeSpec } from "@visactor/vutils-extension";
export class RadarChartSpecTransformer extends RoseLikeChartSpecTransformer {
_getDefaultSeriesSpec(spec) {
var _a, _b, _c, _d;
const series = super._getDefaultSeriesSpec(spec), areaTheme = null === (_b = (_a = this._option).getTheme) || void 0 === _b ? void 0 : _b.call(_a, "series", "radar", "area");
return this._addSeriesRelatedSpecKeys([ "line", "point", "area" ]), series.line = spec.line,
series.point = spec.point, series.stack = spec.stack, series.percent = spec.percent,
series.area = mergeSpec({
visible: null !== (_c = null == areaTheme ? void 0 : areaTheme.visible) && void 0 !== _c && _c
}, spec.area), series.seriesMark = null !== (_d = spec.seriesMark) && void 0 !== _d ? _d : "area",
series.activePoint = spec.activePoint, series.pointDis = spec.pointDis, series.pointDisMul = spec.pointDisMul,
series.markOverlap = spec.markOverlap, series;
}
transformSpec(spec) {
var _a;
super.transformSpec(spec), (null !== (_a = spec.axes) && void 0 !== _a ? _a : []).forEach((axis => {
"radius" === axis.orient && ([ "domainLine", "label", "tick" ].forEach((configName => {
axis[configName] || (axis[configName] = {
visible: !1
});
})), axis.grid || (axis.grid = {
visible: !0
}));
})), spec.crosshair = array(spec.crosshair || {}).map((crosshairCfg => mergeSpec({
categoryField: {
visible: !0,
line: {
visible: !0,
type: "line"
}
}
}, crosshairCfg)));
}
}
//# sourceMappingURL=radar-transformer.js.map