From af2784a41a537e5b3dfeb114a9584a2514b32c2f Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 26 Apr 2023 01:53:13 +0000 Subject: [PATCH 1/3] fix: set default parameter value during update prompt --- .../WorkspacePage/UpdateBuildParametersDialog.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx index 8b422f9258d88..722af365e698a 100644 --- a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx +++ b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx @@ -34,8 +34,7 @@ export const UpdateBuildParametersDialog: FC< const styles = useStyles() const form = useFormik({ initialValues: { - rich_parameter_values: - selectInitialRichParametersValues(missedParameters), + rich_parameter_values: [] }, validationSchema: Yup.object({ rich_parameter_values: useValidationSchemaForRichParameters( @@ -47,6 +46,12 @@ export const UpdateBuildParametersDialog: FC< onUpdate(values.rich_parameter_values) }, }) + + // Set initial values for missing parameters, once fetched + if (missedParameters && form.values.rich_parameter_values.length === 0) { + form.setFieldValue("rich_parameter_values", selectInitialRichParametersValues(missedParameters)) + } + const getFieldHelpers = getFormHelpers(form) const { t } = useTranslation("workspacePage") @@ -83,7 +88,7 @@ export const UpdateBuildParametersDialog: FC< )} key={parameter.name} parameter={parameter} - initialValue="" + initialValue={parameter.default_value} index={index} onChange={async (value) => { await form.setFieldValue( From 222f5eec72a6fc09c96f99d64af60591f5c0fc76 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 26 Apr 2023 01:54:50 +0000 Subject: [PATCH 2/3] fmt --- .../pages/WorkspacePage/UpdateBuildParametersDialog.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx index 722af365e698a..89ada39588538 100644 --- a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx +++ b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx @@ -34,7 +34,7 @@ export const UpdateBuildParametersDialog: FC< const styles = useStyles() const form = useFormik({ initialValues: { - rich_parameter_values: [] + rich_parameter_values: [], }, validationSchema: Yup.object({ rich_parameter_values: useValidationSchemaForRichParameters( @@ -49,7 +49,10 @@ export const UpdateBuildParametersDialog: FC< // Set initial values for missing parameters, once fetched if (missedParameters && form.values.rich_parameter_values.length === 0) { - form.setFieldValue("rich_parameter_values", selectInitialRichParametersValues(missedParameters)) + form.setFieldValue( + "rich_parameter_values", + selectInitialRichParametersValues(missedParameters), + ) } const getFieldHelpers = getFormHelpers(form) From 770333352d4fad2e430b2f326feb1ce619c98654 Mon Sep 17 00:00:00 2001 From: BrunoQuaresma Date: Wed, 26 Apr 2023 12:14:27 +0000 Subject: [PATCH 3/3] Add logic inside of use effect --- .../UpdateBuildParametersDialog.tsx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx index 89ada39588538..23c9095cdab06 100644 --- a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx +++ b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx @@ -4,7 +4,7 @@ import DialogContent from "@material-ui/core/DialogContent" import DialogContentText from "@material-ui/core/DialogContentText" import DialogTitle from "@material-ui/core/DialogTitle" import { DialogProps } from "components/Dialogs/Dialog" -import { FC } from "react" +import { FC, useEffect } from "react" import { getFormHelpers } from "utils/formUtils" import { FormFields, VerticalForm } from "components/Form/Form" import { @@ -47,13 +47,14 @@ export const UpdateBuildParametersDialog: FC< }, }) - // Set initial values for missing parameters, once fetched - if (missedParameters && form.values.rich_parameter_values.length === 0) { - form.setFieldValue( - "rich_parameter_values", - selectInitialRichParametersValues(missedParameters), - ) - } + useEffect(() => { + if (missedParameters && form.values.rich_parameter_values.length === 0) { + void form.setFieldValue( + "rich_parameter_values", + selectInitialRichParametersValues(missedParameters), + ) + } + }, [form, missedParameters]) const getFieldHelpers = getFormHelpers(form) const { t } = useTranslation("workspacePage")