private processQueryResult()

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,
            },
        };
    }