complete hide action part with button for hide or show all table header
This commit is contained in:
@@ -56,12 +56,23 @@ const DataTableProvider = ({ children, user_id, page_name, table_name, columns }
|
||||
}, [settingStore, isInitStates]);
|
||||
|
||||
useEffect(() => {
|
||||
const hideValues = flatColumns.reduce((acc, column) => {
|
||||
const columnId = column.id;
|
||||
const storeHide = settingStore?.[user_id]?.[page_name]?.[table_name]?.["hides"]?.[columnId];
|
||||
acc[columnId] = storeHide !== undefined ? storeHide : true;
|
||||
return acc;
|
||||
}, {});
|
||||
const getHideValues = (columns) => {
|
||||
return columns.reduce((acc, column) => {
|
||||
const columnId = column.id;
|
||||
const storeHide = settingStore?.[user_id]?.[page_name]?.[table_name]?.["hides"]?.[columnId];
|
||||
|
||||
// If the column has nested columns, process them recursively
|
||||
if (column.columns && column.columns.length > 0) {
|
||||
acc[columnId] = getHideValues(column.columns);
|
||||
} else {
|
||||
acc[columnId] = storeHide !== undefined ? storeHide : true;
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, {});
|
||||
};
|
||||
|
||||
const hideValues = getHideValues(columns);
|
||||
setHideData(hideValues);
|
||||
setInitHide(hideValues);
|
||||
}, [settingStore, isInitStates]);
|
||||
|
||||
Reference in New Issue
Block a user