diff --git a/frontend/src/metabase-types/types/Parameter.js b/frontend/src/metabase-types/types/Parameter.js index 024f7b1d9e4a6aab124b36bf1b009575aa359de2..3e672f02230282505edb9af30cc4db8cdddd3cae 100644 --- a/frontend/src/metabase-types/types/Parameter.js +++ b/frontend/src/metabase-types/types/Parameter.js @@ -50,6 +50,13 @@ export type ParameterOption = { type: ParameterType, }; +export type ParameterSection = { + id: string, + name: string, + description: string, + options: ParameterOption[], +}; + export type ParameterInstance = { type: ParameterType, target: ParameterTarget, diff --git a/frontend/src/metabase/dashboard/actions.js b/frontend/src/metabase/dashboard/actions.js index 436f499e4debb134d3f7a0dff8804cdf9af67fd8..10ec2e29a90df29205c64a283598ba7b61d1d98e 100644 --- a/frontend/src/metabase/dashboard/actions.js +++ b/frontend/src/metabase/dashboard/actions.js @@ -17,7 +17,7 @@ import { setParameterDefaultValue as setParamDefaultValue, getMappingsByParameter, getDashboardParametersWithFieldMetadata, -} from "metabase/meta/Dashboard"; +} from "metabase/parameters/utils/dashboards"; import { applyParameters, questionUrlWithParameters } from "metabase/meta/Card"; import { getParameterValuesBySlug, diff --git a/frontend/src/metabase/dashboard/components/ParametersPopover.jsx b/frontend/src/metabase/dashboard/components/ParametersPopover.jsx index 50da002e0bb752a8210d90ef6db3b0651265fc8f..a50f1ca429bdab646b245c79b057788e40ae71e9 100644 --- a/frontend/src/metabase/dashboard/components/ParametersPopover.jsx +++ b/frontend/src/metabase/dashboard/components/ParametersPopover.jsx @@ -8,12 +8,11 @@ import styled from "styled-components"; import type { Parameter, ParameterOption, + ParameterSection, } from "metabase-types/types/Parameter"; import _ from "underscore"; -import type { ParameterSection } from "metabase/meta/Dashboard"; - const PopoverBody = styled.div` max-width: 300px; `; diff --git a/frontend/src/metabase/dashboard/selectors.js b/frontend/src/metabase/dashboard/selectors.js index 37faea69b1abb39876691f8f021f542ab611870c..26c5b9f0e15ed0964ddca2563c960da8b1644227 100644 --- a/frontend/src/metabase/dashboard/selectors.js +++ b/frontend/src/metabase/dashboard/selectors.js @@ -7,7 +7,7 @@ import { getMetadata } from "metabase/selectors/metadata"; import { getMappingsByParameter as _getMappingsByParameter, getDashboardParametersWithFieldMetadata, -} from "metabase/meta/Dashboard"; +} from "metabase/parameters/utils/dashboards"; import { getParameterMappingOptions as _getParameterMappingOptions } from "metabase/parameters/utils/mapping-options"; import { SIDEBAR_NAME } from "metabase/dashboard/constants"; diff --git a/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx b/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx index 27420d5fac0985217ff838a7afd95f369e328ca9..959dc0e097a0620b9ccfe3d0ca611c3c2c6e552b 100644 --- a/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx +++ b/frontend/src/metabase/parameters/components/ParameterValueWidget.jsx @@ -25,7 +25,7 @@ import { import { getParameterIconName } from "metabase/parameters/utils/ui"; import { deriveFieldOperatorFromParameter } from "metabase/parameters/utils/operators"; -import { isDashboardParameterWithoutMapping } from "metabase/meta/Dashboard"; +import { isDashboardParameterWithoutMapping } from "metabase/parameters/utils/dashboards"; import S from "./ParameterWidget.css"; diff --git a/frontend/src/metabase/meta/Dashboard.js b/frontend/src/metabase/parameters/utils/dashboards.js similarity index 89% rename from frontend/src/metabase/meta/Dashboard.js rename to frontend/src/metabase/parameters/utils/dashboards.js index f1128cc8b87c00f5c03b549c84d7f6fa079b2498..81a01e7b22742fe8bba5c0ae2dc80f0f9ebae6bf 100644 --- a/frontend/src/metabase/meta/Dashboard.js +++ b/frontend/src/metabase/parameters/utils/dashboards.js @@ -2,25 +2,10 @@ import _ from "underscore"; import { setIn } from "icepick"; import Question from "metabase-lib/lib/Question"; - -import type { - ParameterOption, - Parameter, -} from "metabase-types/types/Parameter"; import { getParameterTargetField } from "metabase/parameters/utils/targets"; import { slugify } from "metabase/lib/formatting"; -export type ParameterSection = { - id: string, - name: string, - description: string, - options: ParameterOption[], -}; - -export function createParameter( - option: ParameterOption, - parameters: Parameter[] = [], -): Parameter { +export function createParameter(option, parameters = []) { let name = option.combinedName || option.name; let nameIndex = 0; // get a unique name @@ -38,10 +23,7 @@ export function createParameter( return setParameterName(parameter, name); } -export function setParameterName( - parameter: Parameter, - name: string, -): Parameter { +export function setParameterName(parameter, name: string) { if (!name) { name = "unnamed"; } @@ -53,10 +35,7 @@ export function setParameterName( }; } -export function setParameterDefaultValue( - parameter: Parameter, - value: string, -): Parameter { +export function setParameterDefaultValue(parameter, value: string) { return { ...parameter, default: value, diff --git a/frontend/test/metabase/meta/Dashboard.unit.spec.js b/frontend/src/metabase/parameters/utils/dashboards.unit.spec.js similarity index 98% rename from frontend/test/metabase/meta/Dashboard.unit.spec.js rename to frontend/src/metabase/parameters/utils/dashboards.unit.spec.js index 057ee4cbe5c9fc7b8bd7b3d895ff07ec555e5a1d..9d8594eef209b82f7fc169feb4f4e5b6e1454070 100644 --- a/frontend/test/metabase/meta/Dashboard.unit.spec.js +++ b/frontend/src/metabase/parameters/utils/dashboards.unit.spec.js @@ -5,8 +5,8 @@ import { hasMapping, isDashboardParameterWithoutMapping, getMappingsByParameter, -} from "metabase/meta/Dashboard"; -import DASHBOARD_WITH_BOOLEAN_PARAMETER from "./dashboard-with-boolean-parameter.json"; +} from "metabase/parameters/utils/dashboards"; +import DASHBOARD_WITH_BOOLEAN_PARAMETER from "./fixtures/dashboard-with-boolean-parameter.json"; import Field from "metabase-lib/lib/metadata/Field"; diff --git a/frontend/test/metabase/meta/dashboard-with-boolean-parameter.json b/frontend/src/metabase/parameters/utils/fixtures/dashboard-with-boolean-parameter.json similarity index 100% rename from frontend/test/metabase/meta/dashboard-with-boolean-parameter.json rename to frontend/src/metabase/parameters/utils/fixtures/dashboard-with-boolean-parameter.json