From 2ad00f99bffbdbd45450d6879d4b7072e8b4cf08 Mon Sep 17 00:00:00 2001
From: sudoice <143772207+sudoice@users.noreply.github.com>
Date: Mon, 6 Oct 2025 15:44:56 +0530
Subject: [PATCH] Transformations: Hide "Match all/any" conditions for less
than two filters (#109754)
Hide "Match all/any" conditions for less than two filters
---
.../FilterByValueTransformerEditor.test.tsx | 59 +++++++++++++++++++
.../FilterByValueTransformerEditor.tsx | 18 +++---
2 files changed, 69 insertions(+), 8 deletions(-)
diff --git a/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.test.tsx b/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.test.tsx
index 6c064b2ad0c..89895799e6b 100644
--- a/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.test.tsx
+++ b/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.test.tsx
@@ -67,3 +67,62 @@ describe('FilterByValueTransformerEditor', () => {
});
});
});
+it('hides conditions field when there is 0 or 1 filter', () => {
+ const onChangeMock = jest.fn();
+ const input: DataFrame[] = [
+ {
+ fields: [{ name: 'field1', type: FieldType.string, config: {}, values: [] }],
+ length: 0,
+ },
+ ];
+
+ // Test with 0 filters
+ const { queryByText, rerender } = render(
+
+ );
+ expect(queryByText('Conditions')).not.toBeInTheDocument();
+
+ // Test with 1 filter
+ rerender(
+
+ );
+ expect(queryByText('Conditions')).not.toBeInTheDocument();
+});
+
+it('shows conditions field when there are more than 1 filter', () => {
+ const onChangeMock = jest.fn();
+ const input: DataFrame[] = [
+ {
+ fields: [{ name: 'field1', type: FieldType.string, config: {}, values: [] }],
+ length: 0,
+ },
+ ];
+
+ const { getByText } = render(
+
+ );
+ expect(getByText('Conditions')).toBeInTheDocument();
+});
diff --git a/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.tsx b/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.tsx
index 366da659cf2..5f8c350f60f 100644
--- a/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.tsx
+++ b/public/app/features/transformers/FilterByValueTransformer/FilterByValueTransformerEditor.tsx
@@ -124,14 +124,16 @@ export const FilterByValueTransformerEditor = (props: TransformerUIProps
-
-
-
-
-
+ {options.filters.length > 1 && (
+
+
+
+
+
+ )}
{options.filters.map((filter, idx) => (