From 71b30b928d69088b09c46b5454ca93f3c448576d Mon Sep 17 00:00:00 2001 From: Lily <47226602+Artichy@users.noreply.github.com> Date: Sun, 10 Mar 2024 06:06:11 -0700 Subject: [PATCH] feat(web/select): searchable option (#513) --- package/client/resource/interface/input.ts | 1 + resource/interface/client/input.lua | 1 + web/src/features/dialog/components/fields/select.tsx | 2 ++ web/src/typings/dialog.ts | 1 + 4 files changed, 5 insertions(+) diff --git a/package/client/resource/interface/input.ts b/package/client/resource/interface/input.ts index f5868c4..22d921e 100644 --- a/package/client/resource/interface/input.ts +++ b/package/client/resource/interface/input.ts @@ -63,6 +63,7 @@ interface SelectProps extends BaseInput { disabled?: boolean; default?: string | string[]; clearable?: boolean; + searchable?: boolean; } interface SliderProps extends BaseInput { diff --git a/resource/interface/client/input.lua b/resource/interface/client/input.lua index 43134d3..d011761 100644 --- a/resource/interface/client/input.lua +++ b/resource/interface/client/input.lua @@ -19,6 +19,7 @@ local input ---@field format? string ---@field returnString? boolean ---@field clearable? boolean +---@field searchable? boolean ---@field description? string ---@class InputDialogOptionsProps diff --git a/web/src/features/dialog/components/fields/select.tsx b/web/src/features/dialog/components/fields/select.tsx index 0b2db2a..393a6bd 100644 --- a/web/src/features/dialog/components/fields/select.tsx +++ b/web/src/features/dialog/components/fields/select.tsx @@ -32,6 +32,7 @@ const SelectField: React.FC = (props) => { description={props.row.description} withAsterisk={props.row.required} clearable={props.row.clearable} + searchable={props.row.searchable} icon={props.row.icon && } /> ) : ( @@ -49,6 +50,7 @@ const SelectField: React.FC = (props) => { description={props.row.description} withAsterisk={props.row.required} clearable={props.row.clearable} + searchable={props.row.searchable} icon={props.row.icon && } /> )} diff --git a/web/src/typings/dialog.ts b/web/src/typings/dialog.ts index c535449..54f56fa 100644 --- a/web/src/typings/dialog.ts +++ b/web/src/typings/dialog.ts @@ -37,6 +37,7 @@ export type OptionValue = { value: string; label?: string }; export interface ISelect extends BaseField<'select' | 'multi-select', string | string[]> { options: Array; clearable?: boolean; + searchable?: boolean; } export interface INumber extends BaseField<'number', number> {