UNPKG

@maherunlocker/custom-react-table

Version:
48 lines 2.41 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SelectComponent = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = __importDefault(require("react")); // import { useTranslation } from 'react-i18next'; const react_select_1 = __importDefault(require("react-select")); const NoOptionsMessage_1 = __importDefault(require("./NoOptionsMessage")); function SelectComponent({ options, setDesignationFilter, handleSavedFiltersSelect, designationFilter, setAllFilters, }) { // const { t } = useTranslation(); const [selectInputRef, setSelectInputRef] = react_1.default.useState(null); const onInputChange = (inputValue, { action, prevInputValue }) => { switch (action) { case 'input-change': setDesignationFilter(inputValue); return inputValue; case 'menu-close': return !designationFilter ? designationFilter : inputValue; case 'set-value': return inputValue; case 'input-blur': return !designationFilter ? designationFilter : inputValue; default: return prevInputValue; } }; const onChange = (option, { action }) => { setDesignationFilter(option ? option.label : ''); handleSavedFiltersSelect(option); if (action === 'clear') { setAllFilters([]); setDesignationFilter(''); } }; react_1.default.useEffect(() => { if (designationFilter === '') { selectInputRef === null || selectInputRef === void 0 ? void 0 : selectInputRef.clearValue(); } }, [designationFilter, selectInputRef]); return ((0, jsx_runtime_1.jsx)(react_select_1.default, { ref: (ref) => { setSelectInputRef(ref); }, menuPlacement: "auto", menuPosition: "fixed", isClearable: true, isSearchable: true, onInputChange: onInputChange, name: "savefilterinput", options: options, placeholder: 'Sélectionner / Ajouter', onChange: onChange, components: { NoOptionsMessage: NoOptionsMessage_1.default } })); } exports.SelectComponent = SelectComponent; //# sourceMappingURL=SelectComponent.js.map