feat: Group immutable and mutable rich parameters (#5975)

This commit is contained in:
Marcin Tojek
2023-02-02 18:01:18 +01:00
committed by GitHub
parent ab1f6ce090
commit e27f7accd7
4 changed files with 198 additions and 67 deletions

View File

@ -1,4 +1,5 @@
import { useMachine } from "@xstate/react"
import { TemplateVersionParameter } from "api/typesGenerated"
import { useMe } from "hooks/useMe"
import { useOrganizationId } from "hooks/useOrganizationId"
import { FC } from "react"
@ -58,7 +59,7 @@ const CreateWorkspacePage: FC = () => {
templateName={templateName}
templates={templates}
selectedTemplate={selectedTemplate}
templateParameters={templateParameters}
templateParameters={orderedTemplateParameters(templateParameters)}
templateSchema={templateSchema}
createWorkspaceErrors={{
[CreateWorkspaceErrors.GET_TEMPLATES_ERROR]: getTemplatesError,
@ -104,4 +105,18 @@ const getDefaultParameterValues = (
return paramValues
}
export const orderedTemplateParameters = (
templateParameters?: TemplateVersionParameter[],
): TemplateVersionParameter[] => {
if (!templateParameters) {
return []
}
const immutables = templateParameters.filter(
(parameter) => !parameter.mutable,
)
const mutables = templateParameters.filter((parameter) => parameter.mutable)
return [...immutables, ...mutables]
}
export default CreateWorkspacePage