import ArrowDownChevron from "@components/aisera-icons/custom/ArrowDownChevron"; import CreateFilterIcon from "@components/aisera-icons/custom/CreateFilterIcon"; import FilterIcon from "@components/aisera-icons/custom/FilterIcon"; import SettingsIcon from "@components/aisera-icons/custom/SettingsIcon"; import Button from "@components/Button/Button"; import { Divider } from "@components/Divider/Divider"; import { ListSubheader, Menu, MenuItem } from "@mui/material"; import React from "react"; import ManageFilterPopup from "../ManageFilter/ManageFilterPopup"; import SaveFilterPopup from "../SaveFilter/SaveFilterPopup"; import "./filter-menu.scss"; export interface Option { label: string; value: string; } export interface FilterProps { options: Option[]; onSaveClick: (filter: any) => void; } const optionsData = [ { label: "filter 1", value: "filter1" }, { label: "filter 2", value: "filter2" }, { label: "filter 3", value: "filter3" }, ]; const FilterMenu = ({ options, onSaveClick }: FilterProps) => { const [openManageFilter, setOpenManageFilter] = React.useState(false); const [openSaveFilter, setOpenSaveFilter] = React.useState(false); const [anchorEl, setAnchorEl] = React.useState(null); const open = Boolean(anchorEl); const [filter, setFilter] = React.useState(optionsData); const handleClick = (event: React.MouseEvent) => { setAnchorEl(event.currentTarget); }; const handleClose = () => { setAnchorEl(null); }; const handleManageFilterClose = (newValue?: string) => { setOpenManageFilter(false); // if (newValue) { // setValue(newValue); // } }; const handelSaveFilterClose = (newValue?: string) => { setOpenSaveFilter(false); }; const handleMangeFilterOpen = () => { setOpenManageFilter(true); handleClose(); }; const handleSaveFilterOpen = () => { setOpenSaveFilter(true); handleClose(); }; const handleOnChangeFilter = (index: number) => { const prevFilter = [...filter]; prevFilter.splice(index, 1); setFilter(prevFilter); }; const handleSaveFilter = (newFilter: any) => { setFilter([...filter, newFilter]); onSaveClick(filter); }; const handleOnClickOk = (newFilter: any) => { console.log('new filter in clickok :::: ', newFilter); setFilter(newFilter); } React.useEffect(() => { }, [filter]); return (
Filters CUSTOM FILTERS {filter?.map((option) => ( {option.label} ))} MANAGE Save as New Filter Manage Filter
{openManageFilter && ( )}
{openSaveFilter && ( )}
); }; export default FilterMenu;