-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintcache
1 lines (1 loc) · 63.2 KB
/
.eslintcache
1
[{"/var/www/html/react/bootapp/src/index.js":"1","/var/www/html/react/bootapp/src/App.js":"2","/var/www/html/react/bootapp/src/reportWebVitals.js":"3","/var/www/html/react/bootapp/src/components/Header.js":"4","/var/www/html/react/bootapp/src/components/LeftMenu.js":"5","/var/www/html/react/bootapp/src/components/MainContent.js":"6","/var/www/html/react/bootapp/src/components/About.js":"7","/var/www/html/react/bootapp/src/components/Services.js":"8","/var/www/html/react/bootapp/src/components/Work.js":"9","/var/www/html/react/bootapp/src/components/Contact.js":"10","/var/www/html/react/bootapp/src/components/Home.js":"11","/var/www/html/react/bootapp/src/components/Dashboard.js":"12","/var/www/html/react/bootapp/src/components/LogIn.js":"13","/var/www/html/react/bootapp/src/Utils/History.js":"14","/var/www/html/react/bootapp/src/components/Users.js":"15","/var/www/html/react/bootapp/src/components/UserDetail.js":"16","/var/www/html/react/bootapp/src/components/Products.js":"17","/var/www/html/react/bootapp/src/components/AddProduct.js":"18","/var/www/html/react/bootapp/src/components/EditProduct.js":"19","/var/www/html/react/bootapp/src/components/ProductDetail.js":"20","/var/www/html/react/bootapp/src/components/CakeContainer.js":"21","/var/www/html/react/bootapp/src/redux/store.js":"22","/var/www/html/react/bootapp/src/redux/cake/cakeReducer.js":"23","/var/www/html/react/bootapp/src/redux/cake/cakeTypes.js":"24","/var/www/html/react/bootapp/src/redux/cake/cakeActions.js":"25","/var/www/html/react/bootapp/src/redux/index.js":"26","/var/www/html/react/bootapp/src/components/HooksCakeContainer.js":"27","/var/www/html/react/bootapp/src/redux/iceCream/iceCreamActions.js":"28","/var/www/html/react/bootapp/src/redux/iceCream/iceCreamTypes.js":"29","/var/www/html/react/bootapp/src/redux/rootReducer.js":"30","/var/www/html/react/bootapp/src/redux/iceCream/iceCreamReducer.js":"31","/var/www/html/react/bootapp/src/components/IceCreamContainer.js":"32","/var/www/html/react/bootapp/src/redux/service/serviceTypes.js":"33","/var/www/html/react/bootapp/src/redux/service/serviceActions.js":"34","/var/www/html/react/bootapp/src/redux/service/serviceReducer.js":"35","/var/www/html/react/bootapp/src/components/AddService.js":"36","/var/www/html/react/bootapp/src/components/EditService.js":"37","/var/www/html/react/bootapp/src/components/Generator.js":"38","/var/www/html/react/bootapp/src/components/ObjectHelper.js":"39","/var/www/html/react/bootapp/src/components/Chart.js":"40"},{"size":505,"mtime":1608715138812,"results":"41","hashOfConfig":"42"},{"size":1162,"mtime":1611045759066,"results":"43","hashOfConfig":"42"},{"size":362,"mtime":1608631242189,"results":"44","hashOfConfig":"42"},{"size":1586,"mtime":1609223615176,"results":"45","hashOfConfig":"42"},{"size":615,"mtime":1615362425764,"results":"46","hashOfConfig":"42"},{"size":1654,"mtime":1615362619523,"results":"47","hashOfConfig":"42"},{"size":388,"mtime":1611048592660,"results":"48","hashOfConfig":"42"},{"size":1828,"mtime":1611210626097,"results":"49","hashOfConfig":"42"},{"size":2587,"mtime":1615361626690,"results":"50","hashOfConfig":"42"},{"size":128,"mtime":1608717849103,"results":"51","hashOfConfig":"42"},{"size":797,"mtime":1627565548897,"results":"52","hashOfConfig":"42"},{"size":875,"mtime":1609146796491,"results":"53","hashOfConfig":"42"},{"size":1875,"mtime":1609238637832,"results":"54","hashOfConfig":"42"},{"size":144,"mtime":1608734830942,"results":"55","hashOfConfig":"42"},{"size":1443,"mtime":1609087819873,"results":"56","hashOfConfig":"42"},{"size":666,"mtime":1609087681441,"results":"57","hashOfConfig":"42"},{"size":1867,"mtime":1610022940631,"results":"58","hashOfConfig":"42"},{"size":2212,"mtime":1610022907672,"results":"59","hashOfConfig":"42"},{"size":2293,"mtime":1610022860493,"results":"60","hashOfConfig":"42"},{"size":1064,"mtime":1610022837585,"results":"61","hashOfConfig":"42"},{"size":573,"mtime":1609941179667,"results":"62","hashOfConfig":"42"},{"size":350,"mtime":1611040136535,"results":"63","hashOfConfig":"42"},{"size":328,"mtime":1609945540662,"results":"64","hashOfConfig":"42"},{"size":34,"mtime":1609911586031,"results":"65","hashOfConfig":"42"},{"size":138,"mtime":1609945550810,"results":"66","hashOfConfig":"42"},{"size":143,"mtime":1611039572325,"results":"67","hashOfConfig":"42"},{"size":620,"mtime":1609945795728,"results":"68","hashOfConfig":"42"},{"size":122,"mtime":1609941293535,"results":"69","hashOfConfig":"42"},{"size":43,"mtime":1609919487998,"results":"70","hashOfConfig":"42"},{"size":347,"mtime":1611039869801,"results":"71","hashOfConfig":"42"},{"size":346,"mtime":1609943818552,"results":"72","hashOfConfig":"42"},{"size":490,"mtime":1609943977803,"results":"73","hashOfConfig":"42"},{"size":554,"mtime":1611135622627,"results":"74","hashOfConfig":"42"},{"size":2929,"mtime":1611208064608,"results":"75","hashOfConfig":"42"},{"size":1845,"mtime":1611209866811,"results":"76","hashOfConfig":"42"},{"size":2110,"mtime":1611061929198,"results":"77","hashOfConfig":"42"},{"size":2329,"mtime":1611134489151,"results":"78","hashOfConfig":"42"},{"size":1947,"mtime":1615362118531,"results":"79","hashOfConfig":"42"},{"size":806,"mtime":1615361465492,"results":"80","hashOfConfig":"42"},{"size":5648,"mtime":1615370135906,"results":"81","hashOfConfig":"42"},{"filePath":"82","messages":"83","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},"jh6n07",{"filePath":"85","messages":"86","errorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":"87","usedDeprecatedRules":"84"},{"filePath":"88","messages":"89","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"90","messages":"91","errorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":"92","usedDeprecatedRules":"84"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"95","usedDeprecatedRules":"84"},{"filePath":"96","messages":"97","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"98","usedDeprecatedRules":"84"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"103","usedDeprecatedRules":"84"},{"filePath":"104","messages":"105","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"106","usedDeprecatedRules":"84"},{"filePath":"107","messages":"108","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"109","messages":"110","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"111","messages":"112","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"113","usedDeprecatedRules":"84"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"116","usedDeprecatedRules":"84"},{"filePath":"117","messages":"118","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"119","messages":"120","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"121","usedDeprecatedRules":"84"},{"filePath":"122","messages":"123","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"124","usedDeprecatedRules":"84"},{"filePath":"125","messages":"126","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"127","usedDeprecatedRules":"84"},{"filePath":"128","messages":"129","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"130","usedDeprecatedRules":"84"},{"filePath":"131","messages":"132","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"133","usedDeprecatedRules":"84"},{"filePath":"134","messages":"135","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"136","usedDeprecatedRules":"84"},{"filePath":"137","messages":"138","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"139","messages":"140","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"141","messages":"142","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"143","messages":"144","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"145","messages":"146","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"147","messages":"148","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"149","messages":"150","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"151","messages":"152","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"153","messages":"154","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"155","messages":"156","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"157","messages":"158","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"159","messages":"160","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"161","messages":"162","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"163","messages":"164","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"165","messages":"166","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"167","usedDeprecatedRules":"84"},{"filePath":"168","messages":"169","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"170","usedDeprecatedRules":"84"},{"filePath":"171","messages":"172","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"173","usedDeprecatedRules":"84"},{"filePath":"174","messages":"175","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"176","usedDeprecatedRules":"84"},{"filePath":"177","messages":"178","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"84"},{"filePath":"179","messages":"180","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"181","usedDeprecatedRules":"84"},"/var/www/html/react/bootapp/src/index.js",[],["182","183"],"/var/www/html/react/bootapp/src/App.js",["184","185","186","187","188","189","190","191","192","193","194","195"],"import React from 'react';\nimport { Provider } from 'react-redux';\nimport store from './redux/store';\nimport logo from './logo.svg';\nimport Header from './components/Header'\nimport LefrMenu from './components/LeftMenu';\nimport MainContent from './components/MainContent';\nimport { BrowserRouter as Router, Switch, Route, withRouter, useHistory, Redirect } from 'react-router-dom';\nimport Dashboard from './components/Dashboard';\nimport LogIn from './components/LogIn';\nimport CakeContainer from './components/CakeContainer';\nimport HooksCakeContainer from './components/HooksCakeContainer';\nimport IceCreamContainer from './components/IceCreamContainer';\n\n\nconst App = () => {\n const history = useHistory();\n let userData = sessionStorage.getItem('sessionData');\n //!userData && history.push('/log-in')\n return (\n // <Provider store={store}>\n // <CakeContainer />\n // <HooksCakeContainer />\n // <IceCreamContainer />\n // </Provider>\n <Router history={history}>\n <Switch>\n <Route path='/log-in' component={LogIn} />\n <Route path='/' component={Dashboard} />\n </Switch>\n </Router>\n );\n}\n\nexport default App;\n","/var/www/html/react/bootapp/src/reportWebVitals.js",[],"/var/www/html/react/bootapp/src/components/Header.js",["196","197","198","199","200","201","202","203","204","205","206","207"],"import React, { Component } from 'react';\nimport { Redirect, useHistory, NavLink, withRouter, Route } from 'react-router-dom';\nimport { Alert, Accordion, Card, Button, Navbar, Text } from 'react-bootstrap';\n\nconst Header = props => {\n const {userName, password} = props;\n const history = useHistory();\n\n const logOut = e => {\n e.preventDefault();\n sessionStorage.removeItem('sessionData');\n history.push('/log-in');\n }\n\n \n return (\n <>\n <nav className=\"navbar navbar--main navbar-expand-lg navbar-light navbar-shadow\">\n <div className=\"container-fluid\">\n\n <button className=\"navbar-toggler mr-4\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarResponsive\" aria-controls=\"navbarResponsive\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\n <span className=\"navbar-toggler-icon\"></span>\n </button> \n\n <a className=\"navbar-brand\" href=\"/\">\n <img width=\"61px\" height=\"26px\" className=\"site-logo\" src=\"https://www.aurigait.com/resources/themes/ait-child/assets/ait/images/auriga_logo_black.svg\" />\n </a>\n\n <div className=\"navbar-nav\">\n <div className=\"nav-item d-none d-lg-block ml-auto mr-4 nav-text\">\n \n </div>\n\n <Navbar.Text>\n Signed in as: <strong>{userName}</strong>\n </Navbar.Text>\n\n <div className=\"nav-item d-none d-lg-block ml-4\">\n <a href=\"/signup\" className=\"btn btn-sm btn-primary text-uppercase\" onClick={logOut}>\n Log Out\n </a>\n </div>\n </div>\n </div>\n </nav>\n </>\n )\n}\n\nexport default Header;\n","/var/www/html/react/bootapp/src/components/LeftMenu.js",["208"],"import React, { Component } from 'react';\nimport { Link } from 'react-router-dom'\n\nclass LeftMenu extends Component {\n constructor(props) {\n super(props)\n }\n\n render() {\n return (\n <>\n <nav className=\"mian-nav\">\n <Link to=\"/home\">Home</Link>\n <Link to=\"/about\">About</Link>\n <Link to=\"/services\">Services</Link>\n <Link to=\"/work\">Work</Link>\n <Link to=\"/products\">Products</Link>\n <Link to=\"/users\">Users</Link>\n <Link to=\"/contact\">Contact</Link>\n <Link to=\"/chart\">Chart</Link>\n </nav>\n </>\n )\n }\n}\n\nexport default LeftMenu;","/var/www/html/react/bootapp/src/components/MainContent.js",["209","210","211"],"import React, { Component } from 'react';\nimport { Provider } from 'react-redux';\nimport store from '../redux/store';\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom';\nimport Home from './Home';\nimport About from './About';\nimport Services from './Services';\nimport Work from './Work';\nimport Contact from './Contact';\nimport Products from \"./Products\";\nimport Users from './Users';\nimport UserDetail from './UserDetail';\nimport ProductDetail from './ProductDetail';\nimport AddProduct from './AddProduct';\nimport EditProduct from './EditProduct';\nimport AddService from './AddService';\nimport EditService from './EditService';\nimport Chart from './Chart';\n\nconst MainContent = () => {\n\n return (\n <>\n <Provider store={store}>\n <Route path=\"/\" exact component={Home} />\n <Route path=\"/home\" exact component={Home} />\n <Route path=\"/about\" component={About} />\n\n <Route path=\"/services\" exact component={Services} />\n <Route path=\"/service/add\" exact component={AddService} />\n <Route path=\"/service/:id/edit\" exact component={EditService} />\n\n <Route path=\"/work\" component={Work} />\n <Route path=\"/products\" exact component={Products} />\n <Route path=\"/products/add\" exact component={AddProduct} />\n <Route path=\"/product/:id\" exact component={ProductDetail} />\n <Route path=\"/product/:id/edit\" exact component={EditProduct} />\n <Route path=\"/users\" exact component={Users} />\n <Route path=\"/user/:id\" component={UserDetail} />\n <Route path=\"/contact\" component={Contact} />\n <Route path=\"/chart\" component={Chart} />\n\n </Provider>\n </>\n )\n}\n\nexport default MainContent;","/var/www/html/react/bootapp/src/components/About.js",[],"/var/www/html/react/bootapp/src/components/Services.js",["212","213","214","215","216","217","218"],"import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { fetchServices, deleteService } from '../redux';\nimport { Button, Card, ListGroup, ListGroupItem, Row, Col } from 'react-bootstrap';\nimport { Link, useHistory } from 'react-router-dom';\n\nfunction Services({ serviceData, fetchServices, deleteService}) {\n\n useEffect(() => {\n fetchServices()\n }, [])\n return serviceData.loading ? (\n <h2>Loading Services</h2>\n ) : serviceData.error ? (\n <h2>{serviceData.error}</h2>\n ) : (\n <>\n <h2 className=\"mb-4\">\n Services List\n <Link to=\"/service/add\" className=\"float-right\">Add Service</Link>\n </h2>\n \n <div className=\"row\">\n {serviceData \n && serviceData.services.length > 0 && \n serviceData.services.map(service => (\n <div key={service.id} className=\"col-lg-3 col-md-4 col-sm-6\">\n <Card className=\"mb-4\">\n <Card.Img variant=\"top\" src={service.image} />\n <Card.Body>\n <Card.Title>{service.title}</Card.Title>\n <Card.Text>\n {service.description}\n </Card.Text>\n <Link to={`/service/${service.id}/edit?title=${service.title}&description=${service.description}`} className=\"btn btn-primary\">Edit</Link>\n <Link to=\"/services/\" className=\"btn btn-danger ml-4\" onClick={() => deleteService(service.id)}>Delete</Link>\n </Card.Body>\n </Card>\n </div>\n ))}\n </div>\n </>\n )\n}\n\nconst mapStateToProps = state => {\n return {\n serviceData: state.service\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n fetchServices: () => dispatch(fetchServices()),\n deleteService: id => dispatch(deleteService(id))\n }\n}\n\nexport default connect(\n mapStateToProps, \n mapDispatchToProps\n)(Services)","/var/www/html/react/bootapp/src/components/Work.js",["219"],"import React, { Component } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport Generator from \"./Generator\";\nimport TimeLine from \"react-gantt-timeline\";\n\nconst config = {\n header: {\n top: {\n style: {\n background: \"linear-gradient( grey, black)\",\n textShadow: \"0.5px 0.5px black\",\n fontSize: 12\n }\n },\n middle: {\n style: {\n background: \"linear-gradient( orange, grey)\",\n fontSize: 9\n }\n },\n bottom: {\n style: {\n background: \"linear-gradient( grey, black)\",\n fontSize: 9,\n color: \"orange\"\n },\n selectedStyle: {\n background: \"linear-gradient( #d011dd ,#d011dd)\",\n fontWeight: \"bold\",\n color: \"white\"\n }\n }\n },\n taskList: {\n title: {\n label: \"Task Todo\",\n style: {\n background: \"linear-gradient( grey, black)\"\n }\n },\n task: {\n style: {\n backgroundColor: \"grey\",\n color: \"white\"\n }\n },\n verticalSeparator: {\n style: {\n backgroundColor: \"#fbf9f9\"\n },\n grip: {\n style: {\n backgroundColor: \"red\"\n }\n }\n }\n },\n dataViewPort: {\n rows: {\n style: {\n backgroundColor: \"white\",\n borderBottom: \"solid 0.5px silver\"\n }\n },\n task: {\n showLabel: true,\n style: {\n borderRadius: 1,\n boxShadow: \"2px 2px 8px #888888\"\n }\n }\n }\n};\n\nclass Work extends Component {\n constructor(props) {\n super(props);\n let result = Generator.generateData();\n this.data = result.data;\n this.state = {\n itemheight: 20,\n data: [],\n links: result.links\n };\n }\n\n onHorizonChange = (start, end) => {\n //Return data the is in the range\n let result = this.data.filter(item => {\n return (\n (item.start < start && item.end > end) ||\n (item.start > start && item.start < end) ||\n (item.end > start && item.end < end)\n );\n });\n console.log(\"Calculating \");\n this.setState({ data: result });\n };\n\n render() {\n return (\n <div className=\"app-container\">\n <div className=\"nav-container\">\n <div className=\"mode-container-title\">\n On Horizon Change Demo with client side Filtering\n </div>\n </div>\n <div className=\"time-line-container\">\n <TimeLine\n data={this.state.data}\n links={this.state.links}\n config={config}\n onHorizonChange={this.onHorizonChange}\n />\n </div>\n </div>\n );\n }\n}\n\nexport default Work;","/var/www/html/react/bootapp/src/components/Contact.js",[],"/var/www/html/react/bootapp/src/components/Home.js",[],"/var/www/html/react/bootapp/src/components/Dashboard.js",["220","221","222"],"import React, { Component } from 'react';\nimport Header from './Header'\nimport LefrMenu from './LeftMenu';\nimport MainContent from './MainContent';\nimport { BrowserRouter as Router, Switch, Route, useHistory } from 'react-router-dom';\n\nconst Dashboard = () => {\n const history = useHistory();\n let userData = sessionStorage.getItem('sessionData');\n !userData && history.push('/log-in');\n userData = JSON.parse(userData);\n \n return (\n <>\n {\n userData ? \n <Header userName={userData.userName} password={userData.password} /> : \n <Header />\n }\n \n <Router>\n <div className=\"dashboard-container\">\n <div className=\"man-nav\">\n <LefrMenu />\n </div>\n <section className=\"main-content\">\n <MainContent />\n </section>\n </div>\n \n \n </Router>\n </>\n )\n}\n\nexport default Dashboard;\n","/var/www/html/react/bootapp/src/components/LogIn.js",["223","224","225","226","227","228"],"import React, { Component, useState } from 'react';\nimport { Redirect, useHistory, NavLink, withRouter, Route } from 'react-router-dom';\n\n\nconst LogIn = () => {\n const history = useHistory();\n const [userName, setUserName] = useState('');\n const [password, setPassword] = useState('');\n\n const changeHandler = (e) => {\n e.target.name === 'userName' ? \n setUserName(e.target.value) : \n setPassword(e.target.value);\n }\n\n const submitHandler = e => {\n e.preventDefault();\n sessionStorage.setItem('sessionData', JSON.stringify({userName, password}));\n let userData = sessionStorage.getItem('sessionData');\n userData = JSON.parse(userData);\n history.push('/');\n\n }\n\n return (\n <>\n <div className=\"login-cointainer\">\n <form className=\"user-form login-form\" onSubmit={submitHandler}>\n <div class=\"form-group\">\n <label for=\"inputUserName\">User Name</label>\n <input \n type=\"text\" \n name=\"userName\" \n class=\"form-control\" \n id=\"inputUserName\"\n value={userName} \n onChange={changeHandler}\n required />\n <small id=\"emailHelp\" class=\"form-text text-muted\">We'll never share your email with anyone else.</small>\n </div>\n <div class=\"form-group\">\n <label for=\"inputPassword1\">Password</label>\n <input \n type=\"password\" \n name=\"password\" \n class=\"form-control\" \n id=\"inputPassword1\"\n value={password} \n onChange={changeHandler}\n required />\n </div>\n <div class=\"form-group form-check\">\n <input type=\"checkbox\" class=\"form-check-input\" id=\"checkMe\" />\n <label class=\"form-check-label\" for=\"checkMe\">Check me out</label>\n </div>\n <button type=\"submit\" class=\"btn btn-outline-primary btn-block\">Submit</button>\n </form>\n </div>\n </>\n )\n}\n\nexport default LogIn;\n","/var/www/html/react/bootapp/src/Utils/History.js",[],"/var/www/html/react/bootapp/src/components/Users.js",["229"],"import React, { useState, useEffect } from 'react';\nimport { Button, Card, ListGroup, ListGroupItem, Row, Col } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nconst Users = () => {\n\n useEffect(() => {\n fetchUsers();\n }, []);\n\n const [users, setUsers] = useState([]);\n\n const fetchUsers = async () => {\n const data = await fetch('http://dummy.restapiexample.com/api/v1/employees');\n const users = await data.json(data);\n setUsers(users.data);\n }\n\n return (\n <>\n <Row>\n {users.map(user => (\n <Col md={3} sm={6} key={user.id} className=\"mb-5\">\n <Card>\n <Card.Img variant=\"top\" src=\"https://picsum.photos/200/120\" />\n <Card.Body>\n <Card.Title>{user.employee_name}</Card.Title>\n <Card.Text>\n Some quick example text to build on the card title and make up the bulk of\n the card's content.\n </Card.Text>\n </Card.Body>\n <ListGroup className=\"list-group-flush\">\n <ListGroupItem>Age: {user.employee_age}</ListGroupItem>\n <ListGroupItem>Salary: {user.employee_salary}</ListGroupItem>\n </ListGroup>\n <Card.Body>\n <Link to={`/user/${user.id}`} className=\"card-link\">Profile</Link>\n <Card.Link href=\"#\">Edit</Card.Link>\n <Card.Link href=\"#\">Delete</Card.Link>\n </Card.Body>\n </Card>\n </Col>\n ))}\n </Row>\n </>\n )\n}\n\nexport default Users;","/var/www/html/react/bootapp/src/components/UserDetail.js",["230","231","232","233","234","235","236","237"],"import React, { useState, useEffect } from 'react';\nimport { Button, Card, ListGroup, ListGroupItem, Row, Col } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nconst UserDetail = ({ match }) => {\n\n useEffect(() => {\n fetchUser();\n }, []);\n\n const [user, setUser] = useState([]);\n\n const fetchUser = async () => {\n const fetchUser = await fetch(`http://dummy.restapiexample.com/api/v1/employee/${match.params.id}`);\n const user = await fetchUser.json();\n setUser(user.data);\n };\n\n return (\n <>\n <h1>Hello User, I am {user.employee_name}. and i'm {user.employee_age} Years old.</h1>\n </>\n )\n}\n\nexport default UserDetail;","/var/www/html/react/bootapp/src/components/Products.js",["238"],"import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport { Button, Card, ListGroup, ListGroupItem, Row, Col } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nconst Products = () => {\n\n const [ products, setProducts ] = useState([]);\n\n useEffect(() => {\n fetchProducts();\n }, []);\n\n const fetchProducts = async () => {\n const fetchProducts = await axios.get('https://5fe8bc5c2e12ee0017ab4a43.mockapi.io/employees/1/products');\n setProducts(fetchProducts.data.reverse());\n }\n\n const deleteProduct = async id => {\n await axios.delete(`https://5fe8bc5c2e12ee0017ab4a43.mockapi.io/employees/1/products/${id}`);\n fetchProducts();\n }\n\n return (\n <>\n <h1 className=\"mb-5\">List of Profucts\n <Link to=\"/products/add\" className=\"float-right\">Add Product</Link>\n </h1>\n \n <Row>\n {\n products.length ?\n products.map(product => (\n <Col md={3} sm={6} key={product.id} className=\"mb-5\">\n <Card>\n <Card.Body>\n <Card.Title>{product.title}</Card.Title>\n <Card.Text>\n {product.description}\n </Card.Text>\n </Card.Body>\n <ListGroup className=\"list-group-flush\">\n <ListGroupItem>Price: {product.price}</ListGroupItem>\n </ListGroup>\n <Card.Body>\n <Link to={`/product/${product.id}`} className=\"card-link\">View</Link>\n <Link to={`/product/${product.id}/edit?title=${product.title}&description=${product.description}&price=${product.price}`} className=\"card-link\">Edit</Link>\n <Link className=\"card-link\" onClick={() => deleteProduct(product.id)}>Delete</Link>\n </Card.Body>\n </Card>\n </Col>\n )) :\n null\n }\n </Row>\n </>\n )\n \n}\n\nexport default Products;","/var/www/html/react/bootapp/src/components/AddProduct.js",["239"],"import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport { Button, Form } from 'react-bootstrap';\nimport { Link, useHistory } from 'react-router-dom';\n\nconst AddProduct = () => {\n let history = useHistory();\n const [ product, setProduct ] = useState({\n title: '',\n description: '',\n price: ''\n });\n\n const inputChangeHandler = (e) => {\n setProduct({...product, [e.target.name]: e.target.value});\n }\n\n const formSubmit = async e => {\n e.preventDefault();\n await axios.post('https://5fe8bc5c2e12ee0017ab4a43.mockapi.io/employees/1/products', product);\n history.push('/products');\n }\n\n const postProduct = async e => {\n await axios.post('https://5fe8bc5c2e12ee0017ab4a43.mockapi.io/employees/1/products', product);\n }\n\n const clearState = () => {\n setProduct({\n title: '',\n description: '',\n price: ''\n });\n }\n\n const saveContinue = () => {\n postProduct();\n clearState();\n }\n\n const {title, description, price} = product;\n return (\n <>\n <Form className=\"form-wrap\" onSubmit={formSubmit}>\n <h1 className=\"form-title\">Add Product</h1>\n <Form.Group controlId=\"title\">\n <Form.Label>Title</Form.Label>\n <Form.Control type=\"text\" name=\"title\" value={title} placeholder=\"Title\" required onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n\n <Form.Group controlId=\"description\">\n <Form.Label>Description</Form.Label>\n <Form.Control type=\"text\" name=\"description\" value={description} required placeholder=\"Description\" onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n\n <Form.Group controlId=\"Price\">\n <Form.Label>Price</Form.Label>\n <Form.Control type=\"number\" name=\"price\" value={price} placeholder=\"Price\" required onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n \n <Button variant=\"primary\" type=\"submit\" className=\"mr-3\">\n Save and Done\n </Button>\n\n <Button variant=\"outline-primary mr-3\" onClick={() => saveContinue()}>\n Save and Continue\n </Button>\n\n <Link to=\"/products\" className=\"btn btn-secondary\">Close</Link>\n\n </Form>\n </>\n )\n \n}\n\nexport default AddProduct;","/var/www/html/react/bootapp/src/components/EditProduct.js",["240"],"import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport { Button, Form } from 'react-bootstrap';\nimport { Link, useHistory, useParams, useLocation } from 'react-router-dom';\n\nconst EditProduct = () => {\n\n const { id } = useParams();\n\n useEffect(() => {\n console.log(product);\n fetchProduct();\n }, [])\n\n function useQuery() {\n return new URLSearchParams(useLocation().search);\n }\n let query = useQuery();\n \n let history = useHistory();\n const [ product, setProduct ] = useState({\n title: query.get(\"title\"),\n description: query.get(\"description\"),\n price: query.get(\"price\")\n });\n\n const inputChangeHandler = (e) => {\n setProduct({...product, [e.target.name]: e.target.value});\n }\n\n const formSubmit = async e => {\n e.preventDefault();\n await axios.put(`https://5fe8bc5c2e12ee0017ab4a43.mockapi.io/employees/1/products/${id}`, product);\n history.push('/products');\n }\n\n const fetchProduct = async userId => {\n const fetchProduct = await axios.get(`https://5fe8bc5c2e12ee0017ab4a43.mockapi.io/employees/1/products/${id}`);\n //console.log(fetchProduct);\n setProduct(fetchProduct.data);\n }\n\n const {title, description, price} = product;\n return (\n <>\n <Form className=\"form-wrap\" onSubmit={formSubmit}>\n <h1 className=\"form-title\">Add Product</h1>\n <Form.Group controlId=\"title\">\n <Form.Label>Title</Form.Label>\n <Form.Control type=\"text\" name=\"title\" value={title} placeholder=\"Title\" required onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n\n <Form.Group controlId=\"description\">\n <Form.Label>Description</Form.Label>\n <Form.Control type=\"text\" name=\"description\" value={description} required placeholder=\"Description\" onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n\n <Form.Group controlId=\"Price\">\n <Form.Label>Price</Form.Label>\n <Form.Control type=\"number\" name=\"price\" value={price} placeholder=\"Price\" required onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n \n <Button variant=\"primary\" type=\"submit\" className=\"mr-3\">\n Update\n </Button>\n\n <Link to=\"/products\" className=\"btn btn-secondary\">Close</Link>\n\n </Form>\n </>\n )\n \n}\n\nexport default EditProduct;","/var/www/html/react/bootapp/src/components/ProductDetail.js",["241","242","243"],"import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport { Button, Row, Col, Image } from 'react-bootstrap';\nimport { Link, useHistory, useParams } from 'react-router-dom';\n\nconst ProductDetail = () => {\n\n const { id } = useParams();\n\n useEffect(() => {\n fetchProduct();\n }, [])\n\n let history = useHistory();\n const [ product, setProduct ] = useState({\n title: '',\n description: '',\n price: ''\n });\n\n const fetchProduct = async userId => {\n const fetchProduct = await axios.get(`https://5fe8bc5c2e12ee0017ab4a43.mockapi.io/employees/1/products/${id}`);\n setProduct(fetchProduct.data);\n }\n\n const {title, image, description, price} = product;\n return (\n <>\n <Row>\n <Col md={4}>\n <Image src={image} thumbnail fluid />\n </Col>\n <Col md={8}>\n <h1>{title}</h1>\n <p>{description}</p>\n <h3>Price: {price}</h3>\n <Link to=\"/products\" className=\"btn btn-secondary\">Back to Products</Link>\n </Col>\n </Row>\n </>\n )\n \n}\n\nexport default ProductDetail;","/var/www/html/react/bootapp/src/components/CakeContainer.js",[],"/var/www/html/react/bootapp/src/redux/store.js",[],"/var/www/html/react/bootapp/src/redux/cake/cakeReducer.js",[],"/var/www/html/react/bootapp/src/redux/cake/cakeTypes.js",[],"/var/www/html/react/bootapp/src/redux/cake/cakeActions.js",[],"/var/www/html/react/bootapp/src/redux/index.js",[],"/var/www/html/react/bootapp/src/components/HooksCakeContainer.js",[],"/var/www/html/react/bootapp/src/redux/iceCream/iceCreamActions.js",[],"/var/www/html/react/bootapp/src/redux/iceCream/iceCreamTypes.js",[],"/var/www/html/react/bootapp/src/redux/rootReducer.js",[],"/var/www/html/react/bootapp/src/redux/iceCream/iceCreamReducer.js",[],"/var/www/html/react/bootapp/src/components/IceCreamContainer.js",[],"/var/www/html/react/bootapp/src/redux/service/serviceTypes.js",[],"/var/www/html/react/bootapp/src/redux/service/serviceActions.js",[],"/var/www/html/react/bootapp/src/redux/service/serviceReducer.js",["244"],"import {\n FETCH_SERVICES_REQUEST,\n FETCH_SERVICES_SUCCESS,\n FETCH_SERVICES_FAILURE,\n POST_SERVICE_REQUEST,\n POST_SERVICE_FAILURE,\n EDIT_SERVICE_REQUEST,\n EDIT_SERVICE_FAILURE,\n DELETE_SERVICE_REQUEST,\n DELETE_SERVICE_FAILURE\n} from './serviceTypes'\n\nconst initialState = {\n loading: false,\n services: [],\n error: ''\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case FETCH_SERVICES_REQUEST:\n return {\n ...state,\n loading: true\n }\n\n case FETCH_SERVICES_SUCCESS:\n return {\n loading: false,\n services: action.payload,\n error: ''\n }\n \n case FETCH_SERVICES_FAILURE:\n return {\n loading: false,\n services: [],\n error: action.payload\n }\n\n case POST_SERVICE_REQUEST:\n const services = state.services.concat(action.payload);\n return {\n ...state,\n services: services,\n error: ''\n }\n \n case POST_SERVICE_FAILURE:\n return {\n ...state,\n error: action.payload\n }\n\n case EDIT_SERVICE_REQUEST:\n const putServices = state.services.concat(action.payload);\n return {\n ...state,\n services: putServices,\n error: ''\n }\n \n case EDIT_SERVICE_FAILURE:\n return {\n loading: false,\n services: [],\n error: action.payload\n }\n\n case DELETE_SERVICE_REQUEST:\n const filteredServices = state.services.filter(service => service.id !== action.payload.id)\n const deleteServices = state.services.concat(action.payload);\n return {\n ...state,\n services: filteredServices,\n error: ''\n }\n \n case DELETE_SERVICE_FAILURE:\n return {\n ...state,\n error: action.payload\n }\n\n default: return state\n }\n}\n\nexport default reducer\n","/var/www/html/react/bootapp/src/components/AddService.js",["245","246","247","248","249","250"],"import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { postService } from '../redux';\nimport { Button, Form, Card, ListGroup, ListGroupItem, Row, Col } from 'react-bootstrap';\nimport { Link, useHistory } from 'react-router-dom';\n\nfunction AddService (props) {\n let history = useHistory();\n\n const [ service, setService ] = useState({\n title: '',\n description: ''\n })\n\n const inputChangeHandler = event => {\n const {target: {name, value}} = event;\n setService({\n ...service,\n [name]: value\n });\n //console.log(service);\n }\n\n const clearState = () => {\n setService({\n title: '',\n description: ''\n });\n }\n\n const formSubmit = (e) => {\n e.preventDefault();\n props.postService(service);\n clearState();\n history.push('/services');\n }\n\n const {title, description} = service;\n\n return (\n <>\n <Form className=\"form-wrap\" onSubmit={formSubmit}>\n <h1 className=\"form-title\">Add Services</h1>\n <Form.Group controlId=\"title\">\n <Form.Label>Title</Form.Label>\n <Form.Control type=\"text\" name=\"title\" value={title} placeholder=\"Title\" required onChange={(e) => inputChangeHandler(e)}/>\n </Form.Group>\n\n <Form.Group controlId=\"description\">\n <Form.Label>Description</Form.Label>\n <Form.Control type=\"text\" name=\"description\" value={description} required placeholder=\"Description\" onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n \n <Button variant=\"primary\" type=\"submit\" className=\"mr-3\">\n Save and Done\n </Button>\n\n <Link to=\"/services\" className=\"btn btn-secondary\">Close</Link>\n\n {/* <Button variant=\"outline-primary mr-3\" onClick={() => saveContinue()}>\n Save and Continue\n </Button> */}\n\n </Form>\n </>\n )\n}\n\n// const mapStateToProps = state => {\n// return {\n// serviceData: state.service\n// }\n// }\n\nconst mapDispatchToProps = dispatch => {\n return {\n postService: service => dispatch(postService(service))\n }\n}\n\nexport default connect(\n null, \n mapDispatchToProps\n)(AddService)","/var/www/html/react/bootapp/src/components/EditService.js",["251","252","253","254","255","256"],"import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { editService } from '../redux';\nimport { Button, Form, Card, ListGroup, ListGroupItem, Row, Col } from 'react-bootstrap';\nimport { Link, useHistory, useParams, useLocation } from 'react-router-dom';\n\nfunction EditService (props) {\n \n const { id } = useParams();\n\n let history = useHistory();\n\n function useQuery() {\n return new URLSearchParams(useLocation().search);\n }\n let query = useQuery();\n const [ service, setService ] = useState({\n title: query.get(\"title\"),\n description: query.get(\"description\")\n });\n\n const inputChangeHandler = event => {\n const {target: {name, value}} = event;\n setService({\n ...service,\n [name]: value\n });\n console.log(service);\n }\n\n const clearState = () => {\n setService({\n title: '',\n description: ''\n });\n }\n\n const formSubmit = (e) => {\n e.preventDefault();\n props.editService(id, service);\n clearState();\n history.push('/services');\n }\n\n const {title, description} = service;\n\n return (\n <>\n <Form className=\"form-wrap\" onSubmit={formSubmit}>\n <h1 className=\"form-title\">Add Services</h1>\n <Form.Group controlId=\"title\">\n <Form.Label>Title</Form.Label>\n <Form.Control type=\"text\" name=\"title\" value={title} placeholder=\"Title\" required onChange={(e) => inputChangeHandler(e)}/>\n </Form.Group>\n\n <Form.Group controlId=\"description\">\n <Form.Label>Description</Form.Label>\n <Form.Control type=\"text\" name=\"description\" value={description} required placeholder=\"Description\" onChange={(e) => inputChangeHandler(e)} />\n </Form.Group>\n \n <Button variant=\"primary\" type=\"submit\" className=\"mr-3\">\n Save and Done\n </Button>\n\n <Link to=\"/services\" className=\"btn btn-secondary\">Close</Link>\n\n {/* <Button variant=\"outline-primary mr-3\" onClick={() => saveContinue()}>\n Save and Continue\n </Button> */}\n\n </Form>\n </>\n )\n}\n\n// const mapStateToProps = state => {\n// return {\n// serviceData: state.service\n// }\n// }\n\nconst mapDispatchToProps = dispatch => {\n return {\n editService: (id, service) => dispatch(editService(id, service))\n }\n}\n\nexport default connect(\n null, \n mapDispatchToProps\n)(EditService)","/var/www/html/react/bootapp/src/components/Generator.js",["257","258","259"],"import $ from \"jquery\";\nimport ObjectHelper from \"./ObjectHelper\";\n\n\nclass Generator {\n constructor() {}\n generateData() {\n let data = [];\n let links = [];\n let now = new Date();\n let nowId = this.addRecord(now, 0, data);\n\n let test = new Date();\n test.setDate(test.getDate() + 3);\n test.setHours(0, 0, 0, 0);\n let tomorrowId = this.addRecord(test, 1, data);\n // this.addLink(nowId,tomorrowId,links)\n\n for (let i = 1; i < 1000; i++) {\n this.addRecord(\n this.randomDate(new Date(2016, 9, 1), new Date(2020, 9, 1)),\n i,\n data\n );\n }\n let start = 0;\n let end = 0;\n for (let i = 1; i < 100; i++) {\n start = Math.trunc(Math.random() * 1000);\n end = Math.trunc(Math.random() * 1000);\n\n this.addLink(data[start].id, data[end].id, links);\n }\n\n return { data: data, links: links };\n }\n\n addRecord(starDate, i, result) {\n let endDate = new Date(starDate.getTime());\n endDate.setDate(starDate.getDate() + Math.random() * 20);\n let id = ObjectHelper.genID();\n let record = {\n id: id,\n name: `Task ${i}`,\n start: starDate,\n end: endDate,\n color: 'white'\n };\n result.push(record);\n return id;\n }\n\n addLink(startId, endId, list) {\n let id = ObjectHelper.genID();\n let record = {\n id: id,\n start: startId,\n startPosition: 1,\n end: endId,\n endPosition: 0\n };\n list.push(record);\n return id;\n }\n\n createLink(start, end) {\n return {\n id: ObjectHelper.genID(),\n start: start.task.id,\n startPosition: start.position,\n end: end.task.id,\n endPosition: end.position\n };\n }\n\n randomDate(start, end) {\n return new Date(\n start.getTime() + Math.random() * (end.getTime() - start.getTime())\n );\n }\n\n \n setRandomColor() {\n $(\"#colorpad\").css(\"background-color\", \"white\");\n }\n}\n\nconst instance = new Generator();\nexport default instance;\n","/var/www/html/react/bootapp/src/components/ObjectHelper.js",[],"/var/www/html/react/bootapp/src/components/Chart.js",["260"],"import React, { Component } from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport TimeLine from \"react-gantt-timeline\";\n//import \"./styles.css\";\n\nconst config = {\n header: {\n top: {\n style: {\n background: \"linear-gradient( #fafafa, #fafafa)\",\n textShadow: \"0\",\n fontSize: 12,\n color:\"#777777\"\n }\n },\n middle: {\n style: {\n background: \"linear-gradient(#fafafa, #fafafa)\",\n fontSize: 9,\n color: \"#777777\"\n }\n },\n bottom: {\n style: {\n background: \"linear-gradient(#fafafa, #fafafa)\",\n fontSize: 9,\n color: \"#777777\"\n },\n selectedStyle: {\n background: \"linear-gradient( red ,red)\",\n fontWeight: \"bold\",\n color: \"white\"\n }\n }\n },\n taskList: {\n title: {\n label: \"Task Todo\",\n style: {\n background: \"linear-gradient( #f3f3f3, #f3f3f3)\",\n color: \"#BBBBBB\"\n }\n },\n task: {\n style: {\n backgroundColor: \"white\",\n color: \"#777777\"\n }\n },\n verticalSeparator: {\n style: {\n backgroundColor: \"white\",\n border:\"0\"\n },\n grip: {\n style: {\n backgroundColor: \"white\"\n }\n }\n }\n },\n dataViewPort: {\n rows: {\n style: {\n backgroundColor: \"#fafafa\",\n borderBottom: \"solid 0px silver\"\n }\n },\n task: {\n showLabel: true,\n style: {\n borderRadius: 4,\n boxShadow: \"2px 2px 8px #888888\",\n backgroundColor: \"#fafafa\",\n color: \"#777777\"\n }\n }\n }\n};\n\n\nclass Chart extends Component {\n constructor(props) {\n super(props);\n let d1 = new Date();\n let d2 = new Date();\n d2.setDate(d2.getDate() + 5);\n let d3 = new Date();\n d3.setDate(d3.getDate() + 8);\n let d4 = new Date();\n d4.setDate(d4.getDate() + 20);\n\n let data = [\n {\n id: 1,\n start: d1,\n end: d2,\n name: \"Demo Task 1\"\n },\n {\n id: 2,\n start: d3,\n end: d4,\n name: \"Demo Task 2\"\n //color: \"orange\"\n }\n ];\n\n this.state = { data: data, links: [], selectedItem: null };\n }\n genID() {\n function S4() {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n }\n return (\n S4() +\n S4() +\n \"-\" +\n S4() +\n \"-4\" +\n S4().substr(0, 3) +\n \"-\" +\n S4() +\n \"-\" +\n S4() +\n S4() +\n S4()\n ).toLowerCase();\n }\n\n getRandomDate() {\n let result = new Date();\n result.setDate(result.getDate() + Math.random() * 10);\n return result;\n }\n getRandomColor() {\n var letters = \"0123456789ABCDEF\";\n var color = \"#\";\n for (var i = 0; i < 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n return color;\n }\n\n createLink(start, end) {\n return {\n id: this.genID(),\n start: start.task.id,\n end: end.task.id\n };\n }\n onUpdateTask = (item, props) => {\n item.start = props.start ? props.start : item.start;\n item.end = props.end ? props.end : item.end;\n item.name = props.name ? props.name : item.name;\n this.setState({ data: [...this.state.data] });\n };\n onCreateLink = item => {\n let newLink = this.createLink(item.start, item.end);\n this.setState({\n links: [...this.state.links, newLink],\n selectedItem: newLink\n });\n };\n onSelectItem = item => {\n console.log(`Select Item ${item}`);\n this.setState({ selectedItem: item });\n };\n\n addTask = () => {\n let newTask = {\n id: this.state.data.length + 1,\n start: new Date(),\n end: this.getRandomDate(),\n name: \"New Task\",\n //color: \"white\"\n };\n this.setState({ data: [newTask, ...this.state.data] });\n };\n\n delete = () => {\n console.log(\"On delete\");\n if (this.state.selectedItem) {\n let index = this.state.links.indexOf(this.state.selectedItem);\n if (index > -1) {\n this.state.links.splice(index, 1);\n this.setState({ links: [...this.state.links] });\n }\n index = this.state.data.indexOf(this.state.selectedItem);\n if (index > -1) {\n this.state.data.splice(index, 1);\n this.setState({ data: [...this.state.data] });\n }\n }\n };\n\n render() {\n return (\n <div className=\"app-container\">\n <div className=\"nav-container\">\n <div className=\"mode-container-title\">Crud Demo</div>\n <div className=\"operation-button-container\">\n <div className=\"mode-button\" onClick={this.addTask}>\n <svg height={30} width={30} viewBox=\"0 0 48 48\">\n <path\n fill=\"silver\"\n d=\"M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm10 22h-8v8h-4v-8h-8v-4h8v-8h4v8h8v4z\"\n />\n </svg>\n </div>\n <div className=\"mode-button\" onClick={this.delete}>\n <svg height={30} width={30} viewBox=\"0 0 48 48\">\n <path\n fill=\"silver\"\n d=\"M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm10 22H14v-4h20v4z\"\n />\n </svg>\n </div>\n </div>\n </div>\n <div className=\"time-line-container\">\n <TimeLine\n data={this.state.data}\n links={this.state.links}\n config={config}\n onUpdateTask={this.onUpdateTask}\n onCreateLink={this.onCreateLink}\n onSelectItem={this.onSelectItem}\n selectedItem={this.state.selectedItem}\n />\n </div>\n </div>\n );\n }\n}\n\nexport default Chart;\n\n",{"ruleId":"261","replacedBy":"262"},{"ruleId":"263","replacedBy":"264"},{"ruleId":"265","severity":1,"message":"266","line":2,"column":10,"nodeType":"267","messageId":"268","endLine":2,"endColumn":18},{"ruleId":"265","severity":1,"message":"269","line":3,"column":8,"nodeType":"267","messageId":"268","endLine":3,"endColumn":13},{"ruleId":"265","severity":1,"message":"270","line":4,"column":8,"nodeType":"267","messageId":"268","endLine":4,"endColumn":12},{"ruleId":"265","severity":1,"message":"271","line":5,"column":8,"nodeType":"267","messageId":"268","endLine":5,"endColumn":14},{"ruleId":"265","severity":1,"message":"272","line":6,"column":8,"nodeType":"267","messageId":"268","endLine":6,"endColumn":16},{"ruleId":"265","severity":1,"message":"273","line":7,"column":8,"nodeType":"267","messageId":"268","endLine":7,"endColumn":19},{"ruleId":"265","severity":1,"message":"274","line":8,"column":50,"nodeType":"267","messageId":"268","endLine":8,"endColumn":60},{"ruleId":"265","severity":1,"message":"275","line":8,"column":74,"nodeType":"267","messageId":"268","endLine":8,"endColumn":82},{"ruleId":"265","severity":1,"message":"276","line":11,"column":8,"nodeType":"267","messageId":"268","endLine":11,"endColumn":21},{"ruleId":"265","severity":1,"message":"277","line":12,"column":8,"nodeType":"267","messageId":"268","endLine":12,"endColumn":26},{"ruleId":"265","severity":1,"message":"278","line":13,"column":8,"nodeType":"267","messageId":"268","endLine":13,"endColumn":25},{"ruleId":"265","severity":1,"message":"279","line":18,"column":7,"nodeType":"267","messageId":"268","endLine":18,"endColumn":15},{"ruleId":"265","severity":1,"message":"280","line":1,"column":17,"nodeType":"267","messageId":"268","endLine":1,"endColumn":26},{"ruleId":"265","severity":1,"message":"275","line":2,"column":10,"nodeType":"267","messageId":"268","endLine":2,"endColumn":18},{"ruleId":"265","severity":1,"message":"281","line":2,"column":32,"nodeType":"267","messageId":"268","endLine":2,"endColumn":39},{"ruleId":"265","severity":1,"message":"274","line":2,"column":41,"nodeType":"267","messageId":"268","endLine":2,"endColumn":51},{"ruleId":"265","severity":1,"message":"282","line":2,"column":53,"nodeType":"267","messageId":"268","endLine":2,"endColumn":58},{"ruleId":"265","severity":1,"message":"283","line":3,"column":10,"nodeType":"267","messageId":"268","endLine":3,"endColumn":15},{"ruleId":"265","severity":1,"message":"284","line":3,"column":17,"nodeType":"267","messageId":"268","endLine":3,"endColumn":26},{"ruleId":"265","severity":1,"message":"285","line":3,"column":28,"nodeType":"267","messageId":"268","endLine":3,"endColumn":32},{"ruleId":"265","severity":1,"message":"286","line":3,"column":34,"nodeType":"267","messageId":"268","endLine":3,"endColumn":40},{"ruleId":"265","severity":1,"message":"287","line":3,"column":50,"nodeType":"267","messageId":"268","endLine":3,"endColumn":54},{"ruleId":"265","severity":1,"message":"288","line":6,"column":20,"nodeType":"267","messageId":"268","endLine":6,"endColumn":28},{"ruleId":"289","severity":1,"message":"290","line":26,"column":9,"nodeType":"291","endLine":26,"endColumn":163},{"ruleId":"292","severity":1,"message":"293","line":5,"column":3,"nodeType":"294","messageId":"295","endLine":7,"endColumn":4},{"ruleId":"265","severity":1,"message":"280","line":1,"column":17,"nodeType":"267","messageId":"268","endLine":1,"endColumn":26},{"ruleId":"265","severity":1,"message":"296","line":4,"column":27,"nodeType":"267","messageId":"268","endLine":4,"endColumn":33},{"ruleId":"265","severity":1,"message":"297","line":4,"column":35,"nodeType":"267","messageId":"268","endLine":4,"endColumn":41},{"ruleId":"265","severity":1,"message":"286","line":4,"column":10,"nodeType":"267","messageId":"268","endLine":4,"endColumn":16},{"ruleId":"265","severity":1,"message":"298","line":4,"column":24,"nodeType":"267","messageId":"268","endLine":4,"endColumn":33},{"ruleId":"265","severity":1,"message":"299","line":4,"column":35,"nodeType":"267","messageId":"268","endLine":4,"endColumn":48},{"ruleId":"265","severity":1,"message":"300","line":4,"column":50,"nodeType":"267","messageId":"268","endLine":4,"endColumn":53},{"ruleId":"265","severity":1,"message":"301","line":4,"column":55,"nodeType":"267","messageId":"268","endLine":4,"endColumn":58},{"ruleId":"265","severity":1,"message":"302","line":5,"column":16,"nodeType":"267","messageId":"268","endLine":5,"endColumn":26},{"ruleId":"303","severity":1,"message":"304","line":11,"column":6,"nodeType":"305","endLine":11,"endColumn":8,"suggestions":"306"},{"ruleId":"265","severity":1,"message":"307","line":2,"column":8,"nodeType":"267","messageId":"268","endLine":2,"endColumn":16},{"ruleId":"265","severity":1,"message":"280","line":1,"column":17,"nodeType":"267","messageId":"268","endLine":1,"endColumn":26},{"ruleId":"265","severity":1,"message":"297","line":5,"column":35,"nodeType":"267","messageId":"268","endLine":5,"endColumn":41},{"ruleId":"265","severity":1,"message":"282","line":5,"column":43,"nodeType":"267","messageId":"268","endLine":5,"endColumn":48},{"ruleId":"265","severity":1,"message":"280","line":1,"column":17,"nodeType":"267","messageId":"268","endLine":1,"endColumn":26},{"ruleId":"265","severity":1,"message":"275","line":2,"column":10,"nodeType":"267","messageId":"268","endLine":2,"endColumn":18},{"ruleId":"265","severity":1,"message":"281","line":2,"column":32,"nodeType":"267","messageId":"268","endLine":2,"endColumn":39},{"ruleId":"265","severity":1,"message":"274","line":2,"column":41,"nodeType":"267","messageId":"268","endLine":2,"endColumn":51},{"ruleId":"265","severity":1,"message":"282","line":2,"column":53,"nodeType":"267","messageId":"268","endLine":2,"endColumn":58},{"ruleId":"265","severity":1,"message":"279","line":20,"column":27,"nodeType":"267","messageId":"268","endLine":20,"endColumn":35},{"ruleId":"265","severity":1,"message":"286","line":2,"column":10,"nodeType":"267","messageId":"268","endLine":2,"endColumn":16},{"ruleId":"265","severity":1,"message":"286","line":2,"column":10,"nodeType":"267","messageId":"268","endLine":2,"endColumn":16},{"ruleId":"265","severity":1,"message":"285","line":2,"column":18,"nodeType":"267","messageId":"268","endLine":2,"endColumn":22},{"ruleId":"265","severity":1,"message":"298","line":2,"column":24,"nodeType":"267","messageId":"268","endLine":2,"endColumn":33},{"ruleId":"265","severity":1,"message":"299","line":2,"column":35,"nodeType":"267","messageId":"268","endLine":2,"endColumn":48},{"ruleId":"265","severity":1,"message":"300","line":2,"column":50,"nodeType":"267","messageId":"268","endLine":2,"endColumn":53},{"ruleId":"265","severity":1,"message":"301","line":2,"column":55,"nodeType":"267","messageId":"268","endLine":2,"endColumn":58},{"ruleId":"265","severity":1,"message":"308","line":3,"column":10,"nodeType":"267","messageId":"268","endLine":3,"endColumn":14},{"ruleId":"303","severity":1,"message":"309","line":9,"column":6,"nodeType":"305","endLine":9,"endColumn":8,"suggestions":"310"},{"ruleId":"265","severity":1,"message":"286","line":3,"column":10,"nodeType":"267","messageId":"268","endLine":3,"endColumn":16},{"ruleId":"265","severity":1,"message":"311","line":1,"column":27,"nodeType":"267","messageId":"268","endLine":1,"endColumn":36},{"ruleId":"303","severity":1,"message":"312","line":13,"column":6,"nodeType":"305","endLine":13,"endColumn":8,"suggestions":"313"},{"ruleId":"265","severity":1,"message":"286","line":3,"column":10,"nodeType":"267","messageId":"268","endLine":3,"endColumn":16},{"ruleId":"303","severity":1,"message":"314","line":12,"column":6,"nodeType":"305","endLine":12,"endColumn":8,"suggestions":"315"},{"ruleId":"265","severity":1,"message":"316","line":14,"column":7,"nodeType":"267","messageId":"268","endLine":14,"endColumn":14},{"ruleId":"265","severity":1,"message":"317","line":72,"column":13,"nodeType":"267","messageId":"268","endLine":72,"endColumn":27},{"ruleId":"265","severity":1,"message":"311","line":1,"column":17,"nodeType":"267","messageId":"268","endLine":1,"endColumn":26},{"ruleId":"265","severity":1,"message":"285","line":4,"column":24,"nodeType":"267","messageId":"268","endLine":4,"endColumn":28},{"ruleId":"265","severity":1,"message":"298","line":4,"column":30,"nodeType":"267","messageId":"268","endLine":4,"endColumn":39},{"ruleId":"265","severity":1,"message":"299","line":4,"column":41,"nodeType":"267","messageId":"268","endLine":4,"endColumn":54},{"ruleId":"265","severity":1,"message":"300","line":4,"column":56,"nodeType":"267","messageId":"268","endLine":4,"endColumn":59},{"ruleId":"265","severity":1,"message":"301","line":4,"column":61,"nodeType":"267","messageId":"268","endLine":4,"endColumn":64},{"ruleId":"265","severity":1,"message":"311","line":1,"column":17,"nodeType":"267","messageId":"268","endLine":1,"endColumn":26},{"ruleId":"265","severity":1,"message":"285","line":4,"column":24,"nodeType":"267","messageId":"268","endLine":4,"endColumn":28},{"ruleId":"265","severity":1,"message":"298","line":4,"column":30,"nodeType":"267","messageId":"268","endLine":4,"endColumn":39},{"ruleId":"265","severity":1,"message":"299","line":4,"column":41,"nodeType":"267","messageId":"268","endLine":4,"endColumn":54},{"ruleId":"265","severity":1,"message":"300","line":4,"column":56,"nodeType":"267","messageId":"268","endLine":4,"endColumn":59},{"ruleId":"265","severity":1,"message":"301","line":4,"column":61,"nodeType":"267","messageId":"268","endLine":4,"endColumn":64},{"ruleId":"292","severity":1,"message":"293","line":6,"column":3,"nodeType":"294","messageId":"295","endLine":6,"endColumn":19},{"ruleId":"265","severity":1,"message":"318","line":11,"column":9,"nodeType":"267","messageId":"268","endLine":11,"endColumn":14},{"ruleId":"265","severity":1,"message":"319","line":16,"column":9,"nodeType":"267","messageId":"268","endLine":16,"endColumn":19},{"ruleId":"265","severity":1,"message":"307","line":2,"column":8,"nodeType":"267","messageId":"268","endLine":2,"endColumn":16},"no-native-reassign",["320"],"no-negated-in-lhs",["321"],"no-unused-vars","'Provider' is defined but never used.","Identifier","unusedVar","'store' is defined but never used.","'logo' is defined but never used.","'Header' is defined but never used.","'LefrMenu' is defined but never used.","'MainContent' is defined but never used.","'withRouter' is defined but never used.","'Redirect' is defined but never used.","'CakeContainer' is defined but never used.","'HooksCakeContainer' is defined but never used.","'IceCreamContainer' is defined but never used.","'userData' is assigned a value but never used.","'Component' is defined but never used.","'NavLink' is defined but never used.","'Route' is defined but never used.","'Alert' is defined but never used.","'Accordion' is defined but never used.","'Card' is defined but never used.","'Button' is defined but never used.","'Text' is defined but never used.","'password' is assigned a value but never used.","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","no-useless-constructor","Useless constructor.","MethodDefinition","noUselessConstructor","'Router' is defined but never used.","'Switch' is defined but never used.","'ListGroup' is defined but never used.","'ListGroupItem' is defined but never used.","'Row' is defined but never used.","'Col' is defined but never used.","'useHistory' is defined but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'fetchServices'. Either include it or remove the dependency array. If 'fetchServices' changes too often, find the parent component that defines it and wrap that definition in useCallback.","ArrayExpression",["322"],"'ReactDOM' is defined but never used.","'Link' is defined but never used.","React Hook useEffect has a missing dependency: 'fetchUser'. Either include it or remove the dependency array.",["323"],"'useEffect' is defined but never used.","React Hook useEffect has missing dependencies: 'fetchProduct' and 'product'. Either include them or remove the dependency array.",["324"],"React Hook useEffect has a missing dependency: 'fetchProduct'. Either include it or remove the dependency array.",["325"],"'history' is assigned a value but never used.","'deleteServices' is assigned a value but never used.","'nowId' is assigned a value but never used.","'tomorrowId' is assigned a value but never used.","no-global-assign","no-unsafe-negation",{"desc":"326","fix":"327"},{"desc":"328","fix":"329"},{"desc":"330","fix":"331"},{"desc":"332","fix":"333"},"Update the dependencies array to be: [fetchServices]",{"range":"334","text":"335"},"Update the dependencies array to be: [fetchUser]",{"range":"336","text":"337"},"Update the dependencies array to be: [fetchProduct, product]",{"range":"338","text":"339"},"Update the dependencies array to be: [fetchProduct]",{"range":"340","text":"341"},[388,390],"[fetchServices]",[257,259],"[fetchUser]",[336,338],"[fetchProduct, product]",[310,312],"[fetchProduct]"]