1 line
32 KiB
JSON
1 line
32 KiB
JSON
{"ast":null,"code":"import _objectSpread from\"/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import React,{useState}from'react';import{AppBar,Box,CssBaseline,Drawer,IconButton,List,ListItem,ListItemButton,ListItemIcon,ListItemText,Toolbar,Typography,Collapse,Divider,Avatar,Menu,MenuItem,Chip}from'@mui/material';import{Menu as MenuIcon,Dashboard as DashboardIcon,BugReport as IncidentIcon,Build as ProblemIcon,SwapHoriz as ChangeIcon,Store as ServiceIcon,Storage as CMDBIcon,MenuBook as KnowledgeIcon,Assessment as ReportingIcon,Security as SecurityIcon,SmartToy as AutomationIcon,AdminPanelSettings as AdminIcon,ExpandLess,ExpandMore,AccountCircle,Logout,Assessment as AssessmentIcon}from'@mui/icons-material';import{useNavigate,useLocation}from'react-router-dom';import{useAuth}from'../Auth/AuthContext';import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";const drawerWidth=280;const menuItems=[{text:'Dashboard',icon:/*#__PURE__*/_jsx(DashboardIcon,{}),path:'/'},{text:'Incident Management',icon:/*#__PURE__*/_jsx(IncidentIcon,{}),path:'/incident-management',children:[{text:'Dashboard',path:'/incident-management'},{text:'Incident Logging',path:'/incident-management/logging'},{text:'Incident Tracking',path:'/incident-management/tracking'},{text:'Lifecycle Management',path:'/incident-management/lifecycle'},{text:'Self-Service Portal',path:'/incident-management/self-service'}]},{text:'Problem Management',icon:/*#__PURE__*/_jsx(ProblemIcon,{}),path:'/problem-management',children:[{text:'Dashboard',path:'/problem-management'},{text:'Root Cause Analysis',path:'/problem-management/root-cause'},{text:'Problem Records',path:'/problem-management/records'}]},{text:'Change Management',icon:/*#__PURE__*/_jsx(ChangeIcon,{}),path:'/change-management',children:[{text:'Dashboard',path:'/change-management'},{text:'Change Requests',path:'/change-management/requests'},{text:'Release Management',path:'/change-management/releases'}]},{text:'Service Catalog',icon:/*#__PURE__*/_jsx(ServiceIcon,{}),path:'/service-catalog',children:[{text:'Service Catalog',path:'/service-catalog'},{text:'Service Portal',path:'/service-portal'}]},{text:'Configuration Management',icon:/*#__PURE__*/_jsx(CMDBIcon,{}),path:'/cmdb',children:[{text:'Dashboard',path:'/cmdb'},{text:'Configuration Items',path:'/cmdb/configuration-items'},{text:'Impact Analysis',path:'/cmdb/impact-analysis'},{text:'Dependency Mapping',path:'/cmdb/dependency-mapping'}]},{text:'Knowledge Management',icon:/*#__PURE__*/_jsx(KnowledgeIcon,{}),path:'/knowledge-management',children:[{text:'Dashboard',path:'/knowledge-management'},{text:'Knowledge Articles',path:'/knowledge-management/articles'}]},{text:'Reporting & Analytics',icon:/*#__PURE__*/_jsx(ReportingIcon,{}),path:'/reporting',children:[{text:'Dashboard',path:'/reporting'},{text:'Analytics',path:'/reporting/analytics'},{text:'Advanced Reporting',path:'/reporting/advanced'}]},{text:'Security & Compliance',icon:/*#__PURE__*/_jsx(SecurityIcon,{}),path:'/security',children:[{text:'Dashboard',path:'/security'},{text:'Security Incidents',path:'/security/incidents'},{text:'Compliance Reports',path:'/security/compliance'}]},{text:'Automation & AI',icon:/*#__PURE__*/_jsx(AutomationIcon,{}),path:'/automation',children:[{text:'Dashboard',path:'/automation'},{text:'Virtual Agent',path:'/automation/virtual-agent'},{text:'Workflow Automation',path:'/automation/workflows'}]},{text:'Administration',icon:/*#__PURE__*/_jsx(AdminIcon,{}),path:'/admin',children:[{text:'Dashboard',path:'/admin'},{text:'User Management',path:'/admin/users'},{text:'SLA Management',path:'/admin/sla'},{text:'Integrations',path:'/admin/integrations'}],adminOnly:true},{text:'Executive Dashboard',icon:/*#__PURE__*/_jsx(AssessmentIcon,{}),path:'/executive',executiveOnly:true}];const Layout=_ref=>{var _user$roleData,_user$roleData2,_user$name;let{children}=_ref;const[mobileOpen,setMobileOpen]=useState(false);const[openMenus,setOpenMenus]=useState({});const[userMenuAnchor,setUserMenuAnchor]=useState(null);const navigate=useNavigate();const location=useLocation();const{user,logout,hasModuleAccess,hasPermission}=useAuth();const handleDrawerToggle=()=>{setMobileOpen(!mobileOpen);};const handleMenuToggle=menuText=>{setOpenMenus(prev=>_objectSpread(_objectSpread({},prev),{},{[menuText]:!prev[menuText]}));};const handleNavigation=path=>{navigate(path);setMobileOpen(false);};const handleUserMenuOpen=event=>{setUserMenuAnchor(event.currentTarget);};const handleUserMenuClose=()=>{setUserMenuAnchor(null);};const handleLogout=()=>{logout();handleUserMenuClose();};const drawer=/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(Toolbar,{children:/*#__PURE__*/_jsx(Typography,{variant:\"h6\",noWrap:true,component:\"div\",children:\"ETB - Enterprise IT Services\"})}),/*#__PURE__*/_jsx(Divider,{}),/*#__PURE__*/_jsx(List,{children:menuItems.map(item=>{// Check if user has access to admin modules\nif(item.adminOnly&&!hasModuleAccess('admin')){return null;}// Check if user has access to executive modules\nif(item.executiveOnly&&!hasPermission('executive.view')){return null;}return/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(ListItem,{disablePadding:true,children:/*#__PURE__*/_jsxs(ListItemButton,{onClick:()=>{if(item.children){handleMenuToggle(item.text);}else{handleNavigation(item.path);}},selected:location.pathname===item.path,children:[/*#__PURE__*/_jsx(ListItemIcon,{children:item.icon}),/*#__PURE__*/_jsx(ListItemText,{primary:item.text}),item.children&&(openMenus[item.text]?/*#__PURE__*/_jsx(ExpandLess,{}):/*#__PURE__*/_jsx(ExpandMore,{}))]})}),item.children&&/*#__PURE__*/_jsx(Collapse,{in:openMenus[item.text],timeout:\"auto\",unmountOnExit:true,children:/*#__PURE__*/_jsx(List,{component:\"div\",disablePadding:true,children:item.children.map(child=>/*#__PURE__*/_jsx(ListItemButton,{sx:{pl:4},onClick:()=>handleNavigation(child.path),selected:location.pathname===child.path,children:/*#__PURE__*/_jsx(ListItemText,{primary:child.text})},child.text))})})]},item.text);})})]});return/*#__PURE__*/_jsxs(Box,{sx:{display:'flex'},children:[/*#__PURE__*/_jsx(CssBaseline,{}),/*#__PURE__*/_jsx(AppBar,{position:\"fixed\",sx:{width:{sm:\"calc(100% - \".concat(drawerWidth,\"px)\")},ml:{sm:\"\".concat(drawerWidth,\"px\")}},children:/*#__PURE__*/_jsxs(Toolbar,{children:[/*#__PURE__*/_jsx(IconButton,{color:\"inherit\",\"aria-label\":\"open drawer\",edge:\"start\",onClick:handleDrawerToggle,sx:{mr:2,display:{sm:'none'}},children:/*#__PURE__*/_jsx(MenuIcon,{})}),/*#__PURE__*/_jsx(Typography,{variant:\"h6\",noWrap:true,component:\"div\",sx:{flexGrow:1},children:\"Enterprise IT Services Management System\"}),/*#__PURE__*/_jsxs(Box,{sx:{display:'flex',alignItems:'center',gap:2},children:[/*#__PURE__*/_jsx(Chip,{label:(user===null||user===void 0?void 0:(_user$roleData=user.roleData)===null||_user$roleData===void 0?void 0:_user$roleData.name)||'User',size:\"small\",sx:{bgcolor:(user===null||user===void 0?void 0:(_user$roleData2=user.roleData)===null||_user$roleData2===void 0?void 0:_user$roleData2.color)||'default',color:'white'}}),/*#__PURE__*/_jsx(IconButton,{color:\"inherit\",onClick:handleUserMenuOpen,children:/*#__PURE__*/_jsx(Avatar,{sx:{width:32,height:32,bgcolor:'secondary.main'},children:(user===null||user===void 0?void 0:(_user$name=user.name)===null||_user$name===void 0?void 0:_user$name.charAt(0))||'U'})})]})]})}),/*#__PURE__*/_jsxs(Box,{component:\"nav\",sx:{width:{sm:drawerWidth},flexShrink:{sm:0}},\"aria-label\":\"mailbox folders\",children:[/*#__PURE__*/_jsx(Drawer,{variant:\"temporary\",open:mobileOpen,onClose:handleDrawerToggle,ModalProps:{keepMounted:true},sx:{display:{xs:'block',sm:'none'},'& .MuiDrawer-paper':{boxSizing:'border-box',width:drawerWidth}},children:drawer}),/*#__PURE__*/_jsx(Drawer,{variant:\"permanent\",sx:{display:{xs:'none',sm:'block'},'& .MuiDrawer-paper':{boxSizing:'border-box',width:drawerWidth}},open:true,children:drawer})]}),/*#__PURE__*/_jsxs(Box,{component:\"main\",sx:{flexGrow:1,p:3,width:{sm:\"calc(100% - \".concat(drawerWidth,\"px)\")}},children:[/*#__PURE__*/_jsx(Toolbar,{}),children]}),/*#__PURE__*/_jsxs(Menu,{anchorEl:userMenuAnchor,open:Boolean(userMenuAnchor),onClose:handleUserMenuClose,anchorOrigin:{vertical:'bottom',horizontal:'right'},transformOrigin:{vertical:'top',horizontal:'right'},children:[/*#__PURE__*/_jsxs(MenuItem,{disabled:true,children:[/*#__PURE__*/_jsx(ListItemIcon,{children:/*#__PURE__*/_jsx(AccountCircle,{})}),/*#__PURE__*/_jsx(ListItemText,{primary:user===null||user===void 0?void 0:user.name,secondary:user===null||user===void 0?void 0:user.email})]}),/*#__PURE__*/_jsx(Divider,{}),/*#__PURE__*/_jsxs(MenuItem,{onClick:handleLogout,children:[/*#__PURE__*/_jsx(ListItemIcon,{children:/*#__PURE__*/_jsx(Logout,{})}),/*#__PURE__*/_jsx(ListItemText,{primary:\"Logout\"})]})]})]});};export default Layout;","map":{"version":3,"names":["React","useState","AppBar","Box","CssBaseline","Drawer","IconButton","List","ListItem","ListItemButton","ListItemIcon","ListItemText","Toolbar","Typography","Collapse","Divider","Avatar","Menu","MenuItem","Chip","MenuIcon","Dashboard","DashboardIcon","BugReport","IncidentIcon","Build","ProblemIcon","SwapHoriz","ChangeIcon","Store","ServiceIcon","Storage","CMDBIcon","MenuBook","KnowledgeIcon","Assessment","ReportingIcon","Security","SecurityIcon","SmartToy","AutomationIcon","AdminPanelSettings","AdminIcon","ExpandLess","ExpandMore","AccountCircle","Logout","AssessmentIcon","useNavigate","useLocation","useAuth","jsx","_jsx","jsxs","_jsxs","drawerWidth","menuItems","text","icon","path","children","adminOnly","executiveOnly","Layout","_ref","_user$roleData","_user$roleData2","_user$name","mobileOpen","setMobileOpen","openMenus","setOpenMenus","userMenuAnchor","setUserMenuAnchor","navigate","location","user","logout","hasModuleAccess","hasPermission","handleDrawerToggle","handleMenuToggle","menuText","prev","_objectSpread","handleNavigation","handleUserMenuOpen","event","currentTarget","handleUserMenuClose","handleLogout","drawer","variant","noWrap","component","map","item","disablePadding","onClick","selected","pathname","primary","in","timeout","unmountOnExit","child","sx","pl","display","position","width","sm","concat","ml","color","edge","mr","flexGrow","alignItems","gap","label","roleData","name","size","bgcolor","height","charAt","flexShrink","open","onClose","ModalProps","keepMounted","xs","boxSizing","p","anchorEl","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","disabled","secondary","email"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/src/components/Layout/Layout.tsx"],"sourcesContent":["import React, { useState, ReactNode } from 'react';\nimport {\n AppBar,\n Box,\n CssBaseline,\n Drawer,\n IconButton,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Toolbar,\n Typography,\n Collapse,\n Divider,\n Avatar,\n Menu,\n MenuItem,\n Chip,\n} from '@mui/material';\nimport {\n Menu as MenuIcon,\n Dashboard as DashboardIcon,\n BugReport as IncidentIcon,\n Build as ProblemIcon,\n SwapHoriz as ChangeIcon,\n Store as ServiceIcon,\n Storage as CMDBIcon,\n MenuBook as KnowledgeIcon,\n Assessment as ReportingIcon,\n Security as SecurityIcon,\n SmartToy as AutomationIcon,\n AdminPanelSettings as AdminIcon,\n ExpandLess,\n ExpandMore,\n AccountCircle,\n Logout,\n Assessment as AssessmentIcon,\n} from '@mui/icons-material';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useAuth } from '../Auth/AuthContext';\n\nconst drawerWidth = 280;\n\ninterface MenuItemChild {\n text: string;\n path: string;\n}\n\ninterface MenuItemType {\n text: string;\n icon: React.ReactElement;\n path: string;\n children?: MenuItemChild[];\n adminOnly?: boolean;\n executiveOnly?: boolean;\n}\n\ninterface LayoutProps {\n children: ReactNode;\n}\n\nconst menuItems: MenuItemType[] = [\n {\n text: 'Dashboard',\n icon: <DashboardIcon />,\n path: '/',\n },\n {\n text: 'Incident Management',\n icon: <IncidentIcon />,\n path: '/incident-management',\n children: [\n { text: 'Dashboard', path: '/incident-management' },\n { text: 'Incident Logging', path: '/incident-management/logging' },\n { text: 'Incident Tracking', path: '/incident-management/tracking' },\n { text: 'Lifecycle Management', path: '/incident-management/lifecycle' },\n { text: 'Self-Service Portal', path: '/incident-management/self-service' },\n ],\n },\n {\n text: 'Problem Management',\n icon: <ProblemIcon />,\n path: '/problem-management',\n children: [\n { text: 'Dashboard', path: '/problem-management' },\n { text: 'Root Cause Analysis', path: '/problem-management/root-cause' },\n { text: 'Problem Records', path: '/problem-management/records' },\n ],\n },\n {\n text: 'Change Management',\n icon: <ChangeIcon />,\n path: '/change-management',\n children: [\n { text: 'Dashboard', path: '/change-management' },\n { text: 'Change Requests', path: '/change-management/requests' },\n { text: 'Release Management', path: '/change-management/releases' },\n ],\n },\n {\n text: 'Service Catalog',\n icon: <ServiceIcon />,\n path: '/service-catalog',\n children: [\n { text: 'Service Catalog', path: '/service-catalog' },\n { text: 'Service Portal', path: '/service-portal' },\n ],\n },\n {\n text: 'Configuration Management',\n icon: <CMDBIcon />,\n path: '/cmdb',\n children: [\n { text: 'Dashboard', path: '/cmdb' },\n { text: 'Configuration Items', path: '/cmdb/configuration-items' },\n { text: 'Impact Analysis', path: '/cmdb/impact-analysis' },\n { text: 'Dependency Mapping', path: '/cmdb/dependency-mapping' },\n ],\n },\n {\n text: 'Knowledge Management',\n icon: <KnowledgeIcon />,\n path: '/knowledge-management',\n children: [\n { text: 'Dashboard', path: '/knowledge-management' },\n { text: 'Knowledge Articles', path: '/knowledge-management/articles' },\n ],\n },\n {\n text: 'Reporting & Analytics',\n icon: <ReportingIcon />,\n path: '/reporting',\n children: [\n { text: 'Dashboard', path: '/reporting' },\n { text: 'Analytics', path: '/reporting/analytics' },\n { text: 'Advanced Reporting', path: '/reporting/advanced' },\n ],\n },\n {\n text: 'Security & Compliance',\n icon: <SecurityIcon />,\n path: '/security',\n children: [\n { text: 'Dashboard', path: '/security' },\n { text: 'Security Incidents', path: '/security/incidents' },\n { text: 'Compliance Reports', path: '/security/compliance' },\n ],\n },\n {\n text: 'Automation & AI',\n icon: <AutomationIcon />,\n path: '/automation',\n children: [\n { text: 'Dashboard', path: '/automation' },\n { text: 'Virtual Agent', path: '/automation/virtual-agent' },\n { text: 'Workflow Automation', path: '/automation/workflows' },\n ],\n },\n {\n text: 'Administration',\n icon: <AdminIcon />,\n path: '/admin',\n children: [\n { text: 'Dashboard', path: '/admin' },\n { text: 'User Management', path: '/admin/users' },\n { text: 'SLA Management', path: '/admin/sla' },\n { text: 'Integrations', path: '/admin/integrations' },\n ],\n adminOnly: true,\n },\n {\n text: 'Executive Dashboard',\n icon: <AssessmentIcon />,\n path: '/executive',\n executiveOnly: true,\n },\n];\n\nconst Layout: React.FC<LayoutProps> = ({ children }) => {\n const [mobileOpen, setMobileOpen] = useState<boolean>(false);\n const [openMenus, setOpenMenus] = useState<Record<string, boolean>>({});\n const [userMenuAnchor, setUserMenuAnchor] = useState<null | HTMLElement>(null);\n const navigate = useNavigate();\n const location = useLocation();\n const { user, logout, hasModuleAccess, hasPermission } = useAuth();\n\n const handleDrawerToggle = (): void => {\n setMobileOpen(!mobileOpen);\n };\n\n const handleMenuToggle = (menuText: string): void => {\n setOpenMenus(prev => ({\n ...prev,\n [menuText]: !prev[menuText]\n }));\n };\n\n const handleNavigation = (path: string): void => {\n navigate(path);\n setMobileOpen(false);\n };\n\n const handleUserMenuOpen = (event: React.MouseEvent<HTMLElement>): void => {\n setUserMenuAnchor(event.currentTarget);\n };\n\n const handleUserMenuClose = (): void => {\n setUserMenuAnchor(null);\n };\n\n const handleLogout = (): void => {\n logout();\n handleUserMenuClose();\n };\n\n const drawer = (\n <div>\n <Toolbar>\n <Typography variant=\"h6\" noWrap component=\"div\">\n ETB - Enterprise IT Services\n </Typography>\n </Toolbar>\n <Divider />\n <List>\n {menuItems.map((item) => {\n // Check if user has access to admin modules\n if (item.adminOnly && !hasModuleAccess('admin')) {\n return null;\n }\n \n // Check if user has access to executive modules\n if (item.executiveOnly && !hasPermission('executive.view')) {\n return null;\n }\n \n return (\n <div key={item.text}>\n <ListItem disablePadding>\n <ListItemButton\n onClick={() => {\n if (item.children) {\n handleMenuToggle(item.text);\n } else {\n handleNavigation(item.path);\n }\n }}\n selected={location.pathname === item.path}\n >\n <ListItemIcon>{item.icon}</ListItemIcon>\n <ListItemText primary={item.text} />\n {item.children && (\n openMenus[item.text] ? <ExpandLess /> : <ExpandMore />\n )}\n </ListItemButton>\n </ListItem>\n {item.children && (\n <Collapse in={openMenus[item.text]} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {item.children.map((child) => (\n <ListItemButton\n key={child.text}\n sx={{ pl: 4 }}\n onClick={() => handleNavigation(child.path)}\n selected={location.pathname === child.path}\n >\n <ListItemText primary={child.text} />\n </ListItemButton>\n ))}\n </List>\n </Collapse>\n )}\n </div>\n );\n })}\n </List>\n </div>\n );\n\n return (\n <Box sx={{ display: 'flex' }}>\n <CssBaseline />\n <AppBar\n position=\"fixed\"\n sx={{\n width: { sm: `calc(100% - ${drawerWidth}px)` },\n ml: { sm: `${drawerWidth}px` },\n }}\n >\n <Toolbar>\n <IconButton\n color=\"inherit\"\n aria-label=\"open drawer\"\n edge=\"start\"\n onClick={handleDrawerToggle}\n sx={{ mr: 2, display: { sm: 'none' } }}\n >\n <MenuIcon />\n </IconButton>\n <Typography variant=\"h6\" noWrap component=\"div\" sx={{ flexGrow: 1 }}>\n Enterprise IT Services Management System\n </Typography>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 2 }}>\n <Chip\n label={user?.roleData?.name || 'User'}\n size=\"small\"\n sx={{\n bgcolor: user?.roleData?.color || 'default',\n color: 'white'\n }}\n />\n <IconButton\n color=\"inherit\"\n onClick={handleUserMenuOpen}\n >\n <Avatar sx={{ width: 32, height: 32, bgcolor: 'secondary.main' }}>\n {user?.name?.charAt(0) || 'U'}\n </Avatar>\n </IconButton>\n </Box>\n </Toolbar>\n </AppBar>\n <Box\n component=\"nav\"\n sx={{ width: { sm: drawerWidth }, flexShrink: { sm: 0 } }}\n aria-label=\"mailbox folders\"\n >\n <Drawer\n variant=\"temporary\"\n open={mobileOpen}\n onClose={handleDrawerToggle}\n ModalProps={{\n keepMounted: true,\n }}\n sx={{\n display: { xs: 'block', sm: 'none' },\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: drawerWidth },\n }}\n >\n {drawer}\n </Drawer>\n <Drawer\n variant=\"permanent\"\n sx={{\n display: { xs: 'none', sm: 'block' },\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: drawerWidth },\n }}\n open\n >\n {drawer}\n </Drawer>\n </Box>\n <Box\n component=\"main\"\n sx={{\n flexGrow: 1,\n p: 3,\n width: { sm: `calc(100% - ${drawerWidth}px)` },\n }}\n >\n <Toolbar />\n {children}\n </Box>\n \n {/* User Menu */}\n <Menu\n anchorEl={userMenuAnchor}\n open={Boolean(userMenuAnchor)}\n onClose={handleUserMenuClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <MenuItem disabled>\n <ListItemIcon>\n <AccountCircle />\n </ListItemIcon>\n <ListItemText\n primary={user?.name}\n secondary={user?.email}\n />\n </MenuItem>\n <Divider />\n <MenuItem onClick={handleLogout}>\n <ListItemIcon>\n <Logout />\n </ListItemIcon>\n <ListItemText primary=\"Logout\" />\n </MenuItem>\n </Menu>\n </Box>\n );\n}\n\nexport default Layout;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |