From f182d0fd43b1107386935ded041d28ee69fdbba0 Mon Sep 17 00:00:00 2001 From: Evan Rusackas Date: Fri, 19 Dec 2025 02:15:59 -0800 Subject: [PATCH] fix(types): make AdhocFilter and AdhocMetric interfaces more flexible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow additional properties via index signature to support test fixtures and various usage patterns across the codebase. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../components/controls/FilterControl/AdhocFilter/index.ts | 6 ++++-- .../components/controls/MetricControl/AdhocMetric.ts | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/index.ts b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/index.ts index a25a4839c0f..3fccd7f4ace 100644 --- a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/index.ts +++ b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/index.ts @@ -30,8 +30,8 @@ const CUSTOM_OPERATIONS = [...CUSTOM_OPERATORS].map( interface AdhocFilterInput { expressionType?: string; - subject?: string; - operator?: string; + subject?: string | null; + operator?: string | null; operatorId?: string; comparator?: unknown; clause?: string; @@ -42,6 +42,8 @@ interface AdhocFilterInput { deck_slices?: unknown; layerFilterScope?: unknown; filterOptionName?: string; + // Allow additional properties for flexibility + [key: string]: unknown; } export default class AdhocFilter { diff --git a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetric.ts b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetric.ts index 9df97dab64c..9b073428a8f 100644 --- a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetric.ts +++ b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetric.ts @@ -40,6 +40,12 @@ interface AdhocMetricInput { hasCustomLabel?: boolean; label?: string; optionName?: string; + // Additional properties that may be passed in + metric_name?: string; + expression?: string; + error_text?: string; + uuid?: string; + [key: string]: unknown; } function inferSqlExpressionColumn(adhocMetric: AdhocMetricInput): string | null {