UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

65 lines (58 loc) 3.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.registerRangeAreaSeries = exports.RangeAreaSeries = void 0; const area_1 = require("../area/area"), type_1 = require("../interface/type"), area_2 = require("../../mark/area"), attribute_1 = require("../../constant/attribute"), tooltip_helper_1 = require("./tooltip-helper"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), cartesian_1 = require("../../component/axis/cartesian"); class RangeAreaSeries extends area_1.AreaSeries { constructor() { super(...arguments), this.type = type_1.SeriesTypeEnum.rangeArea; } initMark() { this._areaMark = this._createMark(RangeAreaSeries.mark.area, { groupKey: this._seriesField, isSeriesMark: !0 }, { morphElementKey: this.getDimensionField()[0] }); } initMarkStyle() { this.initAreaMarkStyle(); } initAreaMarkStyle() { const areaMark = this._areaMark; areaMark && (super.initAreaMarkStyle(), "horizontal" === this._direction ? this.setMarkStyle(this._areaMark, { x1: datum => { if (!this._xAxisHelper) return Number.NaN; const {dataToPosition: dataToPosition} = this._xAxisHelper; return dataToPosition(this.getDatumPositionValues(datum, this._spec.xField[1]), { bandPosition: this._bandPosition }); } }, "normal", attribute_1.AttributeLevel.Series) : this.setMarkStyle(this._areaMark, { y1: datum => { if (!this._yAxisHelper) return Number.NaN; const {dataToPosition: dataToPosition} = this._yAxisHelper; return dataToPosition(this.getDatumPositionValues(datum, this._spec.yField[1]), { bandPosition: this._bandPosition }); } }, "normal", attribute_1.AttributeLevel.Series), this.setMarkStyle(areaMark, { stroke: !1 }, "normal", attribute_1.AttributeLevel.Series)); } initTooltip() { this._tooltipHelper = new tooltip_helper_1.RangeAreaSeriesTooltipHelper(this); } _isFieldAllValid() { const viewStatistics = this.getViewDataStatistics(), fields = this.fieldY; return !!(viewStatistics && viewStatistics.latestData && fields.length) && fields.every((field => viewStatistics.latestData[field] && viewStatistics.latestData[field].allValid)); } } exports.RangeAreaSeries = RangeAreaSeries, RangeAreaSeries.type = type_1.SeriesTypeEnum.rangeArea, RangeAreaSeries.mark = constant_1.rangeAreaSeriesMark; const registerRangeAreaSeries = () => { (0, area_2.registerAreaMark)(), (0, cartesian_1.registerCartesianBandAxis)(), (0, cartesian_1.registerCartesianLinearAxis)(), factory_1.Factory.registerSeries(RangeAreaSeries.type, RangeAreaSeries); }; exports.registerRangeAreaSeries = registerRangeAreaSeries; //# sourceMappingURL=range-area.js.map