feat(react/ribbon): improve editability select

This commit is contained in:
Elian Doran
2025-08-21 22:24:35 +03:00
parent f772f59d7c
commit da4810672d
5 changed files with 14 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
import Dropdown from "./Dropdown";
import Dropdown, { DropdownProps } from "./Dropdown";
import { FormListItem } from "./FormList";
interface FormDropdownList<T> {
interface FormDropdownList<T> extends Omit<DropdownProps, "children"> {
values: T[];
keyProperty: keyof T;
titleProperty: keyof T;
@@ -10,11 +10,11 @@ interface FormDropdownList<T> {
onChange(newValue: string): void;
}
export default function FormDropdownList<T>({ values, keyProperty, titleProperty, descriptionProperty, currentValue, onChange }: FormDropdownList<T>) {
export default function FormDropdownList<T>({ values, keyProperty, titleProperty, descriptionProperty, currentValue, onChange, ...restProps }: FormDropdownList<T>) {
const currentValueData = values.find(value => value[keyProperty] === currentValue);
return (
<Dropdown text={currentValueData?.[titleProperty] ?? ""}>
<Dropdown text={currentValueData?.[titleProperty] ?? ""} {...restProps}>
{values.map(item => (
<FormListItem
onClick={() => onChange(item[keyProperty] as string)}