This commit is contained in:
Bernt Christian Egeland 2021-12-09 15:23:40 +01:00
parent 256c457447
commit c5167fc448
5 changed files with 17 additions and 18 deletions

View File

@ -189,7 +189,7 @@ const Calender = ({ onChange, calenderRef }) => {
${isFirstDayInRange(day) ? ' rounded-l-xl ' : ''} ${isFirstDayInRange(day) ? ' rounded-l-xl ' : ''}
${isSelectedRange(day) ? ' bg-blue-500 dark:hover:bg-blue-600' : ''} ${isSelectedRange(day) ? ' bg-blue-500 dark:hover:bg-blue-600' : ''}
${isLastDayInRange(day) ? ' rounded-r-xl ' : ''} ${isLastDayInRange(day) ? ' rounded-r-xl ' : ''}
${isCurrentDay(day) ? 'rounded-full bg-gray-100 dark:hover:bg-gray-100 ' : ''}`} ${isCurrentDay(day) && !isLastDayInRange(day) ? 'rounded-full bg-gray-100 dark:hover:bg-gray-100 ' : ''}`}
key={index} key={index}
> >
<div className="font-light"> <div className="font-light">

View File

@ -68,7 +68,7 @@ export default function Select({
) )
); );
} }
}, [inputOptions, propSelected, setSelected]); }, [type, options, inputOptions, propSelected, setSelected]);
const [focused, setFocused] = useState(null); const [focused, setFocused] = useState(null);
const [showDatePicker, setShowDatePicker] = useState(false); const [showDatePicker, setShowDatePicker] = useState(false);
@ -91,7 +91,7 @@ export default function Select({
onChange && onChange(range, 'range'); onChange && onChange(range, 'range');
setShowMenu(false); setShowMenu(false);
}, },
[onChange, options] [onChange]
); );
const handleClick = useCallback(() => { const handleClick = useCallback(() => {
@ -135,7 +135,16 @@ export default function Select({
setShowMenu(false); setShowMenu(false);
}, [setShowMenu]); }, [setShowMenu]);
const findDOMNodes = (component) => {
return (component && (component.base || (component.nodeType === 1 && component))) || null;
};
useEffect(() => { useEffect(() => {
const addBackDrop = (e) => {
if (showDatePicker && !findDOMNodes(calenderRef.current).contains(e.target)) {
setShowDatePicker(false);
}
};
window.addEventListener('click', addBackDrop); window.addEventListener('click', addBackDrop);
// setDateToInput(state.selectedDay); // setDateToInput(state.selectedDay);
return function cleanup() { return function cleanup() {
@ -143,16 +152,6 @@ export default function Select({
}; };
}, [showDatePicker]); }, [showDatePicker]);
const findDOMNode = (component) => {
return (component && (component.base || (component.nodeType === 1 && component))) || null;
};
const addBackDrop = (e) => {
if (showDatePicker && !findDOMNode(calenderRef.current).contains(e.target)) {
setShowDatePicker(false);
}
};
switch (type) { switch (type) {
case 'datepicker': case 'datepicker':
return ( return (

View File

@ -307,7 +307,7 @@ function Filter({ onChange, searchParams, paramName, options, type, ...rest }) {
[searchParams, paramName, onChange] [searchParams, paramName, onChange]
); );
let obj = {}; const obj = {};
paramName.map((p) => Object.assign(obj, { [p]: searchParams.get(p) }), [searchParams]); paramName.map((p) => Object.assign(obj, { [p]: searchParams.get(p) }), [searchParams]);
return ( return (

View File

@ -19,7 +19,7 @@ function Filter({ onChange, searchParams, paramName, options, type, ...rest }) {
[searchParams, paramName, onChange] [searchParams, paramName, onChange]
); );
let obj = {}; const obj = {};
paramName.map((p) => Object.assign(obj, { [p]: searchParams.get(p) }), [searchParams]); paramName.map((p) => Object.assign(obj, { [p]: searchParams.get(p) }), [searchParams]);
return ( return (

View File

@ -15,7 +15,7 @@ function Filterable({ onFilter, pathname, searchParams, paramName, name }) {
params.set(paramName, name); params.set(paramName, name);
removeDefaultSearchKeys(params); removeDefaultSearchKeys(params);
return `${pathname}?${params.toString()}`; return `${pathname}?${params.toString()}`;
}, [searchParams, paramName, pathname, name]); }, [searchParams, paramName, pathname, name, removeDefaultSearchKeys]);
const handleClick = useCallback( const handleClick = useCallback(
(event) => { (event) => {