import Button from "@components/Button/Button"; import { Select } from "@components/Select/Select"; import { Close } from "@mui/icons-material"; import { Dialog, DialogActions, DialogContent, DialogTitle, TextField, } from "@mui/material"; import React from "react"; import { Option } from "../Filter"; import "./manage-filter-popup.scss"; export interface ManageFilterPopupProps { id: string; keepMounted: boolean; value: string; open: boolean; onClose: () => void; filter: Option[]; onChangeFilter: (index: number) => void; onClickOk: (filter: any) => void; } const ManageFilterPopup = (props: ManageFilterPopupProps) => { const { onClose, value: valueProp, open, filter, onChangeFilter, onClickOk, ...other } = props; const [value, setValue] = React.useState(valueProp); const radioGroupRef = React.useRef(null); const [filters, setFilters] = React.useState(filter); const handleCancel = () => { onClose(); }; const handleOk = () => { onClickOk(filters) onClose(); }; const handleChange = (event: React.ChangeEvent) => { setValue((event.target as HTMLInputElement).value); }; const handleTextChange = (index: number, newValue: string) => { setFilters((prevItems) => prevItems.map((item, i) => i === index ? { ...item, value: newValue } : item ) ); }; const handleRemoveFilter = (index: number) => { setFilters((prevItems) => prevItems.filter((_, i) => i !== index)); }; const handleScopeChange = (index: any, newValue: { value: any }) => { setFilters((prevItems: any[]) => prevItems.map((item: any, i: any) => i === index ? { ...item, selectValue: newValue.value } : item ) ); }; React.useEffect(() => { }, [filters, filter]); return (
Manage Filters
{`Filters (${filters.length})`}
{filters.map((option, index: number) => ( ))}
Name Scope
handleTextChange(index, e.target.value) } /> handleRemoveFilter(index)}>
); }; export default ManageFilterPopup;