saleor-dashboard/src/hooks/useMultiAutocomplete.ts
Krzysztof Wolski a82de30309
Add circleci config and enhance our linters (#519)
* Add circleci config

* Season linting config

* Apply code style
2020-05-14 11:30:32 +02:00

29 lines
805 B
TypeScript

import { MultiAutocompleteChoiceType } from "@saleor/components/MultiAutocompleteSelectField";
import { maybe } from "@saleor/misc";
import useListActions from "./useListActions";
function useMultiAutocomplete(initial: MultiAutocompleteChoiceType[] = []) {
const { listElements, toggle } = useListActions<MultiAutocompleteChoiceType>(
initial,
(a, b) => a.value === b.value
);
const handleSelect = (
event: React.ChangeEvent<any>,
choices: MultiAutocompleteChoiceType[]
) => {
const value: string = event.target.value;
const match = choices.find(choice => choice.value === value);
toggle({
label: maybe(() => match.label, value),
value
});
};
return {
change: handleSelect,
data: listElements
};
}
export default useMultiAutocomplete;