UNPKG

@progress/kendo-charts

Version:

Kendo UI platform-independent Charts library

39 lines (30 loc) 1.02 kB
import filterSeriesByType from '../utils/filter-series-by-type'; import { TRENDLINE_SERIES } from '../constants'; class PlotAreaFactory { constructor() { this._registry = []; } register(type, seriesTypes) { this._registry.push({ type: type, seriesTypes: seriesTypes }); } create(srcSeries, options, chartService) { const registry = this._registry; let match = registry[0]; let series; for (let idx = 0; idx < registry.length; idx++) { const entry = registry[idx]; series = filterSeriesByType(srcSeries, entry.seriesTypes); const trendlines = filterSeriesByType(srcSeries, TRENDLINE_SERIES); if ((series.length - trendlines.length) > 0) { match = entry; break; } } return new match.type(series, options, chartService); } } PlotAreaFactory.current = new PlotAreaFactory(); export default PlotAreaFactory;