@visactor/vchart
Version:
charts lib based @visactor/VGrammar
59 lines (43 loc) • 2.14 kB
JavaScript
import { CartesianLinearAxis } from "./linear-axis";
import { ComponentTypeEnum } from "../../interface/type";
import { LinearAxisMixin } from "../mixin/linear-axis-mixin";
import { LogScale } from "@visactor/vscale";
import { mixin } from "@visactor/vutils";
import { Factory } from "../../../core/factory";
import { registerAxis } from "../base-axis";
import { continuousTicks, LineAxis, LineAxisGrid } from "@visactor/vrender-components";
import { registerDataSetInstanceTransform } from "../../../data/register";
import { AxisEnum, GridEnum } from "../interface";
import { commonAxis } from "../../../theme/builtin/common/component/axis/common-axis";
import { axisLinear } from "../../../theme/builtin/common/component/axis/linear-axis";
import { axisX, axisY } from "../../../theme/builtin/common/component/axis/cartesian-axis";
export class CartesianLogAxis extends CartesianLinearAxis {
constructor() {
super(...arguments), this.type = ComponentTypeEnum.cartesianLogAxis, this._zero = !1,
this._scale = new LogScale;
}
initScales() {
var _a;
super.initScales(), this._scale.base(null !== (_a = this._spec.base) && void 0 !== _a ? _a : 10),
this._scale.clamp(!0, null, !1);
}
registerTicksTransform() {
const name = `${this.type}-ticks`;
return registerDataSetInstanceTransform(this._option.dataSet, name, continuousTicks),
name;
}
transformScaleDomain() {}
}
CartesianLogAxis.type = ComponentTypeEnum.cartesianLogAxis, CartesianLogAxis.specKey = "axes",
CartesianLogAxis.builtInTheme = {
axis: commonAxis,
axisLinear: axisLinear,
axisX: axisX,
axisY: axisY
}, mixin(CartesianLogAxis, LinearAxisMixin);
export const registerCartesianLogAxis = () => {
Factory.registerGraphicComponent(AxisEnum.lineAxis, ((attrs, options) => new LineAxis(attrs, options))),
Factory.registerGraphicComponent(GridEnum.lineAxisGrid, ((attrs, options) => new LineAxisGrid(attrs, options))),
registerAxis(), Factory.registerComponent(CartesianLogAxis.type, CartesianLogAxis);
};
//# sourceMappingURL=log-axis.js.map