Skip to content

Commit 23d1423

Browse files
authored
chore: hide classic workspace checkbox when experiment is not enabled (coder#18061)
resolves coder/preview#137 This hides the `Use classic workspace creation form` checkbox on the template settings page if the dynamic-parameters experiment is not enabled Add mention of "workspace parameters settings form" in the checkbox description as this is also affected.
1 parent 71a647b commit 23d1423

File tree

3 files changed

+39
-28
lines changed

3 files changed

+39
-28
lines changed

site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export interface TemplateSettingsForm {
6363
accessControlEnabled: boolean;
6464
advancedSchedulingEnabled: boolean;
6565
portSharingControlsEnabled: boolean;
66+
isDynamicParametersEnabled: boolean;
6667
}
6768

6869
export const TemplateSettingsForm: FC<TemplateSettingsForm> = ({
@@ -75,6 +76,7 @@ export const TemplateSettingsForm: FC<TemplateSettingsForm> = ({
7576
accessControlEnabled,
7677
advancedSchedulingEnabled,
7778
portSharingControlsEnabled,
79+
isDynamicParametersEnabled,
7880
}) => {
7981
const form = useFormik<UpdateTemplateMeta>({
8082
initialValues: {
@@ -224,34 +226,37 @@ export const TemplateSettingsForm: FC<TemplateSettingsForm> = ({
224226
</StackLabel>
225227
}
226228
/>
227-
<FormControlLabel
228-
control={
229-
<Checkbox
230-
size="small"
231-
id="use_classic_parameter_flow"
232-
name="use_classic_parameter_flow"
233-
checked={form.values.use_classic_parameter_flow}
234-
onChange={form.handleChange}
235-
disabled={false}
236-
/>
237-
}
238-
label={
239-
<StackLabel>
240-
Use classic workspace creation form
241-
<StackLabelHelperText>
242-
<span>
243-
Show the original workspace creation form without dynamic
244-
parameters or live updates. Recommended if your provisioners
245-
aren't updated or the new form causes issues.{" "}
246-
<strong>
247-
Users can always manually switch experiences in the
248-
workspace creation form.
249-
</strong>
250-
</span>
251-
</StackLabelHelperText>
252-
</StackLabel>
253-
}
254-
/>
229+
{isDynamicParametersEnabled && (
230+
<FormControlLabel
231+
control={
232+
<Checkbox
233+
size="small"
234+
id="use_classic_parameter_flow"
235+
name="use_classic_parameter_flow"
236+
checked={form.values.use_classic_parameter_flow}
237+
onChange={form.handleChange}
238+
disabled={false}
239+
/>
240+
}
241+
label={
242+
<StackLabel>
243+
Use classic workspace creation form
244+
<StackLabelHelperText>
245+
<span>
246+
Show the original workspace creation form and workspace
247+
parameters settings form without dynamic parameters or
248+
live updates. Recommended if your provisioners aren't
249+
updated or the new form causes issues.{" "}
250+
<strong>
251+
Users can always manually switch experiences in the
252+
workspace creation form.
253+
</strong>
254+
</span>
255+
</StackLabelHelperText>
256+
</StackLabel>
257+
}
258+
/>
259+
)}
255260
</FormFields>
256261
</FormSection>
257262

site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import { useTemplateSettings } from "../TemplateSettingsLayout";
1414
import { TemplateSettingsPageView } from "./TemplateSettingsPageView";
1515

1616
const TemplateSettingsPage: FC = () => {
17+
const { experiments } = useDashboard();
18+
const isDynamicParametersEnabled = experiments.includes("dynamic-parameters");
1719
const { template: templateName } = useParams() as { template: string };
1820
const navigate = useNavigate();
1921
const getLink = useLinks();
@@ -79,6 +81,7 @@ const TemplateSettingsPage: FC = () => {
7981
accessControlEnabled={accessControlEnabled}
8082
advancedSchedulingEnabled={advancedSchedulingEnabled}
8183
sharedPortControlsEnabled={sharedPortControlsEnabled}
84+
isDynamicParametersEnabled={isDynamicParametersEnabled}
8285
/>
8386
</>
8487
);

site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPageView.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ interface TemplateSettingsPageViewProps {
1515
accessControlEnabled: boolean;
1616
advancedSchedulingEnabled: boolean;
1717
sharedPortControlsEnabled: boolean;
18+
isDynamicParametersEnabled: boolean;
1819
}
1920

2021
export const TemplateSettingsPageView: FC<TemplateSettingsPageViewProps> = ({
@@ -27,6 +28,7 @@ export const TemplateSettingsPageView: FC<TemplateSettingsPageViewProps> = ({
2728
accessControlEnabled,
2829
advancedSchedulingEnabled,
2930
sharedPortControlsEnabled,
31+
isDynamicParametersEnabled,
3032
}) => {
3133
return (
3234
<>
@@ -44,6 +46,7 @@ export const TemplateSettingsPageView: FC<TemplateSettingsPageViewProps> = ({
4446
accessControlEnabled={accessControlEnabled}
4547
advancedSchedulingEnabled={advancedSchedulingEnabled}
4648
portSharingControlsEnabled={sharedPortControlsEnabled}
49+
isDynamicParametersEnabled={isDynamicParametersEnabled}
4750
/>
4851
</>
4952
);

0 commit comments

Comments
 (0)