From 43937aae2dd721b145441ce5c6357753fc949a73 Mon Sep 17 00:00:00 2001 From: Ariya Hidayat <ariya@metabase.com> Date: Tue, 10 May 2022 07:38:53 -0700 Subject: [PATCH] Derive parameter operator, not passing it as a prop (#22570) --- .../metabase/parameters/components/ParameterValueWidget.jsx | 2 -- .../widgets/ParameterFieldWidget/ParameterFieldWidget.jsx | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx b/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx index f41fd69ca64..b74730f6c1b 100644 --- a/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx +++ b/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx @@ -19,7 +19,6 @@ import { fetchField, fetchFieldValues } from "metabase/redux/metadata"; import { getMetadata } from "metabase/selectors/metadata"; import { getParameterIconName } from "metabase/parameters/utils/ui"; -import { deriveFieldOperatorFromParameter } from "metabase/parameters/utils/operators"; import { isDashboardParameterWithoutMapping } from "metabase/parameters/utils/dashboards"; import { hasFieldValues } from "metabase/parameters/utils/fields"; @@ -306,7 +305,6 @@ function Widget({ setValue={setValue} isEditing={isEditing} focusChanged={onFocusChanged} - operator={deriveFieldOperatorFromParameter(parameter)} /> ); } else { diff --git a/frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget/ParameterFieldWidget.jsx b/frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget/ParameterFieldWidget.jsx index 8e54fa1429e..864b6c37704 100644 --- a/frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget/ParameterFieldWidget.jsx +++ b/frontend/src/metabase/parameters/components/widgets/ParameterFieldWidget/ParameterFieldWidget.jsx @@ -12,6 +12,8 @@ import Button from "metabase/core/components/Button"; import { normalizeValue } from "./normalizeValue"; +import { deriveFieldOperatorFromParameter } from "metabase/parameters/utils/operators"; + import cx from "classnames"; import { getFilterArgumentFormatOptions, @@ -23,7 +25,6 @@ const propTypes = { dashboard: PropTypes.object, fields: PropTypes.array.isRequired, isEditing: PropTypes.bool.isRequired, - operator: PropTypes.object.isRequired, parameter: PropTypes.object.isRequired, parameters: PropTypes.array.isRequired, parentFocusChanged: PropTypes.bool, @@ -69,11 +70,11 @@ export default class ParameterFieldWidget extends Component { isEditing, fields, parentFocusChanged, - operator, parameter, parameters, dashboard, } = this.props; + const operator = deriveFieldOperatorFromParameter(parameter); const { isFocused, widgetWidth } = this.state; const { numFields = 1, multi = false, verboseName } = operator || {}; const savedValue = normalizeValue(this.props.value); -- GitLab