Skip to content
Snippets Groups Projects
Unverified Commit 79bd538d authored by Dalton's avatar Dalton Committed by GitHub
Browse files

Move parameter types to `metabase-lib` (#26009)

* Move parameter types to metabase-lib

* Add type to imports

* move remaining parameter-type util over to metabase-lib
parent bbbf73d6
No related branches found
No related tags found
No related merge requests found
Showing
with 44 additions and 26 deletions
import { UiParameter } from "metabase/parameters/types"; import { UiParameter } from "metabase-lib/lib/parameters/types";
export const createMockUiParameter = ( export const createMockUiParameter = (
opts?: Partial<UiParameter>, opts?: Partial<UiParameter>,
......
import { Parameter, ParameterTarget } from "metabase-types/types/Parameter"; import type {
import Field from "metabase-lib/lib/metadata/Field"; Parameter,
ParameterTarget,
} from "metabase-types/types/Parameter";
import type Field from "metabase-lib/lib/metadata/Field";
export interface ValuePopulatedParameter extends Parameter { export interface ValuePopulatedParameter extends Parameter {
value?: any; value?: any;
......
import { createMockUiParameter } from "metabase/parameters/mock"; import { createMockUiParameter } from "metabase-lib/lib/parameters/mock";
import { import {
getOperatorDisplayName, getOperatorDisplayName,
......
import _ from "underscore"; import _ from "underscore";
import { Parameter } from "metabase-types/types/Parameter"; import { Parameter } from "metabase-types/types/Parameter";
import { FieldFilterUiParameter } from "metabase-lib/lib/parameters/types";
import { FIELD_FILTER_PARAMETER_TYPES } from "metabase-lib/lib/parameters/constants";
export function getParameterType(parameter: Parameter | string) { export function getParameterType(parameter: Parameter | string) {
return typeof parameter === "string" return typeof parameter === "string"
...@@ -34,3 +36,10 @@ export function isStringParameter(parameter: Parameter) { ...@@ -34,3 +36,10 @@ export function isStringParameter(parameter: Parameter) {
const type = getParameterType(parameter); const type = getParameterType(parameter);
return type === "string"; return type === "string";
} }
export function isFieldFilterParameter(
parameter: Parameter,
): parameter is FieldFilterUiParameter {
const type = getParameterType(parameter);
return FIELD_FILTER_PARAMETER_TYPES.includes(type);
}
import _ from "underscore"; import _ from "underscore";
import type { ParameterWithTarget } from "metabase/parameters/types";
import type { import type {
Parameter, Parameter,
ParameterTarget, ParameterTarget,
} from "metabase-types/types/Parameter"; } from "metabase-types/types/Parameter";
import type { Card } from "metabase-types/types/Card"; import type { Card } from "metabase-types/types/Card";
import type { TemplateTag } from "metabase-types/types/Query"; import type { TemplateTag } from "metabase-types/types/Query";
import type { ParameterWithTarget } from "metabase-lib/lib/parameters/types";
import { getTemplateTagFromTarget } from "metabase-lib/lib/parameters/utils/targets"; import { getTemplateTagFromTarget } from "metabase-lib/lib/parameters/utils/targets";
import { hasParameterValue } from "metabase-lib/lib/parameters/utils/parameter-values"; import { hasParameterValue } from "metabase-lib/lib/parameters/utils/parameter-values";
......
...@@ -8,7 +8,7 @@ import type { ...@@ -8,7 +8,7 @@ import type {
ClickBehaviorParameterMapping, ClickBehaviorParameterMapping,
WritebackAction, WritebackAction,
} from "metabase-types/api"; } from "metabase-types/api";
import type { UiParameter } from "metabase/parameters/types"; import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { import {
turnClickBehaviorParameterMappingsIntoDashCardMappings, turnClickBehaviorParameterMappingsIntoDashCardMappings,
......
...@@ -11,7 +11,7 @@ import type { ...@@ -11,7 +11,7 @@ import type {
WritebackAction, WritebackAction,
} from "metabase-types/api"; } from "metabase-types/api";
import type { State } from "metabase-types/store"; import type { State } from "metabase-types/store";
import type { UiParameter } from "metabase/parameters/types"; import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { SidebarContent } from "../ClickBehaviorSidebar.styled"; import { SidebarContent } from "../ClickBehaviorSidebar.styled";
......
...@@ -8,7 +8,7 @@ import type { ...@@ -8,7 +8,7 @@ import type {
WritebackAction, WritebackAction,
WritebackParameter, WritebackParameter,
} from "metabase-types/api"; } from "metabase-types/api";
import type { UiParameter } from "metabase/parameters/types"; import type { UiParameter } from "metabase-lib/lib/parameters/types";
export function turnDashCardParameterMappingsIntoClickBehaviorMappings( export function turnDashCardParameterMappingsIntoClickBehaviorMappings(
dashCard: ActionDashboardCard, dashCard: ActionDashboardCard,
......
...@@ -3,12 +3,12 @@ import type { ...@@ -3,12 +3,12 @@ import type {
ClickBehaviorParameterMapping, ClickBehaviorParameterMapping,
WritebackParameter, WritebackParameter,
} from "metabase-types/api"; } from "metabase-types/api";
import type { UiParameter } from "metabase/parameters/types";
import { import {
createMockDashboardActionButton, createMockDashboardActionButton,
createMockQueryAction, createMockQueryAction,
} from "metabase-types/api/mocks"; } from "metabase-types/api/mocks";
import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { import {
turnClickBehaviorParameterMappingsIntoDashCardMappings, turnClickBehaviorParameterMappingsIntoDashCardMappings,
turnDashCardParameterMappingsIntoClickBehaviorMappings, turnDashCardParameterMappingsIntoClickBehaviorMappings,
......
...@@ -8,7 +8,6 @@ import Sidebar from "metabase/dashboard/components/Sidebar"; ...@@ -8,7 +8,6 @@ import Sidebar from "metabase/dashboard/components/Sidebar";
import { isMappedExplicitActionButton } from "metabase/writeback/utils"; import { isMappedExplicitActionButton } from "metabase/writeback/utils";
import type { UiParameter } from "metabase/parameters/types";
import type { import type {
Dashboard, Dashboard,
DashboardOrderedCard, DashboardOrderedCard,
...@@ -19,6 +18,7 @@ import type { ...@@ -19,6 +18,7 @@ import type {
DatasetColumn, DatasetColumn,
} from "metabase-types/api"; } from "metabase-types/api";
import { isTableDisplay } from "metabase/lib/click-behavior"; import { isTableDisplay } from "metabase/lib/click-behavior";
import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { clickBehaviorIsValid } from "metabase-lib/lib/parameters/utils/click-behavior"; import { clickBehaviorIsValid } from "metabase-lib/lib/parameters/utils/click-behavior";
import { getColumnKey } from "metabase-lib/lib/queries/utils/get-column-key"; import { getColumnKey } from "metabase-lib/lib/queries/utils/get-column-key";
......
...@@ -3,7 +3,6 @@ import { getIn } from "icepick"; ...@@ -3,7 +3,6 @@ import { getIn } from "icepick";
import { isMappedExplicitActionButton } from "metabase/writeback/utils"; import { isMappedExplicitActionButton } from "metabase/writeback/utils";
import type { UiParameter } from "metabase/parameters/types";
import type { import type {
Dashboard, Dashboard,
DashboardOrderedCard, DashboardOrderedCard,
...@@ -15,6 +14,7 @@ import type { ...@@ -15,6 +14,7 @@ import type {
} from "metabase-types/api"; } from "metabase-types/api";
import { isTableDisplay } from "metabase/lib/click-behavior"; import { isTableDisplay } from "metabase/lib/click-behavior";
import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { getClickBehaviorForColumn } from "./utils"; import { getClickBehaviorForColumn } from "./utils";
import ClickBehaviorSidebarMainView from "./ClickBehaviorSidebarMainView"; import ClickBehaviorSidebarMainView from "./ClickBehaviorSidebarMainView";
import TableClickBehaviorView from "./TableClickBehaviorView"; import TableClickBehaviorView from "./TableClickBehaviorView";
......
import React from "react"; import React from "react";
import type { UiParameter } from "metabase/parameters/types";
import type { import type {
ActionDashboardCard, ActionDashboardCard,
Dashboard, Dashboard,
DashboardOrderedCard, DashboardOrderedCard,
ClickBehavior, ClickBehavior,
} from "metabase-types/api"; } from "metabase-types/api";
import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { clickBehaviorOptions, getClickBehaviorOptionName } from "../utils"; import { clickBehaviorOptions, getClickBehaviorOptionName } from "../utils";
import ActionOptions from "../ActionOptions"; import ActionOptions from "../ActionOptions";
......
...@@ -5,13 +5,13 @@ import InputBlurChange from "metabase/components/InputBlurChange"; ...@@ -5,13 +5,13 @@ import InputBlurChange from "metabase/components/InputBlurChange";
import ModalContent from "metabase/components/ModalContent"; import ModalContent from "metabase/components/ModalContent";
import ModalWithTrigger from "metabase/components/ModalWithTrigger"; import ModalWithTrigger from "metabase/components/ModalWithTrigger";
import type { UiParameter } from "metabase/parameters/types";
import type { import type {
ArbitraryCustomDestinationClickBehavior, ArbitraryCustomDestinationClickBehavior,
ClickBehavior, ClickBehavior,
DashboardOrderedCard, DashboardOrderedCard,
} from "metabase-types/api"; } from "metabase-types/api";
import { isTableDisplay } from "metabase/lib/click-behavior"; import { isTableDisplay } from "metabase/lib/click-behavior";
import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { clickBehaviorIsValid } from "metabase-lib/lib/parameters/utils/click-behavior"; import { clickBehaviorIsValid } from "metabase-lib/lib/parameters/utils/click-behavior";
import { SidebarItem } from "../SidebarItem"; import { SidebarItem } from "../SidebarItem";
......
import React, { useCallback } from "react"; import React, { useCallback } from "react";
import { t } from "ttag"; import { t } from "ttag";
import type { UiParameter } from "metabase/parameters/types";
import type { import type {
DashboardOrderedCard, DashboardOrderedCard,
ArbitraryCustomDestinationClickBehavior, ArbitraryCustomDestinationClickBehavior,
...@@ -10,6 +9,7 @@ import type { ...@@ -10,6 +9,7 @@ import type {
CustomDestinationClickBehaviorLinkType, CustomDestinationClickBehaviorLinkType,
} from "metabase-types/api"; } from "metabase-types/api";
import { isTableDisplay } from "metabase/lib/click-behavior"; import { isTableDisplay } from "metabase/lib/click-behavior";
import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { SidebarContent } from "../ClickBehaviorSidebar.styled"; import { SidebarContent } from "../ClickBehaviorSidebar.styled";
import CustomLinkText from "./CustomLinkText"; import CustomLinkText from "./CustomLinkText";
import LinkedEntityPicker from "./LinkedEntityPicker"; import LinkedEntityPicker from "./LinkedEntityPicker";
......
...@@ -5,8 +5,8 @@ import { color } from "metabase/lib/colors"; ...@@ -5,8 +5,8 @@ import { color } from "metabase/lib/colors";
import { isActionDashCard } from "metabase/writeback/utils"; import { isActionDashCard } from "metabase/writeback/utils";
import type { UiParameter } from "metabase/parameters/types";
import type { DashboardOrderedCard, ClickBehavior } from "metabase-types/api"; import type { DashboardOrderedCard, ClickBehavior } from "metabase-types/api";
import type { UiParameter } from "metabase-lib/lib/parameters/types";
import { clickBehaviorOptions, getClickBehaviorOptionName } from "../utils"; import { clickBehaviorOptions, getClickBehaviorOptionName } from "../utils";
import { SidebarItem } from "../SidebarItem"; import { SidebarItem } from "../SidebarItem";
......
import React from "react"; import React from "react";
import { formatParameterValue } from "metabase/parameters/utils/formatting"; import { formatParameterValue } from "metabase/parameters/utils/formatting";
import { UiParameter, FieldFilterUiParameter } from "metabase/parameters/types";
import ParameterFieldWidgetValue from "metabase/parameters/components/widgets/ParameterFieldWidget/ParameterFieldWidgetValue/ParameterFieldWidgetValue"; import ParameterFieldWidgetValue from "metabase/parameters/components/widgets/ParameterFieldWidget/ParameterFieldWidgetValue/ParameterFieldWidgetValue";
import {
UiParameter,
FieldFilterUiParameter,
} from "metabase-lib/lib/parameters/types";
import { isDateParameter } from "metabase-lib/lib/parameters/utils/parameter-type"; import { isDateParameter } from "metabase-lib/lib/parameters/utils/parameter-type";
type FormattedParameterValueProps = { type FormattedParameterValueProps = {
......
import _ from "underscore"; import _ from "underscore";
import { ParameterWithTarget, UiParameter } from "metabase/parameters/types";
import { Parameter, ParameterTarget } from "metabase-types/types/Parameter"; import { Parameter, ParameterTarget } from "metabase-types/types/Parameter";
import { Card } from "metabase-types/types/Card"; import { Card } from "metabase-types/types/Card";
import {
ParameterWithTarget,
UiParameter,
} from "metabase-lib/lib/parameters/types";
import { getValuePopulatedParameters } from "metabase-lib/lib/parameters/utils/parameter-values"; import { getValuePopulatedParameters } from "metabase-lib/lib/parameters/utils/parameter-values";
import { getParameterTargetField } from "metabase-lib/lib/parameters/utils/targets"; import { getParameterTargetField } from "metabase-lib/lib/parameters/utils/targets";
import Question from "metabase-lib/lib/Question"; import Question from "metabase-lib/lib/Question";
......
import _ from "underscore"; import _ from "underscore";
import { generateParameterId } from "metabase/parameters/utils/parameter-id"; import { generateParameterId } from "metabase/parameters/utils/parameter-id";
import { isFieldFilterParameter } from "metabase/parameters/utils/parameter-type";
import { slugify } from "metabase/lib/formatting"; import { slugify } from "metabase/lib/formatting";
import type {
UiParameter,
FieldFilterUiParameter,
ParameterWithTarget,
} from "metabase/parameters/types";
import type { import type {
Parameter, Parameter,
ParameterMappingOptions, ParameterMappingOptions,
...@@ -18,6 +12,12 @@ import type { ...@@ -18,6 +12,12 @@ import type {
DashboardOrderedCard, DashboardOrderedCard,
} from "metabase-types/api"; } from "metabase-types/api";
import type { SavedCard } from "metabase-types/types/Card"; import type { SavedCard } from "metabase-types/types/Card";
import { isFieldFilterParameter } from "metabase-lib/lib/parameters/utils/parameter-type";
import type {
UiParameter,
FieldFilterUiParameter,
ParameterWithTarget,
} from "metabase-lib/lib/parameters/types";
import { import {
getTargetFieldFromCard, getTargetFieldFromCard,
isVariableTarget, isVariableTarget,
......
...@@ -12,7 +12,7 @@ import { ...@@ -12,7 +12,7 @@ import {
getStartingFrom, getStartingFrom,
} from "metabase-lib/lib/queries/utils/query-time"; } from "metabase-lib/lib/queries/utils/query-time";
import { UiParameter } from "../types"; import { UiParameter } from "metabase-lib/lib/parameters/types";
// Use a placeholder value as field references are not used in dashboard filters // Use a placeholder value as field references are not used in dashboard filters
const noopRef = null; const noopRef = null;
......
import { UiParameter } from "metabase/parameters/types"; import { UiParameter } from "metabase-lib/lib/parameters/types";
export function hasFieldValues(parameter: UiParameter) { export function hasFieldValues(parameter: UiParameter) {
if ("fields" in parameter) { if ("fields" in parameter) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment