{"ast":null,"code":"var _jsxFileName = \"C:\\\\laragon\\\\www\\\\itokin\\\\DriverOPCDA\\\\frontend\\\\src\\\\components\\\\pages\\\\TagGroups\\\\TagGroupList.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 Chip from \"@material-ui/core/Chip\";\nimport TagGroupServices from \"./TagGroupServicesClass\";\nimport socketIOClient from \"socket.io-client\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst ENDPOINT = process.env.REACT_APP_BASE_URL;\nconst TagGroupServ = new TagGroupServices();\nvar socket = {};\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  danger: {\n    background: \"#DC004E\",\n    color: \"white\"\n  },\n  success: {\n    background: \"#48B330\",\n    color: \"white\"\n  },\n  btnDetail: {\n    background: \"#47AF83\",\n    borderRadius: 3,\n    border: 0,\n    color: \"white\",\n    boxShadow: \"0 3px 20px 2px rgb(151 151 151 / 42%)\",\n    \"&:hover\": {\n      background: \"#38A68A\"\n    },\n    margin: theme.spacing(1)\n  }\n}));\nexport default function BasicTable(props) {\n  _s();\n\n  const classes = useStyles();\n  const [tagGroups, setTagGroups] = useState([]);\n  useEffect(() => {\n    socket = socketIOClient(ENDPOINT);\n    socket.on(\"toClientValues\", data => {\n      let html = '';\n      data.values.map(d => {\n        if (d !== null) html += d['TagName'] + \" : \" + d['TagValue'] + \"\\r\\n\";\n        return html;\n      });\n      alert(html);\n    });\n    getTagGroups();\n    return () => {\n      socket.removeAllListeners(\"toClientValues\");\n    };\n  }, [props]);\n\n  async function getTagGroups() {\n    const resp = await TagGroupServ.getAll();\n    setTagGroups(resp.data);\n    return resp;\n  }\n\n  async function handleClick(id) {\n    const resp = await TagGroupServ.delete(id);\n\n    if (resp.success) {\n      alert(resp.message);\n      getTagGroups();\n    } else {\n      alert(resp.message);\n    }\n  }\n\n  async function readValue(id) {\n    const resp = await TagGroupServ.findOne(id); // let tags =[];\n    // tags = resp.data.tags.map((tag,i)=>{\n    //   return tag.TagAddress;\n    // });\n    // const payload = {\n    //   \"server\": resp.data.TagGroupServer,\n    //   \"tags\" : tags\n    // }\n\n    await TagGroupServ.getValues(id, resp.data);\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: 110,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            children: \"Group Name\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 111,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            children: \"Table Name\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 112,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            children: \"Server\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 113,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"left\",\n            children: \"Status\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 114,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: \"Action\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 115,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 109,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 108,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(TableBody, {\n        children: tagGroups.map((row, i) => /*#__PURE__*/_jsxDEV(TableRow, {\n          children: [/*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"left\",\n            children: i + 1\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 121,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"left\",\n            children: row.TagGroupName\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 122,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"left\",\n            children: row.TagTableName\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 123,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"left\",\n            children: row.TagGroupServer\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 124,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"center\",\n            children: row.Status === true ? /*#__PURE__*/_jsxDEV(Chip, {\n              label: \"ON\",\n              className: classes.success\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 127,\n              columnNumber: 19\n            }, this) : /*#__PURE__*/_jsxDEV(Chip, {\n              label: \"OFF\",\n              className: classes.danger\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 129,\n              columnNumber: 19\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 125,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(TableCell, {\n            align: \"right\",\n            children: [/*#__PURE__*/_jsxDEV(Button, {\n              component: NavLink,\n              to: \"/opc/tag-groups/detail/\" + row.id,\n              variant: \"contained\",\n              size: \"small\",\n              className: classes.btnDetail,\n              children: \"Detail\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 143,\n              columnNumber: 17\n            }, this), /*#__PURE__*/_jsxDEV(Button, {\n              component: NavLink,\n              to: \"/opc/tag-groups/edit/\" + row.id,\n              variant: \"contained\",\n              size: \"small\",\n              className: classes.margin,\n              children: \"Edit\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 153,\n              columnNumber: 17\n            }, this), /*#__PURE__*/_jsxDEV(Button, {\n              variant: \"contained\",\n              size: \"small\",\n              disabled: row.length <= 1 ? true : false,\n              className: classes.margin,\n              onClick: e => {\n                if (window.confirm(\"Delete Tag Group?\")) {\n                  handleClick(row.id, e);\n                }\n              },\n              children: \"Delete\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 162,\n              columnNumber: 17\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 132,\n            columnNumber: 15\n          }, this)]\n        }, row.id, true, {\n          fileName: _jsxFileName,\n          lineNumber: 120,\n          columnNumber: 13\n        }, this))\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 118,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 107,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 106,\n    columnNumber: 5\n  }, this);\n}\n\n_s(BasicTable, \"TPetMeqR/aiE4mvA8KUjWYJEJIM=\", 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/TagGroups/TagGroupList.jsx"],"names":["makeStyles","Table","TableBody","TableCell","TableContainer","TableHead","TableRow","Paper","Button","NavLink","useState","useEffect","Chip","TagGroupServices","socketIOClient","ENDPOINT","process","env","REACT_APP_BASE_URL","TagGroupServ","socket","useStyles","theme","table","minWidth","margin","spacing","extendedIcon","marginRight","danger","background","color","success","btnDetail","borderRadius","border","boxShadow","BasicTable","props","classes","tagGroups","setTagGroups","on","data","html","values","map","d","alert","getTagGroups","removeAllListeners","resp","getAll","handleClick","id","delete","message","readValue","findOne","getValues","row","i","TagGroupName","TagTableName","TagGroupServer","Status","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 Chip from \"@material-ui/core/Chip\";\r\n\r\nimport TagGroupServices from \"./TagGroupServicesClass\";\r\nimport socketIOClient from \"socket.io-client\";\r\nconst ENDPOINT = process.env.REACT_APP_BASE_URL;\r\nconst TagGroupServ = new TagGroupServices();\r\nvar socket = {};\r\n\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  danger: {\r\n    background: \"#DC004E\",\r\n    color: \"white\",\r\n  },\r\n  success: {\r\n    background: \"#48B330\",\r\n    color: \"white\",\r\n  },\r\n  btnDetail: {\r\n    background: \"#47AF83\",\r\n    borderRadius: 3,\r\n    border: 0,\r\n    color: \"white\",\r\n    boxShadow: \"0 3px 20px 2px rgb(151 151 151 / 42%)\",\r\n    \"&:hover\": {\r\n      background: \"#38A68A\",\r\n    },\r\n    margin: theme.spacing(1),\r\n  },\r\n}));\r\n\r\nexport default function BasicTable(props) {\r\n  const classes = useStyles();\r\n  const [tagGroups, setTagGroups] = useState([]);\r\n\r\n  useEffect(() => {\r\n    socket = socketIOClient(ENDPOINT);\r\n    \r\n    socket.on(\"toClientValues\", (data) => {\r\n      let html = ''\r\n      data.values.map((d) => {\r\n        if(d !== null)\r\n          html += d['TagName'] + \" : \" + d['TagValue'] + \"\\r\\n\";\r\n        return html\r\n      });\r\n      alert(html);\r\n    });\r\n\r\n    \r\n    getTagGroups();\r\n    return () => {\r\n      socket.removeAllListeners(\"toClientValues\");\r\n    };\r\n  }, [props]);\r\n\r\n  async function getTagGroups() {\r\n    const resp = await TagGroupServ.getAll();\r\n    setTagGroups(resp.data);\r\n    return resp;\r\n  }\r\n\r\n  async function handleClick(id) {\r\n    const resp = await TagGroupServ.delete(id);\r\n    if (resp.success) {\r\n      alert(resp.message);\r\n      getTagGroups();\r\n    } else {\r\n      alert(resp.message);\r\n    }\r\n  }\r\n\r\n  async function readValue(id) {\r\n    const resp =  await TagGroupServ.findOne(id)\r\n    // let tags =[];\r\n    // tags = resp.data.tags.map((tag,i)=>{\r\n    //   return tag.TagAddress;\r\n    // });\r\n    // const payload = {\r\n    //   \"server\": resp.data.TagGroupServer,\r\n    //   \"tags\" : tags\r\n    // }\r\n    await TagGroupServ.getValues(id, resp.data);\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>Group Name</TableCell>\r\n            <TableCell>Table Name</TableCell>\r\n            <TableCell>Server</TableCell>\r\n            <TableCell align=\"left\">Status</TableCell>\r\n            <TableCell align=\"right\">Action</TableCell>\r\n          </TableRow>\r\n        </TableHead>\r\n        <TableBody>\r\n          {tagGroups.map((row, i) => (\r\n            <TableRow key={row.id}>\r\n              <TableCell align=\"left\">{i + 1}</TableCell>\r\n              <TableCell align=\"left\">{row.TagGroupName}</TableCell>\r\n              <TableCell align=\"left\">{row.TagTableName}</TableCell>\r\n              <TableCell align=\"left\">{row.TagGroupServer}</TableCell>\r\n              <TableCell align=\"center\">\r\n                {row.Status === true ? (\r\n                  <Chip label={\"ON\"} className={classes.success} />\r\n                ) : (\r\n                  <Chip label={\"OFF\"} className={classes.danger} />\r\n                )}\r\n              </TableCell>\r\n              <TableCell align=\"right\">\r\n                {/* <Button\r\n                  variant=\"contained\"\r\n                  size=\"small\"\r\n                  className={classes.btnDetail}\r\n                  onClick={(e) => {\r\n                    readValue(row.id);\r\n                  }}\r\n                >\r\n                  Read\r\n                </Button> */}\r\n                <Button\r\n                  component={NavLink}\r\n                  to={\"/opc/tag-groups/detail/\" + row.id}\r\n                  variant=\"contained\"\r\n                  size=\"small\"\r\n                  className={classes.btnDetail}\r\n                >\r\n                  Detail\r\n                </Button>\r\n\r\n                <Button\r\n                  component={NavLink}\r\n                  to={\"/opc/tag-groups/edit/\" + row.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={row.length <= 1 ? true : false}\r\n                  className={classes.margin}\r\n                  onClick={(e) => {\r\n                    if (window.confirm(\"Delete Tag Group?\")) {\r\n                      handleClick(row.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"}