Skip to content

Commit 22a6629

Browse files
committed
chore: add interface for parameter styling
1 parent 170a559 commit 22a6629

File tree

2 files changed

+15
-18
lines changed

2 files changed

+15
-18
lines changed

site/src/modules/workspaces/DynamicParameter/DynamicParameter.tsx

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ import { type FC, useEffect, useId, useState } from "react";
3636
import type { AutofillBuildParameter } from "utils/richParameters";
3737
import * as Yup from "yup";
3838

39+
export interface ParameterStyling {
40+
placeholder?: string;
41+
label?: string;
42+
disabled?: boolean;
43+
}
44+
3945
export interface DynamicParameterProps {
4046
parameter: PreviewParameter;
4147
onChange: (value: string) => void;
@@ -164,6 +170,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
164170
id,
165171
}) => {
166172
const value = validValue(parameter.value);
173+
const styling = parameter.styling as ParameterStyling;
167174
const [localValue, setLocalValue] = useState(value);
168175

169176
useEffect(() => {
@@ -181,10 +188,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
181188
>
182189
<SelectTrigger>
183190
<SelectValue
184-
placeholder={
185-
(parameter.styling as { placeholder?: string })?.placeholder ||
186-
"Select option"
187-
}
191+
placeholder={styling?.placeholder || "Select option"}
188192
/>
189193
</SelectTrigger>
190194
<SelectContent>
@@ -245,10 +249,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
245249
onChange(JSON.stringify(values));
246250
}}
247251
hidePlaceholderWhenSelected
248-
placeholder={
249-
(parameter.styling as { placeholder?: string })?.placeholder ||
250-
"Select option"
251-
}
252+
placeholder={styling?.placeholder || "Select option"}
252253
emptyIndicator={
253254
<p className="text-center text-md text-content-primary">
254255
No results found
@@ -304,9 +305,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
304305
}}
305306
disabled={disabled}
306307
/>
307-
<Label htmlFor={parameter.name}>
308-
{(parameter.styling as { label?: string })?.label}
309-
</Label>
308+
<Label htmlFor={parameter.name}>{styling?.label}</Label>
310309
</div>
311310
);
312311

@@ -343,9 +342,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
343342
target.style.height = `${target.scrollHeight}px`;
344343
}}
345344
disabled={disabled}
346-
placeholder={
347-
(parameter.styling as { placeholder?: string })?.placeholder
348-
}
345+
placeholder={styling?.placeholder}
349346
required={parameter.required}
350347
/>
351348
);
@@ -377,9 +374,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
377374
}}
378375
disabled={disabled}
379376
required={parameter.required}
380-
placeholder={
381-
(parameter.styling as { placeholder?: string })?.placeholder
382-
}
377+
placeholder={styling?.placeholder}
383378
{...inputProps}
384379
/>
385380
);

site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { useDebouncedFunction } from "hooks/debounce";
2323
import { ArrowLeft, CircleAlert, TriangleAlert } from "lucide-react";
2424
import {
2525
DynamicParameter,
26+
type ParameterStyling,
2627
getInitialParameterValues,
2728
useValidationSchemaForDynamicParameters,
2829
} from "modules/workspaces/DynamicParameter/DynamicParameter";
@@ -492,6 +493,7 @@ export const CreateWorkspacePageViewExperimental: FC<
492493

493494
<div className="flex flex-col gap-9">
494495
{parameters.map((parameter, index) => {
496+
const styling = parameter.styling as ParameterStyling;
495497
const parameterField = `rich_parameter_values.${index}`;
496498
const parameterInputName = `${parameterField}.value`;
497499
const isPresetParameter = presetParameterNames.includes(
@@ -501,7 +503,7 @@ export const CreateWorkspacePageViewExperimental: FC<
501503
disabledParams?.includes(
502504
parameter.name.toLowerCase().replace(/ /g, "_"),
503505
) ||
504-
(parameter.styling as { disabled?: boolean })?.disabled ||
506+
styling?.disabled ||
505507
creatingWorkspace ||
506508
isPresetParameter;
507509

0 commit comments

Comments
 (0)