in ui/src/app/data-explorer-shared/echarts-renderer/echarts-dataset-generator.service.ts [76:129]
private processQueryResult(
queryResult: SpQueryResult,
index: number,
currentDatasetIndexPointer: number,
widgetConfig: T,
getInitialTransforms: (
widgetConfig: T,
index: number,
) => DataTransformOption[],
): PreparedDataset {
const headers = this.makeHeaders(
queryResult.headers,
queryResult.allDataSeries,
);
const data = [
headers,
...queryResult.allDataSeries.flatMap(series => {
return this.makeRows(series.rows, series.tags);
}),
];
const initialTransforms = getInitialTransforms(widgetConfig, index).map(
transform => ({
fromDatasetIndex: currentDatasetIndexPointer,
transform,
}),
);
const tags = this.extractTags(queryResult);
const groupTransforms = tags.map(tag => ({
fromDatasetIndex:
currentDatasetIndexPointer + initialTransforms.length,
transform: this.createTagFilterTransform(tag),
}));
const preparedDataStartIndex =
currentDatasetIndexPointer +
initialTransforms.length +
(groupTransforms.length > 0 ? 1 : 0);
const preparedDataLength =
groupTransforms.length > 0 ? groupTransforms.length : 1;
return {
sourceIndex: index,
tagValues: tags,
groupedDatasets: groupTransforms,
rawDataset: { source: data, dimensions: headers },
initialTransformDatasets: initialTransforms,
meta: {
preparedDataStartIndex,
preparedDataLength,
},
};
}