UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

68 lines (52 loc) 2.61 kB
import { LinearScale } from "@visactor/vscale"; import { ComponentTypeEnum } from "../../interface/type"; import { PolarAxis } from "./axis"; import { LinearAxisMixin } from "../mixin/linear-axis-mixin"; import { mixin } from "@visactor/vutils"; import { Factory } from "../../../core/factory"; import { registerAxis } from "../base-axis"; import { CircleAxis, CircleAxisGrid, continuousTicks, LineAxis, LineAxisGrid } from "@visactor/vrender-components"; import { registerDataSetInstanceTransform } from "../../../data/register"; import { GridEnum, AxisEnum } from "../interface"; import { axisLinear } from "../../../theme/builtin/common/component/axis/linear-axis"; import { commonAxis } from "../../../theme/builtin/common/component/axis/common-axis"; import { axisAngle, axisRadius } from "../../../theme/builtin/common/component/axis/polar-axis"; export class PolarLinearAxis extends PolarAxis { constructor() { super(...arguments), this.type = ComponentTypeEnum.polarLinearAxis, this._zero = !0, this._nice = !0, this._extend = {}, this._scale = new LinearScale; } setAttrFromSpec() { super.setAttrFromSpec(), this.setExtraAttrFromSpec(); } initScales() { super.initScales(), this.setScaleNice(); } computeDomain(data) { return this.computeLinearDomain(data); } axisHelper() { const helper = super.axisHelper(); return helper.setExtendDomain = this.setExtendDomain.bind(this), helper; } registerTicksTransform() { const name = `${this.type}-ticks`; return registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks), name; } } PolarLinearAxis.type = ComponentTypeEnum.polarLinearAxis, PolarLinearAxis.specKey = "axes", PolarLinearAxis.builtInTheme = { axis: commonAxis, axisLinear: axisLinear, axisAngle: axisAngle, axisRadius: axisRadius }, mixin(PolarLinearAxis, LinearAxisMixin); export const registerPolarLinearAxis = () => { Factory.registerGraphicComponent(AxisEnum.lineAxis, ((attrs, options) => new LineAxis(attrs, options))), Factory.registerGraphicComponent(GridEnum.lineAxisGrid, ((attrs, options) => new LineAxisGrid(attrs, options))), Factory.registerGraphicComponent(AxisEnum.circleAxis, ((attrs, options) => new CircleAxis(attrs, options))), Factory.registerGraphicComponent(GridEnum.circleAxisGrid, ((attrs, options) => new CircleAxisGrid(attrs, options))), registerAxis(), Factory.registerComponent(PolarLinearAxis.type, PolarLinearAxis); }; //# sourceMappingURL=linear-axis.js.map