improve some option in reset table

This commit is contained in:
2024-05-06 17:19:11 +03:30
parent b40c19fb34
commit 3ccd198a72
7 changed files with 71 additions and 15 deletions

View File

@@ -1,6 +1,5 @@
'use client'
import {createContext, useCallback, useEffect, useState} from "react";
import {flattenArrayOfObjects} from "@/core/utils/flattenArrayOfObjects";
export const TableSettingContext = createContext();
export const TableSettingProvider = ({children}) => {
@@ -53,7 +52,23 @@ export const TableSettingProvider = ({children}) => {
localStorage.setItem("_setting-app", JSON.stringify(updatedLocalStorage));
setSettingStore(updatedLocalStorage);
}
const refactorAction = (user_id, page_name, table_name) => {
const prevLocalStorage = JSON.parse(localStorage.getItem("_setting-app")) || {};
const userSettings = prevLocalStorage[user_id] || {};
const pageSettings = userSettings[page_name] || {};
const refactorData = {
...prevLocalStorage,
[user_id]: {
...userSettings,
[page_name]: {
...pageSettings,
[table_name]: {},
},
},
};
localStorage.setItem("_setting-app", JSON.stringify(refactorData));
setSettingStore(refactorData);
}
const SummaryTextMessage = (values, columns) => {
let SummaryText = "";
let HideText = "";
@@ -122,7 +137,7 @@ export const TableSettingProvider = ({children}) => {
return (
<TableSettingContext.Provider
value={{settingStore, hideAction, sortAction, filterAction}}>
value={{settingStore, hideAction, sortAction, filterAction, refactorAction}}>
{children}
</TableSettingContext.Provider>
);

View File

@@ -1,10 +1,10 @@
import { useContext } from "react";
import { TableSettingContext } from "../contexts/tableSetting";
import {useContext} from "react";
import {TableSettingContext} from "../contexts/tableSetting";
const useTableSetting = () => {
const { settingStore, hideAction, sortAction, filterAction } =
useContext(TableSettingContext);
return { settingStore, hideAction, sortAction, filterAction };
const {settingStore, hideAction, sortAction, filterAction, refactorAction} =
useContext(TableSettingContext);
return {settingStore, hideAction, sortAction, filterAction, refactorAction};
};
export default useTableSetting;