Skip to content

Commit 9e543d3

Browse files
committed
fix: send the last user modified param and all touched params to the server
1 parent 9df1ca0 commit 9e543d3

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,12 +201,23 @@ export const CreateWorkspacePageViewExperimental: FC<
201201
parameters,
202202
]);
203203

204+
// send the last user modified parameter and all touched parameters to the websocket
204205
const sendDynamicParamsRequest = (
205206
parameter: PreviewParameter,
206207
value: string,
207208
) => {
208209
const formInputs: { [k: string]: string } = {};
209210
formInputs[parameter.name] = value;
211+
const parameters = form.values.rich_parameter_values ?? [];
212+
213+
for (const [fieldName, isTouched] of Object.entries(form.touched)) {
214+
if (isTouched && fieldName !== parameter.name) {
215+
const param = parameters.find(p => p.name === fieldName);
216+
if (param?.value) {
217+
formInputs[fieldName] = param.value;
218+
}
219+
}
220+
}
210221

211222
sendMessage(formInputs);
212223
};
@@ -221,6 +232,7 @@ export const CreateWorkspacePageViewExperimental: FC<
221232
name: parameter.name,
222233
value,
223234
});
235+
form.setFieldTouched(parameter.name, true);
224236
sendDynamicParamsRequest(parameter, value);
225237
},
226238
500,
@@ -238,6 +250,7 @@ export const CreateWorkspacePageViewExperimental: FC<
238250
name: parameter.name,
239251
value,
240252
});
253+
form.setFieldTouched(parameter.name, true);
241254
sendDynamicParamsRequest(parameter, value);
242255
}
243256
};

0 commit comments

Comments
 (0)