Content-Length: 3600 | pFad | http://github.com/coder/coder/pull/18980.diff

thub.com diff --git a/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx b/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx index 5d92fb6d6ae6d..fa8eab193b53a 100644 --- a/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx +++ b/site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx @@ -77,14 +77,14 @@ export const DynamicParameter: FC = ({ />
{parameter.form_type === "input" || - parameter.form_type === "textarea" ? ( + parameter.form_type === "textarea" || + parameter.form_type === "slider" ? ( ) : ( void; disabled?: boolean; id: string; - isPreset?: boolean; } const DebouncedParameterField: FC = ({ @@ -259,7 +258,6 @@ const DebouncedParameterField: FC = ({ onChange, disabled, id, - isPreset, }) => { const [localValue, setLocalValue] = useState( value !== undefined ? value : validValue(parameter.value), @@ -271,13 +269,13 @@ const DebouncedParameterField: FC = ({ const prevDebouncedValueRef = useRef(); const prevValueRef = useRef(value); - // This is necessary in the case of fields being set by preset parameters + // Necessary for dynamic defaults or fields being set by preset parameters useEffect(() => { - if (isPreset && value !== undefined && value !== prevValueRef.current) { + if (value !== undefined && value !== prevValueRef.current) { setLocalValue(value); prevValueRef.current = value; } - }, [value, isPreset]); + }, [value]); useEffect(() => { // Only call onChangeEvent if debouncedLocalValue is different from the previously committed value @@ -408,6 +406,31 @@ const DebouncedParameterField: FC = ({ ); } + + case "slider": { + const numericValue = Number.isFinite(Number(localValue)) + ? Number(localValue) + : 0; + const { validation_min: min = 0, validation_max: max = 100 } = + parameter.validations[0] ?? {}; + + return ( +
+ { + setLocalValue(value.toString()); + }} + min={min ?? undefined} + max={max ?? undefined} + disabled={disabled} + /> + {numericValue} +
+ ); + } } }; @@ -564,25 +587,6 @@ 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} - /> - - {Number.isFinite(Number(value)) ? value : "0"} - -
- ); case "error": return ; }








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/coder/coder/pull/18980.diff

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy