diff --git a/src/pages/Expense/ExpensePage.jsx b/src/pages/Expense/ExpensePage.jsx index f65e21ad..fadfdf79 100644 --- a/src/pages/Expense/ExpensePage.jsx +++ b/src/pages/Expense/ExpensePage.jsx @@ -41,64 +41,6 @@ import { import { useFab } from "../../Context/FabContext"; import ExpenseFilterPanel from "../../components/Expenses/ExpenseFilterPanel"; -const SelectDropdown = ({ - label, - options = [], - loading = false, - placeholder = "Select...", - valueKey = "id", - labelKey = "name", - selectedValues = [], - onChange, - isMulti = false, -}) => { - const handleChange = (e) => { - const selected = Array.from( - e.target.selectedOptions, - (option) => option.value - ); - onChange && onChange(selected); - }; - - return ( -
- -
- {options.map((option) => { - const checked = selectedValues.includes(option[valueKey]); - return ( -
- { - let newSelected; - if (checked) { - newSelected = selectedValues.filter( - (val) => val !== option[valueKey] - ); - } else { - newSelected = [...selectedValues, option[valueKey]]; - } - onChange(newSelected); - }} - /> - -
- ); - })} -
-
- ); -}; - export const ExpenseContext = createContext(); export const useExpenseContext = () => { const context = useContext(ExpenseContext); @@ -112,8 +54,6 @@ const ExpensePage = () => { const [isOpen, setIsOpen] = useState(false); const [filters, setFilter] = useState(); const IsCreatedAble = useHasUserPermission(CREATE_EXEPENSE); - const dropdownRef = useRef(null); - const shouldCloseOnOutsideClick = useRef(false); const selectedProjectId = useSelector( (store) => store.localVariables.projectId ); @@ -160,6 +100,7 @@ const ExpensePage = () => { selectedProjectId, true ); + const { setOffcanvasContent, setShowTrigger } = useFab(); const onSubmit = (data) => { setFilter(data); @@ -182,29 +123,6 @@ const ExpensePage = () => { ); }; - const toggleDropdown = () => { - setIsOpen((prev) => { - shouldCloseOnOutsideClick.current = !prev; - return !prev; - }); - }; - - useEffect(() => { - function handleClickOutside(event) { - if ( - shouldCloseOnOutsideClick.current && - dropdownRef.current && - dropdownRef.current.contains(event.target) - ) { - setIsOpen(false); - } - } - - document.addEventListener("mousedown", handleClickOutside); - return () => { - document.removeEventListener("mousedown", handleClickOutside); - }; - }, []); const clearFilter = () => { setFilter({ projectIds: [], @@ -217,22 +135,19 @@ const ExpensePage = () => { reset(); }; - const { setOffcanvasContent, setShowTrigger } = useFab(); - useEffect(() => { - setShowTrigger(true); + useEffect(() => { + setShowTrigger(true); setOffcanvasContent( "Expense Filters", - setFilter(data)} - /> + setFilter(data)} /> ); - return () => { - setOffcanvasContent("", null); - setShowTrigger(false); - }; + return () => { + setOffcanvasContent("", null); + setShowTrigger(false); + }; }, []); - + return (
@@ -247,142 +162,7 @@ const ExpensePage = () => {
-
-
- setIsOpen((v) => !v)} - > - {isOpen && ( -
- -
{ - onSubmit(data); - setIsOpen(false); - })} - > -
- -
- -
-
- -
- {ExpenseStatus.map((status) => ( - ( -
- { - if (e.target.checked) { - onChange([ - ...value, - status.id, - ]); - } else { - onChange( - value.filter( - (v) => v !== status.id - ) - ); - } - }} - /> - -
- )} - /> - ))} -
-
-
- -
- - - `${item.firstName} ${item.lastName}` - } - valueKey="id" - IsLoading={empLoading} - /> - - `${item.firstName} ${item.lastName}` - } - valueKey="id" - IsLoading={empLoading} - /> -
-
- - -
-
-
-
- )} -
-
+
{IsCreatedAble && (