"use client"; import SaveIcon from "@mui/icons-material/Save"; import { Box, Button, Typography } from "@mui/material"; import DownloadIcon from "@mui/icons-material/Download"; import { toast } from "react-toastify"; import useTableSetting from "@/lib/hooks/useTableSetting"; import { flattenObjectOfObjects } from "@/core/utils/flattenObjectOfObjects"; function filterFalseValues(obj) { const result = {}; for (const [key, value] of Object.entries(obj)) { if (value === false) { result[key] = false; } else if (typeof value === 'object' && value !== null && !Array.isArray(value)) { const nested = filterFalseValues(value); if (Object.keys(nested).length > 0) { result[key] = nested; } } } return result; } function AskForKeepData({ filterData, sortData, hideData, user_id, page_name, table_name, columns }) { const { filterAction, sortAction, hideAction } = useTableSetting(); const filteredHideData = filterFalseValues(hideData); const flattenHideData = flattenObjectOfObjects(filteredHideData); const onSaveFilter = () => { const filteredItems = Object.keys(filterData) .map((key) => { const value = filterData[key].value; if ( value !== "" && !( Array.isArray(value) && (value.length === 0 || (value.length === 2 && value[0] === "" && value[1] === "")) ) ) { return filterData[key]; } }) .filter(Boolean); filterAction(user_id, page_name, table_name, filteredItems, columns); sortAction(user_id, page_name, table_name, sortData, columns); hideAction(user_id, page_name, table_name, flattenHideData, columns); toast.dismiss({ containerId: "datatable" }); }; const handleDismiss = () => { toast.dismiss({ containerId: "datatable" }); }; return ( ذخیره سازی تغییرات آیا مایل به ذخیره تغییر های اعمال شده برای دفعات بعد هستید؟ ); } export default AskForKeepData;