Files
grafana/public/app/features/transformers/standardTransformers.ts
Kyle Cunningham 756cd3c28b Transformations: Add Group to Nested Tables Transformation (#79952)
* Stub group to subframe transformation

* Get proper field grouping

* Mostly working but fields not displaying 😭

* Fix display processing in nested tables

* Modularize and start merging groupBy and groupToSubrame

* Get this working

* Prettier

* Typing things

* More types

* Add option for showing subframe table headers

* Prettier

* Get tests going

* Update tests

* Fix naming and add icons

* Betterer fix

* Prettier

* Fix CSS object syntax

* Prettier

* Stub alert for calcs with grouping, start renaming

* Add logic to show warning message for calculations

* Add calc warning

* Renaming and feature flag

* Rename images

* Prettier

* Fix tests

* Update feature toggle

* Fix error showing extra blank row

* minor code cleanup

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-02-07 21:28:26 +07:00

73 lines
4.6 KiB
TypeScript

import { TransformerRegistryItem } from '@grafana/data';
import { config } from '@grafana/runtime';
import { filterByValueTransformRegistryItem } from './FilterByValueTransformer/FilterByValueTransformerEditor';
import { heatmapTransformRegistryItem } from './calculateHeatmap/HeatmapTransformerEditor';
import { configFromQueryTransformRegistryItem } from './configFromQuery/ConfigFromQueryTransformerEditor';
import { calculateFieldTransformRegistryItem } from './editors/CalculateFieldTransformerEditor';
import { concatenateTransformRegistryItem } from './editors/ConcatenateTransformerEditor';
import { convertFieldTypeTransformRegistryItem } from './editors/ConvertFieldTypeTransformerEditor';
import { filterFieldsByNameTransformRegistryItem } from './editors/FilterByNameTransformerEditor';
import { filterFramesByRefIdTransformRegistryItem } from './editors/FilterByRefIdTransformerEditor';
import { formatStringTransformerRegistryItem } from './editors/FormatStringTransformerEditor';
import { formatTimeTransformerRegistryItem } from './editors/FormatTimeTransformerEditor';
import { groupByTransformRegistryItem } from './editors/GroupByTransformerEditor';
import { groupToNestedTableTransformRegistryItem } from './editors/GroupToNestedTableTransformerEditor';
import { groupingToMatrixTransformRegistryItem } from './editors/GroupingToMatrixTransformerEditor';
import { histogramTransformRegistryItem } from './editors/HistogramTransformerEditor';
import { joinByFieldTransformerRegistryItem } from './editors/JoinByFieldTransformerEditor';
import { labelsToFieldsTransformerRegistryItem } from './editors/LabelsToFieldsTransformerEditor';
import { limitTransformRegistryItem } from './editors/LimitTransformerEditor';
import { mergeTransformerRegistryItem } from './editors/MergeTransformerEditor';
import { organizeFieldsTransformRegistryItem } from './editors/OrganizeFieldsTransformerEditor';
import { reduceTransformRegistryItem } from './editors/ReduceTransformerEditor';
import { renameByRegexTransformRegistryItem } from './editors/RenameByRegexTransformer';
import { seriesToRowsTransformerRegistryItem } from './editors/SeriesToRowsTransformerEditor';
import { sortByTransformRegistryItem } from './editors/SortByTransformerEditor';
import { extractFieldsTransformRegistryItem } from './extractFields/ExtractFieldsTransformerEditor';
import { joinByLabelsTransformRegistryItem } from './joinByLabels/JoinByLabelsTransformerEditor';
import { fieldLookupTransformRegistryItem } from './lookupGazetteer/FieldLookupTransformerEditor';
import { partitionByValuesTransformRegistryItem } from './partitionByValues/PartitionByValuesEditor';
import { prepareTimeseriesTransformerRegistryItem } from './prepareTimeSeries/PrepareTimeSeriesEditor';
import { regressionTransformerRegistryItem } from './regression/regressionEditor';
import { rowsToFieldsTransformRegistryItem } from './rowsToFields/RowsToFieldsTransformerEditor';
import { spatialTransformRegistryItem } from './spatial/SpatialTransformerEditor';
import { timeSeriesTableTransformRegistryItem } from './timeSeriesTable/TimeSeriesTableTransformEditor';
export const getStandardTransformers = (): Array<TransformerRegistryItem<any>> => {
return [
reduceTransformRegistryItem,
filterFieldsByNameTransformRegistryItem,
renameByRegexTransformRegistryItem,
filterFramesByRefIdTransformRegistryItem,
filterByValueTransformRegistryItem,
organizeFieldsTransformRegistryItem,
joinByFieldTransformerRegistryItem,
seriesToRowsTransformerRegistryItem,
concatenateTransformRegistryItem,
calculateFieldTransformRegistryItem,
labelsToFieldsTransformerRegistryItem,
groupByTransformRegistryItem,
sortByTransformRegistryItem,
mergeTransformerRegistryItem,
histogramTransformRegistryItem,
rowsToFieldsTransformRegistryItem,
configFromQueryTransformRegistryItem,
prepareTimeseriesTransformerRegistryItem,
convertFieldTypeTransformRegistryItem,
spatialTransformRegistryItem,
fieldLookupTransformRegistryItem,
extractFieldsTransformRegistryItem,
heatmapTransformRegistryItem,
groupingToMatrixTransformRegistryItem,
limitTransformRegistryItem,
joinByLabelsTransformRegistryItem,
partitionByValuesTransformRegistryItem,
...(config.featureToggles.formatString ? [formatStringTransformerRegistryItem] : []),
...(config.featureToggles.regressionTransformation ? [regressionTransformerRegistryItem] : []),
...(config.featureToggles.groupToNestedTableTransformation ? [groupToNestedTableTransformRegistryItem] : []),
formatTimeTransformerRegistryItem,
timeSeriesTableTransformRegistryItem,
];
};