{"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 Chip from\"@material-ui/core/Chip\";import TagGroupServices from\"./TagGroupServicesClass\";import socketIOClient from\"socket.io-client\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var ENDPOINT=process.env.REACT_APP_BASE_URL;var TagGroupServ=new TagGroupServices();var socket={};var useStyles=makeStyles(function(theme){return{table:{minWidth:650},margin:{margin:theme.spacing(1)},extendedIcon:{marginRight:theme.spacing(1)},danger:{background:\"#DC004E\",color:\"white\"},success:{background:\"#48B330\",color:\"white\"},btnDetail:{background:\"#47AF83\",borderRadius:3,border:0,color:\"white\",boxShadow:\"0 3px 20px 2px rgb(151 151 151 / 42%)\",\"&:hover\":{background:\"#38A68A\"},margin:theme.spacing(1)}};});export default function BasicTable(props){var classes=useStyles();var _useState=useState([]),_useState2=_slicedToArray(_useState,2),tagGroups=_useState2[0],setTagGroups=_useState2[1];useEffect(function(){socket=socketIOClient(ENDPOINT);socket.on(\"toClientValues\",function(data){var html='';data.values.map(function(d){if(d!==null)html+=d['TagName']+\" : \"+d['TagValue']+\"\\r\\n\";return html;});alert(html);});getTagGroups();return function(){socket.removeAllListeners(\"toClientValues\");};},[props]);function getTagGroups(){return _getTagGroups.apply(this,arguments);}function _getTagGroups(){_getTagGroups=_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 TagGroupServ.getAll();case 2:resp=_context.sent;setTagGroups(resp.data);return _context.abrupt(\"return\",resp);case 5:case\"end\":return _context.stop();}}},_callee);}));return _getTagGroups.apply(this,arguments);}function handleClick(_x){return _handleClick.apply(this,arguments);}function _handleClick(){_handleClick=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id){var resp;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_context2.next=2;return TagGroupServ.delete(id);case 2:resp=_context2.sent;if(resp.success){alert(resp.message);getTagGroups();}else{alert(resp.message);}case 4:case\"end\":return _context2.stop();}}},_callee2);}));return _handleClick.apply(this,arguments);}function readValue(_x2){return _readValue.apply(this,arguments);}function _readValue(){_readValue=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id){var resp;return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:_context3.next=2;return TagGroupServ.findOne(id);case 2:resp=_context3.sent;_context3.next=5;return TagGroupServ.getValues(id,resp.data);case 5:case\"end\":return _context3.stop();}}},_callee3);}));return _readValue.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:\"Group Name\"}),/*#__PURE__*/_jsx(TableCell,{children:\"Table Name\"}),/*#__PURE__*/_jsx(TableCell,{children:\"Server\"}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:\"Status\"}),/*#__PURE__*/_jsx(TableCell,{align:\"right\",children:\"Action\"})]})}),/*#__PURE__*/_jsx(TableBody,{children:tagGroups.map(function(row,i){return/*#__PURE__*/_jsxs(TableRow,{children:[/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:i+1}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:row.TagGroupName}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:row.TagTableName}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:row.TagGroupServer}),/*#__PURE__*/_jsx(TableCell,{align:\"center\",children:row.Status===true?/*#__PURE__*/_jsx(Chip,{label:\"ON\",className:classes.success}):/*#__PURE__*/_jsx(Chip,{label:\"OFF\",className:classes.danger})}),/*#__PURE__*/_jsxs(TableCell,{align:\"right\",children:[/*#__PURE__*/_jsx(Button,{component:NavLink,to:\"/opc/tag-groups/detail/\"+row.id,variant:\"contained\",size:\"small\",className:classes.btnDetail,children:\"Detail\"}),/*#__PURE__*/_jsx(Button,{component:NavLink,to:\"/opc/tag-groups/edit/\"+row.id,variant:\"contained\",size:\"small\",className:classes.margin,children:\"Edit\"}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",size:\"small\",disabled:row.length<=1?true:false,className:classes.margin,onClick:function onClick(e){if(window.confirm(\"Delete Tag Group?\")){handleClick(row.id,e);}},children:\"Delete\"})]})]},row.id);})})]})});}","map":{"version":3,"sources":["C:/laragon/www/iot.mksolusi/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","getAll","resp","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"}