From 8723fe99f5b9512f1931db7731ac40721ca9d159 Mon Sep 17 00:00:00 2001 From: Jaayden Halko Date: Thu, 17 Apr 2025 17:40:37 +0100 Subject: [PATCH] feat: add slider to dynamic parameters (#17453) This adds the slider to the dynamic parameters component and does some additional styling cleanup for the dynamic parameters form Screenshot 2025-04-17 at 16 54 05 --- site/src/components/Checkbox/Checkbox.tsx | 6 ++--- .../DynamicParameter/DynamicParameter.tsx | 25 ++++++++++++++++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/site/src/components/Checkbox/Checkbox.tsx b/site/src/components/Checkbox/Checkbox.tsx index 6bc1338955..1278fb12ea 100644 --- a/site/src/components/Checkbox/Checkbox.tsx +++ b/site/src/components/Checkbox/Checkbox.tsx @@ -18,7 +18,7 @@ export const Checkbox = React.forwardRef<
{(props.checked === true || props.defaultChecked === true) && ( - + )} {props.checked === "indeterminate" && ( - + )}
diff --git a/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx b/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx index e1e79bdcd7..223c541bcf 100644 --- a/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx +++ b/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx @@ -22,6 +22,7 @@ import { SelectTrigger, SelectValue, } from "components/Select/Select"; +import { Slider } from "components/Slider/Slider"; import { Switch } from "components/Switch/Switch"; import { Tooltip, @@ -91,7 +92,7 @@ const ParameterLabel: FC = ({ parameter, isPreset }) => { )} -
+
{hasDescription && ( @@ -278,6 +284,23 @@ const ParameterField: FC = ({
); + + case "slider": + return ( + onChange(value.toString())} + min={parameter.validations[0]?.validation_min ?? 0} + max={parameter.validations[0]?.validation_max ?? 100} + disabled={disabled} + /> + ); + case "input": { const inputType = parameter.type === "number" ? "number" : "text"; const inputProps: Record = {};