{"ast":null,"code":"import _defineProperty from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";import _slicedToArray from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import React from\"react\";import{useEffect}from\"react\";import{BrowserRouter as Router,Route,Switch}from\"react-router-dom\";import clsx from\"clsx\";import{useTheme}from\"@material-ui/core/styles\";import Drawer from\"@material-ui/core/Drawer\";import AppBar from\"@material-ui/core/AppBar\";import Toolbar from\"@material-ui/core/Toolbar\";import CssBaseline from\"@material-ui/core/CssBaseline\";import Typography from\"@material-ui/core/Typography\";import Divider from\"@material-ui/core/Divider\";import IconButton from\"@material-ui/core/IconButton\";import Hidden from\"@material-ui/core/Hidden\";import*as Icon from\"@material-ui/icons\";import AppStyles from'./config/AppStyles';import logo from'./assets/logo_groot.png';// component\nimport LeftMenu from'./components/layouts/LeftMenu';// page\nimport PageDashboard from'./components/pages/Dashboard';import PageAdministrator from'./components/pages/Administrator';import PageUserManagement from'./components/pages/UserManagement';import PageUserAdd from\"./components/pages/UserAdd\";import PageUserEdit from\"./components/pages/UserEdit\";import PageRoleManagement from\"./components/pages/RoleManagement\";import PageRoleAdd from\"./components/pages/RoleAdd\";import PageRoleEdit from\"./components/pages/RoleEdit\";import PageTagGroup from\"./components/pages/TagGroup\";import PageTagGroupDetail from\"./components/pages/TagGroupDetail\";import PageTagGroupAdd from\"./components/pages/TagGroupAdd\";import PageTagGroupEdit from\"./components/pages/TagGroupEdit\";import PageTagAdd from\"./components/pages/TagAdd\";import PageTagEdit from\"./components/pages/TagEdit\";import PageOpcRealtime from\"./components/pages/OpcRealtime\";import PageLogin from\"./components/pages/Login\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";function App(props){var theme=useTheme();var window=props.window;var classes=AppStyles();// --- toggle on mobile\nvar _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),mobileOpen=_React$useState2[0],setMobileOpen=_React$useState2[1];var handleDrawerToggle=function handleDrawerToggle(){setMobileOpen(!mobileOpen);};// --- toggle on desktop\nvar _React$useState3=React.useState(true),_React$useState4=_slicedToArray(_React$useState3,2),toggle=_React$useState4[0],setToggle=_React$useState4[1];var desktopToggle=function desktopToggle(){setToggle(!toggle);};useEffect(function(){console.log(\"BEGIN\");return function(){};},[]);var container=window!==undefined?function(){return window().document.body;}:undefined;return/*#__PURE__*/_jsx(Router,{children:/*#__PURE__*/_jsxs(Switch,{children:[/*#__PURE__*/_jsx(Route,{exact:true,path:\"/login\",component:function component(){return/*#__PURE__*/_jsx(PageLogin,{});}}),/*#__PURE__*/_jsx(Route,{path:\"/\",component:function component(){return/*#__PURE__*/_jsxs(\"div\",{className:classes.root,children:[/*#__PURE__*/_jsx(CssBaseline,{}),/*#__PURE__*/_jsx(AppBar,{color:\"inherit\",position:\"fixed\",className:clsx(classes.appBarToggled,_defineProperty({},classes.appBar,toggle)),children:/*#__PURE__*/_jsxs(Toolbar,{children:[/*#__PURE__*/_jsx(IconButton,{color:\"inherit\",\"aria-label\":\"open drawer\",edge:\"start\",onClick:handleDrawerToggle,className:classes.menuButtonMobile,children:/*#__PURE__*/_jsx(Icon.Menu,{})}),/*#__PURE__*/_jsx(IconButton,{color:\"inherit\",\"aria-label\":\"open drawer\",edge:\"start\",onClick:desktopToggle,className:classes.menuButtonDesktop,children:/*#__PURE__*/_jsx(Icon.Menu,{})}),/*#__PURE__*/_jsx(Typography,{variant:\"h6\",noWrap:true,children:\"Tankvision Endress+Hauser\"})]})}),/*#__PURE__*/_jsxs(\"nav\",{className:classes.drawer,\"aria-label\":\"mailbox folders\",children:[/*#__PURE__*/_jsx(Hidden,{smUp:true,implementation:\"css\",children:/*#__PURE__*/_jsxs(Drawer,{container:container,variant:\"temporary\",anchor:theme.direction===\"rtl\"?\"right\":\"left\",open:mobileOpen,onClose:handleDrawerToggle,classes:{paper:classes.drawerPaper},ModalProps:{keepMounted:true// Better open performance on mobile.\n},children:[/*#__PURE__*/_jsx(Divider,{}),/*#__PURE__*/_jsx(LeftMenu,{})]})}),/*#__PURE__*/_jsx(Hidden,{xsDown:true,implementation:\"css\",children:/*#__PURE__*/_jsxs(Drawer,{classes:{paper:classes.drawerPaper},variant:\"persistent\",anchor:\"left\",open:toggle,children:[/*#__PURE__*/_jsx(\"div\",{className:classes.toolbar,children:/*#__PURE__*/_jsx(AppBar,{color:\"inherit\",children:/*#__PURE__*/_jsx(Toolbar,{children:/*#__PURE__*/_jsx(\"img\",{src:logo,alt:\"logo\",className:classes.logo})})})}),/*#__PURE__*/_jsx(Divider,{}),/*#__PURE__*/_jsx(LeftMenu,{})]})})]}),/*#__PURE__*/_jsx(\"div\",{className:classes.baseLayout}),/*#__PURE__*/_jsxs(Switch,{children:[/*#__PURE__*/_jsx(Route,{exact:true,path:\"/\",component:function component(){return/*#__PURE__*/_jsx(PageDashboard,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/dashboard\",component:function component(){return/*#__PURE__*/_jsx(PageDashboard,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/administrator\",component:function component(){return/*#__PURE__*/_jsx(PageAdministrator,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/users\",component:function component(){return/*#__PURE__*/_jsx(PageUserManagement,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/users/add\",component:function component(){return/*#__PURE__*/_jsx(PageUserAdd,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/users/edit/:id\",component:function component(){return/*#__PURE__*/_jsx(PageUserEdit,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/roles\",component:function component(){return/*#__PURE__*/_jsx(PageRoleManagement,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/roles/add\",component:function component(){return/*#__PURE__*/_jsx(PageRoleAdd,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/roles/edit/:id\",component:function component(){return/*#__PURE__*/_jsx(PageRoleEdit,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/opc/tag-groups\",component:function component(){return/*#__PURE__*/_jsx(PageTagGroup,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/opc/tag-groups/detail/:id\",component:function component(){return/*#__PURE__*/_jsx(PageTagGroupDetail,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/opc/tag-groups/add\",component:function component(){return/*#__PURE__*/_jsx(PageTagGroupAdd,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/opc/tag-groups/edit/:id\",component:function component(){return/*#__PURE__*/_jsx(PageTagGroupEdit,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/opc/tags/add/:id\",component:function component(){return/*#__PURE__*/_jsx(PageTagAdd,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/opc/tags/edit/:id\",component:function component(){return/*#__PURE__*/_jsx(PageTagEdit,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}}),/*#__PURE__*/_jsx(Route,{exact:true,path:\"/opc/realtime\",component:function component(){return/*#__PURE__*/_jsx(PageOpcRealtime,{content:clsx(classes.content,_defineProperty({},classes.contentToggle,toggle)),toolbar:classes.toolbar});}})]})]});}})]})});}export default App;","map":{"version":3,"sources":["C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/src/App.js"],"names":["React","useEffect","BrowserRouter","Router","Route","Switch","clsx","useTheme","Drawer","AppBar","Toolbar","CssBaseline","Typography","Divider","IconButton","Hidden","Icon","AppStyles","logo","LeftMenu","PageDashboard","PageAdministrator","PageUserManagement","PageUserAdd","PageUserEdit","PageRoleManagement","PageRoleAdd","PageRoleEdit","PageTagGroup","PageTagGroupDetail","PageTagGroupAdd","PageTagGroupEdit","PageTagAdd","PageTagEdit","PageOpcRealtime","PageLogin","App","props","theme","window","classes","useState","mobileOpen","setMobileOpen","handleDrawerToggle","toggle","setToggle","desktopToggle","console","log","container","undefined","document","body","root","appBarToggled","appBar","menuButtonMobile","menuButtonDesktop","drawer","direction","paper","drawerPaper","keepMounted","toolbar","baseLayout","content","contentToggle"],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport { useEffect} from \"react\";\r\nimport {\r\n  BrowserRouter as Router,\r\n  Route,\r\n  Switch\r\n} from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport * as Icon from \"@material-ui/icons\";\r\n\r\nimport AppStyles from './config/AppStyles';\r\nimport logo from './assets/logo_groot.png'\r\n\r\n// component\r\nimport LeftMenu from './components/layouts/LeftMenu'\r\n\r\n// page\r\nimport PageDashboard from './components/pages/Dashboard'\r\nimport PageAdministrator from './components/pages/Administrator'\r\n\r\nimport PageUserManagement from './components/pages/UserManagement'\r\nimport PageUserAdd from \"./components/pages/UserAdd\";\r\nimport PageUserEdit from \"./components/pages/UserEdit\";\r\n\r\nimport PageRoleManagement from \"./components/pages/RoleManagement\";\r\nimport PageRoleAdd from \"./components/pages/RoleAdd\";\r\nimport PageRoleEdit from \"./components/pages/RoleEdit\";\r\n\r\nimport PageTagGroup from \"./components/pages/TagGroup\"\r\nimport PageTagGroupDetail from \"./components/pages/TagGroupDetail\"\r\nimport PageTagGroupAdd from \"./components/pages/TagGroupAdd\"\r\nimport PageTagGroupEdit from \"./components/pages/TagGroupEdit\"\r\nimport PageTagAdd from \"./components/pages/TagAdd\"\r\nimport PageTagEdit from \"./components/pages/TagEdit\"\r\n\r\nimport PageOpcRealtime from \"./components/pages/OpcRealtime\"\r\n\r\nimport PageLogin from \"./components/pages/Login\"\r\n\r\n\r\nfunction App(props) {\r\n  const theme = useTheme();\r\n  const { window } = props;\r\n  const classes = AppStyles();\r\n\r\n  // --- toggle on mobile\r\n  const [mobileOpen, setMobileOpen] = React.useState(false);\r\n  const handleDrawerToggle = () => {\r\n    setMobileOpen(!mobileOpen);\r\n  };\r\n  \r\n  // --- toggle on desktop\r\n  const [toggle, setToggle] = React.useState(true);\r\n  const desktopToggle = () => {\r\n    setToggle(!toggle);\r\n  };\r\n  \r\n  useEffect(() => {\r\n    console.log(\"BEGIN\")\r\n    return () => {\r\n    };\r\n  }, []);\r\n  const container = window !== undefined ? () => window().document.body : undefined;\r\n  \r\n  \r\n\r\n  return (\r\n\r\n    \r\n    <Router>\r\n      <Switch>\r\n        <Route\r\n          exact\r\n          path=\"/login\"\r\n          component={() => (\r\n            <PageLogin></PageLogin>\r\n          )}\r\n        />\r\n        <Route\r\n          path=\"/\"\r\n          component={() => (\r\n            <div className={classes.root}>\r\n              <CssBaseline />\r\n              <AppBar\r\n                color=\"inherit\"\r\n                position=\"fixed\"\r\n                className={clsx(classes.appBarToggled, {\r\n                  [classes.appBar]: toggle,\r\n                })}\r\n              >\r\n                <Toolbar>\r\n                  <IconButton\r\n                    color=\"inherit\"\r\n                    aria-label=\"open drawer\"\r\n                    edge=\"start\"\r\n                    onClick={handleDrawerToggle}\r\n                    className={classes.menuButtonMobile}\r\n                  >\r\n                    <Icon.Menu />\r\n                  </IconButton>\r\n\r\n                  <IconButton\r\n                    color=\"inherit\"\r\n                    aria-label=\"open drawer\"\r\n                    edge=\"start\"\r\n                    onClick={desktopToggle}\r\n                    className={classes.menuButtonDesktop}\r\n                  >\r\n                    <Icon.Menu />\r\n                  </IconButton>\r\n                  <Typography variant=\"h6\" noWrap>\r\n                    Tankvision Endress+Hauser\r\n            </Typography>\r\n                </Toolbar>\r\n              </AppBar>\r\n              <nav className={classes.drawer} aria-label=\"mailbox folders\">\r\n                {/* The implementation can be swapped with js to avoid SEO duplication of links. */}\r\n                <Hidden smUp implementation=\"css\">\r\n                  <Drawer\r\n                    container={container}\r\n                    variant=\"temporary\"\r\n                    anchor={theme.direction === \"rtl\" ? \"right\" : \"left\"}\r\n                    open={mobileOpen}\r\n                    onClose={handleDrawerToggle}\r\n                    classes={{\r\n                      paper: classes.drawerPaper,\r\n                    }}\r\n                    ModalProps={{\r\n                      keepMounted: true, // Better open performance on mobile.\r\n                    }}\r\n                  >\r\n                    <Divider />\r\n                    <LeftMenu />\r\n                  </Drawer>\r\n                </Hidden>\r\n                <Hidden xsDown implementation=\"css\">\r\n                  <Drawer\r\n                    classes={{\r\n                      paper: classes.drawerPaper,\r\n                    }}\r\n                    variant=\"persistent\"\r\n                    anchor=\"left\"\r\n                    open={toggle}\r\n                  >\r\n                    <div className={classes.toolbar}>\r\n                      <AppBar color=\"inherit\">\r\n                        <Toolbar>\r\n                          <img src={logo} alt=\"logo\" className={classes.logo} />\r\n                        </Toolbar>\r\n                      </AppBar>\r\n                    </div>\r\n                    <Divider />\r\n                    <LeftMenu />\r\n                  </Drawer>\r\n                </Hidden>\r\n              </nav>\r\n\r\n              <div className={classes.baseLayout}></div>\r\n              {/* MAIN CONTENT AREA */}\r\n              <Switch>\r\n                <Route\r\n                  exact\r\n                  path=\"/\"\r\n                  component={() => (\r\n                    <PageDashboard\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n                <Route\r\n                  exact\r\n                  path=\"/dashboard\"\r\n                  component={() => (\r\n                    <PageDashboard\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n                <Route\r\n                  exact\r\n                  path=\"/administrator\"\r\n                  component={() => (\r\n                    <PageAdministrator\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                {/* users route */}\r\n                <Route\r\n                  exact\r\n                  path=\"/users\"\r\n                  component={() => (\r\n                    <PageUserManagement\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n                <Route\r\n                  exact\r\n                  path=\"/users/add\"\r\n                  component={() => (\r\n                    <PageUserAdd\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n                <Route\r\n                  exact\r\n                  path=\"/users/edit/:id\"\r\n                  component={() => (\r\n                    <PageUserEdit\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                {/* roles route */}\r\n                <Route\r\n                  exact\r\n                  path=\"/roles\"\r\n                  component={() => (\r\n                    <PageRoleManagement\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                <Route\r\n                  exact\r\n                  path=\"/roles/add\"\r\n                  component={() => (\r\n                    <PageRoleAdd\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                <Route\r\n                  exact\r\n                  path=\"/roles/edit/:id\"\r\n                  component={() => (\r\n                    <PageRoleEdit\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                {/* tag groups route */}\r\n                <Route\r\n                  exact\r\n                  path=\"/opc/tag-groups\"\r\n                  component={() => (\r\n                    <PageTagGroup\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                <Route\r\n                  exact\r\n                  path=\"/opc/tag-groups/detail/:id\"\r\n                  component={() => (\r\n                    <PageTagGroupDetail\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n                <Route\r\n                  exact\r\n                  path=\"/opc/tag-groups/add\"\r\n                  component={() => (\r\n                    <PageTagGroupAdd\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n                <Route\r\n                  exact\r\n                  path=\"/opc/tag-groups/edit/:id\"\r\n                  component={() => (\r\n                    <PageTagGroupEdit\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                {/* tags route */}\r\n                <Route\r\n                  exact\r\n                  path=\"/opc/tags/add/:id\"\r\n                  component={() => (\r\n                    <PageTagAdd\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n                <Route\r\n                  exact\r\n                  path=\"/opc/tags/edit/:id\"\r\n                  component={() => (\r\n                    <PageTagEdit\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n\r\n                {/* OPC REALTIME ROUTE */}\r\n                <Route\r\n                  exact\r\n                  path=\"/opc/realtime\"\r\n                  component={() => (\r\n                    <PageOpcRealtime\r\n                      content={clsx(classes.content, {\r\n                        [classes.contentToggle]: toggle,\r\n                      })}\r\n                      toolbar={classes.toolbar}\r\n                    />\r\n                  )}\r\n                />\r\n              </Switch>\r\n            </div>\r\n          )}\r\n        />\r\n        </Switch>\r\n      \r\n    </Router>\r\n  );\r\n}\r\n\r\nApp.propTypes = {\r\n  /**\r\n   * Injected by the documentation to work in an iframe.\r\n   * You won't need it on your project.\r\n   */\r\n  window: PropTypes.func,\r\n};\r\nexport default App"]},"metadata":{},"sourceType":"module"}