{"ast":null,"code":"var _jsxFileName = \"C:\\\\laragon\\\\www\\\\itokin\\\\DriverOPCDA\\\\frontend\\\\src\\\\components\\\\pages\\\\Users\\\\UserList.jsx\",\n    _s = $RefreshSig$();\n\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Button from \"@material-ui/core/Button\";\nimport { NavLink } from \"react-router-dom\";\nimport { useState, useEffect } from \"react\";\nimport userServices from \"./UserServicesClass\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst userServ = new userServices();\nconst useStyles = makeStyles(theme => ({\n  table: {\n    minWidth: 650\n  },\n  margin: {\n    margin: theme.spacing(1)\n  },\n  extendedIcon: {\n    marginRight: theme.spacing(1)\n  }\n}));\nexport default function BasicTable(props) {\n  _s();\n\n  const classes = useStyles();\n  const [users, setUser] = useState([]);\n  useEffect(() => {\n    fetchUsers();\n  }, []);\n\n  async function fetchUsers() {\n    const resp = await userServ.getUsers();\n    setUser(resp.data);\n    console.log(\"FETCH USER SUCCESS!\");\n    return resp;\n  }\n\n  async function deleteUsers(id) {\n    return new Promise(async (res, rej) => {\n      try {\n        const resp = await userServ.deleteUsers(id);\n        console.log(\"DELETE USER SUCCESS !\");\n        res(resp);\n      } catch (error) {\n        rej(error);\n      }\n    });\n  }\n\n  async function handleClick(id) {\n    const userDelete = await deleteUsers(id);\n\n    if (userDelete.success) {\n      alert(userDelete.message);\n      fetchUsers();\n    } else {\n      alert(userDelete.message);\n    }\n  }\n\n  return /*#__PURE__*/_jsxDEV(TableContainer, {\n    component: Paper,\n    children: /*#__PURE__*/_jsxDEV(Table, {\n      className: classes.table,\n      \"aria-label\": \"simple table\",\n      children: [/*#__PURE__*/_jsxDEV(TableHead, {\n        children: /*#__PURE__*/_jsxDEV(TableRow, {\n          children: [/*#__PURE__*/_jsxDEV(TableCell, {\n            children: \"No\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 70,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            children: \"Email\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 71,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: \"Username\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 72,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: \"Name\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 73,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: \"Role\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 74,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: \"Action\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 75,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 69,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 68,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(TableBody, {\n        children: users.map((user, i) => /*#__PURE__*/_jsxDEV(TableRow, {\n          children: [/*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: i + 1\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 81,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            component: \"th\",\n            scope: \"row\",\n            children: user.Email\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 82,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: user.UserName\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 85,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: user.Name\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 86,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: user.role.RoleName\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 87,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: [/*#__PURE__*/_jsxDEV(Button, {\n              component: NavLink,\n              to: \"/users/edit/\" + user.id,\n              variant: \"contained\",\n              size: \"small\",\n              className: classes.margin,\n              children: \"Edit\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 90,\n              columnNumber: 17\n            }, this), /*#__PURE__*/_jsxDEV(Button, {\n              variant: \"contained\",\n              size: \"small\",\n              disabled: users.length <= 1 ? true : false,\n              className: classes.margin,\n              onClick: e => {\n                if (window.confirm(\"Delete the user?\")) {\n                  handleClick(user.id, e);\n                }\n              },\n              children: \"Delete\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 99,\n              columnNumber: 17\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 88,\n            columnNumber: 15\n          }, this)]\n        }, user.id, true, {\n          fileName: _jsxFileName,\n          lineNumber: 80,\n          columnNumber: 13\n        }, this))\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 78,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 67,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 66,\n    columnNumber: 5\n  }, this);\n}\n\n_s(BasicTable, \"IsjrTn5Z+QrLhsPXSq8l/OL4y60=\", false, function () {\n  return [useStyles];\n});\n\n_c = BasicTable;\n\nvar _c;\n\n$RefreshReg$(_c, \"BasicTable\");","map":{"version":3,"sources":["C:/laragon/www/itokin/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","resp","getUsers","data","console","log","deleteUsers","id","Promise","res","rej","error","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"}