@visactor/vchart
Version:
charts lib based @visactor/VGrammar
48 lines (31 loc) • 1.97 kB
JavaScript
import { registerAreaSeries } from "../../series/area/area";
import { SeriesTypeEnum } from "../../series/interface/type";
import { Factory } from "../../core/factory";
import { AreaChartSpecTransformer } from "./area-transformer";
import { BaseChart } from "../base";
import { mixin } from "@visactor/vutils";
import { StackChartMixin } from "../stack";
import { registerDimensionHover } from "../../interaction/triggers/dimension-hover";
import { registerDimensionEvents } from "../../event/events";
import { getCartesianDimensionInfo, getDimensionInfoByValue } from "../../event/events/dimension/util/cartesian";
import { getCartesianCrosshairRect } from "../../component/crosshair/utils/cartesian";
import { registerDimensionTooltipProcessor } from "../../component/tooltip/processor/dimension-tooltip";
import { registerMarkTooltipProcessor } from "../../component/tooltip/processor/mark-tooltip";
import { registerGroupTooltipProcessor } from "../../component/tooltip/processor/group-tooltip";
export class AreaChart extends BaseChart {
constructor() {
super(...arguments), this.transformerConstructor = AreaChartSpecTransformer, this.type = "area",
this.seriesType = SeriesTypeEnum.area;
}
_setModelOption() {
this._modelOption.getDimensionInfo = getCartesianDimensionInfo, this._modelOption.getDimensionInfoByValue = getDimensionInfoByValue,
this._modelOption.getRectByDimensionData = getCartesianCrosshairRect;
}
}
AreaChart.type = "area", AreaChart.seriesType = SeriesTypeEnum.area, AreaChart.transformerConstructor = AreaChartSpecTransformer,
mixin(AreaChart, StackChartMixin);
export const registerAreaChart = () => {
registerDimensionTooltipProcessor(), registerMarkTooltipProcessor(), registerGroupTooltipProcessor(),
registerDimensionHover(), registerAreaSeries(), registerDimensionEvents(), Factory.registerChart(AreaChart.type, AreaChart);
};
//# sourceMappingURL=area.js.map