import { PanelData, TimeRange } from '@grafana/data'; import { DataProcessor } from '../grafana/data_processor'; import * as _ from 'lodash'; // Convert Grafana options into Chartwerk options export class Series { private processor; private _seriesList; constructor(private grafanaData: PanelData, timeRange: TimeRange) { this.processor = new DataProcessor({}); const seriesList = this.processor.getSeriesList({ dataList: grafanaData.series, range: timeRange, }); this._seriesList = this._updateSeriesListWithChartwerkParams(seriesList); } public getChartwerkSeries(): any[] { return this._seriesList; } private _updateSeriesListWithChartwerkParams(series: any[]): any[] { return _.map(series, (serie: any, idx: number) => { return { target: serie.alias, color: serie.color, datapoints: _.map(serie.datapoints, (row) => _.reverse(row)), alias: serie.label, }; }); } }