@visactor/vchart
Version:
charts lib based @visactor/VGrammar
46 lines (39 loc) • 3.08 kB
JavaScript
;
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