saleor-dashboard/src/utils/handlers/singleAutocompleteSelectChangeHandler.ts
2023-01-16 10:45:12 +01:00

24 lines
782 B
TypeScript

import { SingleAutocompleteChoiceType } from "@dashboard/components/SingleAutocompleteSelectField";
import { FormChange } from "@dashboard/hooks/useForm";
export interface SingleAutocompleteSelectedChangeHandlerProps {
change: FormChange;
setSelected: (value: string) => void;
choices: SingleAutocompleteChoiceType[];
}
function createSingleAutocompleteSelectHandler(
change: FormChange,
setSelected: (value: string) => void,
choices: SingleAutocompleteChoiceType[],
): FormChange {
return (event: React.ChangeEvent<any>) => {
change(event);
const value = event.target.value;
const choice = choices.find(category => category.value === value);
setSelected(choice ? choice.label : value);
};
}
export default createSingleAutocompleteSelectHandler;