Skip to content

Commit 0fca373

Browse files
committed
chore: add interface for parameter styling
1 parent 88d3216 commit 0fca373

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, useId } 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;
@@ -165,6 +171,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
165171
}) => {
166172
const value = validValue(parameter.value);
167173
const defaultValue = validValue(parameter.default_value);
174+
const styling = parameter.styling as ParameterStyling;
168175

169176
switch (parameter.form_type) {
170177
case "dropdown":
@@ -177,10 +184,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
177184
>
178185
<SelectTrigger>
179186
<SelectValue
180-
placeholder={
181-
(parameter.styling as { placeholder?: string })?.placeholder ||
182-
"Select option"
183-
}
187+
placeholder={styling?.placeholder || "Select option"}
184188
/>
185189
</SelectTrigger>
186190
<SelectContent>
@@ -224,10 +228,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
224228
onChange(JSON.stringify(values));
225229
}}
226230
hidePlaceholderWhenSelected
227-
placeholder={
228-
(parameter.styling as { placeholder?: string })?.placeholder ||
229-
"Select option"
230-
}
231+
placeholder={styling?.placeholder || "Select option"}
231232
emptyIndicator={
232233
<p className="text-center text-md text-content-primary">
233234
No results found
@@ -288,9 +289,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
288289
}}
289290
disabled={disabled}
290291
/>
291-
<Label htmlFor={parameter.name}>
292-
{(parameter.styling as { label?: string })?.label}
293-
</Label>
292+
<Label htmlFor={parameter.name}>{styling?.label}</Label>
294293
</div>
295294
);
296295

@@ -327,9 +326,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
327326
target.style.height = `${target.scrollHeight}px`;
328327
}}
329328
disabled={disabled}
330-
placeholder={
331-
(parameter.styling as { placeholder?: string })?.placeholder
332-
}
329+
placeholder={styling?.placeholder}
333330
required={parameter.required}
334331
/>
335332
);
@@ -358,9 +355,7 @@ const ParameterField: FC<ParameterFieldProps> = ({
358355
onChange={(e) => onChange(e.target.value)}
359356
disabled={disabled}
360357
required={parameter.required}
361-
placeholder={
362-
(parameter.styling as { placeholder?: string })?.placeholder
363-
}
358+
placeholder={styling?.placeholder}
364359
{...inputProps}
365360
/>
366361
);

site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { useDebouncedFunction } from "hooks/debounce";
1818
import { ArrowLeft, CircleAlert, TriangleAlert } from "lucide-react";
1919
import {
2020
DynamicParameter,
21+
type ParameterStyling,
2122
getInitialParameterValues,
2223
useValidationSchemaForDynamicParameters,
2324
} from "modules/workspaces/DynamicParameter/DynamicParameter";
@@ -470,6 +471,7 @@ export const CreateWorkspacePageViewExperimental: FC<
470471

471472
<div className="flex flex-col gap-9">
472473
{parameters.map((parameter, index) => {
474+
const styling = parameter.styling as ParameterStyling;
473475
const parameterField = `rich_parameter_values.${index}`;
474476
const parameterInputName = `${parameterField}.value`;
475477
const isPresetParameter = presetParameterNames.includes(
@@ -479,7 +481,7 @@ export const CreateWorkspacePageViewExperimental: FC<
479481
disabledParams?.includes(
480482
parameter.name.toLowerCase().replace(/ /g, "_"),
481483
) ||
482-
(parameter.styling as { disabled?: boolean })?.disabled ||
484+
styling?.disabled ||
483485
creatingWorkspace ||
484486
isPresetParameter;
485487

0 commit comments

Comments
 (0)