@visactor/vchart
Version:
charts lib based @visactor/VGrammar
58 lines (45 loc) • 2.57 kB
JavaScript
var __rest = this && this.__rest || function(s, e) {
var t = {};
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
var i = 0;
for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
}
return t;
};
import { registerLinkSeries } from "../../series/link/link";
import { registerDotSeries } from "../../series/dot/dot";
import { BaseChart } from "../base/base-chart";
import { Factory } from "../../core/factory";
import { SeriesTypeEnum } from "../../series/interface/type";
import { SequenceChartSpecTransformer } from "./sequence-transformer";
import { registerCartesianLinearAxis, registerCartesianBandAxis } from "../../component/axis/cartesian";
import { registerMarkTooltipProcessor } from "../../component/tooltip/processor/mark-tooltip";
import { registerDimensionTooltipProcessor } from "../../component/tooltip/processor/dimension-tooltip";
export class SequenceChart extends BaseChart {
constructor() {
super(...arguments), this.transformerConstructor = SequenceChartSpecTransformer,
this.type = "sequence";
}
_createSeries(constructor, specInfo) {
if (!constructor) return;
const {spec: spec} = specInfo, others = __rest(specInfo, [ "spec" ]);
let region;
if (spec.type === SeriesTypeEnum.link && (spec.dotSeriesSpec = this._spec.series[spec.dotSeriesIndex]),
spec.regionId && (region = this.getRegionsInUserId(spec.regionId)), region || (region = this.getRegionsInIndex(spec.regionIndex ? [ spec.regionIndex ] : void 0)[0]),
!region) return;
const series = new constructor(spec, Object.assign(Object.assign(Object.assign({}, this._modelOption), others), {
region: region,
specKey: "series",
globalScale: this._globalScale
}));
series && (series.created(), this._series.push(series), region.addSeries(series));
}
}
SequenceChart.type = "sequence", SequenceChart.transformerConstructor = SequenceChartSpecTransformer;
export const registerSequenceChart = () => {
registerDimensionTooltipProcessor(), registerMarkTooltipProcessor(), registerDotSeries(),
registerLinkSeries(), registerCartesianBandAxis(), registerCartesianLinearAxis(),
Factory.registerChart(SequenceChart.type, SequenceChart);
};
//# sourceMappingURL=sequence.js.map