ui-soxo-bootstrap-core 2.6.1-dev.7 → 2.6.1-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -39,18 +39,18 @@ function CollapsedIconMenu({ menu, collapsed, icon, caption }) {
|
|
|
39
39
|
// Import t and i18n from useTranslation
|
|
40
40
|
const { t, i18n } = useTranslation();
|
|
41
41
|
const { state } = useContext(GlobalContext);
|
|
42
|
-
|
|
42
|
+
const [isMobile, setIsMobile] = useState(false);
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
const handleResize = () => {
|
|
46
|
+
setIsMobile(window.innerWidth < 768); // Common breakpoint for mobile
|
|
47
|
+
};
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
handleResize(); // Set initial value
|
|
50
|
+
window.addEventListener('resize', handleResize);
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
return () => window.removeEventListener('resize', handleResize);
|
|
53
|
+
}, []);
|
|
54
54
|
|
|
55
55
|
const menuText = t(caption);
|
|
56
56
|
const menuContent = (
|
|
@@ -85,8 +85,14 @@ function CollapsedIconMenu({ menu, collapsed, icon, caption }) {
|
|
|
85
85
|
</>
|
|
86
86
|
);
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
// On mobile, or when the menu is collapsed (based on original logic), don't show the popover tooltip.
|
|
89
|
+
return isMobile || collapsed ? (
|
|
90
|
+
menuContent
|
|
91
|
+
) : (
|
|
92
|
+
<Popover content={menuText} placement="right">
|
|
93
|
+
{menuContent}
|
|
94
|
+
</Popover>
|
|
95
|
+
);
|
|
90
96
|
}
|
|
91
97
|
|
|
92
98
|
export default function SideMenu({ loading, modules = [], callback, appSettings, collapsed }) {
|
|
@@ -123,7 +129,7 @@ export default function SideMenu({ loading, modules = [], callback, appSettings,
|
|
|
123
129
|
* Logout Function
|
|
124
130
|
*/
|
|
125
131
|
async function handleLogout() {
|
|
126
|
-
let dbPtrValue = appSettings.headers.db_ptr;
|
|
132
|
+
// let dbPtrValue = appSettings.headers.db_ptr;
|
|
127
133
|
const isEnvThemeTrue = process.env.REACT_APP_THEME === 'true';
|
|
128
134
|
|
|
129
135
|
// Only clear localStorage if theme is not 'true'
|
|
@@ -137,7 +143,7 @@ export default function SideMenu({ loading, modules = [], callback, appSettings,
|
|
|
137
143
|
// const result = Users.logout()
|
|
138
144
|
localStorage.clear();
|
|
139
145
|
|
|
140
|
-
localStorage.setItem('db_ptr', dbPtrValue);
|
|
146
|
+
// localStorage.setItem('db_ptr', dbPtrValue);
|
|
141
147
|
|
|
142
148
|
let userInfo = {
|
|
143
149
|
dms: {},
|
|
@@ -24,15 +24,15 @@ export default class ApiUtils {
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
static get = async ({ url, config = { queries: [], order: {} }, headers: customHeaders = {}, ...props }) => {
|
|
27
|
-
const
|
|
27
|
+
const dbPtr = localStorage.getItem('db_ptr');
|
|
28
28
|
|
|
29
29
|
try {
|
|
30
30
|
return await GetData({
|
|
31
31
|
url: createUrlParams(url, config),
|
|
32
32
|
settings,
|
|
33
33
|
headers: {
|
|
34
|
-
...
|
|
35
|
-
|
|
34
|
+
...(settings.headers || {}),
|
|
35
|
+
...(dbPtr ? { db_ptr: dbPtr } : {}),
|
|
36
36
|
...customHeaders,
|
|
37
37
|
},
|
|
38
38
|
...props,
|
|
@@ -43,15 +43,15 @@ export default class ApiUtils {
|
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
static getRecordDetail = async ({ url, config = { queries: [] }, headers: customHeaders = {}, ...props }) => {
|
|
46
|
-
const
|
|
46
|
+
const dbPtr = localStorage.getItem('db_ptr');
|
|
47
47
|
|
|
48
48
|
try {
|
|
49
49
|
return await GetData({
|
|
50
50
|
url: createUrlParams(url, config),
|
|
51
51
|
settings,
|
|
52
52
|
headers: {
|
|
53
|
-
...
|
|
54
|
-
|
|
53
|
+
...(settings.headers || {}),
|
|
54
|
+
...(dbPtr ? { db_ptr: dbPtr } : {}),
|
|
55
55
|
...customHeaders,
|
|
56
56
|
},
|
|
57
57
|
...props,
|
|
@@ -62,15 +62,15 @@ export default class ApiUtils {
|
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
static post = ({ url, formBody, headers: customHeaders = {}, ...props }) => {
|
|
65
|
-
const
|
|
65
|
+
const dbPtr = localStorage.getItem('db_ptr');
|
|
66
66
|
|
|
67
67
|
return PostData({
|
|
68
68
|
url,
|
|
69
69
|
formBody,
|
|
70
70
|
settings,
|
|
71
71
|
headers: {
|
|
72
|
-
...
|
|
73
|
-
|
|
72
|
+
...(settings.headers || {}),
|
|
73
|
+
...(dbPtr ? { db_ptr: dbPtr } : {}),
|
|
74
74
|
...customHeaders,
|
|
75
75
|
},
|
|
76
76
|
...props,
|
|
@@ -78,36 +78,48 @@ export default class ApiUtils {
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
static put = ({ url, formBody, ...props }) => {
|
|
81
|
-
const
|
|
81
|
+
const dbPtr = localStorage.getItem('db_ptr');
|
|
82
82
|
|
|
83
83
|
return PutData({
|
|
84
84
|
url,
|
|
85
85
|
settings,
|
|
86
86
|
formBody,
|
|
87
|
-
headers
|
|
87
|
+
headers: {
|
|
88
|
+
...(settings.headers || {}),
|
|
89
|
+
...(dbPtr ? { db_ptr: dbPtr } : {}),
|
|
90
|
+
...customHeaders,
|
|
91
|
+
},
|
|
88
92
|
...props,
|
|
89
93
|
});
|
|
90
94
|
};
|
|
91
95
|
|
|
92
96
|
static patch = ({ url, formBody, ...props }) => {
|
|
93
|
-
const
|
|
97
|
+
const dbPtr = localStorage.getItem('db_ptr');
|
|
94
98
|
|
|
95
99
|
return PatchData({
|
|
96
100
|
url,
|
|
97
101
|
settings,
|
|
98
102
|
formBody,
|
|
99
|
-
headers
|
|
103
|
+
headers: {
|
|
104
|
+
...(settings.headers || {}),
|
|
105
|
+
...(dbPtr ? { db_ptr: dbPtr } : {}),
|
|
106
|
+
...customHeaders,
|
|
107
|
+
},
|
|
100
108
|
...props,
|
|
101
109
|
});
|
|
102
110
|
};
|
|
103
111
|
|
|
104
112
|
static delete = ({ url, formBody, ...props }) => {
|
|
105
|
-
const
|
|
113
|
+
const dbPtr = localStorage.getItem('db_ptr');
|
|
106
114
|
|
|
107
115
|
return DeleteData({
|
|
108
116
|
url,
|
|
109
117
|
settings,
|
|
110
|
-
headers
|
|
118
|
+
headers: {
|
|
119
|
+
...(settings.headers || {}),
|
|
120
|
+
...(dbPtr ? { db_ptr: dbPtr } : {}),
|
|
121
|
+
...customHeaders,
|
|
122
|
+
},
|
|
111
123
|
...props,
|
|
112
124
|
});
|
|
113
125
|
};
|
|
@@ -203,13 +203,21 @@ class MenusAPI extends Base {
|
|
|
203
203
|
};
|
|
204
204
|
|
|
205
205
|
// get core-menu list with submenu
|
|
206
|
-
getCoreMenuLists = (
|
|
207
|
-
const url =
|
|
206
|
+
getCoreMenuLists = () => {
|
|
207
|
+
const url = 'core-menus/core-menus?step=1&header_id=null';
|
|
208
208
|
return this.get({
|
|
209
209
|
url,
|
|
210
210
|
}).then((result) => result);
|
|
211
211
|
};
|
|
212
212
|
|
|
213
|
+
getCoreMenuByRoleId = async (role_id) => {
|
|
214
|
+
const url = `menus/get-menus-by-role/${role_id}`;
|
|
215
|
+
const result = await this.get({
|
|
216
|
+
url,
|
|
217
|
+
});
|
|
218
|
+
return result;
|
|
219
|
+
};
|
|
220
|
+
|
|
213
221
|
getCoreMenus = () => {
|
|
214
222
|
return [
|
|
215
223
|
// {
|
|
@@ -159,7 +159,7 @@ export default function AssignRole() {
|
|
|
159
159
|
|
|
160
160
|
const role_id = role.id;
|
|
161
161
|
try {
|
|
162
|
-
const res = await MenusAPI.
|
|
162
|
+
const res = await MenusAPI.getCoreMenuByRoleId(role_id);
|
|
163
163
|
const allMenus = res.result || [];
|
|
164
164
|
|
|
165
165
|
setModules(allMenus);
|