From 313d868dd86e00e2f59bb52f60e9591af993ab25 Mon Sep 17 00:00:00 2001 From: Jens Scheffler Date: Sat, 4 Jan 2025 17:10:04 +0100 Subject: [PATCH] Review feedback, remove reloading warnings, move selector functions to separate TSX file --- .../FlexibleFormFieldAdvancedArray.tsx | 4 - .../FlexibleForm/FlexibleFormFieldBool.tsx | 2 - .../FlexibleForm/FlexibleFormFieldDate.tsx | 5 - .../FlexibleFormFieldDateTime.tsx | 5 - .../FlexibleFormFieldDropdown.tsx | 6 - .../FlexibleFormFieldMultiSelect.tsx | 5 - .../FlexibleFormFieldMultilineText.tsx | 5 - .../FlexibleForm/FlexibleFormFieldNumber.tsx | 6 - .../FlexibleForm/FlexibleFormFieldObject.tsx | 2 - .../FlexibleFormFieldStringArray.tsx | 6 - .../FlexibleForm/FlexibleFormFieldTime.tsx | 5 - .../FlexibleForm/FlexibleFormHidden.tsx | 4 - .../FlexibleForm/FlexibleFormNormalRow.tsx | 63 +-------- .../FlexibleForm/FlexibleFormRow.tsx | 6 +- .../FlexibleFormSelectElement.tsx | 120 ++++++++++++++++++ .../ui/src/components/FlexibleForm/index.tsx | 2 +- 16 files changed, 127 insertions(+), 119 deletions(-) create mode 100644 airflow/ui/src/components/FlexibleForm/FlexibleFormSelectElement.tsx diff --git a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldAdvancedArray.tsx b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldAdvancedArray.tsx index 6c12c3d4dfa5e..3a1590d0559bc 100644 --- a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldAdvancedArray.tsx +++ b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldAdvancedArray.tsx @@ -21,13 +21,9 @@ import { githubLight, githubDark } from "@uiw/codemirror-themes-all"; import CodeMirror from "@uiw/react-codemirror"; import { useColorMode } from "src/context/colorMode"; -import type { ParamSchema } from "src/queries/useDagParams"; import type { FlexibleFormElementProps } from "."; -export const isFieldAdvancedArray = (fieldType: string, fieldSchema: ParamSchema) => - fieldType === "array" && fieldSchema.items?.type !== "string"; - export const FlexibleFormFieldAdvancedArray = ({ name, param }: FlexibleFormElementProps) => { const { colorMode } = useColorMode(); diff --git a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldBool.tsx b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldBool.tsx index 98b11d6476e9f..9e61401150496 100644 --- a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldBool.tsx +++ b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldBool.tsx @@ -19,8 +19,6 @@ import type { FlexibleFormElementProps } from "."; import { Switch } from "../ui"; -export const isFieldBool = (fieldType: string) => fieldType === "boolean"; - export const FlexibleFormFieldBool = ({ name, param }: FlexibleFormElementProps) => ( - fieldType === "string" && fieldSchema.format === "date"; - export const FlexibleFormFieldDate = ({ name, param }: FlexibleFormElementProps) => ( - fieldType === "string" && fieldSchema.format === "date-time"; - export const FlexibleFormFieldDateTime = ({ name, param }: FlexibleFormElementProps) => ( - enumTypes.includes(fieldType) && Array.isArray(fieldSchema.enum); - const labelLookup = (key: string, valuesDisplay: Record | null): string => { if (valuesDisplay && typeof valuesDisplay === "object") { return valuesDisplay[key] ?? key; diff --git a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultiSelect.tsx b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultiSelect.tsx index e5d9b634f6577..3d7fe6cf11c94 100644 --- a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultiSelect.tsx +++ b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultiSelect.tsx @@ -19,13 +19,8 @@ import { Select as ReactSelect } from "chakra-react-select"; import { useState } from "react"; -import type { ParamSchema } from "src/queries/useDagParams"; - import type { FlexibleFormElementProps } from "."; -export const isFieldMultiSelect = (fieldType: string, fieldSchema: ParamSchema) => - fieldType === "array" && Array.isArray(fieldSchema.examples); - const labelLookup = (key: string, valuesDisplay: Record | null): string => { if (valuesDisplay && typeof valuesDisplay === "object") { return valuesDisplay[key] ?? key; diff --git a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultilineText.tsx b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultilineText.tsx index 531498e95d53f..73cae3dbfaf0a 100644 --- a/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultilineText.tsx +++ b/airflow/ui/src/components/FlexibleForm/FlexibleFormFieldMultilineText.tsx @@ -18,13 +18,8 @@ */ import { Textarea } from "@chakra-ui/react"; -import type { ParamSchema } from "src/queries/useDagParams"; - import type { FlexibleFormElementProps } from "."; -export const isFieldMultilineText = (fieldType: string, fieldSchema: ParamSchema) => - fieldType === "string" && fieldSchema.format === "multiline"; - export const FlexibleFormFieldMultilineText = ({ name, param }: FlexibleFormElementProps) => (