diff --git a/src/components/home/index.jsx b/src/components/home/index.jsx
index b059e6a..f919b3d 100644
--- a/src/components/home/index.jsx
+++ b/src/components/home/index.jsx
@@ -73,7 +73,6 @@ function HomeComponent() {
"contains",
"lessThan",
"greaterThan",
- "between",
],
},
diff --git a/src/core/components/DataTable/filter/TextFieldWithFnBox/FilterBox.jsx b/src/core/components/DataTable/filter/TextFieldWithFnBox/FilterBox.jsx
index f887918..25f10c6 100644
--- a/src/core/components/DataTable/filter/TextFieldWithFnBox/FilterBox.jsx
+++ b/src/core/components/DataTable/filter/TextFieldWithFnBox/FilterBox.jsx
@@ -1,6 +1,17 @@
-import { Popper, Paper, List, ListItem, ListItemText, ClickAwayListener } from '@mui/material';
+import {ClickAwayListener, List, ListItem, ListItemText, Paper, Popper} from '@mui/material';
-function FilterBox({anchorEl , open = false, handleClose = () => {} , columnFilterModeOptions , onSelectFilter , defaultFilter}) {
+const columnFilterModeOptionFa = {
+ equals: "برابر",
+ notEquals: "نابرابر",
+ contains: "شامل",
+ lessThan: "کوچکتر",
+ greaterThan: "بزرگتر",
+}
+
+function FilterBox({
+ anchorEl, open = false, handleClose = () => {
+ }, columnFilterModeOptions, onSelectFilter, defaultFilter
+ }) {
const id = open ? 'simple-popper' : undefined;
const handleSelectFilter = (filterFn) => {
@@ -10,13 +21,14 @@ function FilterBox({anchorEl , open = false, handleClose = () => {} , columnFilt
return (
-
+
{columnFilterModeOptions.map((option, index) => (
- handleSelectFilter(option)} selected={option === defaultFilter} sx={{ cursor: 'pointer' }}>
-
+ handleSelectFilter(option)}
+ selected={option === defaultFilter} sx={{cursor: 'pointer'}}>
+
))}
diff --git a/src/core/components/DataTable/head/TableHeadRow.js b/src/core/components/DataTable/head/TableHeadRow.js
index 8c2202a..33a23e2 100644
--- a/src/core/components/DataTable/head/TableHeadRow.js
+++ b/src/core/components/DataTable/head/TableHeadRow.js
@@ -19,7 +19,7 @@ const DataTable_TableHeadRow = ({
const {virtualColumns, virtualPaddingLeft, virtualPaddingRight} =
columnVirtualizer ?? {};
- const backgroundColor = index % 2 === 0 ? '#2070af' : '#ff5c0f';
+ const backgroundColor = index % 2 === 0 ? '#015688' : '#ff5c0f';
const tableRowProps = {
...parseFromValuesOrFunc(muiTableHeadRowProps, {
diff --git a/src/core/components/DataTable/refactor/RefactorTable.jsx b/src/core/components/DataTable/refactor/RefactorTable.jsx
new file mode 100644
index 0000000..06f75c1
--- /dev/null
+++ b/src/core/components/DataTable/refactor/RefactorTable.jsx
@@ -0,0 +1,28 @@
+"use client"
+import {IconButton, Tooltip} from '@mui/material';
+import RestartAltIcon from '@mui/icons-material/RestartAlt';
+import useTableSetting from "@/lib/hooks/useTableSetting";
+import {useState} from "react";
+
+function RefactorTable() {
+ const {refactorAction} = useTableSetting();
+ const [userId, setUserId] = useState(2);
+ const [pageName, setPageName] = useState('loan');
+ const [tableName, setTableName] = useState('loan_table');
+
+ const refactor = () => {
+ refactorAction(userId, pageName, tableName);
+ };
+
+ return (
+
+
+
+
+
+ );
+}
+
+export default RefactorTable;
+
+
diff --git a/src/core/components/DataTable/toolbar/TopToolbar.js b/src/core/components/DataTable/toolbar/TopToolbar.js
index 46bae3e..2b9641c 100644
--- a/src/core/components/DataTable/toolbar/TopToolbar.js
+++ b/src/core/components/DataTable/toolbar/TopToolbar.js
@@ -4,6 +4,7 @@ import DataTable_LinearProgressBar from "./LinearProgressBar";
import DataTable_TablePagination from "./TablePagination";
import DataTable_ToolbarInternalButtons from "./ToolbarInternalButtons";
import FilterColumn from "@/core/components/DataTable/filter/FilterColumn";
+import RefactorTable from "@/core/components/DataTable/refactor/RefactorTable";
const DataTable_TopToolbar = ({table, columns}) => {
const {
@@ -71,6 +72,7 @@ const DataTable_TopToolbar = ({table, columns}) => {
justifyContent: 'flex-end',
}}
>
+
diff --git a/src/lib/contexts/tableSetting.jsx b/src/lib/contexts/tableSetting.jsx
index 0c2262d..abc2ad7 100644
--- a/src/lib/contexts/tableSetting.jsx
+++ b/src/lib/contexts/tableSetting.jsx
@@ -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 (
+ value={{settingStore, hideAction, sortAction, filterAction, refactorAction}}>
{children}
);
diff --git a/src/lib/hooks/useTableSetting.jsx b/src/lib/hooks/useTableSetting.jsx
index 14d9d4e..7617655 100644
--- a/src/lib/hooks/useTableSetting.jsx
+++ b/src/lib/hooks/useTableSetting.jsx
@@ -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;