Skip to content

Commit 53a5754

Browse files
committed
chore: autofill previous values from build on workspace settings
1 parent 6a2f22a commit 53a5754

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ const WorkspaceParametersPageExperimental: FC = () => {
3939
const navigate = useNavigate();
4040
const experimentalFormContext = useContext(ExperimentalFormContext);
4141

42+
const { data: originalParameters, isLoading: originalParametersLoading } = useQuery({
43+
queryKey: ["workspace", "build", workspace.id, "parameters"],
44+
queryFn: () => API.getWorkspaceBuildParameters(workspace.latest_build.id),
45+
});
46+
4247
const [latestResponse, setLatestResponse] =
4348
useState<DynamicParametersResponse | null>(null);
4449
const wsResponseId = useRef<number>(-1);
@@ -149,6 +154,7 @@ const WorkspaceParametersPageExperimental: FC = () => {
149154
const error = wsError || updateParameters.error;
150155

151156
if (
157+
originalParametersLoading ||
152158
!latestResponse ||
153159
(ws.current && ws.current.readyState === WebSocket.CONNECTING)
154160
) {
@@ -203,6 +209,7 @@ const WorkspaceParametersPageExperimental: FC = () => {
203209
<WorkspaceParametersPageViewExperimental
204210
workspace={workspace}
205211
canChangeVersions={canChangeVersions}
212+
originalParameters={originalParameters!}
206213
parameters={sortedParams}
207214
diagnostics={latestResponse.diagnostics}
208215
isSubmitting={updateParameters.isPending}

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { docs } from "utils/docs";
1919

2020
type WorkspaceParametersPageViewExperimentalProps = {
2121
workspace: Workspace;
22+
originalParameters?: WorkspaceBuildParameter[];
2223
parameters: PreviewParameter[];
2324
diagnostics: PreviewParameter["diagnostics"];
2425
canChangeVersions: boolean;
@@ -34,6 +35,7 @@ export const WorkspaceParametersPageViewExperimental: FC<
3435
WorkspaceParametersPageViewExperimentalProps
3536
> = ({
3637
workspace,
38+
originalParameters,
3739
parameters,
3840
diagnostics,
3941
canChangeVersions,
@@ -45,7 +47,10 @@ export const WorkspaceParametersPageViewExperimental: FC<
4547
const form = useFormik({
4648
onSubmit,
4749
initialValues: {
48-
rich_parameter_values: getInitialParameterValues(parameters),
50+
rich_parameter_values: getInitialParameterValues(parameters, originalParameters!.map((p) => ({
51+
...p,
52+
source: "active_build",
53+
}))),
4954
},
5055
validationSchema: useValidationSchemaForDynamicParameters(parameters),
5156
enableReinitialize: false,

0 commit comments

Comments
 (0)