Skip to content

Commit 022224e

Browse files
committed
UI changes
1 parent 9f1fef3 commit 022224e

File tree

8 files changed

+5
-241
lines changed

8 files changed

+5
-241
lines changed

site/src/pages/CreateTemplatePage/CreateTemplateForm.stories.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { ComponentMeta, Story } from "@storybook/react"
22
import {
3-
MockParameterSchemas,
43
MockTemplateExample,
54
MockTemplateVersionVariable1,
65
MockTemplateVersionVariable2,
@@ -33,11 +32,6 @@ WithStarterTemplate.args = {
3332
starterTemplate: MockTemplateExample,
3433
}
3534

36-
export const WithParameters = Template.bind({})
37-
WithParameters.args = {
38-
parameters: MockParameterSchemas,
39-
}
40-
4135
export const WithVariables = Template.bind({})
4236
WithVariables.args = {
4337
variables: [

site/src/pages/CreateTemplatePage/CreateTemplatePage.tsx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,8 @@ const CreateTemplatePage: FC = () => {
3333
},
3434
})
3535

36-
const {
37-
starterTemplate,
38-
parameters,
39-
error,
40-
file,
41-
jobError,
42-
jobLogs,
43-
variables,
44-
} = state.context
36+
const { starterTemplate, error, file, jobError, jobLogs, variables } =
37+
state.context
4538
const shouldDisplayForm = !state.hasTag("loading")
4639
const { entitlements } = useDashboard()
4740
const allowAdvancedScheduling =
@@ -75,7 +68,6 @@ const CreateTemplatePage: FC = () => {
7568
starterTemplate={starterTemplate}
7669
isSubmitting={state.hasTag("submitting")}
7770
variables={variables}
78-
parameters={parameters}
7971
onCancel={onCancel}
8072
onSubmit={(data) => {
8173
send({

site/src/pages/CreateWorkspacePage/CreateWorkspacePage.test.tsx

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import userEvent from "@testing-library/user-event"
33
import * as API from "api/api"
44
import i18next from "i18next"
55
import {
6-
mockParameterSchema,
76
MockTemplate,
87
MockUser,
98
MockWorkspace,
@@ -79,7 +78,6 @@ describe("CreateWorkspacePage", () => {
7978
})
8079

8180
it("succeeds with default owner", async () => {
82-
jest.spyOn(API, "getTemplateVersionSchema").mockResolvedValueOnce([])
8381
jest
8482
.spyOn(API, "getUsers")
8583
.mockResolvedValueOnce({ users: [MockUser], count: 1 })
@@ -114,39 +112,9 @@ describe("CreateWorkspacePage", () => {
114112
)
115113
})
116114

117-
it("uses default param values passed from the URL", async () => {
118-
const param = "dotfile_uri"
119-
const paramValue = "localhost:3000"
120-
jest.spyOn(API, "getTemplateVersionSchema").mockResolvedValueOnce([
121-
mockParameterSchema({
122-
name: param,
123-
redisplay_value: true,
124-
default_source_value: "",
125-
}),
126-
])
127-
jest
128-
.spyOn(API, "getTemplateVersionRichParameters")
129-
.mockResolvedValueOnce([MockTemplateVersionParameter1])
130-
131-
renderWithAuth(<CreateWorkspacePage />, {
132-
route:
133-
"/templates/" +
134-
MockTemplate.name +
135-
`/workspace?param.${param}=${paramValue}`,
136-
path: "/templates/:template/workspace",
137-
}),
138-
await screen.findByDisplayValue(paramValue)
139-
})
140-
141115
it("uses default rich param values passed from the URL", async () => {
142116
const param = "first_parameter"
143117
const paramValue = "It works!"
144-
jest.spyOn(API, "getTemplateVersionSchema").mockResolvedValueOnce([
145-
mockParameterSchema({
146-
name: param,
147-
default_source_value: "",
148-
}),
149-
])
150118
jest
151119
.spyOn(API, "getTemplateVersionRichParameters")
152120
.mockResolvedValueOnce([MockTemplateVersionParameter1])

site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@ const CreateWorkspacePage: FC = () => {
3232
const {
3333
templates,
3434
templateParameters,
35-
templateSchema,
3635
templateGitAuth,
3736
selectedTemplate,
38-
getTemplateSchemaError,
3937
getTemplateGitAuthError,
4038
getTemplatesError,
4139
createWorkspaceError,
@@ -55,21 +53,15 @@ const CreateWorkspacePage: FC = () => {
5553
name={name}
5654
defaultParameterValues={defaultParameterValues}
5755
loadingTemplates={createWorkspaceState.matches("gettingTemplates")}
58-
loadingTemplateSchema={createWorkspaceState.matches(
59-
"gettingTemplateSchema",
60-
)}
6156
creatingWorkspace={createWorkspaceState.matches("creatingWorkspace")}
6257
hasTemplateErrors={createWorkspaceState.matches("error")}
6358
templateName={templateName}
6459
templates={templates}
6560
selectedTemplate={selectedTemplate}
6661
templateParameters={orderedTemplateParameters(templateParameters)}
67-
templateSchema={templateSchema}
6862
templateGitAuth={templateGitAuth}
6963
createWorkspaceErrors={{
7064
[CreateWorkspaceErrors.GET_TEMPLATES_ERROR]: getTemplatesError,
71-
[CreateWorkspaceErrors.GET_TEMPLATE_SCHEMA_ERROR]:
72-
getTemplateSchemaError,
7365
[CreateWorkspaceErrors.CREATE_WORKSPACE_ERROR]: createWorkspaceError,
7466
[CreateWorkspaceErrors.GET_TEMPLATE_GITAUTH_ERROR]:
7567
getTemplateGitAuthError,

site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { ComponentMeta, Story } from "@storybook/react"
22
import {
33
mockApiError,
4-
mockParameterSchema,
5-
MockParameterSchemas,
64
MockTemplate,
75
MockTemplateVersionParameter1,
86
MockTemplateVersionParameter2,
@@ -27,57 +25,20 @@ export const NoParameters = Template.bind({})
2725
NoParameters.args = {
2826
templates: [MockTemplate],
2927
selectedTemplate: MockTemplate,
30-
templateSchema: [],
3128
createWorkspaceErrors: {},
3229
}
3330

3431
export const Parameters = Template.bind({})
3532
Parameters.args = {
3633
templates: [MockTemplate],
3734
selectedTemplate: MockTemplate,
38-
templateSchema: MockParameterSchemas,
3935
createWorkspaceErrors: {},
4036
}
4137

4238
export const RedisplayParameters = Template.bind({})
4339
RedisplayParameters.args = {
4440
templates: [MockTemplate],
4541
selectedTemplate: MockTemplate,
46-
templateSchema: [
47-
mockParameterSchema({
48-
name: "region",
49-
default_source_value: "🏈 US Central",
50-
description: "Where would you like your workspace to live?",
51-
redisplay_value: false,
52-
validation_contains: [
53-
"🏈 US Central",
54-
"⚽ Brazil East",
55-
"💶 EU West",
56-
"🦘 Australia South",
57-
],
58-
}),
59-
mockParameterSchema({
60-
name: "instance_size",
61-
default_source_value: "Big",
62-
description: "How large should you instance be?",
63-
validation_contains: ["Small", "Medium", "Big"],
64-
redisplay_value: false,
65-
}),
66-
mockParameterSchema({
67-
name: "instance_size",
68-
default_source_value: "Big",
69-
description: "How large should your instance be?",
70-
validation_contains: ["Small", "Medium", "Big"],
71-
redisplay_value: true,
72-
}),
73-
mockParameterSchema({
74-
name: "disable_docker",
75-
description: "Disable Docker?",
76-
validation_value_type: "bool",
77-
default_source_value: "false",
78-
redisplay_value: true,
79-
}),
80-
],
8142
createWorkspaceErrors: {},
8243
}
8344

@@ -93,18 +54,6 @@ GetTemplatesError.args = {
9354
hasTemplateErrors: true,
9455
}
9556

96-
export const GetTemplateSchemaError = Template.bind({})
97-
GetTemplateSchemaError.args = {
98-
...Parameters.args,
99-
createWorkspaceErrors: {
100-
[CreateWorkspaceErrors.GET_TEMPLATE_SCHEMA_ERROR]: mockApiError({
101-
message: 'Failed to fetch template schema for "docker-amd64".',
102-
detail: "You do not have permission to access this resource.",
103-
}),
104-
},
105-
hasTemplateErrors: true,
106-
}
107-
10857
export const CreateWorkspaceError = Template.bind({})
10958
CreateWorkspaceError.args = {
11059
...Parameters.args,

site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx

Lines changed: 1 addition & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import TextField from "@mui/material/TextField"
22
import * as TypesGen from "api/typesGenerated"
3-
import { ParameterInput } from "components/ParameterInput/ParameterInput"
43
import { Stack } from "components/Stack/Stack"
54
import { UserAutocomplete } from "components/UserAutocomplete/UserAutocomplete"
65
import { FormikContextType, FormikTouched, useFormik } from "formik"
@@ -32,22 +31,19 @@ import { ErrorAlert } from "components/Alert/ErrorAlert"
3231

3332
export enum CreateWorkspaceErrors {
3433
GET_TEMPLATES_ERROR = "getTemplatesError",
35-
GET_TEMPLATE_SCHEMA_ERROR = "getTemplateSchemaError",
3634
GET_TEMPLATE_GITAUTH_ERROR = "getTemplateGitAuthError",
3735
CREATE_WORKSPACE_ERROR = "createWorkspaceError",
3836
}
3937

4038
export interface CreateWorkspacePageViewProps {
4139
name: string
4240
loadingTemplates: boolean
43-
loadingTemplateSchema: boolean
4441
creatingWorkspace: boolean
4542
hasTemplateErrors: boolean
4643
templateName: string
4744
templates?: TypesGen.Template[]
4845
selectedTemplate?: TypesGen.Template
4946
templateParameters?: TypesGen.TemplateVersionParameter[]
50-
templateSchema?: TypesGen.ParameterSchema[]
5147
templateGitAuth?: TypesGen.TemplateVersionGitAuth[]
5248
createWorkspaceErrors: Partial<Record<CreateWorkspaceErrors, Error | unknown>>
5349
canCreateForUser?: boolean
@@ -63,9 +59,6 @@ export interface CreateWorkspacePageViewProps {
6359
export const CreateWorkspacePageView: FC<
6460
React.PropsWithChildren<CreateWorkspacePageViewProps>
6561
> = (props) => {
66-
const [parameterValues, setParameterValues] = useState<
67-
Record<string, string>
68-
>(props.defaultParameterValues ?? {})
6962
const initialRichParameterValues = selectInitialRichParametersValues(
7063
props.templateParameters,
7164
props.defaultParameterValues,
@@ -123,37 +116,14 @@ export const CreateWorkspacePageView: FC<
123116
return
124117
}
125118
}
126-
127-
if (!props.templateSchema) {
128-
throw new Error("No template schema loaded")
129-
}
130-
131-
const createRequests: TypesGen.CreateParameterRequest[] = []
132-
props.templateSchema.forEach((schema) => {
133-
let value = schema.default_source_value
134-
if (schema.name in parameterValues) {
135-
value = parameterValues[schema.name]
136-
}
137-
createRequests.push({
138-
name: schema.name,
139-
destination_scheme: schema.default_destination_scheme,
140-
source_scheme: "data",
141-
source_value: value,
142-
})
143-
})
144119
props.onSubmit({
145120
...request,
146-
parameter_values: createRequests,
147121
})
148122
form.setSubmitting(false)
149123
},
150124
})
151125

152-
const isLoading = props.loadingTemplateSchema || props.loadingTemplates
153-
// We only want to show schema that have redisplay_value equals true
154-
const schemaToBeDisplayed = props.templateSchema?.filter(
155-
(schema) => schema.redisplay_value,
156-
)
126+
const isLoading = props.loadingTemplates
157127

158128
const getFieldHelpers = getFormHelpers<TypesGen.CreateWorkspaceRequest>(
159129
form,
@@ -182,19 +152,6 @@ export const CreateWorkspacePageView: FC<
182152
}
183153
/>
184154
)}
185-
{Boolean(
186-
props.createWorkspaceErrors[
187-
CreateWorkspaceErrors.GET_TEMPLATE_SCHEMA_ERROR
188-
],
189-
) && (
190-
<ErrorAlert
191-
error={
192-
props.createWorkspaceErrors[
193-
CreateWorkspaceErrors.GET_TEMPLATE_SCHEMA_ERROR
194-
]
195-
}
196-
/>
197-
)}
198155
{Boolean(
199156
props.createWorkspaceErrors[
200157
CreateWorkspaceErrors.GET_TEMPLATE_GITAUTH_ERROR
@@ -283,31 +240,6 @@ export const CreateWorkspacePageView: FC<
283240
</FormSection>
284241
)}
285242

286-
{/* Template params */}
287-
{schemaToBeDisplayed && schemaToBeDisplayed.length > 0 && (
288-
<FormSection
289-
title="Template params"
290-
description="These values are provided by your template's Terraform configuration."
291-
>
292-
<FormFields>
293-
{schemaToBeDisplayed.map((schema) => (
294-
<ParameterInput
295-
disabled={form.isSubmitting}
296-
key={schema.id}
297-
defaultValue={parameterValues[schema.name]}
298-
onChange={(value) => {
299-
setParameterValues({
300-
...parameterValues,
301-
[schema.name]: value,
302-
})
303-
}}
304-
schema={schema}
305-
/>
306-
))}
307-
</FormFields>
308-
</FormSection>
309-
)}
310-
311243
{props.templateParameters && (
312244
<>
313245
<MutableTemplateParametersSection

site/src/testHelpers/handlers.ts

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { WorkspaceBuildTransition } from "../api/types"
33
import { CreateWorkspaceBuildRequest } from "../api/typesGenerated"
44
import { permissionsToCheck } from "../xServices/auth/authXService"
55
import * as M from "./entities"
6-
import { MockGroup, mockParameterSchema, MockWorkspaceQuota } from "./entities"
6+
import { MockGroup, MockWorkspaceQuota } from "./entities"
77
import fs from "fs"
88
import path from "path"
99

@@ -84,28 +84,6 @@ export const handlers = [
8484
return res(ctx.status(200), ctx.json(M.MockTemplateVersion))
8585
},
8686
),
87-
rest.get(
88-
"/api/v2/templateversions/:templateVersionId/schema",
89-
async (req, res, ctx) => {
90-
return res(
91-
ctx.status(200),
92-
ctx.json([
93-
mockParameterSchema({
94-
id: "1",
95-
name: M.MockTemplateVersionParameter1.name,
96-
}),
97-
mockParameterSchema({
98-
id: "2",
99-
name: M.MockTemplateVersionParameter2.name,
100-
}),
101-
mockParameterSchema({
102-
id: "3",
103-
name: M.MockTemplateVersionParameter3.name,
104-
}),
105-
]),
106-
)
107-
},
108-
),
10987
rest.get(
11088
"/api/v2/templateversions/:templateVersionId/resources",
11189
async (req, res, ctx) => {

0 commit comments

Comments
 (0)