From f20571a85cb32c0ae4de9e881ade339fe9d1375c Mon Sep 17 00:00:00 2001 From: Bruno Quaresma Date: Thu, 2 Feb 2023 22:11:22 +0000 Subject: [PATCH 1/2] fix(site): Only display fields with redisplay_value during workspace creation --- .../CreateWorkspacePageView.stories.tsx | 46 +++++++++++++++++++ .../CreateWorkspacePageView.tsx | 32 +++++++------ 2 files changed, 63 insertions(+), 15 deletions(-) diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx index e202ab9d60d8b..35b0bead3320b 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx @@ -39,6 +39,7 @@ Parameters.args = { name: "region", default_source_value: "🏈 US Central", description: "Where would you like your workspace to live?", + redisplay_value: true, validation_contains: [ "🏈 US Central", "⚽ Brazil East", @@ -51,18 +52,63 @@ Parameters.args = { default_source_value: "Big", description: "How large should you instance be?", validation_contains: ["Small", "Medium", "Big"], + redisplay_value: true, }), mockParameterSchema({ name: "instance_size", default_source_value: "Big", description: "How large should your instance be?", validation_contains: ["Small", "Medium", "Big"], + redisplay_value: true, }), mockParameterSchema({ name: "disable_docker", description: "Disable Docker?", validation_value_type: "bool", default_source_value: "false", + redisplay_value: true, + }), + ], + createWorkspaceErrors: {}, +} + +export const RedisplayParameters = Template.bind({}) +RedisplayParameters.args = { + templates: [MockTemplate], + selectedTemplate: MockTemplate, + templateSchema: [ + mockParameterSchema({ + name: "region", + default_source_value: "🏈 US Central", + description: "Where would you like your workspace to live?", + redisplay_value: false, + validation_contains: [ + "🏈 US Central", + "⚽ Brazil East", + "💶 EU West", + "🦘 Australia South", + ], + }), + mockParameterSchema({ + name: "instance_size", + default_source_value: "Big", + description: "How large should you instance be?", + validation_contains: ["Small", "Medium", "Big"], + redisplay_value: false, + }), + mockParameterSchema({ + name: "instance_size", + default_source_value: "Big", + description: "How large should your instance be?", + validation_contains: ["Small", "Medium", "Big"], + redisplay_value: true, + }), + mockParameterSchema({ + name: "disable_docker", + description: "Disable Docker?", + validation_value_type: "bool", + default_source_value: "false", + redisplay_value: true, }), ], createWorkspaceErrors: {}, diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx index 4bea8b3009753..d2b8936bf306f 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx @@ -31,7 +31,6 @@ export interface CreateWorkspacePageViewProps { templates?: TypesGen.Template[] selectedTemplate?: TypesGen.Template templateParameters?: TypesGen.TemplateVersionParameter[] - templateSchema?: TypesGen.ParameterSchema[] createWorkspaceErrors: Partial> canCreateForUser?: boolean @@ -239,20 +238,23 @@ export const CreateWorkspacePageView: FC< spacing={4} // Spacing here is diff because the fields here don't have the MUI floating label spacing className={styles.formSectionFields} > - {props.templateSchema.map((schema) => ( - { - setParameterValues({ - ...parameterValues, - [schema.name]: value, - }) - }} - schema={schema} - /> - ))} + {props.templateSchema + // We only want to show schema that have redisplay_value equals true + .filter((schema) => schema.redisplay_value) + .map((schema) => ( + { + setParameterValues({ + ...parameterValues, + [schema.name]: value, + }) + }} + schema={schema} + /> + ))} )} From 353effda6fdf2123442355ff688c7ddff36853ce Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Fri, 3 Feb 2023 01:12:15 +0000 Subject: [PATCH 2/2] Fix test --- site/src/pages/CreateWorkspacePage/CreateWorkspacePage.test.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.test.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.test.tsx index 39bf44ea87ffa..0cabc3e6ed271 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.test.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.test.tsx @@ -104,6 +104,7 @@ describe("CreateWorkspacePage", () => { jest.spyOn(API, "getTemplateVersionSchema").mockResolvedValueOnce([ mockParameterSchema({ name: param, + redisplay_value: true, default_source_value: "", }), ])