Feature/gasht rahdari cartable

This commit is contained in:
2024-12-28 13:54:05 +00:00
committed by AmirHossein Mahmoodi
parent 7b09b61151
commit e2d092346e
49 changed files with 1202 additions and 301 deletions

View File

@@ -18,14 +18,23 @@ const DataTableProvider = ({ children, user_id, page_name, table_name, columns,
const [initHide, setInitHide] = useState({});
const [hideData, setHideData] = useState({});
const [isDirty, setIsDirty] = useState(false);
const [isAnyDirty, setIsAnyDirty] = useState(false);
useEffect(() => {
let hasAnyConflict = false;
const hasConflict =
JSON.stringify(hideData) !== JSON.stringify(initHide) ||
JSON.stringify(sortData) !== JSON.stringify(initSort) ||
JSON.stringify(filterData) !== JSON.stringify(initFilter);
const CheckFilterValues = Object.values(filterData).every((innerObject) => innerObject.value === "");
const CheckHideValues = Object.values(hideData).every((value) => value === true);
hasAnyConflict =
!CheckHideValues || JSON.stringify(sortData) !== JSON.stringify(initialSort) || !CheckFilterValues;
setIsDirty(hasConflict);
setIsAnyDirty(hasAnyConflict);
}, [hideData, sortData, filterData, initHide, initSort, initFilter]);
useEffect(() => {
@@ -136,7 +145,7 @@ const DataTableProvider = ({ children, user_id, page_name, table_name, columns,
return (
<DataTableContext.Provider
value={{ filterData, setFilterData, sortData, setSortData, hideData, setHideData, isDirty }}
value={{ filterData, setFilterData, sortData, setSortData, hideData, setHideData, isDirty, isAnyDirty }}
>
{children}
</DataTableContext.Provider>