-
- {operatorMode ? : }
-
-
- {menuGroups.map((groupMember, index) => {
- const filterByGroup = (allowedItems || []).filter(
- (item: any) => item.group === groupMember.group
- );
-
- const countableElements = filterByGroup.filter(
- (menuItem: any) => menuItem.type !== "title"
- );
-
- if (countableElements.length === 0) {
- return null;
- }
-
- return (
-
-
- {filterByGroup.map((page: IMenuItem) => {
- switch (page.type) {
- case "item": {
- return (
-
- {page.icon && {page.icon}}
- {page.name && }
-
- );
- }
- case "title": {
- return (
-
- {page.name}
-
- );
- }
- default:
- return null;
- }
- })}
-
- );
+
-
-
-
-
-
-
-
+ classes={{
+ paper: clsx({
+ [classes.drawerOpen]: sidebarOpen,
+ [classes.drawerClose]: !sidebarOpen,
+ }),
+ }}
+ >
+
+ {sidebarOpen && (
+
+ {operatorMode ? : }
+
+ )}
+
+ {
+ if (sidebarOpen) {
+ setMenuOpen(false);
+ } else {
+ setMenuOpen(true);
+ }
+ }}
+ >
+ {sidebarOpen ? : }
+
+
+
+ {menuGroups.map((groupMember, index) => {
+ const filterByGroup = (allowedItems || []).filter(
+ (item: any) => item.group === groupMember.group
+ );
+
+ const countableElements = filterByGroup.filter(
+ (menuItem: any) => menuItem.type !== "title"
+ );
+
+ if (countableElements.length === 0) {
+ return null;
+ }
+
+ return (
+
+
+ {filterByGroup.map((page: IMenuItem) => {
+ switch (page.type) {
+ case "item": {
+ return (
+
+ {page.icon && (
+
+ {page.icon}
+
+ )}
+ {page.name && }
+
+ );
+ }
+ case "title": {
+ return (
+
+ {page.name}
+
+ );
+ }
+ default:
+ return null;
+ }
+ })}
+
+ );
+ })}
+
+
+
+
+
+
+
+
+
);
};
const mapState = (state: AppState) => ({
- open: state.system.loggedIn,
+ sidebarOpen: state.system.sidebarOpen,
operatorMode: state.system.operatorMode,
distributedSetup: state.system.distributedSetup,
});
-const connector = connect(mapState, { userLoggedIn });
+const connector = connect(mapState, { userLoggedIn, setMenuOpen });
export default connector(withStyles(styles)(Menu));
diff --git a/portal-ui/src/screens/Console/Menu/types.ts b/portal-ui/src/screens/Console/Menu/types.ts
index b99d447cb..a913ae033 100644
--- a/portal-ui/src/screens/Console/Menu/types.ts
+++ b/portal-ui/src/screens/Console/Menu/types.ts
@@ -16,14 +16,6 @@
import { userLoggedIn } from "../../../actions";
-export interface IMenuProps {
- classes: any;
- userLoggedIn: typeof userLoggedIn;
- pages: string[];
- operatorMode: boolean;
- distributedSetup: boolean;
-}
-
export interface IMenuItem {
group: string;
type: string;