MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/orgchart.imenso.co/build/static/js/main.2180b1b5.chunk.js.map
{"version":3,"sources":["Screens/Home.js","images/logo-adib.png","Components/Sidebar.js","Screens/dashboard.js","Screens/my-node.js","images/pdf.svg","Screens/Chart.js","App.js","reportWebVitals.js","index.js"],"names":["Login","props","history","useHistory","useState","email","password","user","setUser","useEffect","localStorage","getItem","push","className","style","width","onSubmit","e","preventDefault","fetch","method","body","JSON","stringify","headers","then","res","json","data","status","setItem","token","alert","backgroundColor","padding","borderRadius","fontFamily","textAlign","class","for","type","id","placeholder","aria-describedby","value","onChange","target","disabled","length","Navbar","sidebar","setSidebar","settoken","showSidebar","Provider","color","to","onClick","on","col","marginRight","removeItem","Dashboard","state","error","fileupload","isLoading","uploadPercentage","selectedFile","message","handleInputChange","bind","event","this","upload","setState","files","fetchtask","submit","FormData","append","console","warn","options","onUploadProgress","progressEvent","loaded","total","percent","Math","floor","log","axios","post","url","setTimeout","handleClear","a","response","fileInputKey","Date","now","Fragment","src","Logo","alt","minWidth","Button","size","height","marginLeft","variant","marginTop","ProgressBar","active","label","handleTable","map","index","file_name","date_and_time","React","Component","MyNode","nodeData","onLoad","window","scrollTo","name","title","Home","printDocument","handleLoading","html2canvas","inputRef","current","canvas","imgData","toDataURL","pdf","jsPDF","imgProps","getImageProperties","pdfWidth","internal","pageSize","getWidth","pdfHeight","addImage","save","pdfExportComponent","createRef","tasks","level","group","sub_division","department","Dept","responseJson","catch","fetchDepartment","handleLevel","cursor","HandleSubDivision","HandleDepartment","department_n4","PdfIcon","ref","datasource","chartClass","NodeTemplate","zoom","App","exact","path","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.2180b1b5.chunk.js","sourcesContent":["import React, { useState ,useEffect } from \"react\"\r\nimport { useHistory } from 'react-router';\r\nimport '../App.css'\r\n\r\nexport default function Login(props ) {\r\n  let history = useHistory();\r\n  const [user, setUser] = useState({email:\"\" , password:\"\"})\r\n  \r\n  function validateForm() {\r\n    return user.email.length > 0 && user.password.length > 0;  \r\n  }\r\n  useEffect(() => {\r\n    if(localStorage.getItem(\"token\")){\r\n      history.push(\"/charts\")\r\n    }\r\n  }, [])\r\n    const handleSubmit = (e) => {   \r\n      e.preventDefault();\r\n      fetch('http://chartapi.imenso.co/api/login', {\r\n        method: 'POST',\r\n        body: JSON.stringify({ email:user.email ,password:user.password}),\r\n        headers: { \r\n          'Accept': 'application/json',\r\n          'Content-Type': 'application/json',\r\n        },\r\n      })\r\n        .then(res => res.json())\r\n        .then(data => {\r\n          if(data.status === \"success\"){\r\n            localStorage.setItem(\"token\" ,data.token)\r\n            history.push(\"/charts\")\r\n          }\r\n          else{\r\n            alert(\"Invalid username / Password\")\r\n          }\r\n          // localStorage.setItem(\"token\" ,token)\r\n          //   history.push(\"/dashboard\")   \r\n        })\r\n      }\r\n  return (\r\n    <>\r\n      <div className=\"App-header\">\r\n        <div style={{ width: \"400px\" }}>\r\n          <form  onSubmit={handleSubmit}\r\n          style={{ backgroundColor: \"teal\", padding: \"50px\", borderRadius: \"25px\" }}>\r\n            <h3 style={{ fontFamily: \"sans-serif\", textAlign: \"center\",fontFamily:\"sans-serif\",fontWeight:\"200\",fontSize:\"25px\" }} class=\"mb-4\">LOGIN</h3>\r\n            <div >\r\n              <label for=\"exampleInputEmail1\" className=\"form-label\">Email address</label>\r\n              <input\r\n                type=\"email\"\r\n                className=\"form-control\"\r\n                id=\"exampleInputEmail1\"\r\n                placeholder=\"Email Address\"\r\n                aria-describedby=\"emailHelp\"\r\n                value={user.email}\r\n                onChange={e => setUser({ ...user, email: e.target.value })}\r\n\r\n              />\r\n              <div id=\"emailHelp\" className=\"form-text\"></div>\r\n            </div>\r\n            <div >\r\n              <label for=\"exampleInputPassword1\" className=\"form-label\" > Password</label>\r\n              <input\r\n                type=\"password\"\r\n                className=\"form-control\"\r\n                id=\"exampleInputPassword1\"\r\n                placeholder=\"Password\"\r\n                value={user.password}\r\n                onChange={e => setUser({ ...user, password: e.target.value})}\r\n              />\r\n            </div>\r\n\r\n            <div style={{ textAlign: \"center\"}} className=\"mt-4\">\r\n              <button\r\n                type=\"submit\"\r\n                \r\n                className=\"btn btn-light w-100\"\r\n                \r\n                disabled={!validateForm()}\r\n              >  Login\r\n              </button>\r\n              \r\n            </div>\r\n          </form>\r\n        </div>\r\n      </div>\r\n    </>\r\n  )\r\n}\r\n\r\n","export default __webpack_public_path__ + \"static/media/logo-adib.7d4ea3cd.png\";","import React, { useState } from 'react';\r\nimport * as FaIcons from 'react-icons/fa';\r\nimport * as AiIcons from 'react-icons/fi';\r\nimport * as IoIcons from 'react-icons/io'; \r\nimport { Link } from 'react-router-dom';\r\nimport '../style/sidebar.css'\r\nimport { IconContext } from 'react-icons';\r\nimport {AiFillHome ,AiOutlineLogin} from 'react-icons/ai'\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\n\r\nfunction Navbar() {\r\n  let history = useHistory();\r\n\r\n  const [sidebar, setSidebar] = useState(false);\r\n  const [token  ,  settoken ] = useState(localStorage.getItem(\"token\"))\r\n  const showSidebar = () => setSidebar(!sidebar);\r\n  \r\n  \r\n   function Logout() {\r\n    localStorage.removeItem(\"token\");\r\n     settoken('')\r\n     history.push('/')\r\n  }\r\n  \r\n  return (\r\n    <>\r\n      <IconContext.Provider value={{ color: '#fff' }}>\r\n          <button type=\"button\" class=\"btn\">\r\n              <Link to='#' className='menu-bars'>\r\n            <FaIcons.FaBars color=\"black\" onClick={showSidebar} />\r\n          </Link></button>\r\n        <nav className={sidebar ? 'nav-menu active' : 'nav-menu'}>\r\n          <ul className='nav-menu-items' onClick={showSidebar}>\r\n            <li className='navbar-toggle'>\r\n              <Link to='#' on className='menu-bars_close'>\r\n                <AiIcons.FiX col />\r\n              </Link>\r\n            </li>\r\n            <li className=\"nav-text\">\r\n              \r\n              <Link to=\"/\"><AiFillHome style={{marginRight:\"5px\"}} />Home</Link>\r\n            </li>\r\n            <li className=\"nav-text\">\r\n            \r\n              <Link to=\"/dashboard\"><IoIcons.IoIosPaper style={{marginRight:\"5px\"}} />DashBoard</Link>\r\n            </li>\r\n            <li className=\"nav-text\">\r\n              \r\n              <Link onClick={Logout}><AiOutlineLogin style={{marginRight:\"5px\"}} />  Logout</Link>\r\n            </li>\r\n                       \r\n          </ul>\r\n        </nav>\r\n      </IconContext.Provider>\r\n    </>\r\n  );\r\n}\r\n\r\nexport default Navbar;","import React from 'react'\r\nimport Logo from '../images/logo-adib.png'\r\nimport axios from 'axios';\r\nimport '../style/bootstrap.min.css'\r\nimport '../style/tree_maker.css'\r\nimport { Redirect } from 'react-router';\r\nimport Navbar from '../Components/Sidebar';\r\nimport { ProgressBar, Button, Form } from 'react-bootstrap';\r\n\r\nclass Dashboard extends React.Component {\r\n  constructor() {\r\n    super();\r\n    this.state = {\r\n      error: \"\",\r\n      fileupload: '',\r\n      isLoading: false,\r\n      uploadPercentage: 0,\r\n      selectedFile: '',\r\n      token: localStorage.getItem(\"token\"),\r\n      data: [],\r\n      message: \"\",\r\n      value: ''\r\n      \r\n    }\r\n    this.handleInputChange = this.handleInputChange.bind(this);\r\n  }\r\n\r\n  handleInputChange(event) {\r\n    this.upload()\r\n    this.setState({\r\n      selectedFile: event.target.files[0],\r\n      value: event.target.value,\r\n      message: \"\",\r\n     \r\n    })\r\n  }\r\n\r\n  componentDidMount() {\r\n    this.fetchtask()\r\n  }\r\n\r\n  upload() {\r\n    if (!this.state.selectedFile) {\r\n      this.setState({\r\n        message: \"Please Select File\",   \r\n      })\r\n    }\r\n    else {\r\n      this.submit() \r\n      this.setState({\r\n        message:this.state.message\r\n      })\r\n      \r\n    }\r\n  }\r\n\r\n  submit() {\r\n    const data = new FormData()\r\n    data.append('file', this.state.selectedFile)\r\n\r\n    console.warn(this.state.selectedFile);\r\n\r\n    let url = \"http://chartapi.imenso.co/api/upload\";\r\n    const options = {\r\n      onUploadProgress: (progressEvent) => {\r\n        const { loaded, total } = progressEvent;\r\n        let percent = Math.floor((loaded * 100) / total)\r\n        console.log(`${loaded}kb of ${total}kb | ${percent}%`);\r\n\r\n        if (percent < 100) {\r\n          this.setState({\r\n            uploadPercentage: percent,\r\n          \r\n          })\r\n          this.fetchtask()\r\n        }\r\n      }\r\n    }\r\n\r\n    axios.post(url, data, options, { // receive two parameter endpoint url ,form data \r\n    })\r\n      .then(res => {\r\n        console.log(res);\r\n        this.setState({\r\n          selectedFile: res.data.url,\r\n          uploadPercentage: 100,\r\n          message: res.data.message\r\n        },\r\n          () => {\r\n            setTimeout(() => {\r\n              this.setState({\r\n                uploadPercentage: 0,\r\n                selectedFile:'',             \r\n              })\r\n              this.fetchtask()\r\n              this.handleClear()\r\n            }, 1000);\r\n          })\r\n      })\r\n  }\r\n\r\n  async fetchtask() {\r\n    const url = \"http://chartapi.imenso.co/api/getData\";\r\n    const response = await fetch(url);\r\n    const data = await response.json();\r\n\r\n    this.setState({\r\n      data: data,\r\n      \r\n    })\r\n  }\r\n\r\n  handleClear() {\r\n    this.setState({\r\n      selectedFile: '',\r\n      fileInputKey: Date.now(),\r\n      message:this.state.message\r\n    });\r\n  }\r\n\r\n  render() {\r\n    if (!this.state.token) {\r\n      return <Redirect to=\"/\" />\r\n    }\r\n    const { uploadPercentage } = this.state;\r\n\r\n    return (\r\n      <React.Fragment>\r\n        <section className=\"main bg-light\">\r\n          <div >\r\n            <div className=\"\">\r\n              <div className=\"container-fluid\">\r\n                <div className=\"d-flex justify-content-between align-items-center\">\r\n                  <div className=\"d-flex align-items-center\">\r\n                    <Navbar />\r\n                    <div className=\"brand-logo mr-3\">\r\n                      <img src={Logo} alt=\"logo\" />\r\n                    </div>\r\n                    <h1 className=\"mb-0 border-left pl-3\">Organisation Chart </h1>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </section>\r\n\r\n        <div className=\"container mt-4\">\r\n          <div className=\"col-12 w-4 alert alert-secondary justify-content-between\">\r\n            <div className=\"custom-file justify-content-center\" style={{ width: \"400px\" }}>\r\n              <div className=\"d-flex justify-content-center\">\r\n              <input type=\"file\" className=\"form-control profile-pic-uploader\" style={{ minWidth: \"230px\" }} key={this.state.fileInputKey} onChange={this.handleInputChange} />\r\n                <Button size=\"sm\" style={{height:\"38px\",marginLeft:'50px'}} variant=\"info\" onClick={() => this.upload()} > Upload! </Button >\r\n              </div>\r\n              <div style={{ color: \"red\" }}>{this.state.message}</div>\r\n              <div style={{marginTop:\"10px\"}}>\r\n              { uploadPercentage > 0 && <ProgressBar now={uploadPercentage} active label={`${uploadPercentage}%`} /> }\r\n              </div>\r\n            </div>\r\n            \r\n          </div>\r\n          <div className=\"col-12 mt-5\" onChange={() => this.handleTable()}>\r\n            <table className=\"table table-striped\">\r\n              <thead className>\r\n                <tr>\r\n                  <th>Id</th>\r\n                  <th>Date</th>\r\n                  <th>FileName</th>\r\n                </tr>\r\n              </thead>\r\n              <tbody>\r\n                {this.state.data.map((user, index) => (\r\n\r\n                  <tr key={index}>\r\n                    <td>{index + 1}</td>                 \r\n                    <td>{user.file_name}</td>\r\n                    <td>{user.date_and_time}</td>\r\n                  </tr>\r\n                ))}\r\n              </tbody>\r\n            </table>\r\n          </div>\r\n        </div>\r\n      </React.Fragment>\r\n    );\r\n  }\r\n}\r\n\r\nexport default Dashboard","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport \"../style/my-node.css\";\n\nconst propTypes = {\n  nodeData: PropTypes.object.isRequired\n};\n\nconst MyNode = ({ nodeData }) => {\n function moveLeft()\n  {\n   window.scrollTo(500, 100);\n }\n\n\n  return (\n    <div onLoad={()=>moveLeft()}>\n      <div className=\"fullname\">{nodeData.name}</div>\n      <div className=\"position\">{nodeData.title}</div>\n      <div className=\"id\">{nodeData.id}</div>\n      </div>\n  );\n};\n\nMyNode.propTypes = propTypes;\n\nexport default MyNode;\n","export default __webpack_public_path__ + \"static/media/pdf.34c48f5a.svg\";","import React from \"react\";\nimport OrganizationChart from \"@dabeng/react-orgchart\";\nimport MyNode from \"./my-node\";\nimport html2canvas from \"html2canvas\";\nimport { jsPDF } from \"jspdf\";\nimport PdfIcon from '../images/pdf.svg'\nimport Logo from '../images/logo-adib.png'\nimport '../style/bootstrap.min.css'\nimport '../style/tree_maker.css'\nimport Navbar from \"../Components/Sidebar\";\nimport { Redirect } from 'react-router-dom'\nimport { Button } from 'react-bootstrap'\nimport { PDFExport, savePDF } from \"@progress/kendo-react-pdf\";\n\n\nexport default class Home extends React.Component {\n  constructor() {\n    super();\n    this.handleLoading = this.handleLoading.bind(this);\n    \n    this.pdfExportComponent = React.createRef(null)\n    const messagesEndRef = React.createRef(null)\n    this.inputRef = React.createRef();\n    this.state = {\n      tasks: [],\n      level: \"N1\",\n      group: \"\",\n      sub_division: \"\",\n      token: localStorage.getItem(\"token\"),\n      isLoading: false,\n      department: '',\n      Dept: []\n    }\n  }\n\n  componentDidMount() {\n\n    this.fetchtask()\n  }\n\n  //Fetch data to show Dept of Tree \n\n  fetchtask() {\n    fetch('http://chartapi.imenso.co/api/getTreeData', {\n      method: 'POST',\n      headers: {\n        \"Accept\": 'application/json',\n        'Content-Type': 'application/json',\n      },\n      body: JSON.stringify({\n        level: this.state.level,\n        department: this.state.department,\n        sub_division: this.state.sub_division,\n        group: this.state.group,\n      })\n    })\n      .then((response) => response.json())\n      .then((responseJson) => {\n        console.log(responseJson)\n        this.setState({\n          tasks: responseJson.data,\n          department:\"\"\n          // department:responseJson.data.department \n        })\n        console.log(this.state.tasks)\n      })\n      .catch((error) => {\n        // reject(error);\n      });\n  }\n\n  fetchDepartment() {\n    fetch('http://chartapi.imenso.co/api/getDepartment', {\n      method: 'POST',\n      headers: {\n        \"Accept\": 'application/json',\n        'Content-Type': 'application/json',\n      },\n      body: JSON.stringify({\n        sub_division: this.state.sub_division,\n      })\n    })\n      .then((response) => response.json())\n      .then((responseJson) => {\n        this.setState({\n          Dept: responseJson.department,\n          department:''\n        })\n        console.log(this.state.department)\n      })\n      .catch((error) => {\n        // reject(error);\n      });\n  }\n\n  handleLevel(e) {\n    this.setState({\n      level: e\n    }, () => {\n      this.fetchtask();\n    });\n  }\n  handleGroup(e) {\n    this.setState({\n      group: e\n    }, () => {\n      this.fetchtask();\n    });\n  }\n\n  HandleSubDivision(e) {\n    this.setState({\n      sub_division: e\n    }, () => {     \n      this.fetchtask();\n      this.fetchDepartment();\n    });\n  }\n\n  HandleDepartment(e) {\n    this.setState({\n      department: e,\n    }, () => {\n      this.fetchtask();\n    });\n  }\n\n  //PDF Function\n  printDocument = () => {\n    this.handleLoading() //called Loading Function Here\n    html2canvas(this.inputRef.current).then((canvas) => {\n      const imgData = canvas.toDataURL(\"image/.png\");\n      let pdf = new jsPDF(\"l\", \"mm\", \"a0\");\n      \n      const imgProps = pdf.getImageProperties(imgData);\n      const pdfWidth = pdf.internal.pageSize.getWidth();\n      const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;\n\n      pdf.addImage(imgData, 'JPEG', 0, 0, pdfWidth, pdfHeight);\n      pdf.save(\"OrgChart.pdf\");\n    });\n  };\n\n  //Loading Function when Saving PDF current view\n  handleLoading(e) {\n    this.setState({\n      isLoading: true\n    }, () => {\n      setTimeout(() => {\n        this.setState({\n          isLoading: false\n        })\n      }, 2000);\n    });\n  }\n\n \n\n  render() {\n    if (!this.state.token) {\n      return <Redirect to=\"/\" />\n    }\n    return (\n      <React.Fragment>\n        <section className=\"main bg-light\">\n          <div className=\"action-btn \">\n            <div className=\"d-flex justify-content-end \">\n\n              <div className=\"mr-4\">\n                <select\n\n                  value={this.state.level}\n                  onChange={(e) => this.handleLevel(e.target.value)}\n                  className=\"form-control\"\n                  style={{ cursor: \"pointer\" }}\n                >\n                  <option value=\"N1\">Select Level</option>\n                  <option value=\"N2\">n2</option>\n                  <option value=\"N3\">n3</option>\n                  <option value=\"N4\">n4</option>\n                  <option value=\"N5\">n5</option>\n                </select>\n              </div>\n\n              <div className=\"mr-4\">\n                <select\n                  value={this.state.sub_division}\n                  onChange={(e) => this.HandleSubDivision(e.target.value)}\n                  className=\"form-control\"\n                  style={{ cursor: \"pointer\" }}\n                >\n                  <option value=\"\">Sub Division</option>\n                  <option value=\"Sub_Division 1\">Sub Division 1</option>\n                  <option value=\"Sub_Division 2\">Sub Division 2</option>\n                </select>\n              </div>\n              <div className=\"mr-4\">\n                <select\n                  value={this.state.department}\n                  onChange={(e) => this.HandleDepartment(e.target.value)}\n                  className=\"form-control\"\n                  style={{ cursor: \"pointer\" }}\n                >\n                  {\n                    this.state.sub_division === '' \n                    ?\n                    <option>Department</option> \n                    :\n                    this.state.Dept.map((user, index) => (\n                      <option  key={user.department_n4}>\n                        {user.department_n4}\n                      </option>\n  \n                    ))\n                    }\n\n                   \n                </select>\n              </div>\n              <div>\n                <Button\n                  disabled={this.state.isLoading}\n                  variant=\"danger\"\n                  id=\"btn\"\n                  onClick={!this.state.isLoading ? this.printDocument : null}\n                >\n                  <img src={PdfIcon} className=\"pdf-icon mr-2\"\n                  />\n                  {this.state.isLoading ? 'Saving Pdf' : 'Export PDF'}\n                </Button>\n\n              </div>\n            </div>\n          </div>\n\n          <div >\n            <div className=\"\">\n              <div className=\"container-fluid\">\n                <div className=\"d-flex justify-content-between align-items-center\">\n                  <div className=\"d-flex align-items-center\">\n                    <Navbar />\n                    <div className=\"brand-logo mr-3\">\n                      <img src={Logo} alt=\"logo\" />\n                    </div>\n                    <h1 className=\"mb-0 border-left pl-3\">Organisation Chart </h1>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n          <div\n            ref={this.inputRef}\n          >\n            <OrganizationChart\n\n              datasource={this.state.tasks}\n              chartClass=\"myChart\"\n              NodeTemplate={MyNode}\n              // pan={true}\n              zoom={true}\n            />\n          </div>\n        </section>\n\n      </React.Fragment>\n    )\n  }\n}","import React from \"react\";\nimport { BrowserRouter as Router, Route, Switch } from \"react-router-dom\";\nimport \"./App.css\";\nimport Home from './Screens/Home'\nimport Dashboard from \"./Screens/dashboard\";\nimport Chart from './Screens/Chart'\n\n\nconst App = () => {\n  return (\n    <Router>\n      <Switch>\n      <Route exact path=\"/\">\n          <Home />\n        </Route>\n        <Route exact path=\"/charts\">\n          <Chart />\n        </Route>\n        <Route exact path=\"/dashboard\">\n          <Dashboard />\n        </Route>\n      </Switch>\n    </Router>\n  );\n};\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n  if (onPerfEntry && onPerfEntry instanceof Function) {\n    import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n      getCLS(onPerfEntry);\n      getFID(onPerfEntry);\n      getFCP(onPerfEntry);\n      getLCP(onPerfEntry);\n      getTTFB(onPerfEntry);\n    });\n  }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n  <React.StrictMode>\n    <App />\n  </React.StrictMode>,\n  document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}