{"version":3,"sources":["EagleLogo.png","store/actions/index.jsx","assets/complete.png","assets/exiticon.png","assets/approve.png","components/Datagrid/Datagrid.jsx","dashboard/components/NewEntry/NewEntry.jsx","core/fetch/fetch.jsx","core/fetch/queryFetch.jsx","core/fetch/graphQLFetch.jsx","store/actions/dashboard/newentry.jsx","dashboard/components/NewEntry/NewEntryStateFull.jsx","dashboard/Dashboard.jsx","store/actions/dashboard/login.jsx","dashboard/DashboardStatefull.jsx","dashboard/components/Login/Login.jsx","dashboard/components/Login/LoginStateFull.jsx","components/AppHeader/components/Header/Header.jsx","components/AppHeader/components/Header/HeaderStatefull.jsx","components/AppHeader/AppHeader.jsx","nodata/NoData.jsx","nodata/NoDataStatefull.jsx","store/reducers/dashboard/login.jsx","store/reducers/dashboard/newentry.jsx","store/reducers/index.jsx","store/configureStore.jsx","app/App.jsx","serviceWorker.js","index.js"],"names":["module","exports","Datagrid","onGridReady","params","gridApi","api","gridColumnApi","columnApi","this","props","columns","data","children","rest","className","style","height","width","minHeight","reactNext","columnDefs","rowData","animateRows","refreshCells","Component","Alert","elevation","variant","resetPage","split","window","location","href","reload","useStyles","makeStyles","theme","root","flexGrow","paper","padding","spacing","color","palette","text","secondary","container","button","margin","modal","display","alignItems","justifyContent","backgroundColor","background","border","boxShadow","shadows","opacity","fontWeight","NewEntry","newEntryData","visiterData","employeeData","isLogin","actions","isLoaded","isUpdated","isDeleted","formatDate","date","format","classes","React","useState","first_name","setFirstName","organization","setOrganization","mobile_number","setMobileNumber","email_address","setEmailAddress","to_visit","setToVisit","Date","visit_date","setVisitDate","visit_time","setVisitTime","to_team","setToTeam","to_visitLong","setToVisitLong","visit_purpose","setVisitPurpose","visit_note","setVisitNote","employeeListShow","setEmployeeListShow","movement_id","setMovementId","openAlert","setOpenAlert","alertText","setAlertText","severityType","setSeverityType","visitor_id","setVisitorId","handleChangeFirstName","event","target","value","GetTime","hour","getHours","TimeType","minutes","getMinutes","toString","alertRequired","alertName","alertType","a_text","isEmptyOrSpaces","undefined","handleChange","e","onlyNums","replace","length","number","handleClose","open","setOpen","handleDeleteClose","id","useParams","disabled","setDisabled","isFirstLoad","setFirstLoad","useEffect","getVisitorData","console","log","e_data","visitor_date","visit_in_time","is_exit","employeeDataTemp","emp_login","visit_person","emp_name","visit_person_long","visit_team","setTimeout","setIsLoaded","setIsUpdated","setIsDeleted","requestVisiterList","requestEmployeeList","Grid","direction","justify","item","xs","Paper","Autocomplete","name","options","debug","freeSolo","inputValue","onInputChange","getOptionLabel","option","onChange","newValue","handleMobileNumberSelect","renderInput","TextField","placeholder","fullWidth","InputLabelProps","shrink","renderOption","matches","match","startIndex","indexOf","searchIndex","push","parts","parse","map","part","index","key","highlight","handleFirstNameSelect","toLowerCase","FormControl","formControl","InputLabel","Select","labelId","label","MenuItem","tempEmployeeData","filter","g","is_EA","is_OA","is_SA","selUser","is_vacation","currentTarget","innerText","next_available_date","person","utils","DateFnsUtils","inputVariant","autoOk","selDate","isValid","handleDateChange","autoComplete","fontSize","size","datePickerInput","lable","labelShrink","zeroOutline","handleVisitTimeChange","multiline","rows","Box","Button","startIcon","onClick","handleBackClick","endIcon","visit_out_time","updateVisiterTime","visitor_guid","uuid","isValid_data","validate","loadUrl","url","insertNewEntry","requestVisiterEntries","handleRequestClick","Dialog","onClose","DialogTitle","DialogActions","deleteVisiterData","autoFocus","Snackbar","autoHideDuration","severity","getHost","localStorage","getItem","loc","prot","protocol","prod_env","process","REACT_APP_ASPNETCORE_ENVIRONMENT","prod_url","REACT_APP_ASPNETCORE_URL","host","config","SERVER_URL_DEV","parseStatus","res","Promise","resolve","reject","then","response","status","message","catch","reason","defaultHeaders","Accept","type","method","body","querString","hasOwnProperty","element","headers","axios","fetch","join","query","a","f_query","withCredentials","JSON","stringify","json","error","types","newentryActions","invalidateNewEntry","dispatch","getState","insertMovementDB","getVisitor","payload","insertNewEntryDetail","insertMovementDeatilDB","insertNewEntryStatus","isSuccess","newentry","requestVisiterEntriesfromDB","receiveVisiterEntries","visiterEntries","requestVisiterListfromDB","receiveVisiterList","requestEmployeeListfromDB","receiveEmployeeList","updateVisiterEntries","endtime","updateVisiterEntriesfromDB","updateVisiterTimefromDB","deleteVisiterDatafromDB","setShowNewEntry","isShow","sendEmployeeMail","entryData","sendEmployeeMailfromDB","visitDate","tomorrowDate","setDate","getDate","setHours","sendVisitorMailfromDB","graphQLFetch","result","movement","dataToSend","movement_details","c","movemnt","mailData","queryFetch","dataList","addMovement","movement_details_guid","last_name","connect","state","login","loginUser","bindActionCreators","Dashboard","autoSizeAll","skipHeader","allColumnIds","getAllColumns","forEach","column","colDef","headerName","colId","autoSizeColumns","handleOpen","m_detail_id","setState","openExit","handleExitClick","handleAddClick","showNewEntry","handleExitTimeChange","time","gridData","setRowData","sizeColumnsToFit","imageMultiplier","isExit","resultElement","document","createElement","i","image","src","require","loading","alt","addEventListener","bind","cursor","appendChild","createImageSpan","field","maxWidth","cellRenderer","exitIconRenderer","cellRendererParams","rendererImage","getColumns","dashboard","sm","md","addButton","deltaRowDataMode","rowDataChangeDetectionStrategy","groupSuppressAutoColumn","groupHeaderHeight","defaultColDef","sortable","rememberGroupStateWhenNewData","overlayNoRowsTemplate","getRowNodeId","instance","Modal","aria-labelledby","aria-describedby","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","Fade","in","DialogContent","DialogContentText","align","keyboardIcon","KeyboardButtonProps","InputProps","okLabel","cancelLabel","defaultProps","withStyles","position","dashboardTiles","paddingTop","paddingRight","dataGrid","tileHeight","datagridPaper","paddingBottom","nodataFound","fontStyle","filterPanel","marginTop","groupIcon","marginRight","loginActions","reset","deleteCookie","checklogin","checkloginfromDB","setCookieLogin","setCookie","username","days","expires","setTime","getTime","toUTCString","cookie","forwardRef","typography","textField","Login","anchorEl","setAnchorEl","ip_username","setUserName","ip_password","setPassword","Boolean","IconButton","Avatar","Popover","anchorOrigin","vertical","horizontal","transformOrigin","Typography","required","preventDefault","uDetails","password","grow","title","breakpoints","up","datePicker","lableSpan","table","borderSpacing","logo","placeHolderDiv","placeHolder","top","transform","selectInput","Header","handleLogoutClick","getCookie","nameEQ","ca","charAt","substring","search","URLSearchParams","get","userguid","isCookie","Toolbar","noWrap","handleLoginClick","appBar","main","appBarScroll","ShowOnScroll","trigger","Slide","appear","AppHeader","useScrollTrigger","threshold","Fragment","AppBar","showOnScroll","textAlign","verticalAlign","errorDiv","left","NoData","component","header","headerActions","loginReducer","action","addLogin","cookieLogin","newentryReducer","didInvalidate","entrySuccess","combineReducers","loggerMiddleware","createLogger","collapsed","store","preloadedState","middleWare","applyMiddleware","thunkMiddleware","createStore","rootReducer","configureStore","createMuiTheme","primary","dark","contrastText","default","fontFamily","content","toolBar","paddingLeft","common","white","AppStateFull","portfolio","effectiveDate","CssBaseline","exact","path","Root","hostname","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.a64b91ad.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/EagleLogo.69608abb.png\";","export * from './dashboard';\r\n","module.exports = __webpack_public_path__ + \"static/media/complete.64d70a17.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import React, { Component } from 'react';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport './Datagrid.scss'\r\n\r\nclass Datagrid extends Component {\r\n\r\n render() {\r\n const { columns, data, onGridReady, children, ...rest } = this.props;\r\n return (\r\n \r\n {\r\n this.onGridReady(params);\r\n if (onGridReady) {\r\n onGridReady(params);\r\n }\r\n }}\r\n {...rest} >\r\n {children}\r\n \r\n \r\n );\r\n }\r\n\r\n onGridReady = params => {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n};\r\n\r\nexport default Datagrid;","import React, { useEffect } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Select from '@material-ui/core/Select';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Button from '@material-ui/core/Button';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport Box from '@material-ui/core/Box';\r\nimport BackspaceIcon from '@material-ui/icons/Backspace';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport parse from 'autosuggest-highlight/parse';\r\nimport match from 'autosuggest-highlight/match';\r\nimport Snackbar from '@material-ui/core/Snackbar';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { isValid, format } from 'date-fns';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker, KeyboardTimePicker } from '@material-ui/pickers';\r\nimport Today from '@material-ui/icons/Today';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\nimport { useParams } from 'react-router';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { v4 as uuid } from 'uuid';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Dialog from '@material-ui/core/Dialog';\r\n\r\nfunction Alert(props) {\r\n\treturn ;\r\n}\r\n\r\nfunction resetPage() {\r\n\tlet url = window.location.href;\r\n\tlet split = url.split('#/');\r\n\twindow.location.href = split[0] + '#/';\r\n\twindow.location.reload();\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(2),\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t},\r\n\tcontainer: {\r\n\t\tpadding: theme.spacing(2),\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t},\r\n\tbutton: {\r\n\t\tmargin: theme.spacing(2),\r\n\t},\r\n\tmodal: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tpaper: {\r\n\t\tbackgroundColor: theme.palette.background.paper,\r\n\t\tborder: '2px solid #000',\r\n\t\tboxShadow: theme.shadows[5],\r\n\t\tpadding: theme.spacing(2, 4, 3),\r\n\t},\r\n\ttextlable: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\topacity: 0.5,\r\n\t\tfontWeight: 400,\r\n\t\t'&.focused': {\r\n\t\t\tcolor: theme.palette.text.secondary,\r\n\t\t\topacity: 1,\r\n\t\t},\r\n\t\t'&.shrink': {\r\n\t\t\tcolor: theme.palette.text.secondary,\r\n\t\t\topacity: 1,\r\n\t\t},\r\n\t},\r\n\ttextInput: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t},\r\n\tlable: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\tfontWeight: 400,\r\n\t\topacity: 0.5,\r\n\t\t'&.Mui-focused': {\r\n\t\t\tcolor: theme.palette.text.secondary,\r\n\t\t\topacity: 1,\r\n\t\t},\r\n\t},\r\n\tdatePickerInput: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\tfontWeight: 400,\r\n\t\t'&.Mui-focused': {\r\n\t\t\tcolor: theme.palette.text.secondary,\r\n\t\t\topacity: 1,\r\n\t\t},\r\n\t},\r\n\tlabelShrink: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\topacity: 1,\r\n\t},\r\n}));\r\n\r\nconst NewEntry = (props) => {\r\n\tconst { newEntryData, visiterData, employeeData, isLogin, actions, isLoaded, isUpdated, isDeleted } = props;\r\n\tconst formatDate = (date) => format(date, 'MM/dd/yyyy');\r\n\tconst classes = useStyles();\r\n\tconst [first_name, setFirstName] = React.useState('');\r\n\tconst [organization, setOrganization] = React.useState('');\r\n\tconst [mobile_number, setMobileNumber] = React.useState('');\r\n\tconst [email_address, setEmailAddress] = React.useState('');\r\n\tconst [to_visit, setToVisit] = React.useState('');\r\n\tconst [visit_date, setVisitDate] = React.useState(formatDate(new Date()));\r\n\tconst [visit_time, setVisitTime] = React.useState(new Date());\r\n\tconst [to_team, setToTeam] = React.useState('');\r\n\tconst [to_visitLong, setToVisitLong] = React.useState('');\r\n\tconst [visit_purpose, setVisitPurpose] = React.useState('');\r\n\tconst [visit_note, setVisitNote] = React.useState('');\r\n\tconst [employeeListShow, setEmployeeListShow] = React.useState('');\r\n\tconst [movement_id, setMovementId] = React.useState('');\r\n\tconst [openAlert, setOpenAlert] = React.useState('');\r\n\tconst [alertText, setAlertText] = React.useState('');\r\n\tconst [severityType, setSeverityType] = React.useState('');\r\n\tconst [visitor_id, setVisitorId] = React.useState('');\r\n\r\n\tconst handleChangeFirstName = (event) => {\r\n\t\tsetFirstName(event.target.value);\r\n\t};\r\n\r\n\tconst handleChangeToVisit = (event) => {\r\n\t\tconst selUser = employeeData.filter((g) => g.emp_login === event.target.value)[0];\r\n\t\tif (selUser.is_vacation === 'Y') {\r\n\t\t\tconst a_text = `The employee selected is out of office. ${event.currentTarget.innerText} will be back on ${selUser.next_available_date}`;\r\n\t\t\tsetOpenAlert(true);\r\n\t\t\tsetAlertText(a_text);\r\n\t\t\tsetSeverityType('info');\r\n\t\t} else {\r\n\t\t\tsetToVisit(event.target.value);\r\n\t\t\tsetToVisitLong(event.currentTarget.innerText);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleDateChange = (date, value) => {\r\n\t\tconst selDate = isValid(date) ? formatDate(date) : value;\r\n\t\tsetVisitDate(selDate);\r\n\t};\r\n\r\n\tconst handleVisitTimeChange = (date) => {\r\n\t\tconst selDate = isValid(date) ? date : new Date();\r\n\t\tsetVisitTime(new Date(selDate));\r\n\t};\r\n\r\n\tconst handleChangeToTeam = (event) => {\r\n\t\tsetToTeam(event.target.value);\r\n\t\tsetEmployeeListShow(employeeData);\r\n\t\tlet tempEmployeeData = employeeData;\r\n\t\tif (event.target.value === 'ea') {\r\n\t\t\ttempEmployeeData = tempEmployeeData.filter((g) => g.is_EA === 'Y');\r\n\t\t} else if (event.target.value === 'oa') {\r\n\t\t\ttempEmployeeData = tempEmployeeData.filter((g) => g.is_OA === 'Y');\r\n\t\t} else if (event.target.value === 'sa') {\r\n\t\t\ttempEmployeeData = tempEmployeeData.filter((g) => g.is_SA === 'Y');\r\n\t\t}\r\n\t\tsetEmployeeListShow(tempEmployeeData);\r\n\t};\r\n\r\n\tconst handleChangeOrganization = (event) => {\r\n\t\tsetOrganization(event.target.value);\r\n\t};\r\n\r\n\tconst handleChangeEmailAddress = (event) => {\r\n\t\tsetEmailAddress(event.target.value);\r\n\t};\r\n\r\n\tconst handleChangeVisitPurpose = (event) => {\r\n\t\tsetVisitPurpose(event.target.value);\r\n\t\tsetEmployeeListShow(employeeData);\r\n\t};\r\n\r\n\tconst handleChangeVisitNote = (event) => {\r\n\t\tsetVisitNote(event.target.value);\r\n\t};\r\n\r\n\tconst handleClickBack = () => {\r\n\t\tprops.handleBackClick();\r\n\t};\r\n\r\n\tconst handleCancelRequest = () => {\r\n\t\thandleDeleteClose();\r\n\t\tconst id = visitor_id;\r\n\t\tactions.deleteVisiterData(id);\r\n\t};\r\n\r\n\tconst handleUpdateRequest = () => {\r\n\t\tlet visitor_date = new Date(format(new Date(visit_date), 'MM/dd/yyyy') + ' ' + GetTime(visit_time));\r\n\t\tconst date = new Date();\r\n\t\tif (visitor_date >= date) {\r\n\t\t\tconst data = {\r\n\t\t\t\tid: visitor_id,\r\n\t\t\t\tname: first_name,\r\n\t\t\t\torganization: organization,\r\n\t\t\t\tmobile_number: mobile_number,\r\n\t\t\t\temail_address: email_address,\r\n\t\t\t\tvisit_person: to_visit,\r\n\t\t\t\tvisit_person_long: to_visitLong,\r\n\t\t\t\tvisit_team: to_team,\r\n\t\t\t\tvisit_purpose: visit_purpose == 'p' ? 'Personal' : 'Official',\r\n\t\t\t\tvisit_note: visit_note,\r\n\t\t\t\t//visit_date: getCurrentDate(),\r\n\t\t\t\tvisit_in_time: GetTime(visit_time),\r\n\t\t\t\tvisit_date: visit_date,\r\n\t\t\t\tvisit_out_time: '',\r\n\t\t\t\t//is_exit: false,\r\n\t\t\t\tmovement_id: movement_id,\r\n\t\t\t};\r\n\t\t\tactions.updateVisiterTime(data);\r\n\t\t} else {\r\n\t\t\tsetOpenAlert(true);\r\n\t\t\tsetAlertText('Please select future date/time');\r\n\t\t\tsetSeverityType('warning');\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleMobileNumberSelect = (event, newValue) => {\r\n\t\tif (newValue) {\r\n\t\t\tsetFirstName(newValue.first_name);\r\n\t\t\tsetOrganization(newValue.organization);\r\n\t\t\tsetMobileNumber(newValue.mobile_number.toString());\r\n\t\t\tsetEmailAddress(newValue.email_address);\r\n\t\t\tsetMovementId(newValue.id);\r\n\t\t} else {\r\n\t\t\tsetMovementId(0);\r\n\t\t\tsetOrganization('');\r\n\t\t\tsetFirstName('');\r\n\t\t\tsetMobileNumber('');\r\n\t\t\tsetEmailAddress('');\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleFirstNameSelect = (event, newValue) => {\r\n\t\tif (newValue) {\r\n\t\t\tsetFirstName(newValue.first_name);\r\n\t\t\tsetOrganization(newValue.organization);\r\n\t\t\tsetMobileNumber(newValue.mobile_number.toString());\r\n\t\t\tsetEmailAddress(newValue.email_address);\r\n\t\t\tsetMovementId(newValue.id);\r\n\t\t} else {\r\n\t\t\tsetMovementId(0);\r\n\t\t\tsetOrganization('');\r\n\t\t\tsetMobileNumber('');\r\n\t\t\tsetFirstName('');\r\n\t\t\tsetEmailAddress('');\r\n\t\t}\r\n\t};\r\n\r\n\tconst getCurrentDate = (separator = '/') => {\r\n\t\tlet newDate = new Date();\r\n\t\tlet date = newDate.getDate();\r\n\t\tlet month = newDate.getMonth() + 1;\r\n\t\tlet year = newDate.getFullYear();\r\n\r\n\t\treturn `${date < 10 ? `0${date}` : `${date}`}${separator}${month < 10 ? `0${month}` : `${month}`}${separator}${year}`;\r\n\t};\r\n\r\n\tconst GetTime = (date) => {\r\n\t\t//let date = new Date();\r\n\t\tlet hour = date.getHours();\r\n\t\tlet TimeType = hour <= 11 ? 'AM' : 'PM';\r\n\t\tif (hour > 12) {\r\n\t\t\thour = hour - 12;\r\n\t\t}\r\n\t\tif (hour == 0) {\r\n\t\t\thour = 12;\r\n\t\t}\r\n\t\tlet minutes = date.getMinutes();\r\n\t\tif (minutes < 10) {\r\n\t\t\tminutes = '0' + minutes.toString();\r\n\t\t}\r\n\r\n\t\tlet fullTime = hour.toString() + ':' + minutes.toString() + ' ' + TimeType.toString();\r\n\t\treturn fullTime;\r\n\t};\r\n\tconst alertRequired = (alertName, alertType) => {\r\n\t\tconst a_text = alertType == 1 ? `Please enter the ${alertName}` : `Please select the ${alertName}`;\r\n\t\tsetOpenAlert(true);\r\n\t\tsetAlertText(a_text);\r\n\t\tsetSeverityType('warning');\r\n\t};\r\n\r\n\tconst isEmptyOrSpaces = (value) => {\r\n\t\treturn value === undefined || value === null || value === '';\r\n\t};\r\n\r\n\tconst validate = () => {\r\n\t\tlet isValid_data = false;\r\n\t\tisValid_data = mobile_number.length > 0 ? true : false;\r\n\t\tif (!isValid_data) {\r\n\t\t\talertRequired('mobile number', 1);\r\n\t\t\treturn isValid_data;\r\n\t\t}\r\n\t\tisValid_data = first_name.length > 0 ? true : false;\r\n\t\tif (!isValid_data) {\r\n\t\t\talertRequired('name', 1);\r\n\t\t\treturn isValid_data;\r\n\t\t}\r\n\t\t// isValid_data = email_address.length > 0 ? true : false;\r\n\t\t// if(!isValid_data) {\r\n\t\t// alertRequired('email address',1);\r\n\t\t// return isValid_data;\r\n\t\t// }\r\n\t\tisValid_data = visit_purpose.length > 0 ? true : false;\r\n\t\tif (!isValid_data) {\r\n\t\t\talertRequired('purpose of visit', 2);\r\n\t\t\treturn isValid_data;\r\n\t\t}\r\n\t\tif (visit_purpose == 'p') {\r\n\t\t\tisValid_data = to_visit.length > 0 ? true : false;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('person to visit', 2);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t\tisValid_data = isEmptyOrSpaces(visit_date) || !isValid(new Date(visit_date)) ? false : true;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('visit date', 2);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t\tisValid_data = isEmptyOrSpaces(visit_time) || !isValid(new Date(visit_time)) ? false : true;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('visit time', 2);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tisValid_data = to_team.length > 0 ? true : false;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('team', 2);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t\tisValid_data = to_visit.length > 0 ? true : false;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('person to visit', 2);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t\tisValid_data = isEmptyOrSpaces(visit_date) || !isValid(new Date(visit_date)) ? false : true;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('visit date', 2);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t\tisValid_data = isEmptyOrSpaces(visit_time) || !isValid(new Date(visit_time)) ? false : true;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('visit time', 2);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t\tisValid_data = organization.length > 0 ? true : false;\r\n\t\t\tif (!isValid_data) {\r\n\t\t\t\talertRequired('organization name', 1);\r\n\t\t\t\treturn isValid_data;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn isValid_data;\r\n\t};\r\n\r\n\tconst resetWindow = () => {\r\n\t\tsetMovementId(0);\r\n\t\tsetMobileNumber('');\r\n\t\tsetFirstName('');\r\n\t\tsetEmailAddress('');\r\n\t\tsetVisitPurpose('');\r\n\t\tsetToVisit('');\r\n\t\tsetToVisitLong('');\r\n\t\tsetToTeam('');\r\n\t\tsetOrganization('');\r\n\t\tsetVisitNote('');\r\n\t\tsetVisitDate(formatDate(new Date()));\r\n\t\tsetVisitTime(new Date());\r\n\t};\r\n\r\n\tconst handleClickRequest = () => {\r\n\t\tconst visitor_guid = uuid();\r\n\t\tconst isValid_data = validate();\r\n\t\tlet url = window.location.href;\r\n\t\tlet split = url.split('#/');\r\n\t\tlet loadUrl = split[0] + '#/';\r\n\t\tif (isValid_data) {\r\n\t\t\tconst data = {\r\n\t\t\t\tname: first_name,\r\n\t\t\t\torganization: organization,\r\n\t\t\t\tmobile_number: mobile_number,\r\n\t\t\t\temail_address: email_address,\r\n\t\t\t\tvisit_person: to_visit,\r\n\t\t\t\tvisit_person_long: to_visitLong,\r\n\t\t\t\tvisit_team: to_team,\r\n\t\t\t\tvisit_purpose: visit_purpose == 'p' ? 'Personal' : 'Official',\r\n\t\t\t\tvisit_note: visit_note,\r\n\t\t\t\t//visit_date: getCurrentDate(),\r\n\t\t\t\tvisit_in_time: GetTime(visit_time),\r\n\t\t\t\tvisit_date: visit_date,\r\n\t\t\t\tvisit_out_time: '',\r\n\t\t\t\t//is_exit: false,\r\n\t\t\t\tmovement_id: movement_id,\r\n\t\t\t\tvisitor_guid: visitor_guid,\r\n\t\t\t\turl: loadUrl + visitor_guid,\r\n\t\t\t};\r\n\t\t\t//newEntryData = data;\r\n\t\t\tactions.insertNewEntry(data);\r\n\t\t\tactions.requestVisiterEntries();\r\n\t\t\tif (isLogin) {\r\n\t\t\t\tsetOpenAlert(true);\r\n\t\t\t\tsetAlertText('Your request submitted successfully');\r\n\t\t\t\tsetSeverityType('success');\r\n\t\t\t\tprops.handleRequestClick(data);\r\n\t\t\t} else {\r\n\t\t\t\tsetOpenAlert(true);\r\n\t\t\t\tsetAlertText('Your request submitted successfully');\r\n\t\t\t\tsetSeverityType('success');\r\n\t\t\t\tresetWindow();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleChange = (e) => {\r\n\t\tif (e.target.value) {\r\n\t\t\tconst onlyNums = e.target.value.replace(/[^0-9]/g, '');\r\n\t\t\tif (onlyNums.length <= 10) {\r\n\t\t\t\tsetMobileNumber(onlyNums);\r\n\t\t\t} else if (onlyNums.length === 10) {\r\n\t\t\t\tconst number = onlyNums.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3');\r\n\t\t\t\tsetMobileNumber(number);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetMobileNumber('');\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tsetOpenAlert(false);\r\n\t\tsetAlertText('');\r\n\t\tsetSeverityType('');\r\n\t};\r\n\r\n\tconst [open, setOpen] = React.useState(false);\r\n\r\n\tconst handleClickOpen = () => {\r\n\t\tsetOpen(true);\r\n\t};\r\n\r\n\tconst handleDeleteClose = () => {\r\n\t\tsetOpen(false);\r\n\t};\r\n\r\n\tlet { id } = useParams();\r\n\tconst [disabled, setDisabled] = React.useState(false);\r\n\r\n\tconst [isFirstLoad, setFirstLoad] = React.useState(true);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isFirstLoad) {\r\n\t\t\tif (id != undefined) {\r\n\t\t\t\tactions.getVisitorData(id);\r\n\t\t\t\tconsole.log('isLoaded');\r\n\t\t\t\tconsole.log(isLoaded);\r\n\t\t\t\tconsole.log('isLoaded');\r\n\t\t\t\tif (isLoaded.length > 0) {\r\n\t\t\t\t\tconst e_data = isLoaded[0];\r\n\t\t\t\t\tlet date = new Date();\r\n\t\t\t\t\tlet visitor_date = new Date(format(new Date(e_data.visit_date), 'MM/dd/yyyy') + ' ' + e_data.visit_in_time);\r\n\t\t\t\t\tif (visitor_date >= date && e_data.is_exit == null) {\r\n\t\t\t\t\t\tsetVisitorId(e_data.id);\r\n\t\t\t\t\t\tsetFirstName(e_data.first_name);\r\n\t\t\t\t\t\tsetMobileNumber(e_data.mobile_number);\r\n\t\t\t\t\t\tsetEmailAddress(e_data.email_address);\r\n\t\t\t\t\t\tsetMovementId(e_data.movement_id);\r\n\t\t\t\t\t\tlet employeeDataTemp = [{ emp_login: e_data.visit_person, emp_name: e_data.visit_person_long }];\r\n\t\t\t\t\t\tsetEmployeeListShow(employeeDataTemp);\r\n\t\t\t\t\t\tif (e_data.visit_purpose == 'Personal') {\r\n\t\t\t\t\t\t\tsetVisitPurpose('p');\r\n\t\t\t\t\t\t\tsetToVisit(employeeDataTemp[0].emp_login);\r\n\t\t\t\t\t\t} else if (e_data.visit_purpose == 'Official') {\r\n\t\t\t\t\t\t\tsetVisitPurpose('o');\r\n\t\t\t\t\t\t\tsetToTeam(e_data.visit_team);\r\n\t\t\t\t\t\t\tsetToVisit(employeeDataTemp[0].emp_login);\r\n\t\t\t\t\t\t\tsetOrganization(e_data.organization);\r\n\t\t\t\t\t\t\tsetVisitNote(e_data.visit_note);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetVisitDate(format(new Date(e_data.visit_date), 'MM/dd/yyyy'));\r\n\t\t\t\t\t\tsetVisitTime(new Date(visitor_date));\r\n\t\t\t\t\t\tsetDisabled(true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetTimeout(() => resetPage(), 1800);\r\n\t\t\t\t\t\tsetOpenAlert(true);\r\n\t\t\t\t\t\tsetAlertText('Your request is expired');\r\n\t\t\t\t\t\tsetSeverityType('error');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tactions.setIsLoaded(null);\r\n\t\t\t\t\tsetFirstLoad(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isUpdated) {\r\n\t\t\tsetOpenAlert(true);\r\n\t\t\tsetAlertText('Your request updated successfully');\r\n\t\t\tsetSeverityType('success');\r\n\t\t\tactions.setIsUpdated(false);\r\n\t\t}\r\n\r\n\t\tif (isDeleted) {\r\n\t\t\tsetOpenAlert(true);\r\n\t\t\tsetAlertText('Your request deleted successfully');\r\n\t\t\tsetSeverityType('success');\r\n\t\t\tactions.setIsDeleted(false);\r\n\t\t\tsetTimeout(() => resetPage(), 1800);\r\n\t\t}\r\n\r\n\t\tif (actions) {\r\n\t\t\tactions.requestVisiterList();\r\n\t\t\tactions.requestEmployeeList();\r\n\t\t}\r\n\t}, [actions, isLoaded, isUpdated, isDeleted]);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t option.mobile_number.toString()}\r\n\t\t\t\t\t\t\tonChange={(event, newValue) => {\r\n\t\t\t\t\t\t\t\thandleMobileNumberSelect(event, newValue);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\trenderInput={(params) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\trenderOption={(option, { inputValue }) => {\r\n\t\t\t\t\t\t\t\tlet matches = match(option.mobile_number.toString(), inputValue);\r\n\t\t\t\t\t\t\t\tif (matches.length <= 0 && inputValue.length > 0) {\r\n\t\t\t\t\t\t\t\t\tlet startIndex = option.mobile_number.toString().indexOf(inputValue);\r\n\t\t\t\t\t\t\t\t\tif (startIndex >= 0) {\r\n\t\t\t\t\t\t\t\t\t\tconst searchIndex = [startIndex, startIndex + inputValue.length];\r\n\t\t\t\t\t\t\t\t\t\tmatches.push(searchIndex);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst parts = parse(option.mobile_number.toString(), matches);\r\n\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{parts.map((part, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{part.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t option.first_name}\r\n\t\t\t\t\t\t\tonChange={(event, newValue) => {\r\n\t\t\t\t\t\t\t\thandleFirstNameSelect(event, newValue);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\trenderInput={(params) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\trenderOption={(option, { inputValue }) => {\r\n\t\t\t\t\t\t\t\tlet matches = match(option.first_name.toLowerCase(), inputValue.toLowerCase());\r\n\t\t\t\t\t\t\t\tif (matches.length <= 0 && inputValue.length > 0) {\r\n\t\t\t\t\t\t\t\t\tlet startIndex = option.first_name.toLowerCase().indexOf(inputValue.toLowerCase());\r\n\t\t\t\t\t\t\t\t\tif (startIndex >= 0) {\r\n\t\t\t\t\t\t\t\t\t\tconst searchIndex = [startIndex, startIndex + inputValue.length];\r\n\t\t\t\t\t\t\t\t\t\tmatches.push(searchIndex);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst parts = parse(option.first_name, matches);\r\n\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{parts.map((part, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{part.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPurpose*\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{visit_purpose === 'o' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tTeam\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{(visit_purpose === 'p' || (visit_purpose === 'o' && to_team !== '')) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tTo Visit\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{(visit_purpose === 'p' || (visit_purpose === 'o' && to_team !== '')) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\thandleDateChange(date, value);\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tautoComplete='new-password'\r\n\t\t\t\t\t\t\t\t\t\tautoComplete='password'\r\n\t\t\t\t\t\t\t\t\t\tvalue={visit_date}\r\n\t\t\t\t\t\t\t\t\t\tkeyboardIcon={}\r\n\t\t\t\t\t\t\t\t\t\tfullWidth\r\n\t\t\t\t\t\t\t\t\t\tKeyboardButtonProps={{\r\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': 'change date',\r\n\t\t\t\t\t\t\t\t\t\t\tsize: 'small',\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tInputProps={{\r\n\t\t\t\t\t\t\t\t\t\t\tclassName: classes.datePickerInput,\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tokLabel={Ok}\r\n\t\t\t\t\t\t\t\t\t\tcancelLabel={CANCEL}\r\n\t\t\t\t\t\t\t\t\t\tInputLabelProps={{\r\n\t\t\t\t\t\t\t\t\t\t\tclasses: {\r\n\t\t\t\t\t\t\t\t\t\t\t\troot: classes.lable,\r\n\t\t\t\t\t\t\t\t\t\t\t\tshrink: classes.labelShrink,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{(visit_purpose === 'p' || (visit_purpose === 'o' && to_team !== '')) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\thandleVisitTimeChange(date, value);\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tautoComplete='new-password'\r\n\t\t\t\t\t\t\t\t\t\tautoComplete='password'\r\n\t\t\t\t\t\t\t\t\t\tvalue={visit_time}\r\n\t\t\t\t\t\t\t\t\t\tkeyboardIcon={}\r\n\t\t\t\t\t\t\t\t\t\tfullWidth\r\n\t\t\t\t\t\t\t\t\t\tKeyboardButtonProps={{\r\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': 'change time',\r\n\t\t\t\t\t\t\t\t\t\t\tsize: 'small',\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tInputProps={{\r\n\t\t\t\t\t\t\t\t\t\t\tclassName: classes.datePickerInput,\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tokLabel={Ok}\r\n\t\t\t\t\t\t\t\t\t\tcancelLabel={CANCEL}\r\n\t\t\t\t\t\t\t\t\t\tInputLabelProps={{\r\n\t\t\t\t\t\t\t\t\t\t\tclasses: {\r\n\t\t\t\t\t\t\t\t\t\t\t\troot: classes.lable,\r\n\t\t\t\t\t\t\t\t\t\t\t\tshrink: classes.labelShrink,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{visit_purpose === 'o' && to_team !== '' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{visit_purpose === 'o' && to_team !== '' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{isLogin && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{disabled && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{disabled && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{!disabled && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAre you sure you want to delete your booking?\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{alertText}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nNewEntry.propTypes = {};\r\n\r\nexport default NewEntry;\r\n","import axios from 'axios';\r\nimport config from '../../config.json';\r\n\r\nexport const getHost = () => {\r\n\tif (localStorage.getItem('devserver') === '1') {\r\n\t\treturn localStorage.getItem('devurl');\r\n\t}\r\n\t// if (process.env.REACT_APP_ASPNETCORE_ENVIRONMENT === \"production\") {\r\n\t// return './';\r\n\t// }\r\n\tconst loc = window.location;\r\n\tconst prot = loc.protocol;\r\n\tlet prod_env = process.env.REACT_APP_ASPNETCORE_ENVIRONMENT ? process.env.REACT_APP_ASPNETCORE_ENVIRONMENT : process.env.NODE_ENV;\r\n\tlet prod_url = process.env.REACT_APP_ASPNETCORE_URL ? process.env.REACT_APP_ASPNETCORE_URL : loc.host;\r\n\tif (loc.host === 'visitor.eagleconsulting.co.in') {\r\n\t\tprod_env = 'production';\r\n\t\tprod_url = loc.host.replace('visitor', 'visitorapi');\r\n\t}\r\n\treturn prot + '//' + (prod_env === 'production' ? prod_url : config.SERVER_URL_DEV);\r\n};\r\n\r\nexport default (url, method, body) => {\r\n\tconst options = {\r\n\t\tmethod: method || 'GET',\r\n\t\turl: `${getHost()}/${url}`,\r\n\t\theaders: defaultHeaders(),\r\n\t\t//withCredentials: true,\r\n\t\tdata: body,\r\n\t};\r\n\r\n\tconst res = axios(options);\r\n\treturn parseStatus(res);\r\n};\r\n\r\nconst parseStatus = (res) => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tres\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst status = response.status;\r\n\t\t\t\t//console.log({ response, status });\r\n\t\t\t\tif (status) {\r\n\t\t\t\t\tif (status >= 200 && status < 300) {\r\n\t\t\t\t\t\tresolve(response.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treject(response.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\treject({ status: 500, response: response.message });\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((reason) => {\r\n\t\t\t\tconsole.log(reason);\r\n\r\n\t\t\t\treturn reject({ status: reason.status, response: reason.message });\r\n\t\t\t});\r\n\t});\r\n};\r\n\r\nconst defaultHeaders = () => {\r\n\treturn {\r\n\t\tAccept: 'application/json',\r\n\t\t'Content-Type': 'application/json',\r\n\t\t'Access-Control-Allow-Origin': '*',\r\n\t};\r\n};\r\n","import fetch from \"./fetch\";\r\n\r\nexport default (type, params, method, body) => {\r\n const querString = [];\r\n for (const key in params) {\r\n if (params.hasOwnProperty(key)) {\r\n const element = params[key];\r\n querString.push(`${key}=${element}`);\r\n }\r\n }\r\n\r\n return fetch(`api/SampleData/${type}${querString.length > 0 ? '?' : ''}${querString.join('&')}`,method,body)\r\n};","import config from '../../config.json';\r\n\r\nexport const getHost = () => {\r\n\tif (localStorage.getItem('devserver') === '1') {\r\n\t\treturn localStorage.getItem('devurl');\r\n\t}\r\n\t// if (process.env.REACT_APP_ASPNETCORE_ENVIRONMENT === \"production\") {\r\n\t// return './';\r\n\t// }\r\n\tconst loc = window.location;\r\n\tconst prot = loc.protocol;\r\n\tlet prod_env = process.env.REACT_APP_ASPNETCORE_ENVIRONMENT ? process.env.REACT_APP_ASPNETCORE_ENVIRONMENT : process.env.NODE_ENV;\r\n\tlet prod_url = process.env.REACT_APP_ASPNETCORE_URL ? process.env.REACT_APP_ASPNETCORE_URL : loc.host;\r\n\tif (loc.host === 'visitor.eagleconsulting.co.in') {\r\n\t\tprod_env = 'production';\r\n\t\tprod_url = loc.host.replace('visitor', 'visitorapi');\r\n\t}\r\n\treturn prot + '//' + (prod_env === 'production' ? prod_url : config.SERVER_URL_DEV);\r\n};\r\n\r\nconst defaultHeaders = () => {\r\n\treturn {\r\n\t\tAccept: 'application/json',\r\n\t\t'Content-Type': 'application/json',\r\n\t};\r\n};\r\n\r\nexport default async (method, query, body) => {\r\n\tconst url = 'GraphQL';\r\n\tconst f_query = query.query\r\n\t\t? query.query\r\n\t\t: `query {\r\n ${query}\r\n }\r\n `;\r\n\tconst options = {\r\n\t\tmethod: method || 'GET',\r\n\t\turl: `${getHost()}/${url}`,\r\n\t\theaders: defaultHeaders(),\r\n\t\twithCredentials: true,\r\n\t\tdata: f_query,\r\n\t};\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tfetch(options.url, {\r\n\t\t\tmethod: options.method,\r\n\t\t\theaders: options.headers,\r\n\t\t\tbody: JSON.stringify({ query: options.data }),\r\n\t\t})\r\n\t\t\t.then((response) => response.json())\r\n\t\t\t.then((data) => {\r\n\t\t\t\tresolve(data);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error('unable get data.', error);\r\n\t\t\t\treject(error);\r\n\t\t\t});\r\n\t});\r\n};\r\n","import { queryFetch, graphQLFetch } from '../../../core/fetch';\r\n//import config from '../../../config.json';\r\n\r\nexport const types = {\r\n\tINVALIDATE_NEW_ENTRY: 'INVALIDATE_NEW_ENTRY',\r\n\tINSERT_NEW_ENTRY: 'INSERT_NEW_ENTRY',\r\n\tGET_VISITOR_DATA: 'GET_VISITOR_DATA',\r\n\tINSERT_NEW_ENTRY_DETAIL: 'INSERT_NEW_ENTRY_DETAIL',\r\n\tREQUEST_VISITER_ENTRIES: 'REQUEST_VISITER_ENTRIES',\r\n\tRECEIVE_VISITER_ENTRIES: 'RECEIVE_VISITER_ENTRIES',\r\n\tUPDATE_VISITER_ENTRIES: 'UPDATE_VISITER_ENTRIES',\r\n\tUPDATE_VISITER_TIME: 'UPDATE_VISITER_TIME',\r\n\tREQUEST_VISITER_LIST: 'REQUEST_VISITER_LIST',\r\n\tRECEIVE_VISITER_LIST: 'RECEIVE_VISITER_LIST',\r\n\tREQUEST_EMPLOYEE_LIST: 'REQUEST_EMPLOYEE_LIST',\r\n\tRECEIVE_EMPLOYEE_LIST: 'RECEIVE_EMPLOYEE_LIST',\r\n\tSET_SHOW_NEW_ENTRY: 'SET_SHOW_NEW_ENTRY',\r\n\tINSERT_NEW_ENTRY_STATUS: 'INSERT_NEW_ENTRY_STATUS',\r\n\tSEND_EMPLOYEE_MAIL: 'SEND_EMPLOYEE_MAIL',\r\n\tDELETE_VISITER_DATA: 'DELETE_VISITER_DATA',\r\n};\r\n\r\nexport const newentryActions = {\r\n\tinvalidateNewEntry() {\r\n\t\treturn {\r\n\t\t\ttype: types.INVALIDATE_NEW_ENTRY,\r\n\t\t};\r\n\t},\r\n\tinsertNewEntry(data) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.INSERT_NEW_ENTRY,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(insertMovementDB(data));\r\n\t\t};\r\n\t},\r\n\tgetVisitorData(data) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.GET_VISITOR_DATA,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(getVisitor(data));\r\n\t\t};\r\n\t},\r\n\tsetIsDeleted(data) {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.DELETE_VISITER_DATA,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tisDeleted: data,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t};\r\n\t},\r\n\tsetIsUpdated(data) {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.UPDATE_VISITER_TIME,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tisUpdated: data,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t};\r\n\t},\r\n\tsetIsLoaded(data) {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.GET_VISITOR_DATA,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tisLoaded: data,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t};\r\n\t},\r\n\tinsertNewEntryDetail(id, data) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.INSERT_NEW_ENTRY_DETAIL,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(insertMovementDeatilDB(id, data));\r\n\t\t};\r\n\t},\r\n\tinsertNewEntryStatus(isSuccess) {\r\n\t\treturn {\r\n\t\t\ttype: types.INSERT_NEW_ENTRY_STATUS,\r\n\t\t\tpayload: isSuccess,\r\n\t\t};\r\n\t},\r\n\trequestVisiterEntries() {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tconst { newentry } = getState();\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.REQUEST_VISITER_ENTRIES,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(requestVisiterEntriesfromDB());\r\n\t\t};\r\n\t},\r\n\treceiveVisiterEntries(visiterEntries) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tconst { newentry } = getState();\r\n\t\t\tconst payload = visiterEntries;\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.RECEIVE_VISITER_ENTRIES,\r\n\t\t\t\tpayload: { visiterEntries, ...payload },\r\n\t\t\t});\r\n\t\t};\r\n\t},\r\n\trequestVisiterList() {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tconst { newentry } = getState();\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.REQUEST_VISITER_LIST,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(requestVisiterListfromDB());\r\n\t\t};\r\n\t},\r\n\treceiveVisiterList(visiterData) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tconst { newentry } = getState();\r\n\t\t\tconst payload = visiterData;\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.RECEIVE_VISITER_LIST,\r\n\t\t\t\tpayload: { visiterData, ...payload },\r\n\t\t\t});\r\n\t\t};\r\n\t},\r\n\trequestEmployeeList() {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tconst { newentry } = getState();\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.REQUEST_EMPLOYEE_LIST,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(requestEmployeeListfromDB());\r\n\t\t};\r\n\t},\r\n\treceiveEmployeeList(employeeData) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tconst { newentry } = getState();\r\n\t\t\tconst payload = employeeData;\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.RECEIVE_EMPLOYEE_LIST,\r\n\t\t\t\tpayload: { employeeData, ...payload },\r\n\t\t\t});\r\n\t\t};\r\n\t},\r\n\tupdateVisiterEntries(id, status, endtime) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.UPDATE_VISITER_ENTRIES,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(updateVisiterEntriesfromDB(id, status, endtime));\r\n\t\t};\r\n\t},\r\n\tupdateVisiterTime(data) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.UPDATE_VISITER_TIME,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(updateVisiterTimefromDB(data));\r\n\t\t};\r\n\t},\r\n\tdeleteVisiterData(data) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.DELETE_VISITER_DATA,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(deleteVisiterDatafromDB(data));\r\n\t\t};\r\n\t},\r\n\tsetShowNewEntry(isShow) {\r\n\t\treturn {\r\n\t\t\ttype: types.SET_SHOW_NEW_ENTRY,\r\n\t\t\tpayload: isShow,\r\n\t\t};\r\n\t},\r\n\tsendEmployeeMail(entryData) {\r\n\t\treturn (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.SEND_EMPLOYEE_MAIL,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(sendEmployeeMailfromDB(entryData));\r\n\t\t\tlet visitDate = new Date(entryData.visit_date);\r\n\t\t\tlet tomorrowDate = new Date();\r\n\t\t\ttomorrowDate.setDate(tomorrowDate.getDate() + 1);\r\n\t\t\ttomorrowDate.setHours(0, 0, 0, 0);\r\n\t\t\tif (visitDate >= tomorrowDate) {\r\n\t\t\t\tdispatch(sendVisitorMailfromDB(entryData));\r\n\t\t\t}\r\n\t\t};\r\n\t},\r\n};\r\n\r\nconst requestVisiterListfromDB = () => {\r\n\tconst query = `movement{\r\n id\r\n first_name\r\n last_name\r\n gender\r\n organization\r\n email_address\r\n mobile_number\r\n contact_address1\r\n contact_address2\r\n city\r\n state\r\n update_date\r\n }`;\r\n\treturn (dispatch) => {\r\n\t\tgraphQLFetch('post', query).then((result) => {\r\n\t\t\tlet data = result && result.data.movement;\r\n\t\t\tdata = data.filter((g) => g.first_name && g.mobile_number);\r\n\t\t\tdispatch(newentryActions.receiveVisiterList(data));\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst requestVisiterEntriesfromDB = () => {\r\n\tconst query = `movement_details{\r\n id\r\n movement_id\r\n visit_person\r\n visit_person_long\r\n visit_team\r\n visit_purpose\r\n visit_date\r\n visit_in_time\r\n visit_out_time\r\n\t\tvisit_note\r\n\t\tvisitor_guid\r\n is_exit\r\n movemnt {\r\n id\r\n first_name\r\n organization\r\n\t\t mobile_number\r\n\t\t email_address\r\n }\r\n }`;\r\n\treturn (dispatch) => {\r\n\t\tgraphQLFetch('post', query).then((result) => {\r\n\t\t\t//console.log(result && result.data);\r\n\t\t\tvar dataToSend = [];\r\n\t\t\tif (result && result.data) {\r\n\t\t\t\tresult.data.movement_details.map((c) => {\r\n\t\t\t\t\tconst e_data = {\r\n\t\t\t\t\t\tid: c.id,\r\n\t\t\t\t\t\tmovement_id: c.movement_id,\r\n\t\t\t\t\t\tvisit_person: c.visit_person,\r\n\t\t\t\t\t\tvisit_person_long: c.visit_person_long,\r\n\t\t\t\t\t\tvisit_team: c.visit_team,\r\n\t\t\t\t\t\tvisit_purpose: c.visit_purpose,\r\n\t\t\t\t\t\tvisit_date: c.visit_date,\r\n\t\t\t\t\t\tvisit_in_time: c.visit_in_time,\r\n\t\t\t\t\t\tvisit_out_time: c.visit_out_time,\r\n\t\t\t\t\t\tvisit_note: c.visit_note,\r\n\t\t\t\t\t\tis_exit: c.is_exit,\r\n\t\t\t\t\t\tfirst_name: c.movemnt.first_name,\r\n\t\t\t\t\t\torganization: c.movemnt.organization,\r\n\t\t\t\t\t\tmobile_number: c.movemnt.mobile_number,\r\n\t\t\t\t\t\temail_address: c.movemnt.email_address,\r\n\t\t\t\t\t};\r\n\t\t\t\t\tdataToSend.push(e_data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tdispatch(newentryActions.receiveVisiterEntries(dataToSend));\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst updateVisiterEntriesfromDB = (id, status, endtime) => {\r\n\tconst query = `mutation updateMovementdetails{\r\n updateMovementdetails(\r\n id :${id}\r\n is_exit:\"${status}\"\r\n visit_out_time:\"${status === 'Y' ? endtime : ''}\"\r\n ) {\r\n id\r\n }\r\n }`;\r\n\r\n\treturn (dispatch) => {\r\n\t\tgraphQLFetch('post', {\r\n\t\t\tquery,\r\n\t\t}).then((result) => {\r\n\t\t\t//console.log(result.data);\r\n\t\t\tdispatch(newentryActions.requestVisiterEntries());\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst updateVisiterTimefromDB = (data) => {\r\n\tconst query = `mutation {updateMovementdetailsguid(\r\n\t\tid: ${data.id},\r\n\t\tvisit_in_time: \"${data.visit_in_time}\",\r\n\t\tvisit_date: \"${data.visit_date}\",\r\n\t\tvisit_note: \"${data.visit_note}\"\r\n\t\t) {\r\n\t\tid\t\t\t\r\n\t\t}\r\n\t}`;\r\n\r\n\treturn (dispatch) => {\r\n\t\tgraphQLFetch('post', { query }).then((result) => {\r\n\t\t\tif (result && result.data) {\r\n\t\t\t\tdispatch(newentryActions.setIsUpdated(true));\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst deleteVisiterDatafromDB = (data) => {\r\n\tconst query = `mutation {deleteMovementDetails(\r\n\t\tid: ${data}\r\n\t\t)\r\n}`;\r\n\treturn (dispatch) => {\r\n\t\tgraphQLFetch('post', { query }).then((result) => {\r\n\t\t\tif (result && result.data) {\r\n\t\t\t\tdispatch(newentryActions.setIsDeleted(true));\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst sendEmployeeMailfromDB = (mailData) => {\r\n\tconst body = JSON.stringify(mailData);\r\n\treturn (dispatch) => {\r\n\t\tqueryFetch('sendmail', '', 'POST', body).then((result) => {\r\n\t\t\t//var dataList = JSON.parse(result);\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst sendVisitorMailfromDB = (mailData) => {\r\n\tconst body = JSON.stringify(mailData);\r\n\treturn (dispatch) => {\r\n\t\tqueryFetch('sendmailvisitor', '', 'POST', body).then((result) => {\r\n\t\t\t//var dataList = JSON.parse(result);\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst requestEmployeeListfromDB = () => {\r\n\t// return dispatch => {\r\n\t// fetch('http://'+config.SERVER_URL+'/api/SampleData/getEmployeeList', {\r\n\t// method: 'POST',\r\n\t// headers: {\r\n\t// 'Accept': 'application/json',\r\n\t// 'Content-Type': 'application/json'\r\n\t// }\r\n\t// })\r\n\t// .then(response => response.json())\r\n\t// .then(data => {\r\n\t// var dataList = JSON.parse(data);\r\n\t// dispatch(newentryActions.receiveEmployeeList((dataList && dataList)))\r\n\t// })\r\n\t// .catch(error => console.error('Unable to get user data.', error));\r\n\t// }\r\n\treturn (dispatch) => {\r\n\t\tqueryFetch('getEmployeeList', '', 'POST').then((result) => {\r\n\t\t\tvar dataList = JSON.parse(result);\r\n\t\t\tdispatch(newentryActions.receiveEmployeeList(dataList && dataList));\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst insertMovementDB = (newEntryData) => {\r\n\tif (newEntryData.movement_id <= 0) {\r\n\t\tconst query = `mutation addMovement{\r\n addMovement(\r\n first_name :\"${newEntryData.name}\"\r\n organization:\"${newEntryData.organization}\"\r\n email_address:\"${newEntryData.email_address}\"\r\n mobile_number:${newEntryData.mobile_number}\r\n ) {\r\n id\r\n }\r\n }`;\r\n\r\n\t\treturn (dispatch) => {\r\n\t\t\tgraphQLFetch('post', {\r\n\t\t\t\tquery,\r\n\t\t\t}).then((result) => {\r\n\t\t\t\t//console.log(result.data);\r\n\t\t\t\tdispatch(newentryActions.insertNewEntryDetail(result.data.addMovement.id, newEntryData));\r\n\t\t\t});\r\n\t\t};\r\n\t} else {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch(newentryActions.insertNewEntryDetail(newEntryData.movement_id, newEntryData));\r\n\t\t};\r\n\t}\r\n};\r\n\r\nconst getVisitor = (id) => {\r\n\tconst query =\r\n\t\t`movement_details_guid(\r\n\t\t\t\tvisitor_guid: \"` +\r\n\t\tid +\r\n\t\t`\"\r\n\t\t\t\t) {\r\n\t\t\tid\r\n\t\t\tmovement_id\r\n\t\t\tvisit_person\r\n\t\t\tvisit_person_long\r\n\t\t\tvisit_team\r\n\t\t\tvisit_purpose\r\n\t\t\tvisit_date\r\n\t\t\tvisit_in_time\r\n\t\t\tvisit_out_time\r\n\t\t\tvisit_note\r\n\t\t\tis_exit\r\n\t\t\t\tmovemnt {\r\n\t\t\t\tid,\r\n\t\t\t\tfirst_name\r\n\t\t\t\tlast_name\r\n\t\t\t\torganization\r\n\t\t\t\tmobile_number\r\n\t\t\t\temail_address\r\n\t\t\t}\r\n\t\t}`;\r\n\treturn (dispatch) => {\r\n\t\tgraphQLFetch('post', query).then((result) => {\r\n\t\t\tif (result && result.data) {\r\n\t\t\t\tresult.data.movement_details_guid.map((c) => {\r\n\t\t\t\t\tconst e_data = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: c.id,\r\n\t\t\t\t\t\t\tmovement_id: c.movement_id,\r\n\t\t\t\t\t\t\tvisit_person: c.visit_person,\r\n\t\t\t\t\t\t\tvisit_person_long: c.visit_person_long,\r\n\t\t\t\t\t\t\tvisit_team: c.visit_team,\r\n\t\t\t\t\t\t\tvisit_purpose: c.visit_purpose,\r\n\t\t\t\t\t\t\tvisit_date: c.visit_date,\r\n\t\t\t\t\t\t\tvisit_in_time: c.visit_in_time,\r\n\t\t\t\t\t\t\tvisit_out_time: c.visit_out_time,\r\n\t\t\t\t\t\t\tvisit_note: c.visit_note,\r\n\t\t\t\t\t\t\tis_exit: c.is_exit,\r\n\t\t\t\t\t\t\tfirst_name: c.movemnt.first_name,\r\n\t\t\t\t\t\t\tlast_name: c.movemnt.last_name,\r\n\t\t\t\t\t\t\torganization: c.movemnt.organization,\r\n\t\t\t\t\t\t\tmobile_number: c.movemnt.mobile_number,\r\n\t\t\t\t\t\t\temail_address: c.movemnt.email_address,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t];\r\n\t\t\t\t\tdispatch(newentryActions.setIsLoaded(e_data));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n};\r\n\r\nconst insertMovementDeatilDB = (id, newEntryData) => {\r\n\tconst query = `mutation addMovementDetails{\r\n addMovementDetails(\r\n movement_id :${id}\r\n visit_person:\"${newEntryData.visit_person}\"\r\n visit_person_long:\"${newEntryData.visit_person_long}\"\r\n visit_team:\"${newEntryData.visit_team}\"\r\n visit_purpose:\"${newEntryData.visit_purpose}\"\r\n visit_note:\"${newEntryData.visit_note}\"\r\n visit_date:\"${newEntryData.visit_date}\"\r\n\t\t\t\tvisit_in_time:\"${newEntryData.visit_in_time}\"\r\n\t\t\t\tvisitor_guid:\"${newEntryData.visitor_guid}\"\r\n ) {\r\n movement_id\r\n }\r\n }`;\r\n\r\n\treturn (dispatch) => {\r\n\t\tgraphQLFetch('post', {\r\n\t\t\tquery,\r\n\t\t}).then((result) => {\r\n\t\t\t//console.log(result.data);\r\n\t\t\tdispatch(newentryActions.requestVisiterEntries());\r\n\t\t\tdispatch(newentryActions.sendEmployeeMail(newEntryData));\r\n\t\t});\r\n\t};\r\n};\r\n","import { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport NewEntry from './NewEntry';\r\nimport { newentryActions } from '../../../store/actions/dashboard/newentry';\r\n\r\nconst mapStateToProps = (state) => {\r\n\tconst { login, newentry } = state;\r\n\tconst { isLogin, loginUser } = login;\r\n\tconst { newEntryData, visiterData, employeeData, isLoaded, isUpdated, isDeleted } = newentry;\r\n\r\n\treturn {\r\n\t\tisLogin,\r\n\t\tloginUser,\r\n\t\tnewEntryData,\r\n\t\tvisiterData,\r\n\t\temployeeData,\r\n\t\tisLoaded,\r\n\t\tisUpdated,\r\n\t\tisDeleted,\r\n\t};\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tactions: bindActionCreators(newentryActions, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(NewEntry);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Datagrid from '../components/Datagrid';\r\nimport NewEntry from './components/NewEntry';\r\nimport Button from '@material-ui/core/Button';\r\nimport Box from '@material-ui/core/Box';\r\nimport AddIcon from '@material-ui/icons/AddBox';\r\nimport Modal from '@material-ui/core/Modal';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Fade from '@material-ui/core/Fade';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport { MuiPickersUtilsProvider, KeyboardTimePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport Today from '@material-ui/icons/Today';\r\nconst tileHeight = 175;\r\nconst filterHeight = 55;\r\n\r\nconst styles = (theme) => ({\r\n\tdashboard: {\r\n\t\theight: `100%`,\r\n\t\tpadding: `0 ${theme.spacing(5)}px`,\r\n\t\twidth: '100%',\r\n\t\tposition: 'relative',\r\n\t},\r\n\tdashboardTiles: {\r\n\t\tpaddingTop: theme.spacing(1),\r\n\t\tpadding: `0 ${theme.spacing(2)}px`,\r\n\t\tpaddingRight: theme.spacing(1),\r\n\t\tposition: 'relative',\r\n\t},\r\n\tdataGrid: {\r\n\t\theight: `calc(100% - ${tileHeight + filterHeight + theme.spacing(2)}px)`,\r\n\t\tpadding: `0 ${theme.spacing(2)}px`,\r\n\t\tposition: 'relative',\r\n\t\tminHeight: '50vh',\r\n\t},\r\n\tdatagridPaper: {\r\n\t\theight: `100%`,\r\n\t\tpadding: `0 ${theme.spacing(2)}px`,\r\n\t\tpaddingBottom: theme.spacing(2),\r\n\t\tposition: 'relative',\r\n\t},\r\n\tnodataFound: {\r\n\t\tfontStyle: 'italic',\r\n\t\tfontSize: 'inherit',\r\n\t\tcolor: '#7c8393',\r\n\t\tpadding: '6px 0',\r\n\t},\r\n\tfilterPanel: {\r\n\t\theight: `${filterHeight}px`,\r\n\t\tpadding: `0 ${theme.spacing(2)}px`,\r\n\t\tposition: 'relative',\r\n\t\tmarginTop: theme.spacing(2),\r\n\t},\r\n\tgroupIcon: {\r\n\t\tpadding: `${theme.spacing(2)}px 0 !important`,\r\n\t\tcolor: '#ceebff !important',\r\n\t},\r\n\tbutton: {\r\n\t\tmargin: theme.spacing(2),\r\n\t},\r\n\taddButton: {\r\n\t\tmargin: theme.spacing(2),\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tmodal: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tpaper: {\r\n\t\tbackgroundColor: theme.palette.background.paper,\r\n\t\tborder: '2px solid #000',\r\n\t\tboxShadow: theme.shadows[5],\r\n\t\tpadding: theme.spacing(2, 4, 3),\r\n\t},\r\n});\r\n\r\nconst numberColTemplate =\r\n\t'
' +\r\n\t' ' +\r\n\t'
' +\r\n\t' ' +\r\n\t' ' +\r\n\t' ' +\r\n\t' ' +\r\n\t' ' +\r\n\t' ' +\r\n\t'
' +\r\n\t'
';\r\n\r\nfunction formatNumber(number) {\r\n\treturn Math.floor(number)\r\n\t\t.toString()\r\n\t\t.replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n}\r\n\r\nclass Dashboard extends Component {\r\n\tstatic propTypes = {\r\n\t\tloading: PropTypes.bool,\r\n\t\tportfolio: PropTypes.string,\r\n\t\teffectiveDate: PropTypes.object,\r\n\t\theaderActions: PropTypes.object,\r\n\t};\r\n\r\n\tstatic defaultProps = {\r\n\t\tloading: true,\r\n\t};\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\topenExit: false,\r\n\t\t\tshowNewEntry: false,\r\n\t\t\tgridData: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Amir',\r\n\t\t\t\t\torganization: 'Eagle',\r\n\t\t\t\t\tvisit_person: 'Jefferson Dhanasingh',\r\n\t\t\t\t\tvisit_purpose: 'Regarding hardware issue',\r\n\t\t\t\t\tvisit_date: '23/12/2020',\r\n\t\t\t\t\tvisit_in_time: '10 PM',\r\n\t\t\t\t\tvisit_out_time: '10.30 PM',\r\n\t\t\t\t\tis_exit: 'Y',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Jeff',\r\n\t\t\t\t\torganization: 'Eagle',\r\n\t\t\t\t\tvisit_person: 'Amirthalingam Krishnamoorthy',\r\n\t\t\t\t\tvisit_purpose: 'Visit',\r\n\t\t\t\t\tvisit_date: '24/12/2020',\r\n\t\t\t\t\tvisit_in_time: '10 AM',\r\n\t\t\t\t\tvisit_out_time: '1 PM',\r\n\t\t\t\t\tis_exit: 'N',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Sriganth',\r\n\t\t\t\t\torganization: 'Eagle',\r\n\t\t\t\t\tvisit_person: 'EK',\r\n\t\t\t\t\tvisit_purpose: 'General Visit',\r\n\t\t\t\t\tvisit_date: '24/12/2020',\r\n\t\t\t\t\tvisit_in_time: '11 AM',\r\n\t\t\t\t\tvisit_out_time: '11.30 AM',\r\n\t\t\t\t\tis_exit: 'N',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'Amir',\r\n\t\t\t\t\torganization: 'Eagle',\r\n\t\t\t\t\tvisit_person: 'Jefferson Dhanasingh',\r\n\t\t\t\t\tvisit_purpose: 'Pending hardware issue',\r\n\t\t\t\t\tvisit_date: '24/12/2020',\r\n\t\t\t\t\tvisit_in_time: '12 PM',\r\n\t\t\t\t\tvisit_out_time: '',\r\n\t\t\t\t\tis_exit: null,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\talertType: '',\r\n\t\t\tvisit_out_time: new Date(),\r\n\t\t\tm_detail_id: 0,\r\n\t\t\tvisit_date: '',\r\n\t\t};\r\n\t}\r\n\r\n\tcomponentDidUpdate() {\r\n\t\tconst { visiterEntries } = this.props;\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.setRowData([]);\r\n\t\t\tthis.gridApi.setRowData(visiterEntries);\r\n\t\t\tthis.gridApi.refreshCells();\r\n\t\t}\r\n\t}\r\n\r\n\tonGridReady(params) {\r\n\t\tconst { visiterEntries } = this.props;\r\n\t\tthis.gridApi = params.api;\r\n\t\tthis.columnApi = params.columnApi;\r\n\t\tthis.setState({\r\n\t\t\tgridData: visiterEntries,\r\n\t\t});\r\n\r\n\t\tif (this.gridApi) {\r\n\t\t\tthis.gridApi.sizeColumnsToFit();\r\n\t\t\tthis.autoSizeAll();\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.gridApi.sizeColumnsToFit();\r\n\t\t\t}, 1000);\r\n\t\t}\r\n\t}\r\n\r\n\tautoSizeAll = (skipHeader) => {\r\n\t\tvar allColumnIds = [];\r\n\t\tthis.columnApi.getAllColumns().forEach(function (column) {\r\n\t\t\tif (column.colDef.headerName === '') allColumnIds.push(column.colId);\r\n\t\t});\r\n\t\tthis.columnApi.autoSizeColumns(allColumnIds, skipHeader);\r\n\t};\r\n\r\n\tcreateImageSpan(imageMultiplier, isExit, m_detail_id, visit_date) {\r\n\t\tvar resultElement = document.createElement('span');\r\n\t\tfor (var i = 0; i < imageMultiplier; i++) {\r\n\t\t\tvar image = document.createElement('img');\r\n\t\t\t//let image=new Image();\r\n\t\t\timage.src = isExit === 'Y' ? require('../assets/complete.png') : isExit === 'N' ? require('../assets/exiticon.png') : require('../assets/approve.png');\r\n\t\t\timage.style = 'width: 33px;height: 27px; padding: 0px 3px 0px 3px';\r\n\t\t\timage.loading = 'lazy';\r\n\t\t\timage.alt = image.src;\r\n\t\t\tif (isExit !== 'Y') {\r\n\t\t\t\tisExit === 'N'\r\n\t\t\t\t\t? image.addEventListener(\r\n\t\t\t\t\t\t\t'click',\r\n\t\t\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t\t\tthis.handleOpen('E', m_detail_id, visit_date);\r\n\t\t\t\t\t\t\t}.bind(this)\r\n\t\t\t\t\t )\r\n\t\t\t\t\t: image.addEventListener(\r\n\t\t\t\t\t\t\t'click',\r\n\t\t\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t\t\tthis.handleOpen('A', m_detail_id, visit_date);\r\n\t\t\t\t\t\t\t}.bind(this)\r\n\t\t\t\t\t );\r\n\t\t\t}\r\n\t\t\t//image.onclick = isExit !== 'Y' && this.handleOpen;\r\n\t\t\timage.style.cursor = isExit !== 'Y' && 'pointer';\r\n\t\t\tresultElement.appendChild(image);\r\n\t\t}\r\n\t\treturn resultElement;\r\n\t}\r\n\r\n\thandleOpen = (alertType, m_detail_id, visit_date) => {\r\n\t\t//console.log(m_detail_id);\r\n\r\n\t\tthis.setState({\r\n\t\t\topenExit: true,\r\n\t\t\talertType: alertType,\r\n\t\t\tm_detail_id: m_detail_id,\r\n\t\t\tvisit_date: visit_date,\r\n\t\t});\r\n\t};\r\n\r\n\thandleClose = () => {\r\n\t\t//console.log(this.state.visit_out_time);\r\n\t\tthis.setState({\r\n\t\t\topenExit: false,\r\n\t\t\talertType: '',\r\n\t\t\tm_detail_id: 0,\r\n\t\t\tvisit_date: new Date(),\r\n\t\t\tvisit_out_time: new Date(),\r\n\t\t});\r\n\t};\r\n\r\n\thandleExitClick = () => {\r\n\t\tconst { newentryActions } = this.props;\r\n\t\tconst m_detail_id = this.state.m_detail_id;\r\n\t\tconst status = this.state.alertType === 'E' ? 'Y' : 'N';\r\n\t\tconst endtime = this.state.alertType === 'E' ? this.GetTime(this.state.visit_out_time) : null;\r\n\t\t//console.log(endtime);\r\n\t\tnewentryActions.updateVisiterEntries(m_detail_id, status, endtime);\r\n\t\t//newentryActions.requestVisiterEntries();\r\n\t\tthis.setState({\r\n\t\t\topenExit: false,\r\n\t\t\talertType: '',\r\n\t\t\tm_detail_id: 0,\r\n\t\t});\r\n\t};\r\n\r\n\tGetTime = (date) => {\r\n\t\t//let date = new Date();\r\n\t\tlet hour = date.getHours();\r\n\t\tlet TimeType = hour <= 11 ? 'AM' : 'PM';\r\n\t\tif (hour > 12) {\r\n\t\t\thour = hour - 12;\r\n\t\t}\r\n\t\tif (hour == 0) {\r\n\t\t\thour = 12;\r\n\t\t}\r\n\t\tlet minutes = date.getMinutes();\r\n\t\tif (minutes < 10) {\r\n\t\t\tminutes = '0' + minutes.toString();\r\n\t\t}\r\n\r\n\t\tlet fullTime = hour.toString() + ':' + minutes.toString() + ' ' + TimeType.toString();\r\n\t\treturn fullTime;\r\n\t};\r\n\r\n\texitIconRenderer(params) {\r\n\t\treturn this.createImageSpan(1, params.value, params.data.id, params.data.visit_date);\r\n\t}\r\n\r\n\tgetColumns() {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\theaderName: 'Visitor Name',\r\n\t\t\t\tfield: 'first_name',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'To Visit',\r\n\t\t\t\tfield: 'visit_person_long',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'Email',\r\n\t\t\t\tfield: 'email_address',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'Mobile Number',\r\n\t\t\t\tfield: 'mobile_number',\r\n\t\t\t\tmaxWidth: 130,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'Visit Purpose',\r\n\t\t\t\tfield: 'visit_purpose',\r\n\t\t\t\tmaxWidth: 120,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'Reason',\r\n\t\t\t\tfield: 'visit_note',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'Visit Date',\r\n\t\t\t\tfield: 'visit_date',\r\n\t\t\t\tmaxWidth: 130,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'In Time',\r\n\t\t\t\tfield: 'visit_in_time',\r\n\t\t\t\tmaxWidth: 120,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: 'Out Time',\r\n\t\t\t\tfield: 'visit_out_time',\r\n\t\t\t\tmaxWidth: 120,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaderName: '',\r\n\t\t\t\tfield: 'is_exit',\r\n\t\t\t\tcellRenderer: this.exitIconRenderer.bind(this),\r\n\t\t\t\tcellRendererParams: {\r\n\t\t\t\t\trendererImage: 'is_exit', // Complementing the Cell Renderer parameters\r\n\t\t\t\t},\r\n\t\t\t\tmaxWidth: 55,\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n\r\n\thandleAddClick = () => {\r\n\t\tthis.setState({\r\n\t\t\tshowNewEntry: true,\r\n\t\t});\r\n\t\tconst { newentryActions } = this.props;\r\n\t\tnewentryActions.setShowNewEntry(true);\r\n\t};\r\n\r\n\thandleBackClick = () => {\r\n\t\tthis.setState({\r\n\t\t\tshowNewEntry: false,\r\n\t\t});\r\n\t\tconst { newentryActions } = this.props;\r\n\t\tnewentryActions.setShowNewEntry(false);\r\n\t};\r\n\r\n\thandleRequestClick = (data) => {\r\n\t\t//let tempData = this.state.gridData;\r\n\t\t//tempData.push(data);\r\n\t\tthis.setState({\r\n\t\t\t//gridData: tempData,\r\n\t\t\tshowNewEntry: false,\r\n\t\t});\r\n\t\tconst { newentryActions } = this.props;\r\n\t\tnewentryActions.setShowNewEntry(false);\r\n\t};\r\n\r\n\thandleExitTimeChange = (date, time) => {\r\n\t\t//console.log(date);\r\n\t\tthis.setState({\r\n\t\t\tvisit_out_time: date,\r\n\t\t});\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { classes, showNewEntry, visiterEntries } = this.props;\r\n\t\tconst columns = this.getColumns();\r\n\t\t//console.log(visiterEntries);\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* {false? */}\r\n\t\t\t\t\t{showNewEntry ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tNo data to display'\r\n\t\t\t\t\t\t\t\tgetRowNodeId={(data) => data.instance}\r\n\t\t\t\t\t\t\t\treactNext={true}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.alertType === 'E' ? 'Are you sure you want to exit?' : 'Are you sure you want to approve the request?'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.state.alertType === 'E' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tVisit Date : {this.state.visit_date}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleExitTimeChange(date, value);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={this.state.visit_out_time}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkeyboardIcon={}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfullWidth\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKeyboardButtonProps={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-label': 'change time',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize: 'small',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tInputProps={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: classes.datePickerInput,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tokLabel={Ok}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcancelLabel={CANCEL}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tInputLabelProps={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclasses: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\troot: classes.lable,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshrink: classes.labelShrink,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default withStyles(styles)(Dashboard);\r\n","import { queryFetch } from '../../../core/fetch';\r\nimport { newentryActions } from './newentry';\r\n\r\nexport const types = {\r\n\tRESET_LOGIN: 'RESET_LOGIN',\r\n\tLOGIN: 'LOGIN',\r\n\tCHECK_LOGIN: 'CHECK_LOGIN',\r\n\tCOOKIE_LOGIN: 'COOKIE_LOGIN',\r\n};\r\n\r\nexport const loginActions = {\r\n\treset() {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.RESET_LOGIN,\r\n\t\t\t});\r\n\t\t\tdeleteCookie('u_cookie_username');\r\n\t\t\tdeleteCookie('u_cookie_fullname');\r\n\t\t\tdispatch(newentryActions.setShowNewEntry(true));\r\n\t\t};\r\n\t},\r\n\tchecklogin(login) {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.CHECK_LOGIN,\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(checkloginfromDB(login));\r\n\t\t};\r\n\t},\r\n\tsetCookieLogin(login) {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.COOKIE_LOGIN,\r\n\t\t\t\tpayload: { login },\r\n\t\t\t});\r\n\r\n\t\t\tdispatch(newentryActions.setShowNewEntry(false));\r\n\t\t};\r\n\t},\r\n\tlogin(login, isValid) {\r\n\t\treturn (dispatch) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: types.LOGIN,\r\n\t\t\t\tpayload: { login, isValid },\r\n\t\t\t});\r\n\t\t\tif (isValid) dispatch(newentryActions.setShowNewEntry(false));\r\n\t\t\telse dispatch(newentryActions.setShowNewEntry(true));\r\n\t\t};\r\n\t},\r\n};\r\n\r\nconst checkloginfromDB = (login) => {\r\n\tconst body = JSON.stringify(login);\r\n\treturn (dispatch) => {\r\n\t\tqueryFetch('isLoginValid', '', 'POST', body).then((result) => {\r\n\t\t\tif (result.isValid) {\r\n\t\t\t\tsetCookie('u_cookie_username', result.username, 1);\r\n\t\t\t\tsetCookie('u_cookie_fullname', result.name, 1);\r\n\t\t\t}\r\n\t\t\tdispatch(loginActions.login(result, result.isValid));\r\n\t\t});\r\n\t\t// setCookie('u_cookie_username', login.username, 1);\r\n\t\t// setCookie('u_cookie_fullname', login.name, 1);\r\n\t\t// dispatch(loginActions.login(login, login.isValid));\r\n\t};\r\n};\r\n\r\nconst setCookie = (name, value, days) => {\r\n\tlet expires = '';\r\n\tif (days) {\r\n\t\tvar date = new Date();\r\n\t\tdate.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\r\n\t\texpires = '; expires=' + date.toUTCString();\r\n\t}\r\n\tdocument.cookie = name + '=' + (value || '') + expires + '; path=/';\r\n};\r\n\r\nconst deleteCookie = (name) => {\r\n\tdocument.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';\r\n};\r\n","import { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux';\r\nimport Dashboard from './Dashboard';\r\nimport { loginActions } from '../store/actions/dashboard/login';\r\nimport { newentryActions } from '../store/actions/dashboard/newentry';\r\n\r\nconst mapStateToProps = state => {\r\n const { login, newentry } = state;\r\n const { isLogin, loginUser } = login;\r\n const { newEntryData, visiterData, visiterEntries, showNewEntry } = newentry;\r\n return {\r\n isLogin,\r\n loginUser,\r\n showNewEntry,\r\n newEntryData,\r\n visiterData,\r\n visiterEntries\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loginActions: bindActionCreators(loginActions, dispatch),\r\n newentryActions: bindActionCreators(newentryActions, dispatch)\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { forwardRef: true }\r\n)(Dashboard)","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\n//import config from '../../../config.json';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(2),\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t},\r\n\tcontainer: {\r\n\t\tpadding: theme.spacing(2),\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t},\r\n\tbutton: {\r\n\t\tmargin: theme.spacing(2),\r\n\t},\r\n\ttypography: {\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n\ttextField: {\r\n\t\tmaxWidth: 300,\r\n\t},\r\n}));\r\n\r\nconst Login = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { isLogin, loginUser, actions } = props;\r\n\tconst [anchorEl, setAnchorEl] = React.useState(null);\r\n\tconst [ip_username, setUserName] = React.useState(null);\r\n\tconst [ip_password, setPassword] = React.useState(null);\r\n\r\n\tconst handleClick = (event) => {\r\n\t\tsetAnchorEl(event.currentTarget);\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tsetAnchorEl(null);\r\n\t};\r\n\r\n\tconst handleChangeUserName = (e) => {\r\n\t\tconst { name, value } = e.target;\r\n\t\tsetUserName(value);\r\n\t};\r\n\r\n\tconst handleChangePassword = (e) => {\r\n\t\tconst { name, value } = e.target;\r\n\t\tsetPassword(value);\r\n\t};\r\n\r\n\tconst handleClickLogin = (e) => {\r\n\t\te.preventDefault();\r\n\t\tif (!(ip_username && ip_password)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst uDetails = {\r\n\t\t\tusername: ip_username,\r\n\t\t\tpassword: ip_password,\r\n\t\t\tisValid: false,\r\n\t\t};\r\n\t\tactions.checklogin(uDetails);\r\n\r\n\t\t// fetch('http://'+config.SERVER_URL+'/api/SampleData/isLoginValid', {\r\n\t\t// method: 'POST',\r\n\t\t// headers: {\r\n\t\t// 'Accept': 'application/json',\r\n\t\t// 'Content-Type': 'application/json'\r\n\t\t// },\r\n\t\t// body: JSON.stringify(uDetails)\r\n\t\t// })\r\n\t\t// .then(response => response.json())\r\n\t\t// .then(data => {\r\n\t\t// if(!data.isValid){\r\n\t\t// alert(\"Incorrect user name or password\");\r\n\t\t// }\r\n\t\t// else {\r\n\t\t// actions.login(uDetails);\r\n\t\t// props.handleLoginClick();\r\n\t\t// }\r\n\t\t// })\r\n\t\t// .catch(error => console.error('Unable to login.', error));\r\n\t};\r\n\r\n\tconst handleClickLogout = () => {\r\n\t\tactions.reset();\r\n\t\tsetUserName('');\r\n\t\tsetPassword('');\r\n\t\tprops.handleLogoutClick();\r\n\t};\r\n\r\n\tlet open = Boolean(anchorEl);\r\n\tconst id = open ? 'simple-popover' : undefined;\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{!isLogin && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tLogin\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nLogin.propTypes = {};\r\n\r\nexport default Login;\r\n","import { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux';\r\nimport Login from './Login';\r\nimport { loginActions } from '../../../store/actions/dashboard/login';\r\n\r\nconst mapStateToProps = state => {\r\n const { login } = state;\r\n const { isLogin, loginUser } = login;\r\n \r\n return {\r\n isLogin,\r\n loginUser\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n actions: bindActionCreators(loginActions, dispatch),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(Login)","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport logo from '../../../../EagleLogo.png';\r\nimport Button from '@material-ui/core/Button';\r\nimport Login from '../../../../dashboard/components/Login';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tgrow: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\ttitle: {\r\n\t\tfontSize: '1.45rem',\r\n\t\tdisplay: 'none',\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\t[theme.breakpoints.up('sm')]: {\r\n\t\t\tdisplay: 'block',\r\n\t\t},\r\n\t\ttextTransform: 'uppercase',\r\n\t\tfontWeight: 'bold',\r\n\t},\r\n\tdatePicker: {\r\n\t\tmargin: 0,\r\n\t},\r\n\tdatePickerInput: {\r\n\t\twidth: 130,\r\n\t\tfontSize: 13,\r\n\t},\r\n\tlableSpan: {\r\n\t\tmarginRight: 12,\r\n\t},\r\n\ttable: {\r\n\t\tpadding: '7px 7px 0 0',\r\n\t\tborderSpacing: 0,\r\n\t},\r\n\tbutton: {\r\n\t\tmargin: theme.spacing(1),\r\n\t},\r\n\tlogo: {\r\n\t\theight: 35,\r\n\t\tmargin: '0 15px',\r\n\t\tmarginTop: 5,\r\n\t\tcursor: 'pointer',\r\n\t},\r\n\tplaceHolderDiv: {\r\n\t\twidth: '100%',\r\n\t\theight: '100%',\r\n\t\tpadding: '1px 5px',\r\n\t\tposition: 'relative',\r\n\t},\r\n\tplaceHolder: {\r\n\t\ttop: '50%',\r\n\t\ttransform: 'translateY(-50%)',\r\n\t\tpadding: '1px 5px',\r\n\t\tpaddingRight: 25,\r\n\t\tposition: 'absolute',\r\n\t\tfontStyle: 'italic',\r\n\t\tfontSize: 14,\r\n\t},\r\n\tselectInput: {\r\n\t\tfontSize: 13,\r\n\t\tpaddingBottom: 3,\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { isLogin, loginUser, showNewEntry, loginActions, newentryActions } =\r\n\t\tprops;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst handleLoginClick = () => {};\r\n\r\n\tconst handleLogoClick = () => {\r\n\t\tif (isLogin) {\r\n\t\t\tnewentryActions.setShowNewEntry(false);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleLogoutClick = () => {\r\n\t\tloginActions.reset();\r\n\t};\r\n\r\n\tconst getCookie = (name) => {\r\n\t\tvar nameEQ = name + '=';\r\n\t\tvar ca = document.cookie.split(';');\r\n\t\tfor (var i = 0; i < ca.length; i++) {\r\n\t\t\tvar c = ca[i];\r\n\t\t\twhile (c.charAt(0) == ' ') c = c.substring(1, c.length);\r\n\t\t\tif (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (newentryActions) {\r\n\t\t\tnewentryActions.setShowNewEntry(true);\r\n\t\t\tconst search = document.location.search;\r\n\t\t\tconst params = new URLSearchParams(search);\r\n\t\t\t//process.env.NODE_ENV !== 'production'\r\n\t\t\t// if(!username && getCookie('username')) {\r\n\t\t\t// username=getCookie('username');\r\n\t\t\t// }\r\n\t\t\tlet username = params.get('username');\r\n\t\t\tlet password = params.get('password');\r\n\t\t\tlet userguid = params.get('userguid');\r\n\t\t\tlet isCookie = false;\r\n\r\n\t\t\tif (!username && !userguid) {\r\n\t\t\t\tif (getCookie('u_cookie_username')) {\r\n\t\t\t\t\tisCookie = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (isCookie) {\r\n\t\t\t\tlet u_cookie_username = getCookie('u_cookie_username');\r\n\t\t\t\tlet u_cookie_fullname = getCookie('u_cookie_fullname');\r\n\t\t\t\tconst uDetails = {\r\n\t\t\t\t\tusername: u_cookie_username,\r\n\t\t\t\t\tname: u_cookie_fullname,\r\n\t\t\t\t\tisValid: true,\r\n\t\t\t\t};\r\n\t\t\t\tloginActions.setCookieLogin(uDetails);\r\n\t\t\t} else {\r\n\t\t\t\t//newentryActions.setShowNewEntry(true);\r\n\t\t\t\tconst uDetails = {\r\n\t\t\t\t\tusername: username,\r\n\t\t\t\t\tpassword: password,\r\n\t\t\t\t\tuserguid: userguid,\r\n\t\t\t\t};\r\n\r\n\t\t\t\tloginActions.checklogin(uDetails);\r\n\t\t\t}\r\n\t\t\tnewentryActions.requestVisiterEntries();\r\n\t\t}\r\n\t}, [newentryActions]);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{!showNewEntry ? props.title : 'VISITOR REGISTRATION'}\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
{isLogin &&
Welcome {loginUser.name}
}
\r\n\t\t\t\t\t\t\t\t{!isLogin ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tLogout\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\ttitle: PropTypes.string.isRequired,\r\n\tportfolio: PropTypes.string,\r\n\teffectiveDate: PropTypes.object,\r\n};\r\n\r\nexport default Header;\r\n","import { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport Header from './Header';\r\nimport { loginActions } from '../../../../store/actions/dashboard/login';\r\nimport { newentryActions } from '../../../../store/actions/dashboard/newentry';\r\n\r\nconst mapStateToProps = (state) => {\r\n\tconst { login, newentry } = state;\r\n\tconst { isLogin, loginUser } = login;\r\n\tconst { showNewEntry } = newentry;\r\n\treturn {\r\n\t\tisLogin: isLogin,\r\n\t\tloginUser: loginUser,\r\n\t\tshowNewEntry: showNewEntry,\r\n\t};\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tloginActions: bindActionCreators(loginActions, dispatch),\r\n\tnewentryActions: bindActionCreators(newentryActions, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport useScrollTrigger from '@material-ui/core/useScrollTrigger';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Slide from '@material-ui/core/Slide';\r\nimport Header from './components/Header';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tappBar: {\r\n\t\t//padding: '10px 5px',\r\n\t\tbackground: 'transparent',\r\n\t\tboxShadow: 'none',\r\n\t\tbackgroundColor: theme.palette.main,\r\n\t},\r\n\tappBarScroll: {\r\n\t\t//backgroundColor: theme.palette.common.white,\r\n\t},\r\n}));\r\n\r\nfunction ShowOnScroll(props) {\r\n\tconst { children, trigger } = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n}\r\n\r\nShowOnScroll.propTypes = {\r\n\tchildren: PropTypes.node.isRequired,\r\n\ttrigger: PropTypes.bool,\r\n};\r\n\r\nconst AppHeader = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst trigger = useScrollTrigger({ threshold: 300 });\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\t{props.showOnScroll && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nAppHeader.propTypes = {\r\n\tshowOnScroll: PropTypes.bool,\r\n\ttitle: PropTypes.string.isRequired,\r\n\t//onProtfolioChange: PropTypes.func,\r\n\t//onEffectiveDateChange: PropTypes.func\r\n};\r\n\r\nexport default AppHeader;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ErrorOutline from '@material-ui/icons/ErrorOutline';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n height: `100%`,\r\n //padding: `0 ${theme.spacing(2)}px`,\r\n padding: theme.spacing(3),\r\n width: '100%',\r\n position: 'relative',\r\n //backgroundColor: theme.palette.background.default\r\n },\r\n paper: {\r\n height: `100%`,\r\n //padding: `0 ${theme.spacing(2)}px`,\r\n padding: theme.spacing(3),\r\n width: '100%',\r\n position: 'relative',\r\n textAlign: 'center',\r\n justifyContent: 'center',\r\n verticalAlign: 'middle'\r\n //backgroundColor: theme.palette.background.default\r\n },\r\n errorDiv: {\r\n cursor: 'pointer',\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)'\r\n }\r\n}));\r\n\r\nconst NoData = props => {\r\n const classes = useStyles();\r\n const { error, loading, actions } = props;\r\n function reloadPortfolio() {\r\n actions.loadPortfolios();\r\n }\r\n let isError = false\r\n return (\r\n
\r\n \r\n \r\n {props.message}\r\n \r\n {!loading && isError &&
\r\n \r\n \r\n \r\n \r\n Error loading portfolios\r\n \r\n \r\n click to retry\r\n \r\n
}\r\n
\r\n
\r\n );\r\n};\r\n\r\nNoData.propTypes = {\r\n message: PropTypes.string\r\n};\r\n\r\nexport default NoData;","import { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux';\r\nimport NoData from './NoData';\r\nimport { headerActions } from '../store/actions';\r\n\r\nconst mapStateToProps = state => {\r\n const { header } = state;\r\n const { error, loading } = header;\r\n return {\r\n error: error,\r\n loading: loading\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n actions: bindActionCreators(headerActions, dispatch)\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(NoData)","import { types } from '../../actions/dashboard/login'\r\n\r\nexport default function loginReducer(state = {\r\n loginUser: [],\r\n isLogin: false\r\n}, action) {\r\n const payload = action.payload;\r\n switch (action.type) {\r\n case types.RESET_LOGIN:\r\n return {\r\n ...state,\r\n loginUser: [],\r\n isLogin: false\r\n };\r\n case types.LOGIN:\r\n return {\r\n ...state,\r\n ...addLogin(payload)\r\n };\r\n case types.CHECK_LOGIN:\r\n return {\r\n ...state,\r\n };\r\n case types.COOKIE_LOGIN:\r\n return {\r\n ...state,\r\n ...cookieLogin(payload)\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nconst addLogin = (data) => {\r\n return {\r\n loginUser: data.login,\r\n isLogin: data.isValid\r\n };\r\n}\r\n\r\nconst cookieLogin = (data) => {\r\n return {\r\n loginUser: data.login,\r\n isLogin: true\r\n };\r\n}\r\n","import { types } from '../../actions/dashboard/newentry';\r\n\r\nexport default function newentryReducer(\r\n\tstate = {\r\n\t\tnewEntryData: [],\r\n\t\tvisiterData: null,\r\n\t\tvisiterEntries: null,\r\n\t\temployeeData: null,\r\n\t\tdidInvalidate: true,\r\n\t\tshowNewEntry: false,\r\n\t\tentrySuccess: false,\r\n\t\tisLoaded: [],\r\n\t\tisUpdated: false,\r\n\t\tisDeleted: false,\r\n\t},\r\n\taction\r\n) {\r\n\tconst payload = action.payload;\r\n\tswitch (action.type) {\r\n\t\tcase types.INVALIDATE_NEW_ENTRY:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: true,\r\n\t\t\t};\r\n\t\tcase types.REQUEST_VISITER_ENTRIES:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t};\r\n\t\tcase types.RECEIVE_VISITER_ENTRIES:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t\tvisiterEntries: payload.visiterEntries,\r\n\t\t\t};\r\n\t\tcase types.REQUEST_VISITER_LIST:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t};\r\n\t\tcase types.RECEIVE_VISITER_LIST:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t\tvisiterData: payload.visiterData,\r\n\t\t\t};\r\n\t\tcase types.REQUEST_EMPLOYEE_LIST:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t};\r\n\t\tcase types.RECEIVE_EMPLOYEE_LIST:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t\temployeeData: payload.employeeData,\r\n\t\t\t};\r\n\t\tcase types.INSERT_NEW_ENTRY:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t};\r\n\t\tcase types.INSERT_NEW_ENTRY_DETAIL:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t};\r\n\t\tcase types.SET_SHOW_NEW_ENTRY:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t\tshowNewEntry: payload,\r\n\t\t\t};\r\n\t\tcase types.INSERT_NEW_ENTRY_STATUS:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t\tentrySuccess: payload,\r\n\t\t\t};\r\n\t\tcase types.UPDATE_VISITER_ENTRIES:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t};\r\n\t\tcase types.SEND_EMPLOYEE_MAIL:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdidInvalidate: false,\r\n\t\t\t};\r\n\t\tcase types.GET_VISITOR_DATA:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\t...payload,\r\n\t\t\t};\r\n\t\tcase types.UPDATE_VISITER_TIME:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\t...payload,\r\n\t\t\t};\r\n\t\tcase types.DELETE_VISITER_DATA:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\t...payload,\r\n\t\t\t};\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n","import { combineReducers } from 'redux';\r\nimport * as dashboard from './dashboard';\r\nexport default combineReducers({\r\n\t...dashboard,\r\n});\r\n","import { createStore, applyMiddleware } from 'redux'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport { createLogger } from 'redux-logger'\r\nimport rootReducer from './reducers'\r\n\r\nconst loggerMiddleware = createLogger({\r\n collapsed: true,\r\n // level: 'warn',\r\n})\r\n\r\nexport default function configureStore(preloadedState) {\r\n let middleWare = applyMiddleware(thunkMiddleware);\r\n if (localStorage.getItem('devlog') === '1') {\r\n middleWare = applyMiddleware(thunkMiddleware, loggerMiddleware);\r\n }\r\n return createStore(\r\n rootReducer,\r\n preloadedState,\r\n middleWare\r\n )\r\n}","import React from 'react';\r\nimport { HashRouter, Route, Switch, Redirect } from 'react-router-dom';\r\nimport { Provider, connect } from 'react-redux';\r\nimport { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport Dashboard from '../dashboard';\r\nimport AppHeader from '../components/AppHeader';\r\nimport './App.scss';\r\nimport NoData from '../nodata';\r\nimport configureStore from '../store';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nconst store = configureStore();\r\n\r\nconst theme = createMuiTheme({\r\n\tpalette: {\r\n\t\ttype: 'dark',\r\n\t\tprimary: {\r\n\t\t\tmain: '#303941',\r\n\t\t\tdark: '#202736',\r\n\t\t\tcontrastText: '#d5ecfe',\r\n\t\t},\r\n\t\tsecondary: {\r\n\t\t\tmain: '#4c6691',\r\n\t\t\tdark: '#204076',\r\n\t\t\t//contrastText: '#7c8393'\r\n\t\t},\r\n\t\tbackground: {\r\n\t\t\tpaper: '#272e3c',\r\n\t\t\tdefault: '#202736',\r\n\t\t},\r\n\t\ttext: {\r\n\t\t\tprimary: '#d5ecfe',\r\n\t\t\tsecondary: '#cbd1e1',\r\n\t\t},\r\n\t},\r\n\ttypography: {\r\n\t\tfontFamily: 'Calibri,sans-serif',\r\n\t},\r\n});\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tcontent: {\r\n\t\theight: 'calc(100% - 120px)',\r\n\t},\r\n\ttoolBar: {\r\n\t\tbackgroundColor: '#114376',\r\n\t\tpaddingLeft: theme.spacing(7),\r\n\t},\r\n\ttitle: {\r\n\t\tcolor: theme.palette.common.white,\r\n\t\t//textTransform: 'uppercase',\r\n\t\tfontSize: '1.075rem',\r\n\t\tfontWeight: 'bold',\r\n\t},\r\n}));\r\n\r\nconst App = (props) => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n\tconst { header } = state;\r\n\treturn {\r\n\t\tportfolio: '',\r\n\t\teffectiveDate: '',\r\n\t};\r\n};\r\n\r\nconst AppStateFull = connect(mapStateToProps)(App);\r\n\r\nconst Root = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Root;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","// These must be the first lines in src/index.js\r\nimport 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\n\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.scss';\r\nimport App from './app/App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}