Skip to content

Commit 8765352

Browse files
authored
chore: backport dynamic parameters fix #20740 (#20777)
backport #20740 to 2.28
1 parent 7beb95f commit 8765352

File tree

1 file changed

+5
-23
lines changed

1 file changed

+5
-23
lines changed

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

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,6 @@ export const WorkspaceParametersPageViewExperimental: FC<
4848
onCancel,
4949
templateVersionId,
5050
}) => {
51-
const autofillByName = Object.fromEntries(
52-
autofillParameters.map((param) => [param.name, param]),
53-
);
54-
const initialTouched = parameters.reduce(
55-
(touched, parameter) => {
56-
if (autofillByName[parameter.name] !== undefined) {
57-
touched[parameter.name] = true;
58-
}
59-
return touched;
60-
},
61-
{} as Record<string, boolean>,
62-
);
6351
const form = useFormik({
6452
onSubmit,
6553
initialValues: {
@@ -68,7 +56,6 @@ export const WorkspaceParametersPageViewExperimental: FC<
6856
autofillParameters,
6957
),
7058
},
71-
initialTouched,
7259
validationSchema: useValidationSchemaForDynamicParameters(parameters),
7360
enableReinitialize: false,
7461
validateOnChange: true,
@@ -89,28 +76,23 @@ export const WorkspaceParametersPageViewExperimental: FC<
8976
name: parameter.name,
9077
value,
9178
});
92-
form.setFieldTouched(parameter.name, true);
9379
sendDynamicParamsRequest(parameter, value);
9480
};
9581

96-
// Send the changed parameter and all touched parameters to the websocket
9782
const sendDynamicParamsRequest = (
9883
parameter: PreviewParameter,
9984
value: string,
10085
) => {
10186
const formInputs: Record<string, string> = {};
102-
formInputs[parameter.name] = value;
10387
const parameters = form.values.rich_parameter_values ?? [];
104-
105-
for (const [fieldName, isTouched] of Object.entries(form.touched)) {
106-
if (isTouched && fieldName !== parameter.name) {
107-
const param = parameters.find((p) => p.name === fieldName);
108-
if (param?.value) {
109-
formInputs[fieldName] = param.value;
110-
}
88+
for (const param of parameters) {
89+
if (param?.name && param?.value) {
90+
formInputs[param.name] = param.value;
11191
}
11292
}
11393

94+
formInputs[parameter.name] = value;
95+
11496
sendMessage(formInputs);
11597
};
11698

0 commit comments

Comments
 (0)