From e4db00903bbd2e2c59f5a86274ea70d5d031d668 Mon Sep 17 00:00:00 2001 From: Kyle Cunningham Date: Wed, 15 May 2024 14:29:30 -0500 Subject: [PATCH] Format String Transformation: Add applicability function (#87777) * Add applicability function * Prettier --- .../transformations/transformers/formatString.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/grafana-data/src/transformations/transformers/formatString.ts b/packages/grafana-data/src/transformations/transformers/formatString.ts index fb72dd4df0e..2e46e4d5a72 100644 --- a/packages/grafana-data/src/transformations/transformers/formatString.ts +++ b/packages/grafana-data/src/transformations/transformers/formatString.ts @@ -1,7 +1,7 @@ import { map } from 'rxjs/operators'; import { DataFrame, Field, FieldType } from '../../types'; -import { DataTransformerInfo, FieldMatcher } from '../../types/transformations'; +import { DataTransformerInfo, FieldMatcher, TransformationApplicabilityLevels } from '../../types/transformations'; import { fieldMatchers } from '../matchers'; import { FieldMatcherID } from '../matchers/ids'; @@ -69,6 +69,19 @@ export const formatStringTransformer: DataTransformerInfo { + // Search for a string field + // if there is one then we can use this transformation + for (const frame of data) { + for (const field of frame.fields) { + if (field.type === 'string') { + return TransformationApplicabilityLevels.Applicable; + } + } + } + + return TransformationApplicabilityLevels.NotApplicable; + }, operator: (options) => (source) => source.pipe( map((data) => {