{"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 _classCallCheck from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";import _createClass from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";import _assertThisInitialized from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized\";import _inherits from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits\";import _createSuper from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper\";import React from\"react\";import{withStyles}from\"@material-ui/core/styles\";import{Grid,Box}from\"@material-ui/core\";import Button from\"@material-ui/core/Button\";import{withRouter}from\"react-router-dom\";import{ValidatorForm,TextValidator}from\"react-material-ui-form-validator\";import roleServices from\"./RoleServicesClass\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var roleServ=new roleServices();var useStyles=function useStyles(theme){return{root:{\"& .MuiTextField-root\":{margin:theme.spacing(1),width:\"90%\"}},gridColor:{background:\"white\"},button:{marginTop:theme.spacing(1),color:\"#ffffff\",background:theme.palette.success.main,\"&:hover\":{backgroundColor:theme.palette.success.dark,borderColor:theme.palette.success.light,boxShadow:\"none\"}},form:{background:\"white\"},textField:{width:\"100%\",marginTop:10},selectField:{width:\"100%\",marginTop:20}};};var RoleFormEdit=/*#__PURE__*/function(_React$Component){_inherits(RoleFormEdit,_React$Component);var _super=_createSuper(RoleFormEdit);function RoleFormEdit(props){var _this;_classCallCheck(this,RoleFormEdit);_this=_super.call(this,props);_this.state={role:{RoleName:\"\",Description:\"\"}};_this.handleChange=function(event){var role=_this.state.role;role[event.target.name]=event.target.value;_this.setState({role:role});};_this.handleSubmit=/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(){var role,paramInsert,resp;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:role=_this.state.role;paramInsert={RoleName:role.RoleName,Description:role.Description};// save role data\n_context.next=4;return roleServ.updateRole(_this.props.match.params.id,paramInsert);case 4:resp=_context.sent;if(resp.success){alert(resp.message);_this.onSuccess();}else{alert(resp.message);}case 6:case\"end\":return _context.stop();}}},_callee);}));_this.onSuccess=_this.onSuccess.bind(_assertThisInitialized(_this));return _this;}_createClass(RoleFormEdit,[{key:\"onSuccess\",value:function onSuccess(e){this.props.history.push(\"/roles\");}},{key:\"findRole\",value:function(){var _findRole=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id){var resp,data,role;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_context2.next=2;return roleServ.findRole(id);case 2:resp=_context2.sent;data=resp.data;if(data!=null){role=this.state.role;role[\"RoleName\"]=data.RoleName;role[\"Description\"]=data.Description;this.setState({role:role});}console.log(this.state);case 6:case\"end\":return _context2.stop();}}},_callee2,this);}));function findRole(_x){return _findRole.apply(this,arguments);}return findRole;}()},{key:\"componentDidMount\",value:function componentDidMount(){this.findRole(this.props.match.params.id);}},{key:\"componentWillUnmount\",value:function componentWillUnmount(){}},{key:\"render\",value:function render(){var classes=this.props.classes;var role=this.state.role;return/*#__PURE__*/_jsx(Grid,{container:true,spacing:1,children:/*#__PURE__*/_jsx(Grid,{item:true,lg:5,xs:12,children:/*#__PURE__*/_jsx(Box,{p:3,boxShadow:3,className:classes.form,children:/*#__PURE__*/_jsxs(ValidatorForm,{ref:\"form\",onSubmit:this.handleSubmit,onError:function onError(errors){return console.log(errors);},children:[/*#__PURE__*/_jsx(TextValidator,{label:\"Role name\",onChange:this.handleChange,name:\"RoleName\",value:role.RoleName,validators:[\"required\"],errorMessages:[\"this field is required\"],className:classes.textField}),/*#__PURE__*/_jsx(TextValidator,{label:\"Description\",onChange:this.handleChange,name:\"Description\",value:role.Description,validators:[],errorMessages:[],className:classes.textField}),/*#__PURE__*/_jsx(Button,{type:\"submit\",className:classes.button,children:\"Submit\"})]})})})});}}]);return RoleFormEdit;}(React.Component);export default withRouter(withStyles(useStyles)(RoleFormEdit));","map":{"version":3,"sources":["C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/src/components/pages/Roles/RoleFormEdit.jsx"],"names":["React","withStyles","Grid","Box","Button","withRouter","ValidatorForm","TextValidator","roleServices","roleServ","useStyles","theme","root","margin","spacing","width","gridColor","background","button","marginTop","color","palette","success","main","backgroundColor","dark","borderColor","light","boxShadow","form","textField","selectField","RoleFormEdit","props","state","role","RoleName","Description","handleChange","event","target","name","value","setState","handleSubmit","paramInsert","updateRole","match","params","id","resp","alert","message","onSuccess","bind","e","history","push","findRole","data","console","log","classes","errors","Component"],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { Grid, Box } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { ValidatorForm, TextValidator } from \"react-material-ui-form-validator\";\r\n\r\nimport roleServices from \"./RoleServicesClass\";\r\nconst roleServ = new roleServices();\r\n\r\nconst useStyles = (theme) => ({\r\n  root: {\r\n    \"& .MuiTextField-root\": {\r\n      margin: theme.spacing(1),\r\n      width: \"90%\",\r\n    },\r\n  },\r\n  gridColor: {\r\n    background: \"white\",\r\n  },\r\n  button: {\r\n    marginTop: theme.spacing(1),\r\n    color: \"#ffffff\",\r\n    background: theme.palette.success.main,\r\n    \"&:hover\": {\r\n      backgroundColor: theme.palette.success.dark,\r\n      borderColor: theme.palette.success.light,\r\n      boxShadow: \"none\",\r\n    },\r\n  },\r\n  form: {\r\n    background: \"white\",\r\n  },\r\n  textField: {\r\n    width: \"100%\",\r\n    marginTop: 10,\r\n  },\r\n  selectField: {\r\n    width: \"100%\",\r\n    marginTop: 20,\r\n  },\r\n});\r\nclass RoleFormEdit extends React.Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.onSuccess = this.onSuccess.bind(this);\r\n  }\r\n  state = {\r\n    role: {\r\n      RoleName: \"\",\r\n      Description: \"\",\r\n    },\r\n  };\r\n\r\n  onSuccess(e) {\r\n    this.props.history.push(\"/roles\");\r\n  }\r\n\r\n  handleChange = (event) => {\r\n    const { role } = this.state;\r\n    role[event.target.name] = event.target.value;\r\n    this.setState({ role });\r\n  };\r\n\r\n  handleSubmit = async () => {\r\n    const { role } = this.state;\r\n    const paramInsert = {\r\n      RoleName: role.RoleName,\r\n      Description: role.Description,\r\n    };\r\n\r\n    // save role data\r\n    const resp = await roleServ.updateRole(\r\n      this.props.match.params.id,\r\n      paramInsert\r\n    );\r\n    if (resp.success) {\r\n      alert(resp.message);\r\n      this.onSuccess();\r\n    } else {\r\n      alert(resp.message);\r\n    }\r\n  };\r\n\r\n  async findRole(id) {\r\n    const resp = await roleServ.findRole(id);\r\n    const data = resp.data;\r\n    if (data != null) {\r\n      const { role } = this.state;\r\n      role[\"RoleName\"] = data.RoleName;\r\n      role[\"Description\"] = data.Description;\r\n      this.setState({ role });\r\n    }\r\n    console.log(this.state);\r\n  }\r\n\r\n  componentDidMount() {\r\n      this.findRole(this.props.match.params.id);\r\n  }\r\n\r\n  componentWillUnmount() {}\r\n\r\n  render() {\r\n    const { classes } = this.props;\r\n    const { role } = this.state;\r\n\r\n    return (\r\n      <Grid container spacing={1}>\r\n        <Grid item lg={5} xs={12}>\r\n          <Box p={3} boxShadow={3} className={classes.form}>\r\n            <ValidatorForm\r\n              ref=\"form\"\r\n              onSubmit={this.handleSubmit}\r\n              onError={(errors) => console.log(errors)}\r\n            >\r\n              <TextValidator\r\n                label=\"Role name\"\r\n                onChange={this.handleChange}\r\n                name=\"RoleName\"\r\n                value={role.RoleName}\r\n                validators={[\"required\"]}\r\n                errorMessages={[\"this field is required\"]}\r\n                className={classes.textField}\r\n              />\r\n              <TextValidator\r\n                label=\"Description\"\r\n                onChange={this.handleChange}\r\n                name=\"Description\"\r\n                value={role.Description}\r\n                validators={[]}\r\n                errorMessages={[]}\r\n                className={classes.textField}\r\n              />\r\n\r\n              <Button type=\"submit\" className={classes.button}>\r\n                Submit\r\n              </Button>\r\n            </ValidatorForm>\r\n          </Box>\r\n        </Grid>\r\n      </Grid>\r\n    );\r\n  }\r\n}\r\n\r\nexport default withRouter(withStyles(useStyles)(RoleFormEdit));\r\n"]},"metadata":{},"sourceType":"module"}