change style
This commit is contained in:
@@ -8,7 +8,7 @@ const SidebarListItems = ({ menuItem, dispatch }) => {
|
|||||||
<>
|
<>
|
||||||
<ListItem disablePadding divider>
|
<ListItem disablePadding divider>
|
||||||
<ListItemButton
|
<ListItemButton
|
||||||
sx={{ py: 1, px: 0.5 }}
|
sx={{ p: 0.5 }}
|
||||||
disableGutters
|
disableGutters
|
||||||
selected={menuItem.selected}
|
selected={menuItem.selected}
|
||||||
component={menuItem.type === "page" ? Link : null}
|
component={menuItem.type === "page" ? Link : null}
|
||||||
|
|||||||
@@ -26,60 +26,53 @@ function selectPage(item, route) {
|
|||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toggleSubitems(items, actionId) {
|
||||||
|
return items.map((item) =>
|
||||||
|
actionId === item.id
|
||||||
|
? { ...item, showSubitems: !item.showSubitems }
|
||||||
|
: { ...item, showSubitems: false }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function reducer(state, action) {
|
function reducer(state, action) {
|
||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
case "UPDATE_MENU":
|
case "UPDATE_MENU":
|
||||||
const _permissions = action.permissions || [];
|
const _permissions = action.permissions || [];
|
||||||
const filteredPageMenu = filterMenuItems(state, ["all", ..._permissions]);
|
return filterMenuItems(state, ["all", ..._permissions]);
|
||||||
return filteredPageMenu;
|
|
||||||
case "COLLAPSE_MENU":
|
case "COLLAPSE_MENU":
|
||||||
return state.map((item) =>
|
return state.map((item) => ({
|
||||||
action.id == item.id
|
...item,
|
||||||
? {
|
showSubitems: item.id === action.id ? !item.showSubitems : false,
|
||||||
...item,
|
}));
|
||||||
showSubitems: !item.showSubitems,
|
|
||||||
}
|
|
||||||
: item,
|
|
||||||
);
|
|
||||||
case "COLLAPSE_SUB_ITEMS":
|
case "COLLAPSE_SUB_ITEMS":
|
||||||
return state.map((item) => {
|
return state.map((item) =>
|
||||||
return item.hasSubitems
|
item.hasSubitems
|
||||||
|
? { ...item, Subitems: toggleSubitems(item.Subitems, action.id) }
|
||||||
|
: item
|
||||||
|
);
|
||||||
|
|
||||||
|
case "COLLAPSE_SUB_SECOND_ITEMS":
|
||||||
|
return state.map((item) =>
|
||||||
|
item.hasSubitems
|
||||||
? {
|
? {
|
||||||
...item,
|
...item,
|
||||||
Subitems: item.Subitems.map((subitem) =>
|
Subitems: item.Subitems.map((subitem) =>
|
||||||
action.id === subitem.id
|
subitem.hasSubitems
|
||||||
? {
|
? {
|
||||||
...subitem,
|
...subitem,
|
||||||
showSubitems: !subitem.showSubitems,
|
Subitems: toggleSubitems(
|
||||||
}
|
subitem.Subitems,
|
||||||
: subitem,
|
action.id
|
||||||
),
|
|
||||||
}
|
|
||||||
: item;
|
|
||||||
});
|
|
||||||
case "COLLAPSE_SUB_SECOND_ITEMS":
|
|
||||||
return state.map((item) => {
|
|
||||||
return item.hasSubitems
|
|
||||||
? {
|
|
||||||
...item,
|
|
||||||
Subitems: item.Subitems.map((subitem) => {
|
|
||||||
return subitem.hasSubitems
|
|
||||||
? {
|
|
||||||
...subitem,
|
|
||||||
Subitems: subitem.Subitems.map((secondSubitem) =>
|
|
||||||
action.id === secondSubitem.id
|
|
||||||
? {
|
|
||||||
...secondSubitem,
|
|
||||||
showSubitems: !secondSubitem.showSubitems,
|
|
||||||
}
|
|
||||||
: secondSubitem,
|
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
: subitem;
|
: subitem
|
||||||
}),
|
),
|
||||||
}
|
}
|
||||||
: item;
|
: item
|
||||||
});
|
);
|
||||||
|
|
||||||
case "SELECTED":
|
case "SELECTED":
|
||||||
return state.map((item) => selectPage(item, action.route));
|
return state.map((item) => selectPage(item, action.route));
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const SidebarSubitems = ({ subitem, dispatch }) => {
|
|||||||
<ListItem disablePadding divider>
|
<ListItem disablePadding divider>
|
||||||
<ListItemButton
|
<ListItemButton
|
||||||
disableGutters
|
disableGutters
|
||||||
sx={{ py: 1, px: 0.5, pl: 1 }}
|
sx={{ p: 0.5, pl: 1 }}
|
||||||
selected={subitem.selected}
|
selected={subitem.selected}
|
||||||
component={subitem.type === "page" ? Link : null}
|
component={subitem.type === "page" ? Link : null}
|
||||||
href={subitem.type === "page" ? subitem.route : null}
|
href={subitem.type === "page" ? subitem.route : null}
|
||||||
|
|||||||
Reference in New Issue
Block a user