UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

56 lines (51 loc) 1.98 kB
import { array } from "@visactor/vutils"; import { STACK_FIELD_END, STACK_FIELD_END_PERCENT, STACK_FIELD_START, STACK_FIELD_START_PERCENT } from "../../../constant/data"; import { PolarSeries } from "../polar"; const ROSE_LIKE_SERIES_COMPILE_ONLY_KEYS = { radius: !0, outerRadius: !0, innerRadius: !0, startAngle: !0, endAngle: !0, centerX: !0, centerY: !0 }; export class RoseLikeSeries extends PolarSeries { _getSpecUpdatePolicy() { const policy = super._getSpecUpdatePolicy(); return Object.assign(Object.assign({}, policy), { compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), ROSE_LIKE_SERIES_COMPILE_ONLY_KEYS) }); } getStackGroupFields() { return this._angleField; } getStackValueField() { return array(this._spec.valueField)[0] || array(this._spec.radiusField)[0]; } getGroupFields() { return this._angleField; } setAttrFromSpec() { super.setAttrFromSpec(), this.setAngleField(this._spec.categoryField || this._spec.angleField), this.setRadiusField(this._spec.valueField || this._spec.radiusField), this._specAngleField = this._angleField.slice(), this._specRadiusField = this._radiusField.slice(), this.setInnerRadiusField(this._spec.valueField || this._spec.radiusField), this.getStack() && this.setValueFieldToStack(), this.getPercent() && this.setValueFieldToPercent(); } setValueFieldToStack() { this.setRadiusField(STACK_FIELD_END), this.setInnerRadiusField(STACK_FIELD_START); } setValueFieldToPercent() { this.setRadiusField(STACK_FIELD_END_PERCENT), this.setInnerRadiusField(STACK_FIELD_START_PERCENT); } getDimensionField() { return this._specAngleField; } getMeasureField() { return this._specRadiusField; } getDefaultShapeType() { return "square"; } } //# sourceMappingURL=rose-like.js.map