UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

46 lines (39 loc) 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.registerMosaicChart = exports.MosaicChart = void 0; const type_1 = require("../../series/interface/type"), factory_1 = require("../../core/factory"), mosaic_transformer_1 = require("./mosaic-transformer"), base_1 = require("../base"), mosaic_1 = require("../../series/mosaic/mosaic"), stack_1 = require("../stack"), data_1 = require("../../util/data"), stack_split_1 = require("../../data/transforms/stack-split"), register_1 = require("../../data/register"), dimension_hover_1 = require("../../interaction/triggers/dimension-hover"), events_1 = require("../../event/events"), cartesian_1 = require("../../event/events/dimension/util/cartesian"), cartesian_2 = require("../../component/crosshair/utils/cartesian"), dimension_tooltip_1 = require("../../component/tooltip/processor/dimension-tooltip"), mark_tooltip_1 = require("../../component/tooltip/processor/mark-tooltip"), group_tooltip_1 = require("../../component/tooltip/processor/group-tooltip"); class MosaicChart extends base_1.BaseChart { constructor() { super(...arguments), this.transformerConstructor = mosaic_transformer_1.MosaicChartSpecTransformer, this.type = "mosaic", this.seriesType = type_1.SeriesTypeEnum.mosaic, this.handleAfterStackRegion = (region, stackValueGroup) => { region.getSeries().forEach((s => { const stackData = s.getStackData(), stackValue = s.getStackValue(), stackValueField = s.getStackValueField(); stackData && stackValueField && ((0, data_1.stackMosaicTotal)(stackValueGroup[stackValue], stackValueField), (0, data_1.stackMosaic)(s, stackValueGroup[stackValue])); })); }; } _beforeInit() { this._dataSet && (0, register_1.registerDataSetInstanceTransform)(this._dataSet, "stackSplit", stack_split_1.stackSplit); } _initStack() { this._stack = new stack_1.Stack(this, { afterStackRegion: this.handleAfterStackRegion }), this._stack.init(); } _setModelOption() { this._modelOption.getDimensionInfo = cartesian_1.getCartesianDimensionInfo, this._modelOption.getDimensionInfoByValue = cartesian_1.getDimensionInfoByValue, this._modelOption.getRectByDimensionData = cartesian_2.getCartesianCrosshairRect; } } exports.MosaicChart = MosaicChart, MosaicChart.type = "mosaic", MosaicChart.seriesType = type_1.SeriesTypeEnum.mosaic, MosaicChart.transformerConstructor = mosaic_transformer_1.MosaicChartSpecTransformer; const registerMosaicChart = () => { (0, dimension_tooltip_1.registerDimensionTooltipProcessor)(), (0, mark_tooltip_1.registerMarkTooltipProcessor)(), (0, group_tooltip_1.registerGroupTooltipProcessor)(), (0, events_1.registerDimensionEvents)(), (0, dimension_hover_1.registerDimensionHover)(), (0, mosaic_1.registerMosaicSeries)(), factory_1.Factory.registerChart(MosaicChart.type, MosaicChart); }; exports.registerMosaicChart = registerMosaicChart; //# sourceMappingURL=mosaic.js.map