Skip to content

Commit 2962196

Browse files
committed
add initialTouched
1 parent 53a5754 commit 2962196

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersPageViewExperimental.tsx

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
} from "modules/workspaces/DynamicParameter/DynamicParameter";
1717
import type { FC } from "react";
1818
import { docs } from "utils/docs";
19+
import { AutofillBuildParameter } from "utils/richParameters";
1920

2021
type WorkspaceParametersPageViewExperimentalProps = {
2122
workspace: Workspace;
@@ -44,14 +45,32 @@ export const WorkspaceParametersPageViewExperimental: FC<
4445
sendMessage,
4546
onCancel,
4647
}) => {
48+
49+
const autoFillValues: AutofillBuildParameter[] = originalParameters!.map((p) => ({
50+
...p,
51+
source: "active_build",
52+
}))
53+
const autofillByName = Object.fromEntries(
54+
autoFillValues.map((param) => [param.name, param]),
55+
);
56+
57+
58+
const initialTouched = parameters.reduce(
59+
(touched, parameter) => {
60+
if (autofillByName[parameter.name] !== undefined) {
61+
touched[parameter.name] = true;
62+
}
63+
return touched;
64+
},
65+
{} as Record<string, boolean>,
66+
);
67+
4768
const form = useFormik({
4869
onSubmit,
4970
initialValues: {
50-
rich_parameter_values: getInitialParameterValues(parameters, originalParameters!.map((p) => ({
51-
...p,
52-
source: "active_build",
53-
}))),
71+
rich_parameter_values: getInitialParameterValues(parameters, autoFillValues),
5472
},
73+
initialTouched,
5574
validationSchema: useValidationSchemaForDynamicParameters(parameters),
5675
enableReinitialize: false,
5776
validateOnChange: true,

0 commit comments

Comments
 (0)