{"ast":null,"code":"import _regeneratorRuntime from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";import _asyncToGenerator from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";import _slicedToArray from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import{makeStyles}from\"@material-ui/core/styles\";import Table from\"@material-ui/core/Table\";import TableBody from\"@material-ui/core/TableBody\";import TableCell from\"@material-ui/core/TableCell\";import TableContainer from\"@material-ui/core/TableContainer\";import TableHead from\"@material-ui/core/TableHead\";import TableRow from\"@material-ui/core/TableRow\";import Paper from\"@material-ui/core/Paper\";import Button from\"@material-ui/core/Button\";import{NavLink}from\"react-router-dom\";import{useState,useEffect}from\"react\";import userServices from\"./UserServicesClass\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var userServ=new userServices();var useStyles=makeStyles(function(theme){return{table:{minWidth:650},margin:{margin:theme.spacing(1)},extendedIcon:{marginRight:theme.spacing(1)}};});export default function BasicTable(props){var classes=useStyles();var _useState=useState([]),_useState2=_slicedToArray(_useState,2),users=_useState2[0],setUser=_useState2[1];useEffect(function(){fetchUsers();},[]);function fetchUsers(){return _fetchUsers.apply(this,arguments);}function _fetchUsers(){_fetchUsers=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(){var resp;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return userServ.getUsers();case 2:resp=_context.sent;setUser(resp.data);console.log(\"FETCH USER SUCCESS!\");return _context.abrupt(\"return\",resp);case 6:case\"end\":return _context.stop();}}},_callee);}));return _fetchUsers.apply(this,arguments);}function deleteUsers(_x){return _deleteUsers.apply(this,arguments);}function _deleteUsers(){_deleteUsers=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id){return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:return _context3.abrupt(\"return\",new Promise(/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(res,rej){var resp;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return userServ.deleteUsers(id);case 3:resp=_context2.sent;console.log(\"DELETE USER SUCCESS !\");res(resp);_context2.next=11;break;case 8:_context2.prev=8;_context2.t0=_context2[\"catch\"](0);rej(_context2.t0);case 11:case\"end\":return _context2.stop();}}},_callee2,null,[[0,8]]);}));return function(_x3,_x4){return _ref.apply(this,arguments);};}()));case 1:case\"end\":return _context3.stop();}}},_callee3);}));return _deleteUsers.apply(this,arguments);}function handleClick(_x2){return _handleClick.apply(this,arguments);}function _handleClick(){_handleClick=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(id){var userDelete;return _regeneratorRuntime.wrap(function _callee4$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:_context4.next=2;return deleteUsers(id);case 2:userDelete=_context4.sent;if(userDelete.success){alert(userDelete.message);fetchUsers();}else{alert(userDelete.message);}case 4:case\"end\":return _context4.stop();}}},_callee4);}));return _handleClick.apply(this,arguments);}return/*#__PURE__*/_jsx(TableContainer,{component:Paper,children:/*#__PURE__*/_jsxs(Table,{className:classes.table,\"aria-label\":\"simple table\",children:[/*#__PURE__*/_jsx(TableHead,{children:/*#__PURE__*/_jsxs(TableRow,{children:[/*#__PURE__*/_jsx(TableCell,{children:\"No\"}),/*#__PURE__*/_jsx(TableCell,{children:\"Email\"}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:\"Username\"}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:\"Name\"}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:\"Role\"}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:\"Action\"})]})}),/*#__PURE__*/_jsx(TableBody,{children:users.map(function(user,i){return/*#__PURE__*/_jsxs(TableRow,{children:[/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:i+1}),/*#__PURE__*/_jsx(TableCell,{component:\"th\",scope:\"row\",children:user.Email}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:user.UserName}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:user.Name}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:user.role.RoleName}),/*#__PURE__*/_jsxs(TableCell,{align:\"right\",children:[/*#__PURE__*/_jsx(Button,{component:NavLink,to:\"/users/edit/\"+user.id,variant:\"contained\",size:\"small\",className:classes.margin,children:\"Edit\"}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",size:\"small\",disabled:users.length<=1?true:false,className:classes.margin,onClick:function onClick(e){if(window.confirm(\"Delete the user?\")){handleClick(user.id,e);}},children:\"Delete\"})]})]},user.id);})})]})});}","map":{"version":3,"sources":["C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/src/components/pages/Users/UserList.jsx"],"names":["makeStyles","Table","TableBody","TableCell","TableContainer","TableHead","TableRow","Paper","Button","NavLink","useState","useEffect","userServices","userServ","useStyles","theme","table","minWidth","margin","spacing","extendedIcon","marginRight","BasicTable","props","classes","users","setUser","fetchUsers","getUsers","resp","data","console","log","deleteUsers","id","Promise","res","rej","handleClick","userDelete","success","alert","message","map","user","i","Email","UserName","Name","role","RoleName","length","e","window","confirm"],"mappings":"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","sourcesContent":["import { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { useState, useEffect } from \"react\";\r\nimport userServices from \"./UserServicesClass\";\r\nconst userServ = new userServices();\r\nconst useStyles = makeStyles((theme) => ({\r\n  table: {\r\n    minWidth: 650,\r\n  },\r\n  margin: {\r\n    margin: theme.spacing(1),\r\n  },\r\n\r\n  extendedIcon: {\r\n    marginRight: theme.spacing(1),\r\n  },\r\n}));\r\n\r\nexport default function BasicTable(props) {\r\n  const classes = useStyles();\r\n  const [users, setUser] = useState([]);\r\n  \r\n  useEffect(() => {\r\n    fetchUsers();\r\n  }, []);\r\n\r\n  async function fetchUsers() {\r\n    const resp = await userServ.getUsers();\r\n    setUser(resp.data);\r\n    console.log(\"FETCH USER SUCCESS!\");\r\n    return resp;\r\n  }\r\n\r\n  async function deleteUsers(id){\r\n    return new Promise(async (res,rej)=>{\r\n      try {\r\n        const resp = await userServ.deleteUsers(id)\r\n        console.log(\"DELETE USER SUCCESS !\")\r\n        res(resp)\r\n      } catch (error) {\r\n        rej(error)\r\n      }\r\n    })\r\n  }\r\n\r\n  async function handleClick(id) {\r\n    const userDelete = await deleteUsers(id)\r\n    if (userDelete.success) {\r\n      alert(userDelete.message);\r\n      fetchUsers();\r\n    } else {\r\n      alert(userDelete.message);\r\n    }\r\n    \r\n  }\r\n\r\n  return (\r\n    <TableContainer component={Paper}>\r\n      <Table className={classes.table} aria-label=\"simple table\">\r\n        <TableHead>\r\n          <TableRow>\r\n            <TableCell>No</TableCell>\r\n            <TableCell>Email</TableCell>\r\n            <TableCell align=\"right\">Username</TableCell>\r\n            <TableCell align=\"right\">Name</TableCell>\r\n            <TableCell align=\"right\">Role</TableCell>\r\n            <TableCell align=\"right\">Action</TableCell>\r\n          </TableRow>\r\n        </TableHead>\r\n        <TableBody>\r\n          {users.map((user, i) => (\r\n            <TableRow key={user.id}>\r\n              <TableCell align=\"right\">{i + 1}</TableCell>\r\n              <TableCell component=\"th\" scope=\"row\">\r\n                {user.Email}\r\n              </TableCell>\r\n              <TableCell align=\"right\">{user.UserName}</TableCell>\r\n              <TableCell align=\"right\">{user.Name}</TableCell>\r\n              <TableCell align=\"right\">{user.role.RoleName}</TableCell>\r\n              <TableCell align=\"right\">\r\n              \r\n                <Button\r\n                  component={NavLink}\r\n                  to={\"/users/edit/\" + user.id}\r\n                  variant=\"contained\"\r\n                  size=\"small\"\r\n                  className={classes.margin}\r\n                >\r\n                  Edit\r\n                </Button>\r\n                <Button\r\n                  variant=\"contained\"\r\n                  size=\"small\"\r\n                  disabled={users.length <= 1 ? true : false}\r\n                  className={classes.margin}\r\n                  onClick={(e) => {\r\n                    if (window.confirm(\"Delete the user?\")) {\r\n                      handleClick(user.id, e);\r\n                    }\r\n                  }}\r\n                >\r\n                  Delete\r\n                </Button>\r\n              </TableCell>\r\n            </TableRow>\r\n          ))}\r\n        </TableBody>\r\n      </Table>\r\n    </TableContainer>\r\n  );\r\n}\r\n"]},"metadata":{},"sourceType":"module"}