{"version":3,"sources":["assets/img/image-not-found.png","assets/img/sidebar-2.jpg","assets/img/reactlogo.png","components/api-authorization/AuthorizeService.js","components/api-authorization/AuthorizeRoute.js","assets/jss/material-dashboard-react.js","assets/jss/material-dashboard-react/components/headerStyle.js","components/Navbars/Navbar.js","assets/jss/material-dashboard-react/components/sidebarStyle.js","components/Sidebar/Sidebar.js","components/Grid/GridItem.js","components/Grid/GridContainer.js","assets/jss/material-dashboard-react/components/cardStyle.js","components/Card/Card.js","assets/jss/material-dashboard-react/components/cardHeaderStyle.js","components/Card/CardHeader.js","assets/jss/material-dashboard-react/components/cardBodyStyle.js","components/Card/CardBody.js","views/Customers/Customers.js","views/Assignments/Assignments.js","routes.js","assets/jss/material-dashboard-react/layouts/adminStyle.js","assets/jss/material-dashboard-react/components/customInputStyle.js","components/CustomInput/CustomInput.js","assets/jss/material-dashboard-react/components/buttonStyle.js","components/CustomButtons/Button.js","assets/jss/material-dashboard-react/components/cardFooterStyle.js","components/Card/CardFooter.js","views/Customers/CustomerDetails.js","services/dataServices.js","views/Assignments/AssignmentSteps/Step0.js","views/Assignments/AssignmentSteps/sampleTypes.js","views/Assignments/AssignmentSteps/Step1.js","components/CustomInput/CustomCheckbox.js","views/Assignments/AssignmentSteps/Step2.js","views/Assignments/AssignmentSteps/Step3.js","views/Assignments/AssignmentSteps/Step4.js","views/Assignments/AssignmentDetails.js","views/Reports/Reports.js","layouts/Admin.js","views/Reports/ReportEditor.js","index.js","views/Account/Login.js"],"names":["module","exports","authService","fetch","response","json","data","isAuthenticated","window","this","location","href","AuthorizeRoute","props","state","ready","authenticated","populateAuthenticationState","Component","component","rest","render","to","setState","hexToRgb","input","replace","test","length","Error","first","second","last","toUpperCase","parseInt","transition","container","paddingRight","paddingLeft","marginRight","marginLeft","defaultFont","fontFamily","fontWeight","lineHeight","primaryColor","warningColor","dangerColor","successColor","infoColor","roseColor","grayColor","boxShadow","primaryBoxShadow","infoBoxShadow","successBoxShadow","warningBoxShadow","dangerBoxShadow","roseBoxShadow","warningCardHeader","background","successCardHeader","dangerCardHeader","infoCardHeader","primaryCardHeader","roseCardHeader","defaultBoxShadow","margin","paddingTop","borderTop","height","border","borderRadius","padding","title","color","textDecoration","marginTop","marginBottom","minHeight","headerStyle","appBar","backgroundColor","borderBottom","position","width","zIndex","display","flex","letterSpacing","fontSize","textTransform","appResponsive","top","primary","info","success","warning","danger","useStyles","makeStyles","styles","Header","classes","appBarClasses","classNames","AppBar","className","Toolbar","Hidden","smDown","implementation","mdUp","IconButton","aria-label","onClick","handleDrawerToggle","sidebarStyle","theme","drawerPaper","bottom","left","breakpoints","up","down","right","visibility","overflowY","textAlign","transform","drawerPaperRTL","logo","content","logoLink","logoLinkRTL","logoImage","maxHeight","img","verticalAlign","backgroundSize","backgroundPosition","opacity","list","paddingBottom","listStyle","item","itemLink","itemIcon","float","itemIconRTL","itemText","itemTextRTL","whiteFont","purple","blue","green","orange","red","sidebarWrapper","overflow","overflowScrolling","activePro","Sidebar","activeRoute","routeName","indexOf","image","logoText","routes","links","List","map","prop","key","listItemClasses","layout","path","whiteFontClasses","activeClassName","ListItem","button","icon","Icon","rtlActive","ListItemText","name","disableTypography","brand","target","Drawer","variant","anchor","open","paper","onClose","ModalProps","keepMounted","undefined","style","backgroundImage","grid","GridItem","children","Grid","GridContainer","cardStyle","card","flexDirection","minWidth","wordWrap","cardPlain","cardProfile","cardChart","Card","plain","profile","chart","cardClasses","cardHeaderStyle","cardHeader","cardHeaderPlain","cardHeaderStats","cardHeaderIcon","CardHeader","stats","cardHeaderClasses","cardBodyStyle","cardBody","WebkitBoxFlex","cardBodyPlain","cardBodyProfile","CardBody","cardBodyClasses","fabMargin","cardCategoryWhite","cardTitleWhite","Transition","React","forwardRef","ref","Slide","direction","populateData","query","a","queryString","Object","keys","join","validateAccessToken","page","totalCount","loading","deleteData","customerId","myHeaders","Headers","append","headers","method","request","text","assignmentId","dashboardRoutes","PeopleIcon","url","useRouteMatch","tableRef","createRef","useState","setOpen","selectedToDelete","setSelectedToDelete","handleDeleteClickOpen","id","e","handleDeleteClickClose","handleDeleteClickAction","refreshTable","current","onQueryChange","xs","sm","md","Tooltip","Fab","size","options","draggable","pageSize","debounceInterval","columns","rowData","firstName","lastName","businessName","field","streetAddress","city","postalCode","uuidv4","actions","tooltip","isFreeAction","Dialog","TransitionComponent","aria-labelledby","aria-describedby","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","AssignmentIcon","clientName","fullAddress","appStyle","wrapper","mainPanel","customInputStyle","disabled","underline","borderColor","borderWidth","underlineError","underlineSuccess","labelRoot","labelRootError","labelRootSuccess","feedback","pointerEvents","formControl","CustomInput","formControlProps","labelText","labelProps","inputProps","error","errorMessage","selectOptions","inputType","labelClasses","underlineClasses","FormControl","InputLabel","htmlFor","Input","root","as","Select","selectItem","MenuItem","value","label","buttonStyle","willChange","whiteSpace","touchAction","cursor","white","rose","simple","transparent","lg","round","block","link","justIcon","RegularButton","muiClasses","btnClasses","cardFooterStyle","cardFooter","justifyContent","alignItems","cardFooterProfile","cardFooterPlain","cardFooterStats","cardFooterChart","CardFooter","cardFooterClasses","saveData","object","body","JSON","stringify","CustomerDetails","history","useHistory","useParams","isLoading","setIsLoading","useForm","defaultValues","country","register","handleSubmit","errors","reset","isSubmitting","formState","useEffect","result","email","phoneNumber","secondaryPhoneNumber","fetchData","isNewCustomer","handleSave","modifiedEntity","push","handleSaveAndNext","handleGoBack","CircularProgress","inputRef","required","fullWidth","pattern","type","saveStepData","stepId","payload","populateStepData","uploadAssignmentFile","file","formData","FormData","fileUploadRequest","uploadResponse","uploadAssignmentImage","getAvailableTemplates","addNewReport","media","Step0","imageNotFound","frontHouseImageURL","setFrontHouseImageURL","sketchImageURL","setSketchImageURL","inspectionDate","outsideTemperature","outsideHumidity","outsideConditions","frontHouseImage","sketchImage","structureType","claim","preparedFor","inspectedBy","control","setValue","todateDate","Date","todaydd","String","getDate","padStart","todaymm","getMonth","formattedToday","getFullYear","activeStep","handleBack","handleNext","onSubmit","handleHouseFrontFilesDrop","fileUrl","handleHouseFrontFilesDelete","handleSketchImageFilesDrop","handleSketchImageFilesDelete","CardActionArea","CardContent","FormLabel","acceptedFiles","filesLimit","maxFileSize","onDrop","onDelete","initialFiles","sampleTypeLabels","AirSample","ControlSample","GeneralAirSample","InWallCavitySample","Swab","TapeLift","AdditionalPhoto","spacing","palette","secondary","dropzoneArea","Step1","sampleImageFiles","setSampleImageFiles","getValues","items","handleSampleImageFilesDrop","fileName","prev","sampleType","description","handleSampleImageFilesDelete","filteredSampleFiles","filter","i","includes","formValues","nest","filteredFormValues","sampleTypes","Paper","elevation","s","justify","sampleImage","index","CardMedia","defaultValue","CustomCheckbox","checkboxProps","isChecked","setIsChecked","FormControlLabel","Checkbox","checked","onChange","Step2","initialFormValues","setInitialFormValues","FormGroup","row","goItem","charAt","toLowerCase","substring","multiline","rows","Step3","labResultFiles","setLabResultFiles","handleLabResultFilesDrop","filteredLabResultFiles","Step4","samplesTaken","setSamplesTaken","templateList","setTemplateList","recommendedGuildelines","setRecommendedGuidelines","recommendedGuildelinesTitle","setRecommendedGuildelinesTitle","templateSpecificOptions","step1SavedData","step4SavedData","step1SamplesData","sampleIndex","selectedValue","sampleAssessments","assessment","populateRecommendedGuidelines","templateId","templateListResult","t","onHandleSaveAndExit","onHandleSaveAndCreateReport","selectedTemplate","find","reportData","newReport","reportId","ssd","sample","completedOnDate","isCompleted","selected","recommendedGuideline","guidelineIndex","defultOtherName","hasOtherDescription","recommendedGuidelines","ifv","n","rg","AssignmentDetails","setActiveStep","Stepper","alternativeLabel","nonLinear","step","Step","StepButton","getStepContent","prevActiveStep","regenerateData","ps","saveReportResult","switchRoutes","exact","openRegenerate","setOpenRegenerate","openDelete","setOpenDelete","openAddReport","setOpenAddReport","selectedToRegenerate","setSelectedToRegenerate","isTemplatesLoading","setIsTemplatesLoading","tableData","setTableData","fetchTemplates","loadReports","handleRegenerateClickOpen","handleRegenerateClickClose","handleRegenerateClickAction","handleAddReportClickOpen","handleAddReportClickClose","handleAddReportClickAction","editorContent","setEditorContent","setCustomerId","document","reportDetails","onSaveReport","onPreviewReport","fileDetails","dialogsInBody","toolbar","from","baseUrl","getElementsByTagName","getAttribute","rootElement","getElementById","hist","createBrowserHistory","ReactDOM","basename","bgImage","mobileOpen","setMobileOpen","resizeFunction","innerWidth","navigator","platform","PerfectScrollbar","suppressScrollX","suppressScrollY","addEventListener","destroy","removeEventListener"],"mappings":"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","file":"static/js/main.ace183a7.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/image-not-found.002f5fac.png\";","module.exports = __webpack_public_path__ + \"static/media/sidebar-2.310509c9.jpg\";","module.exports = \"data:image/png;base64,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\"","\nexport class AuthorizeService {\n async isAuthenticated() {\n const response = await fetch(`account/userprofile`, {\n });\n const data = await response.json();\n return data.isAuthenticated;\n }\n\n async validateAccessToken() {\n if (typeof window !== 'undefined') {\n const isAuthenticated = await this.isAuthenticated();\n if(isAuthenticated === false){\n window.location.href = \"/account/login\";\n }\n }\n }\n\n static get instance() { return authService }\n}\n\nconst authService = new AuthorizeService();\n\nexport default authService;\n","import React from 'react'\nimport { Component } from 'react'\nimport { Route, Redirect } from 'react-router-dom'\nimport authService from './AuthorizeService'\n\nexport default class AuthorizeRoute extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n ready: false,\n authenticated: false\n };\n }\n\n componentDidMount() {\n this.populateAuthenticationState();\n }\n\n render() {\n const { ready, authenticated } = this.state;\n if (!ready) {\n return
;\n } else {\n const { component: Component, ...rest } = this.props;\n return {\n if (authenticated) {\n return \n } else {\n return \n }\n }} />\n }\n }\n\n async populateAuthenticationState() {\n const authenticated = await authService.isAuthenticated();\n this.setState({ ready: true, authenticated });\n }\n\n async authenticationChanged() {\n this.setState({ ready: false, authenticated: false });\n await this.populateAuthenticationState();\n }\n}\n","/*!\n\n =========================================================\n * Material Dashboard React - v1.8.0 based on Material Dashboard - v1.2.0\n =========================================================\n\n * Product Page: http://www.creative-tim.com/product/material-dashboard-react\n * Copyright 2019 Creative Tim (http://www.creative-tim.com)\n * Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md)\n\n =========================================================\n\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n */\n\n// ##############################\n// // // Function that converts from hex color to rgb color\n// // // Example: input = #9c27b0 => output = 156, 39, 176\n// // // Example: input = 9c27b0 => output = 156, 39, 176\n// // // Example: input = #999 => output = 153, 153, 153\n// // // Example: input = 999 => output = 153, 153, 153\n// #############################\nconst hexToRgb = input => {\n input = input + \"\";\n input = input.replace(\"#\", \"\");\n let hexRegex = /[0-9A-Fa-f]/g;\n if (!hexRegex.test(input) || (input.length !== 3 && input.length !== 6)) {\n throw new Error(\"input is not a valid hex color.\");\n }\n if (input.length === 3) {\n let first = input[0];\n let second = input[1];\n let last = input[2];\n input = first + first + second + second + last + last;\n }\n input = input.toUpperCase(input);\n let first = input[0] + input[1];\n let second = input[2] + input[3];\n let last = input[4] + input[5];\n return (\n parseInt(first, 16) +\n \", \" +\n parseInt(second, 16) +\n \", \" +\n parseInt(last, 16)\n );\n};\n\n// ##############################\n// // // Variables - Styles that are used on more than one component\n// #############################\n\nconst drawerWidth = 260;\n\nconst transition = {\n transition: \"all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1)\"\n};\n\nconst container = {\n paddingRight: \"15px\",\n paddingLeft: \"15px\",\n marginRight: \"auto\",\n marginLeft: \"auto\"\n};\n\nconst defaultFont = {\n fontFamily: '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n fontWeight: \"300\",\n lineHeight: \"1.5em\"\n};\n\nconst primaryColor = [\"#9c27b0\", \"#ab47bc\", \"#8e24aa\", \"#af2cc5\"];\nconst warningColor = [\"#ff9800\", \"#ffa726\", \"#fb8c00\", \"#ffa21a\"];\nconst dangerColor = [\"#f44336\", \"#ef5350\", \"#e53935\", \"#f55a4e\"];\nconst successColor = [\"#4caf50\", \"#66bb6a\", \"#43a047\", \"#5cb860\"];\nconst infoColor = [\"#00acc1\", \"#26c6da\", \"#00acc1\", \"#00d3ee\"];\nconst roseColor = [\"#e91e63\", \"#ec407a\", \"#d81b60\", \"#eb3573\"];\nconst grayColor = [\n \"#999\",\n \"#777\",\n \"#3C4858\",\n \"#AAAAAA\",\n \"#D2D2D2\",\n \"#DDD\",\n \"#b4b4b4\",\n \"#555555\",\n \"#333\",\n \"#a9afbb\",\n \"#eee\",\n \"#e7e7e7\"\n];\nconst blackColor = \"#000\";\nconst whiteColor = \"#FFF\";\n\nconst boxShadow = {\n boxShadow:\n \"0 10px 30px -12px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.42), 0 4px 25px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.2)\"\n};\n\nconst primaryBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \",.4)\"\n};\nconst infoBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(infoColor[0]) +\n \",.4)\"\n};\nconst successBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(successColor[0]) +\n \",.4)\"\n};\nconst warningBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(warningColor[0]) +\n \",.4)\"\n};\nconst dangerBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \",.4)\"\n};\nconst roseBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(roseColor[0]) +\n \",.4)\"\n};\n\nconst warningCardHeader = {\n background:\n \"linear-gradient(60deg, \" + warningColor[1] + \", \" + warningColor[2] + \")\",\n ...warningBoxShadow\n};\nconst successCardHeader = {\n background:\n \"linear-gradient(60deg, \" + successColor[1] + \", \" + successColor[2] + \")\",\n ...successBoxShadow\n};\nconst dangerCardHeader = {\n background:\n \"linear-gradient(60deg, \" + dangerColor[1] + \", \" + dangerColor[2] + \")\",\n ...dangerBoxShadow\n};\nconst infoCardHeader = {\n background:\n \"linear-gradient(60deg, \" + infoColor[1] + \", \" + infoColor[2] + \")\",\n ...infoBoxShadow\n};\nconst primaryCardHeader = {\n background:\n \"linear-gradient(60deg, \" + primaryColor[1] + \", \" + primaryColor[2] + \")\",\n ...primaryBoxShadow\n};\nconst roseCardHeader = {\n background:\n \"linear-gradient(60deg, \" + roseColor[1] + \", \" + roseColor[2] + \")\",\n ...roseBoxShadow\n};\n\nconst cardActions = {\n margin: \"0 20px 10px\",\n paddingTop: \"10px\",\n borderTop: \"1px solid \" + grayColor[10],\n height: \"auto\",\n ...defaultFont\n};\n\nconst cardHeader = {\n margin: \"-20px 15px 0\",\n borderRadius: \"3px\",\n padding: \"15px\"\n};\n\nconst card = {\n display: \"inline-block\",\n position: \"relative\",\n width: \"100%\",\n margin: \"25px 0\",\n boxShadow: \"0 1px 4px 0 rgba(\" + hexToRgb(blackColor) + \", 0.14)\",\n borderRadius: \"3px\",\n color: \"rgba(\" + hexToRgb(blackColor) + \", 0.87)\",\n background: whiteColor\n};\n\nconst defaultBoxShadow = {\n border: \"0\",\n borderRadius: \"3px\",\n boxShadow:\n \"0 10px 20px -12px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.42), 0 3px 20px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.2)\",\n padding: \"10px 0\",\n transition: \"all 150ms ease 0s\"\n};\n\nconst title = {\n color: grayColor[2],\n textDecoration: \"none\",\n fontWeight: \"300\",\n marginTop: \"30px\",\n marginBottom: \"25px\",\n minHeight: \"32px\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n};\n\nconst cardTitle = {\n ...title,\n marginTop: \"0\",\n marginBottom: \"3px\",\n minHeight: \"auto\",\n \"& a\": {\n ...title,\n marginTop: \".625rem\",\n marginBottom: \"0.75rem\",\n minHeight: \"auto\"\n }\n};\n\nconst cardSubtitle = {\n marginTop: \"-.375rem\"\n};\n\nconst cardLink = {\n \"& + $cardLink\": {\n marginLeft: \"1.25rem\"\n }\n};\n\nexport {\n hexToRgb,\n //variables\n drawerWidth,\n transition,\n container,\n boxShadow,\n card,\n defaultFont,\n primaryColor,\n warningColor,\n dangerColor,\n successColor,\n infoColor,\n roseColor,\n grayColor,\n blackColor,\n whiteColor,\n primaryBoxShadow,\n infoBoxShadow,\n successBoxShadow,\n warningBoxShadow,\n dangerBoxShadow,\n roseBoxShadow,\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n cardActions,\n cardHeader,\n defaultBoxShadow,\n title,\n cardTitle,\n cardSubtitle,\n cardLink\n};\n","import {\n container,\n defaultFont,\n primaryColor,\n defaultBoxShadow,\n infoColor,\n successColor,\n warningColor,\n dangerColor,\n whiteColor,\n grayColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst headerStyle = () => ({\n appBar: {\n backgroundColor: \"transparent\",\n boxShadow: \"none\",\n borderBottom: \"0\",\n marginBottom: \"0\",\n position: \"absolute\",\n width: \"100%\",\n paddingTop: \"10px\",\n zIndex: \"1029\",\n color: grayColor[7],\n border: \"0\",\n borderRadius: \"3px\",\n padding: \"10px 0\",\n transition: \"all 150ms ease 0s\",\n minHeight: \"50px\",\n display: \"block\"\n },\n container: {\n ...container,\n minHeight: \"50px\"\n },\n flex: {\n flex: 1\n },\n title: {\n ...defaultFont,\n letterSpacing: \"unset\",\n lineHeight: \"30px\",\n fontSize: \"18px\",\n borderRadius: \"3px\",\n textTransform: \"none\",\n color: \"inherit\",\n margin: \"0\",\n \"&:hover,&:focus\": {\n background: \"transparent\"\n }\n },\n appResponsive: {\n top: \"8px\"\n },\n primary: {\n backgroundColor: primaryColor[0],\n color: whiteColor,\n ...defaultBoxShadow\n },\n info: {\n backgroundColor: infoColor[0],\n color: whiteColor,\n ...defaultBoxShadow\n },\n success: {\n backgroundColor: successColor[0],\n color: whiteColor,\n ...defaultBoxShadow\n },\n warning: {\n backgroundColor: warningColor[0],\n color: whiteColor,\n ...defaultBoxShadow\n },\n danger: {\n backgroundColor: dangerColor[0],\n color: whiteColor,\n ...defaultBoxShadow\n }\n});\n\nexport default headerStyle;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport Hidden from '@material-ui/core/Hidden';\n// @material-ui/icons\nimport Menu from '@material-ui/icons/Menu';\n\nimport styles from 'assets/jss/material-dashboard-react/components/headerStyle.js';\n\nconst useStyles = makeStyles(styles);\n\nexport default function Header(props) {\n const classes = useStyles();\n const { color } = props;\n const appBarClasses = classNames({\n [' ' + classes[color]]: color,\n });\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nHeader.propTypes = {\n color: PropTypes.oneOf(['primary', 'info', 'success', 'warning', 'danger']),\n rtlActive: PropTypes.bool,\n handleDrawerToggle: PropTypes.func,\n routes: PropTypes.arrayOf(PropTypes.object),\n};\n","import {\n drawerWidth,\n transition,\n boxShadow,\n defaultFont,\n primaryColor,\n primaryBoxShadow,\n infoColor,\n successColor,\n warningColor,\n dangerColor,\n whiteColor,\n grayColor,\n blackColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst sidebarStyle = theme => ({\n drawerPaper: {\n border: \"none\",\n position: \"fixed\",\n top: \"0\",\n bottom: \"0\",\n left: \"0\",\n zIndex: \"1\",\n ...boxShadow,\n width: drawerWidth,\n [theme.breakpoints.up(\"md\")]: {\n width: drawerWidth,\n position: \"fixed\",\n height: \"100%\"\n },\n [theme.breakpoints.down(\"sm\")]: {\n width: drawerWidth,\n ...boxShadow,\n position: \"fixed\",\n display: \"block\",\n top: \"0\",\n height: \"100vh\",\n right: \"0\",\n left: \"auto\",\n zIndex: \"1032\",\n visibility: \"visible\",\n overflowY: \"visible\",\n borderTop: \"none\",\n textAlign: \"left\",\n paddingRight: \"0px\",\n paddingLeft: \"0\",\n transform: `translate3d(${drawerWidth}px, 0, 0)`,\n ...transition\n }\n },\n drawerPaperRTL: {\n [theme.breakpoints.up(\"md\")]: {\n left: \"auto !important\",\n right: \"0 !important\"\n },\n [theme.breakpoints.down(\"sm\")]: {\n left: \"0 !important\",\n right: \"auto !important\"\n }\n },\n logo: {\n position: \"relative\",\n padding: \"15px 15px\",\n zIndex: \"4\",\n \"&:after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: \"0\",\n\n height: \"1px\",\n right: \"15px\",\n width: \"calc(100% - 30px)\",\n backgroundColor: \"rgba(\" + hexToRgb(grayColor[6]) + \", 0.3)\"\n }\n },\n logoLink: {\n ...defaultFont,\n textTransform: \"uppercase\",\n padding: \"5px 0\",\n display: \"block\",\n fontSize: \"18px\",\n textAlign: \"left\",\n fontWeight: \"400\",\n lineHeight: \"30px\",\n textDecoration: \"none\",\n backgroundColor: \"transparent\",\n \"&,&:hover\": {\n color: whiteColor\n }\n },\n logoLinkRTL: {\n textAlign: \"right\"\n },\n logoImage: {\n width: \"30px\",\n display: \"inline-block\",\n maxHeight: \"30px\",\n marginLeft: \"10px\",\n marginRight: \"15px\"\n },\n img: {\n width: \"35px\",\n top: \"22px\",\n position: \"absolute\",\n verticalAlign: \"middle\",\n border: \"0\"\n },\n background: {\n position: \"absolute\",\n zIndex: \"1\",\n height: \"100%\",\n width: \"100%\",\n display: \"block\",\n top: \"0\",\n left: \"0\",\n backgroundSize: \"cover\",\n backgroundPosition: \"center center\",\n \"&:after\": {\n position: \"absolute\",\n zIndex: \"3\",\n width: \"100%\",\n height: \"100%\",\n content: '\"\"',\n display: \"block\",\n background: blackColor,\n opacity: \".8\"\n }\n },\n list: {\n marginTop: \"20px\",\n paddingLeft: \"0\",\n paddingTop: \"0\",\n paddingBottom: \"0\",\n marginBottom: \"0\",\n listStyle: \"none\",\n position: \"unset\"\n },\n item: {\n position: \"relative\",\n display: \"block\",\n textDecoration: \"none\",\n \"&:hover,&:focus,&:visited,&\": {\n color: whiteColor\n }\n },\n itemLink: {\n width: \"auto\",\n transition: \"all 300ms linear\",\n margin: \"10px 15px 0\",\n borderRadius: \"3px\",\n position: \"relative\",\n display: \"block\",\n padding: \"10px 15px\",\n backgroundColor: \"transparent\",\n ...defaultFont\n },\n itemIcon: {\n width: \"24px\",\n height: \"30px\",\n fontSize: \"24px\",\n lineHeight: \"30px\",\n float: \"left\",\n marginRight: \"15px\",\n textAlign: \"center\",\n verticalAlign: \"middle\",\n color: \"rgba(\" + hexToRgb(whiteColor) + \", 0.8)\"\n },\n itemIconRTL: {\n marginRight: \"3px\",\n marginLeft: \"15px\",\n float: \"right\"\n },\n itemText: {\n ...defaultFont,\n margin: \"0\",\n lineHeight: \"30px\",\n fontSize: \"14px\",\n color: whiteColor\n },\n itemTextRTL: {\n textAlign: \"right\"\n },\n whiteFont: {\n color: whiteColor\n },\n purple: {\n backgroundColor: primaryColor[0],\n ...primaryBoxShadow,\n \"&:hover,&:focus\": {\n backgroundColor: primaryColor[0],\n ...primaryBoxShadow\n }\n },\n blue: {\n backgroundColor: infoColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(infoColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(infoColor[0]) +\n \",.2)\",\n \"&:hover,&:focus\": {\n backgroundColor: infoColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(infoColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(infoColor[0]) +\n \",.2)\"\n }\n },\n green: {\n backgroundColor: successColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(successColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(successColor[0]) +\n \",.2)\",\n \"&:hover,&:focus\": {\n backgroundColor: successColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(successColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(successColor[0]) +\n \",.2)\"\n }\n },\n orange: {\n backgroundColor: warningColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(warningColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(warningColor[0]) +\n \",.2)\",\n \"&:hover,&:focus\": {\n backgroundColor: warningColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(warningColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(warningColor[0]) +\n \",.2)\"\n }\n },\n red: {\n backgroundColor: dangerColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \",.2)\",\n \"&:hover,&:focus\": {\n backgroundColor: dangerColor[0],\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \",.28), 0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \",.2)\"\n }\n },\n sidebarWrapper: {\n position: \"relative\",\n height: \"calc(100vh - 75px)\",\n overflow: \"auto\",\n width: \"260px\",\n zIndex: \"4\",\n overflowScrolling: \"touch\"\n },\n activePro: {\n [theme.breakpoints.up(\"md\")]: {\n position: \"absolute\",\n width: \"100%\",\n bottom: \"13px\"\n }\n }\n});\n\nexport default sidebarStyle;\n","/*eslint-disable*/\nimport React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport Icon from \"@material-ui/core/Icon\";\n\nimport styles from \"assets/jss/material-dashboard-react/components/sidebarStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function Sidebar(props) {\n const classes = useStyles();\n // verifies if routeName is the one active (in browser input)\n function activeRoute(routeName) {\n return window.location.href.indexOf(routeName) > -1 ? true : false;\n }\n const { color, logo, image, logoText, routes } = props;\n var links = (\n \n {routes.map((prop, key) => {\n var activePro = \" \";\n var listItemClasses;\n listItemClasses = classNames({\n [\" \" + classes[color]]: activeRoute(prop.layout + prop.path)\n });\n const whiteFontClasses = classNames({\n [\" \" + classes.whiteFont]: activeRoute(prop.layout + prop.path)\n });\n return (\n \n \n {typeof prop.icon === \"string\" ? (\n \n {prop.icon}\n \n ) : (\n \n )}\n \n \n \n );\n })}\n \n );\n var brand = (\n
\n \n {/*
\n \"logo\"\n
*/}\n {logoText}\n \n
\n );\n return (\n
\n \n \n {brand}\n
\n {links}\n
\n {image !== undefined ? (\n \n ) : null}\n \n
\n \n \n {brand}\n
{links}
\n {image !== undefined ? (\n \n ) : null}\n \n
\n
\n );\n}\n\nSidebar.propTypes = {\n rtlActive: PropTypes.bool,\n handleDrawerToggle: PropTypes.func,\n bgColor: PropTypes.oneOf([\"purple\", \"blue\", \"green\", \"orange\", \"red\"]),\n logo: PropTypes.string,\n image: PropTypes.string,\n logoText: PropTypes.string,\n routes: PropTypes.arrayOf(PropTypes.object),\n open: PropTypes.bool\n};\n","import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst styles = {\n grid: {\n padding: \"0 15px !important\"\n }\n};\n\nconst useStyles = makeStyles(styles);\n\nexport default function GridItem(props) {\n const classes = useStyles();\n const { children, ...rest } = props;\n return (\n \n {children}\n \n );\n}\n\nGridItem.propTypes = {\n children: PropTypes.node\n};\n","import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst styles = {\n grid: {\n margin: \"0 -15px !important\",\n width: \"unset\"\n }\n};\n\nconst useStyles = makeStyles(styles);\n\nexport default function GridContainer(props) {\n const classes = useStyles();\n const { children, ...rest } = props;\n return (\n \n {children}\n \n );\n}\n\nGridContainer.propTypes = {\n children: PropTypes.node\n};\n","import {\n blackColor,\n whiteColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardStyle = {\n card: {\n border: \"0\",\n marginBottom: \"30px\",\n marginTop: \"30px\",\n borderRadius: \"6px\",\n color: \"rgba(\" + hexToRgb(blackColor) + \", 0.87)\",\n background: whiteColor,\n width: \"100%\",\n boxShadow: \"0 1px 4px 0 rgba(\" + hexToRgb(blackColor) + \", 0.14)\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n minWidth: \"0\",\n wordWrap: \"break-word\",\n fontSize: \".875rem\"\n },\n cardPlain: {\n background: \"transparent\",\n boxShadow: \"none\"\n },\n cardProfile: {\n marginTop: \"30px\",\n textAlign: \"center\"\n },\n cardChart: {\n \"& p\": {\n marginTop: \"0px\",\n paddingTop: \"0px\"\n }\n }\n};\n\nexport default cardStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function Card(props) {\n const classes = useStyles();\n const { className, children, plain, profile, chart, ...rest } = props;\n const cardClasses = classNames({\n [classes.card]: true,\n [classes.cardPlain]: plain,\n [classes.cardProfile]: profile,\n [classes.cardChart]: chart,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCard.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n chart: PropTypes.bool,\n children: PropTypes.node\n};\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n whiteColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardHeaderStyle = {\n cardHeader: {\n padding: \"0.75rem 1.25rem\",\n marginBottom: \"0\",\n borderBottom: \"none\",\n background: \"transparent\",\n zIndex: \"3 !important\",\n \"&$cardHeaderPlain,&$cardHeaderIcon,&$cardHeaderStats,&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n margin: \"0 15px\",\n padding: \"0\",\n position: \"relative\",\n color: whiteColor\n },\n \"&:first-child\": {\n borderRadius: \"calc(.25rem - 1px) calc(.25rem - 1px) 0 0\"\n },\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n \"&:not($cardHeaderIcon)\": {\n borderRadius: \"3px\",\n marginTop: \"-20px\",\n padding: \"15px\"\n }\n },\n \"&$cardHeaderStats svg\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n textAlign: \"center\",\n width: \"36px\",\n height: \"36px\",\n margin: \"10px 10px 4px\"\n },\n \"&$cardHeaderStats i,&$cardHeaderStats .material-icons\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n width: \"56px\",\n height: \"56px\",\n textAlign: \"center\",\n overflow: \"unset\",\n marginBottom: \"1px\"\n },\n \"&$cardHeaderStats$cardHeaderIcon\": {\n textAlign: \"right\"\n }\n },\n cardHeaderPlain: {\n marginLeft: \"0px !important\",\n marginRight: \"0px !important\"\n },\n cardHeaderStats: {\n \"& $cardHeaderIcon\": {\n textAlign: \"right\"\n },\n \"& h1,& h2,& h3,& h4,& h5,& h6\": {\n margin: \"0 !important\"\n }\n },\n cardHeaderIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n background: \"transparent\",\n boxShadow: \"none\"\n },\n \"& i,& .material-icons\": {\n width: \"33px\",\n height: \"33px\",\n textAlign: \"center\",\n lineHeight: \"33px\"\n },\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n margin: \"5px 4px 0px\"\n }\n },\n warningCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...warningCardHeader\n }\n },\n successCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...successCardHeader\n }\n },\n dangerCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...dangerCardHeader\n }\n },\n infoCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...infoCardHeader\n }\n },\n primaryCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...primaryCardHeader\n }\n },\n roseCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...roseCardHeader\n }\n }\n};\n\nexport default cardHeaderStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardHeaderStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardHeader(props) {\n const classes = useStyles();\n const { className, children, color, plain, stats, icon, ...rest } = props;\n const cardHeaderClasses = classNames({\n [classes.cardHeader]: true,\n [classes[color + \"CardHeader\"]]: color,\n [classes.cardHeaderPlain]: plain,\n [classes.cardHeaderStats]: stats,\n [classes.cardHeaderIcon]: icon,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardHeader.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ]),\n plain: PropTypes.bool,\n stats: PropTypes.bool,\n icon: PropTypes.bool,\n children: PropTypes.node\n};\n","const cardBodyStyle = {\n cardBody: {\n padding: \"0.9375rem 20px\",\n flex: \"1 1 auto\",\n WebkitBoxFlex: \"1\",\n position: \"relative\"\n },\n cardBodyPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\"\n },\n cardBodyProfile: {\n marginTop: \"15px\"\n }\n};\n\nexport default cardBodyStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardBodyStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardBody(props) {\n const classes = useStyles();\n const { className, children, plain, profile, ...rest } = props;\n const cardBodyClasses = classNames({\n [classes.cardBody]: true,\n [classes.cardBodyPlain]: plain,\n [classes.cardBodyProfile]: profile,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardBody.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n children: PropTypes.node\n};\n","import React from 'react';\nimport { Link, useRouteMatch } from 'react-router-dom';\nimport { v4 as uuidv4 } from 'uuid';\n\n// services\nimport authService from 'components/api-authorization/AuthorizeService';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Slide from '@material-ui/core/Slide';\nimport Fab from '@material-ui/core/Fab';\n\n// @material-ui/icon components\nimport AddIcon from '@material-ui/icons/Add';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport PersonIcon from '@material-ui/icons/Person';\nimport DescriptionIcon from '@material-ui/icons/Description';\n\n// core components\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\nimport MaterialTable from 'material-table';\nimport Card from 'components/Card/Card.js';\nimport CardHeader from 'components/Card/CardHeader.js';\nimport CardBody from 'components/Card/CardBody.js';\n\nconst styles = {\n fabMargin: {\n margin: '2px',\n },\n cardCategoryWhite: {\n '&,& a,& a:hover,& a:focus': {\n color: 'rgba(255,255,255,.62)',\n margin: '0',\n fontSize: '14px',\n marginTop: '0',\n marginBottom: '0',\n },\n '& a,& a:hover,& a:focus': {\n color: '#FFFFFF',\n },\n },\n cardTitleWhite: {\n color: '#FFFFFF',\n marginTop: '0px',\n minHeight: 'auto',\n fontWeight: '300',\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: '3px',\n textDecoration: 'none',\n '& small': {\n color: '#777',\n fontSize: '65%',\n fontWeight: '400',\n lineHeight: '1',\n },\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst populateData = async (query) => {\n var queryString = Object.keys(query)\n .map((key) => key + '=' + query[key])\n .join('&');\n await authService.validateAccessToken();\n const response = await fetch(`customers?${queryString}`, {});\n const data = await response.json();\n return {\n data: data.data,\n page: data.page,\n totalCount: data.totalCount,\n loading: false,\n };\n};\n\nconst deleteData = async (customerId) => {\n await authService.validateAccessToken();\n let myHeaders = new Headers();\n myHeaders.append('Content-Type', 'application/json');\n\n const request = await fetch(`customers/${customerId}`, {\n headers: myHeaders,\n method: 'DELETE',\n });\n const data = await request.text();\n return data;\n};\n\nexport default function CustomersList() {\n const classes = useStyles();\n const { url } = useRouteMatch();\n const tableRef = React.createRef();\n\n const [open, setOpen] = React.useState(false);\n const [selectedToDelete, setSelectedToDelete] = React.useState('');\n\n const handleDeleteClickOpen = async (id, e) => {\n setSelectedToDelete(id);\n setOpen(true);\n };\n\n const handleDeleteClickClose = () => {\n setSelectedToDelete('');\n setOpen(false);\n };\n\n const handleDeleteClickAction = async () => {\n await deleteData(selectedToDelete);\n refreshTable();\n setOpen(false);\n };\n\n const refreshTable = () => {\n return tableRef.current && tableRef.current.onQueryChange();\n };\n\n return (\n \n \n \n \n \n \n

Customers

\n
\n \n \n \n \n Add New Customer\n \n \n \n \n
\n
\n \n (\n
\n {rowData.firstName} {rowData.lastName}

(\n {rowData.businessName})\n
\n ),\n },\n { title: 'Email', field: 'email' },\n { title: 'Phone Number', field: 'phoneNumber' },\n {\n title: 'Address',\n render: (rowData) => (\n
\n {rowData.streetAddress}, {rowData.city}, {rowData.state},{' '}\n {rowData.postalCode}\n
\n ),\n },\n {\n title: '',\n render: (rowData) => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n      \n \n \n handleDeleteClickOpen(rowData.customerId, e)\n }\n size=\"small\"\n color=\"secondary\"\n className={classes.fabMargin}\n >\n \n \n \n
\n ),\n },\n ]}\n data={(query) => populateData(query)}\n actions={[\n {\n icon: 'refresh',\n tooltip: 'Refresh Data',\n isFreeAction: true,\n onClick: () => refreshTable(),\n },\n ]}\n title=\"\"\n />\n
\n
\n \n Delete\n \n \n Are you sure you want to delete this customer?\n \n \n \n \n \n \n \n
\n
\n );\n}\n","import React from 'react';\nimport { Link, useRouteMatch } from 'react-router-dom';\n\n// services\nimport authService from 'components/api-authorization/AuthorizeService';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Slide from '@material-ui/core/Slide';\nimport Fab from '@material-ui/core/Fab';\n\n// @material-ui/icon components\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport EditIcon from '@material-ui/icons/Edit';\nimport DescriptionOutlinedIcon from '@material-ui/icons/DescriptionOutlined';\n\n// core components\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\nimport MaterialTable from 'material-table';\nimport Card from 'components/Card/Card.js';\nimport CardHeader from 'components/Card/CardHeader.js';\nimport CardBody from 'components/Card/CardBody.js';\n\nconst styles = {\n fabMargin: {\n margin: '2px',\n },\n cardCategoryWhite: {\n '&,& a,& a:hover,& a:focus': {\n color: 'rgba(255,255,255,.62)',\n margin: '0',\n fontSize: '14px',\n marginTop: '0',\n marginBottom: '0',\n },\n '& a,& a:hover,& a:focus': {\n color: '#FFFFFF',\n },\n },\n cardTitleWhite: {\n color: '#FFFFFF',\n marginTop: '0px',\n minHeight: 'auto',\n fontWeight: '300',\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: '3px',\n textDecoration: 'none',\n '& small': {\n color: '#777',\n fontSize: '65%',\n fontWeight: '400',\n lineHeight: '1',\n },\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst populateData = async (query) => {\n var queryString = Object.keys(query)\n .map((key) => key + '=' + query[key])\n .join('&');\n await authService.validateAccessToken();\n const response = await fetch(`assignments?${queryString}`, {});\n const data = await response.json();\n return {\n data: data.data,\n page: data.page,\n totalCount: data.totalCount,\n loading: false,\n };\n};\n\nconst deleteData = async (customerId, assignmentId) => {\n await authService.validateAccessToken();\n let myHeaders = new Headers();\n myHeaders.append('Content-Type', 'application/json');\n const request = await fetch(`assignments/${customerId}/${assignmentId}`, {\n headers: myHeaders,\n method: 'DELETE',\n });\n const data = await request.text();\n return data;\n};\n\nexport default function AssignmentsList() {\n const classes = useStyles();\n const { url } = useRouteMatch();\n const tableRef = React.createRef();\n\n const [open, setOpen] = React.useState(false);\n const [selectedToDelete, setSelectedToDelete] = React.useState({});\n\n const handleDeleteClickOpen = async (customerId, assignmentId, e) => {\n setSelectedToDelete({ customerId, assignmentId });\n setOpen(true);\n };\n\n const handleDeleteClickClose = () => {\n setSelectedToDelete({});\n setOpen(false);\n };\n\n const handleDeleteClickAction = async () => {\n await deleteData(\n selectedToDelete.customerId,\n selectedToDelete.assignmentId\n );\n setOpen(false);\n };\n\n return (\n \n \n \n \n \n \n

Assignments

\n
\n
\n
\n \n
{rowData.clientName}
,\n },\n {\n title: 'Address',\n render: (rowData) =>
{rowData.fullAddress}
,\n },\n { title: 'Inspection Date', field: 'inspectionDate' },\n { title: 'Completed', field: 'isCompleted' },\n { title: 'Complettion Date', field: 'completedOnDate' },\n {\n title: '',\n render: (rowData) => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n      \n \n \n handleDeleteClickOpen(\n rowData.customerId,\n rowData.assignmentId,\n e\n )\n }\n size=\"small\"\n color=\"secondary\"\n className={classes.fabMargin}\n >\n \n \n \n
\n ),\n },\n ]}\n data={(query) => populateData(query)}\n actions={[\n {\n icon: 'refresh',\n tooltip: 'Refresh Data',\n isFreeAction: true,\n onClick: () =>\n tableRef.current && tableRef.current.onQueryChange(),\n },\n ]}\n title=\"\"\n />\n
\n
\n \n Delete\n \n \n Are you sure you want to delete this assignment?\n \n \n \n \n \n \n \n
\n
\n );\n}\n","/*!\n\n=========================================================\n* Material Dashboard React - v1.8.0\n=========================================================\n\n* Product Page: https://www.creative-tim.com/product/material-dashboard-react\n* Copyright 2019 Creative Tim (https://www.creative-tim.com)\n* Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md)\n\n* Coded by Creative Tim\n\n=========================================================\n\n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n*/\n// @material-ui/icons\nimport PeopleIcon from '@material-ui/icons/People';\nimport AssignmentIcon from '@material-ui/icons/Assignment';\n// core components/views for Admin layout\nimport CustomersPage from 'views/Customers/Customers.js';\nimport AssignmentsPage from 'views/Assignments/Assignments.js';\n\nconst dashboardRoutes = [\n {\n path: '/customers',\n name: 'Customers',\n icon: PeopleIcon,\n component: CustomersPage,\n layout: '/admin',\n },\n {\n path: '/assignments',\n name: 'Assignments',\n icon: AssignmentIcon,\n component: AssignmentsPage,\n layout: '/admin',\n },\n];\n\nexport default dashboardRoutes;\n","import {\n drawerWidth,\n transition,\n container\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst appStyle = theme => ({\n wrapper: {\n position: \"relative\",\n top: \"0\",\n height: \"100vh\"\n },\n mainPanel: {\n [theme.breakpoints.up(\"md\")]: {\n width: `calc(100% - ${drawerWidth}px)`\n },\n overflow: \"auto\",\n position: \"relative\",\n float: \"right\",\n ...transition,\n maxHeight: \"100%\",\n width: \"100%\",\n overflowScrolling: \"touch\"\n },\n content: {\n marginTop: \"50px\",\n padding: \"10px 0px\",\n minHeight: \"calc(100vh - 123px)\"\n },\n container,\n map: {\n marginTop: \"70px\"\n }\n});\n\nexport default appStyle;\n","import {\n primaryColor,\n dangerColor,\n successColor,\n grayColor,\n defaultFont\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst customInputStyle = {\n disabled: {\n \"&:before\": {\n backgroundColor: \"transparent !important\"\n }\n },\n underline: {\n \"&:hover:not($disabled):before,&:before\": {\n borderColor: grayColor[4] + \" !important\",\n borderWidth: \"1px !important\"\n },\n \"&:after\": {\n borderColor: primaryColor[0]\n }\n },\n underlineError: {\n \"&:after\": {\n borderColor: dangerColor[0]\n }\n },\n underlineSuccess: {\n \"&:after\": {\n borderColor: successColor[0]\n }\n },\n labelRoot: {\n ...defaultFont,\n color: grayColor[3] + \" !important\",\n fontWeight: \"400\",\n fontSize: \"14px\",\n lineHeight: \"1.42857\",\n letterSpacing: \"unset\"\n },\n labelRootError: {\n color: dangerColor[0]\n },\n labelRootSuccess: {\n color: successColor[0]\n },\n feedback: {\n position: \"absolute\",\n top: \"18px\",\n right: \"0\",\n zIndex: \"2\",\n display: \"block\",\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n pointerEvents: \"none\"\n },\n marginTop: {\n marginTop: \"16px\"\n },\n formControl: {\n paddingBottom: \"10px\",\n margin: \"27px 0 0 0\",\n position: \"relative\",\n verticalAlign: \"unset\"\n }\n};\n\nexport default customInputStyle;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Controller } from 'react-hook-form';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Input from '@material-ui/core/Input';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\n// @material-ui/icons\nimport Clear from '@material-ui/icons/Clear';\nimport Check from '@material-ui/icons/Check';\n// core components\nimport styles from 'assets/jss/material-dashboard-react/components/customInputStyle.js';\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustomInput(props) {\n const classes = useStyles();\n const {\n formControlProps,\n labelText,\n id,\n labelProps,\n inputProps,\n error,\n errorMessage,\n success,\n selectOptions = [],\n inputType = 'text',\n } = props;\n\n const labelClasses = classNames({\n [' ' + classes.labelRootError]: error,\n [' ' + classes.labelRootSuccess]: success && !error,\n });\n const underlineClasses = classNames({\n [classes.underlineError]: error,\n [classes.underlineSuccess]: success && !error,\n [classes.underline]: true,\n });\n const marginTop = classNames({\n [classes.marginTop]: labelText === undefined,\n });\n return (\n \n {labelText !== undefined ? (\n \n {labelText}\n \n ) : null}\n {inputType === 'text' ? (\n \n ) : null}\n {inputType === 'select' ? (\n \n {selectOptions.map((selectItem) => {\n return (\n \n {selectItem.label}\n \n );\n })}\n \n }\n {...inputProps}\n />\n ) : null}\n {error ? (\n <>\n \n

{errorMessage}

\n \n ) : success ? (\n \n ) : null}\n \n );\n}\n\nCustomInput.propTypes = {\n labelText: PropTypes.node,\n labelProps: PropTypes.object,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n formControlProps: PropTypes.object,\n error: PropTypes.bool,\n errorMessage: PropTypes.string,\n success: PropTypes.bool,\n};\n","import {\n grayColor,\n primaryColor,\n infoColor,\n successColor,\n warningColor,\n dangerColor,\n roseColor,\n whiteColor,\n blackColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst buttonStyle = {\n button: {\n minHeight: \"auto\",\n minWidth: \"auto\",\n backgroundColor: grayColor[0],\n color: whiteColor,\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.12)\",\n border: \"none\",\n borderRadius: \"3px\",\n position: \"relative\",\n padding: \"12px 30px\",\n margin: \".3125rem 1px\",\n fontSize: \"12px\",\n fontWeight: \"400\",\n textTransform: \"uppercase\",\n letterSpacing: \"0\",\n willChange: \"box-shadow, transform\",\n transition:\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\n lineHeight: \"1.42857143\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n touchAction: \"manipulation\",\n cursor: \"pointer\",\n \"&:hover,&:focus\": {\n color: whiteColor,\n backgroundColor: grayColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.2)\"\n },\n \"& .fab,& .fas,& .far,& .fal, &.material-icons\": {\n position: \"relative\",\n display: \"inline-block\",\n top: \"0\",\n marginTop: \"-1em\",\n marginBottom: \"-1em\",\n fontSize: \"1.1rem\",\n marginRight: \"4px\",\n verticalAlign: \"middle\"\n },\n \"& svg\": {\n position: \"relative\",\n display: \"inline-block\",\n top: \"0\",\n width: \"18px\",\n height: \"18px\",\n marginRight: \"4px\",\n verticalAlign: \"middle\"\n },\n \"&$justIcon\": {\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n marginTop: \"0px\",\n position: \"absolute\",\n width: \"100%\",\n transform: \"none\",\n left: \"0px\",\n top: \"0px\",\n height: \"100%\",\n lineHeight: \"41px\",\n fontSize: \"20px\"\n }\n }\n },\n white: {\n \"&,&:focus,&:hover\": {\n backgroundColor: whiteColor,\n color: grayColor[0]\n }\n },\n rose: {\n backgroundColor: roseColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: roseColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.2)\"\n }\n },\n primary: {\n backgroundColor: primaryColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: primaryColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.2)\"\n }\n },\n info: {\n backgroundColor: infoColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: infoColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.2)\"\n }\n },\n success: {\n backgroundColor: successColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: successColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.2)\"\n }\n },\n warning: {\n backgroundColor: warningColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: warningColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.2)\"\n }\n },\n danger: {\n backgroundColor: dangerColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: dangerColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.2)\"\n }\n },\n simple: {\n \"&,&:focus,&:hover\": {\n color: whiteColor,\n background: \"transparent\",\n boxShadow: \"none\"\n },\n \"&$rose\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: roseColor[0]\n }\n },\n \"&$primary\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: primaryColor[0]\n }\n },\n \"&$info\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: infoColor[0]\n }\n },\n \"&$success\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: successColor[0]\n }\n },\n \"&$warning\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: warningColor[0]\n }\n },\n \"&$danger\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: dangerColor[0]\n }\n }\n },\n transparent: {\n \"&,&:focus,&:hover\": {\n color: \"inherit\",\n background: \"transparent\",\n boxShadow: \"none\"\n }\n },\n disabled: {\n opacity: \"0.65\",\n pointerEvents: \"none\"\n },\n lg: {\n padding: \"1.125rem 2.25rem\",\n fontSize: \"0.875rem\",\n lineHeight: \"1.333333\",\n borderRadius: \"0.2rem\"\n },\n sm: {\n padding: \"0.40625rem 1.25rem\",\n fontSize: \"0.6875rem\",\n lineHeight: \"1.5\",\n borderRadius: \"0.2rem\"\n },\n round: {\n borderRadius: \"30px\"\n },\n block: {\n width: \"100% !important\"\n },\n link: {\n \"&,&:hover,&:focus\": {\n backgroundColor: \"transparent\",\n color: grayColor[0],\n boxShadow: \"none\"\n }\n },\n justIcon: {\n paddingLeft: \"12px\",\n paddingRight: \"12px\",\n fontSize: \"20px\",\n height: \"41px\",\n minWidth: \"41px\",\n width: \"41px\",\n \"& .fab,& .fas,& .far,& .fal,& svg,& .material-icons\": {\n marginRight: \"0px\"\n },\n \"&$lg\": {\n height: \"57px\",\n minWidth: \"57px\",\n width: \"57px\",\n lineHeight: \"56px\",\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"32px\",\n lineHeight: \"56px\"\n },\n \"& svg\": {\n width: \"32px\",\n height: \"32px\"\n }\n },\n \"&$sm\": {\n height: \"30px\",\n minWidth: \"30px\",\n width: \"30px\",\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"17px\",\n lineHeight: \"29px\"\n },\n \"& svg\": {\n width: \"17px\",\n height: \"17px\"\n }\n }\n }\n};\n\nexport default buttonStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// material-ui components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\n\nimport styles from \"assets/jss/material-dashboard-react/components/buttonStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function RegularButton(props) {\n const classes = useStyles();\n const {\n color,\n round,\n children,\n disabled,\n simple,\n size,\n block,\n link,\n justIcon,\n className,\n muiClasses,\n ...rest\n } = props;\n const btnClasses = classNames({\n [classes.button]: true,\n [classes[size]]: size,\n [classes[color]]: color,\n [classes.round]: round,\n [classes.disabled]: disabled,\n [classes.simple]: simple,\n [classes.block]: block,\n [classes.link]: link,\n [classes.justIcon]: justIcon,\n [className]: className\n });\n return (\n \n );\n}\n\nRegularButton.propTypes = {\n color: PropTypes.oneOf([\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\",\n \"white\",\n \"transparent\"\n ]),\n size: PropTypes.oneOf([\"sm\", \"lg\"]),\n simple: PropTypes.bool,\n round: PropTypes.bool,\n disabled: PropTypes.bool,\n block: PropTypes.bool,\n link: PropTypes.bool,\n justIcon: PropTypes.bool,\n className: PropTypes.string,\n // use this to pass the classes props from Material-UI\n muiClasses: PropTypes.object,\n children: PropTypes.node\n};\n","import { grayColor } from \"assets/jss/material-dashboard-react.js\";\n\nconst cardFooterStyle = {\n cardFooter: {\n padding: \"0\",\n paddingTop: \"10px\",\n margin: \"0 15px 10px\",\n borderRadius: \"0\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n display: \"flex\",\n backgroundColor: \"transparent\",\n border: \"0\"\n },\n cardFooterProfile: {\n marginTop: \"-15px\"\n },\n cardFooterPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\",\n backgroundColor: \"transparent\"\n },\n cardFooterStats: {\n borderTop: \"1px solid \" + grayColor[10],\n marginTop: \"20px\",\n \"& svg\": {\n position: \"relative\",\n top: \"4px\",\n marginRight: \"3px\",\n marginLeft: \"3px\",\n width: \"16px\",\n height: \"16px\"\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"16px\",\n position: \"relative\",\n top: \"4px\",\n marginRight: \"3px\",\n marginLeft: \"3px\"\n }\n },\n cardFooterChart: {\n borderTop: \"1px solid \" + grayColor[10]\n }\n};\n\nexport default cardFooterStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardFooterStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardFooter(props) {\n const classes = useStyles();\n const { className, children, plain, profile, stats, chart, ...rest } = props;\n const cardFooterClasses = classNames({\n [classes.cardFooter]: true,\n [classes.cardFooterPlain]: plain,\n [classes.cardFooterProfile]: profile,\n [classes.cardFooterStats]: stats,\n [classes.cardFooterChart]: chart,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardFooter.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n stats: PropTypes.bool,\n chart: PropTypes.bool,\n children: PropTypes.node\n};\n","import React, { useState, useEffect } from \"react\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\n\nimport { v4 as uuidv4 } from \"uuid\";\n\n// services\nimport authService from \"components/api-authorization/AuthorizeService\";\n\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\n\n// core components\nimport GridItem from \"components/Grid/GridItem.js\";\nimport GridContainer from \"components/Grid/GridContainer.js\";\nimport CustomInput from \"components/CustomInput/CustomInput.js\";\nimport Button from \"components/CustomButtons/Button.js\";\nimport Card from \"components/Card/Card.js\";\nimport CardHeader from \"components/Card/CardHeader.js\";\nimport CardBody from \"components/Card/CardBody.js\";\nimport CardFooter from \"components/Card/CardFooter.js\";\nimport { Grid } from \"@material-ui/core\";\n\nconst styles = {\n cardCategoryWhite: {\n color: \"rgba(255,255,255,.62)\",\n margin: \"0\",\n fontSize: \"14px\",\n marginTop: \"0\",\n marginBottom: \"0\",\n },\n cardTitleWhite: {\n color: \"#FFFFFF\",\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nconst populateData = async (customerId) => {\n await authService.validateAccessToken();\n const response = await fetch(`customers/${customerId}`, {});\n const data = await response.json();\n return data;\n};\n\nconst saveData = async (object) => {\n await authService.validateAccessToken();\n const body = JSON.stringify(object);\n let myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n\n const request = await fetch(`customers/create`, {\n headers: myHeaders,\n method: \"POST\",\n body,\n });\n const data = await request.json();\n return data;\n};\n\nexport default function CustomerDetails(props) {\n const classes = useStyles();\n const history = useHistory();\n const { customerId } = useParams();\n const [isLoading, setIsLoading] = useState(false);\n const {\n register,\n handleSubmit,\n errors,\n reset,\n formState: { isSubmitting },\n } = useForm({\n defaultValues: {\n state: \"Florida\",\n country: \"USA\",\n },\n });\n\n useEffect(() => {\n const fetchData = async () => {\n setIsLoading(true);\n const result = await populateData(customerId);\n reset({\n firstName: result.firstName || \"\",\n lastName: result.lastName || \"\",\n businessName: result.businessName || \"\",\n email: result.email || \"\",\n phoneNumber: result.phoneNumber || \"\",\n secondaryPhoneNumber: result.secondaryPhoneNumber || \"\",\n streetAddress: result.streetAddress || \"\",\n city: result.city || \"\",\n state: result.state || \"\",\n postalCode: result.postalCode || \"\",\n country: result.country || \"\",\n });\n\n setIsLoading(false);\n };\n if (customerId) {\n fetchData();\n }\n }, [customerId, reset]);\n\n const isNewCustomer = customerId === undefined;\n\n const handleSave = async (data) => {\n data.customerId = customerId;\n const modifiedEntity = await saveData(data);\n if (isNewCustomer) {\n history.push(`/admin/customers/details/${modifiedEntity.customerId}`);\n }\n };\n\n const handleSaveAndNext = async (data) => {\n data.customerId = customerId;\n const modifiedEntity = await saveData(data);\n history.push(\n `/admin/assignments/create/${modifiedEntity.customerId}/${uuidv4()}`\n );\n };\n\n const handleGoBack = async () => {\n history.push(`/admin/customers`);\n };\n\n return (\n
\n \n \n
\n \n \n

Customer Details

\n
\n \n {isLoading ? (\n <>\n \n \n ) : (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n ()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n }),\n }}\n formControlProps={{\n fullWidth: true,\n }}\n error={!!errors.email}\n errorMessage={\n errors.email ? \"Email address is not valid.\" : \"\"\n }\n />\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n {isNewCustomer ? \"Add New\" : \"Save\"}\n \n \n \n \n {isNewCustomer\n ? \"Add and Create Assignment\"\n : \"Save and Create Assignment\"}\n \n \n \n \n Go Back\n \n \n \n \n
\n
\n
\n
\n
\n );\n}\n","// services\nimport authService from 'components/api-authorization/AuthorizeService';\n\nexport const saveStepData = async (stepId, payload) => {\n await authService.validateAccessToken();\n const body = JSON.stringify(payload);\n const myHeaders = new Headers();\n myHeaders.append('Content-Type', 'application/json');\n const request = await fetch(`assignments/saveStep/${stepId}`, {\n headers: myHeaders,\n method: 'POST',\n body,\n });\n const data = await request.json();\n return data;\n};\n\nexport const populateStepData = async (stepId, customerId, assignmentId) => {\n await authService.validateAccessToken();\n const response = await fetch(\n `assignments/${stepId}/${customerId}/${assignmentId || ''}`,\n {}\n );\n const data = await response.json();\n return data;\n};\n\nexport const uploadAssignmentFile = async (file) => {\n const formData = new FormData();\n formData.append('file', file);\n const myHeaders = new Headers();\n await authService.validateAccessToken();\n\n const fileUploadRequest = await fetch('assignments/UploadAssignmentFiles', {\n headers: myHeaders,\n method: 'POST',\n body: formData,\n });\n const uploadResponse = await fileUploadRequest.json();\n return uploadResponse;\n};\n\nexport const uploadAssignmentImage = async (file) => {\n const formData = new FormData();\n formData.append('file', file);\n const myHeaders = new Headers();\n await authService.validateAccessToken();\n\n const fileUploadRequest = await fetch('assignments/UploadAssignmentImages', {\n headers: myHeaders,\n method: 'POST',\n body: formData,\n });\n const uploadResponse = await fileUploadRequest.json();\n return uploadResponse;\n};\n\nexport const getAvailableTemplates = async () => {\n await authService.validateAccessToken();\n const response = await fetch(`templates`, {});\n const data = await response.json();\n return data;\n};\n\nexport const addNewReport = async (payload) => {\n await authService.validateAccessToken();\n const body = JSON.stringify(payload);\n const myHeaders = new Headers();\n myHeaders.append('Content-Type', 'application/json');\n\n const request = await fetch(`reports/create`, {\n headers: myHeaders,\n method: 'POST',\n body,\n });\n const data = await request.json();\n return data;\n};\n","import React, { useState, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { DropzoneArea } from 'material-ui-dropzone';\n\n// assets\nimport imageNotFound from 'assets/img/image-not-found.png';\n\nimport {\n saveStepData,\n populateStepData,\n uploadAssignmentImage,\n} from 'services/dataServices.js';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport FormLabel from '@material-ui/core/FormLabel';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\n\n// core components\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\nimport CustomInput from 'components/CustomInput/CustomInput.js';\nimport Button from 'components/CustomButtons/Button.js';\n\nconst useStyles = makeStyles((theme) => ({\n media: {\n width: '50%',\n height: 300,\n }\n}));\n\nexport default function Step0(props) {\n const classes = useStyles();\n const { customerId, assignmentId } = props;\n const [isLoading, setIsLoading] = useState(false);\n const [frontHouseImageURL, setFrontHouseImageURL] = useState(imageNotFound);\n const [sketchImageURL, setSketchImageURL] = useState(imageNotFound);\n\n const {\n control,\n register,\n handleSubmit,\n errors,\n reset,\n setValue,\n formState: { isSubmitting },\n } = useForm({\n defaultValues: {\n clientName: \"\",\n fullAddress: \"\",\n inspectionDate: \"\",\n outsideTemperature: \"\",\n outsideHumidity: \"\",\n outsideConditions: \"\",\n frontHouseImage: \"\",\n sketchImage: \"\",\n structureType: \"\",\n claim: \"\",\n preparedFor: \"\",\n inspectedBy: \"\",\n },\n });\n const todateDate = new Date();\n const todaydd = String(todateDate.getDate()).padStart(2, '0');\n const todaymm = String(todateDate.getMonth() + 1).padStart(2, '0'); //January is 0!\n const todayyyyy = todateDate.getFullYear();\n\n const formattedToday = todayyyyy + '-' + todaymm + '-' + todaydd ;\n\n useEffect(() => {\n const fetchData = async () => {\n setIsLoading(true);\n\n const result = await populateStepData(0, customerId, assignmentId);\n reset({\n clientName: result.clientName || \"\",\n fullAddress: result.fullAddress || \"\",\n inspectionDate: result.inspectionDate || formattedToday,\n outsideTemperature: result.outsideTemperature || \"\",\n outsideHumidity: result.outsideHumidity || \"\",\n outsideConditions: result.outsideConditions || \"\",\n frontHouseImage: result.frontHouseImage || \"\",\n sketchImage: result.sketchImage || \"\",\n structureType: result.structureType || \"\",\n claim: result.claim || \"\",\n preparedFor: result.preparedFor || \"\",\n inspectedBy: result.inspectedBy || \"\",\n });\n setFrontHouseImageURL(result.frontHouseImage || imageNotFound);\n setSketchImageURL(result.sketchImage || imageNotFound);\n setIsLoading(false);\n };\n if (customerId) {\n fetchData();\n }\n }, [customerId, assignmentId, reset]);\n\n const outsideConditionOptions = [\n { value: '', label: 'Select an Option' },\n { value: 'Clear', label: 'Clear' },\n { value: 'Partly Cloudy', label: 'Partly Cloudy' },\n { value: 'Overcast', label: 'Overcast' },\n { value: 'Light Rain', label: 'Light Rain' },\n { value: 'Rain', label: 'Rain' },\n { value: 'Storming', label: 'Storming' },\n { value: 'Snow', label: 'Snow' },\n ];\n\n const structureTypeOptions = [\n { value: '', label: 'Select an Option' },\n { value: 'Single-family Home', label: 'Single-family Home' },\n { value: 'Apartment', label: 'Apartment' },\n { value: 'Town-house', label: 'Town-house' },\n { value: 'Commercial Building', label: 'Commercial Building' },\n ];\n const { activeStep, handleBack, handleNext } = props;\n const onSubmit = async (data) => {\n data.customerId = customerId;\n data.assignmentId = assignmentId;\n await saveStepData(0, data);\n handleNext();\n };\n\n const handleHouseFrontFilesDrop = async (file) => {\n const uploadResponse = await uploadAssignmentImage(file);\n setValue('frontHouseImage', uploadResponse.fileUrl);\n setFrontHouseImageURL(uploadResponse.fileUrl);\n };\n\n const handleHouseFrontFilesDelete = async (file) => {\n setValue('frontHouseImage', '');\n setFrontHouseImageURL(imageNotFound);\n };\n\n const handleSketchImageFilesDrop = async (file) => {\n const uploadResponse = await uploadAssignmentImage(file);\n setValue(\"sketchImage\", uploadResponse.fileUrl);\n setSketchImageURL(uploadResponse.fileUrl);\n };\n\n const handleSketchImageFilesDelete = async (file) => {\n setValue(\"sketchImage\", \"\");\n setSketchImageURL(imageNotFound);\n };\n\n if (isLoading) return ;\n\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Front House Image\n \n\n \n \n \n \n\n \n \n \n Sketch Image\n \n \n \n \n \n \n \n\n \n Back\n \n \n \n );\n}\n","const sampleTypeLabels = {\n AirSample: 'Air Sample',\n ControlSample: 'Control Sample',\n GeneralAirSample: 'General Air Sample',\n InWallCavitySample: 'In-Wall Cavity Sample',\n Swab: 'Swab',\n TapeLift: 'Tape Lift',\n AdditionalPhoto: 'Additional Photo',\n};\n\nexport default sampleTypeLabels;\n","import React, { useState, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { DropzoneArea } from 'material-ui-dropzone';\n\nimport {\n saveStepData,\n populateStepData,\n uploadAssignmentImage,\n} from 'services/dataServices.js';\n\nimport sampleTypeLabels from './sampleTypes.js';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport Paper from '@material-ui/core/Paper';\n\n// core components\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\nimport CustomInput from 'components/CustomInput/CustomInput.js';\nimport Button from 'components/CustomButtons/Button.js';\n\nconst useStyles = makeStyles((theme) => ({\n media: {\n width: '100%',\n height: 200,\n },\n paper: {\n padding: theme.spacing(1),\n margin: theme.spacing(1),\n textAlign: 'center',\n color: theme.palette.text.secondary,\n },\n dropzoneArea: {\n margin: theme.spacing(2),\n },\n}));\n\nexport default function Step1(props) {\n const classes = useStyles();\n const {\n customerId,\n assignmentId,\n activeStep,\n handleBack,\n handleNext,\n } = props;\n\n const [isLoading, setIsLoading] = useState(false);\n\n const [sampleImageFiles, setSampleImageFiles] = useState([]);\n\n const {\n control,\n register,\n handleSubmit,\n // errors,\n reset,\n getValues,\n formState: { isSubmitting },\n } = useForm();\n\n useEffect(() => {\n const fetchData = async () => {\n setIsLoading(true);\n const result = await populateStepData(1, customerId, assignmentId);\n setSampleImageFiles(result.items);\n // reset({ items: result.items || [] });\n setIsLoading(false);\n };\n if (customerId && assignmentId) {\n fetchData();\n }\n }, [customerId, assignmentId]);\n\n const handleSampleImageFilesDrop = async (file) => {\n const uploadResponse = await uploadAssignmentImage(file);\n file.fileName = uploadResponse.fileName;\n setSampleImageFiles((prev) => [\n ...prev,\n {\n fileName: uploadResponse.fileName,\n fileUrl: uploadResponse.fileUrl,\n sampleType: '',\n description: '',\n },\n ]);\n };\n\n const handleSampleImageFilesDelete = async (file) => {\n if (!file.fileName) {\n // if dropzone files where initialized with server data.\n file.fileName = file.name;\n }\n const filteredSampleFiles = sampleImageFiles.filter(\n (i) => !file.fileName.includes(i.fileName)\n );\n // maintain form state instead of resetting the whole form\n const formValues = getValues({ nest: true });\n const filteredFormValues = formValues.items.filter(\n (i) => !file.fileName.includes(i.fileName)\n );\n reset({ items: filteredFormValues || [] });\n setSampleImageFiles(filteredSampleFiles);\n };\n\n const sampleTypes = [\n { value: '', label: 'Select an Option' },\n { value: 'AirSample', label: sampleTypeLabels['AirSample'] },\n { value: 'ControlSample', label: sampleTypeLabels['ControlSample'] },\n { value: 'GeneralAirSample', label: sampleTypeLabels['GeneralAirSample'] },\n {\n value: 'InWallCavitySample',\n label: sampleTypeLabels['InWallCavitySample'],\n },\n { value: 'Swab', label: sampleTypeLabels['Swab'] },\n { value: 'TapeLift', label: sampleTypeLabels['TapeLift'] },\n { value: 'AdditionalPhoto', label: sampleTypeLabels['AdditionalPhoto'] },\n ];\n\n const onSubmit = async (data) => {\n data.customerId = customerId;\n data.assignmentId = assignmentId;\n await saveStepData(1, data);\n handleNext();\n };\n\n if (isLoading) return ;\n return (\n
\n \n \n s.fileUrl)}\n />\n \n \n {sampleImageFiles.map((sampleImage, index) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n\n \n Back\n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\n// @material-ui/icons\nimport Clear from '@material-ui/icons/Clear';\nimport Check from '@material-ui/icons/Check';\n// core components\nimport styles from 'assets/jss/material-dashboard-react/components/customInputStyle.js';\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustomCheckbox(props) {\n const classes = useStyles();\n const {\n labelText,\n error,\n errorMessage,\n success,\n defaultValue = false,\n checkboxProps,\n formControlProps,\n } = props;\n\n const [isChecked, setIsChecked] = useState(defaultValue);\n\n return (\n <>\n setIsChecked(!isChecked)}\n />\n }\n label={labelText}\n />\n {error ? (\n <>\n \n

{errorMessage}

\n \n ) : success ? (\n \n ) : null}\n \n );\n}\n\nCustomCheckbox.propTypes = {\n id: PropTypes.string,\n checkboxProps: PropTypes.object,\n error: PropTypes.bool,\n errorMessage: PropTypes.string,\n success: PropTypes.bool,\n defaultValue: PropTypes.bool,\n};\n","import React, { useState, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\n\nimport { saveStepData, populateStepData } from 'services/dataServices.js';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport FormLabel from '@material-ui/core/FormLabel';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport FormControl from '@material-ui/core/FormControl';\n\n// core components\nimport CustomInput from 'components/CustomInput/CustomInput.js';\nimport Button from 'components/CustomButtons/Button.js';\nimport CustomCheckbox from 'components/CustomInput/CustomCheckbox.js';\n\nconst useStyles = makeStyles(() => {});\n\nexport default function Step2(props) {\n const classes = useStyles();\n const {\n customerId,\n assignmentId,\n activeStep,\n handleBack,\n handleNext,\n } = props;\n const [isLoading, setIsLoading] = useState(false);\n const [initialFormValues, setInitialFormValues] = useState({});\n\n const {\n register,\n handleSubmit,\n reset,\n formState: { isSubmitting },\n } = useForm();\n\n useEffect(() => {\n const fetchData = async () => {\n setIsLoading(true);\n const result = await populateStepData(2, customerId, assignmentId);\n setInitialFormValues(result);\n reset(result);\n setIsLoading(false);\n };\n if (customerId && assignmentId) {\n fetchData();\n }\n }, [customerId, assignmentId, reset]);\n\n const onSubmit = async (data) => {\n data.customerId = customerId;\n data.assignmentId = assignmentId;\n await saveStepData(2, data);\n handleNext();\n };\n const generalObservationArray = [\n { label: 'Musty Smell or Odor', name: 'MustySmellorOdor' },\n { label: 'Water Damage', name: 'WaterDamage' },\n { label: 'Excess Humidity', name: 'ExcessHumidity' },\n { label: 'Excess Moisture', name: 'ExcessMoisture' },\n { label: 'Visual Growth', name: 'VisualGrowth' },\n { label: 'Roof Leak', name: 'RoofLeak' },\n { label: 'HVAC Problem', name: 'HVACProblem' },\n { label: 'Plumbing Issue', name: 'PlumbingIssue' },\n { label: 'Health Complications', name: 'HealthComplications' },\n { label: 'Localized Problem', name: 'LocalizedProblem' },\n { label: 'Widespread Problem', name: 'WidespreadProblem' },\n { label: 'Control Sample Taken', name: 'ControlSampleTaken' },\n ];\n\n if (isLoading) return ;\n\n return (\n
\n \n \n \n\n \n General Observations\n \n {generalObservationArray.map((goItem) => (\n \n ))}\n \n \n \n \n \n \n \n \n Back\n \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { DropzoneArea } from 'material-ui-dropzone';\n\nimport {\n saveStepData,\n populateStepData,\n uploadAssignmentFile,\n} from 'services/dataServices.js';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport CardMedia from '@material-ui/core/CardMedia';\n\n// core components\nimport CustomInput from 'components/CustomInput/CustomInput.js';\nimport Button from 'components/CustomButtons/Button.js';\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\n\nconst useStyles = makeStyles((theme) => ({\n media: {\n width: '50%',\n height: 300,\n },\n}));\n\nexport default function Step3(props) {\n const classes = useStyles();\n const {\n customerId,\n assignmentId,\n activeStep,\n handleBack,\n handleNext,\n } = props;\n const [isLoading, setIsLoading] = useState(false);\n\n const [labResultFiles, setLabResultFiles] = useState([]);\n\n const {\n register,\n handleSubmit,\n // errors,\n reset,\n getValues,\n formState: { isSubmitting },\n } = useForm();\n\n useEffect(() => {\n const fetchData = async () => {\n setIsLoading(true);\n const result = await populateStepData(3, customerId, assignmentId);\n setLabResultFiles(result.items);\n reset({ items: result.items || [] });\n setIsLoading(false);\n };\n if (customerId && assignmentId) {\n fetchData();\n }\n }, [customerId, assignmentId, reset]);\n\n const handleLabResultFilesDrop = async (file) => {\n const uploadResponse = await uploadAssignmentFile(file);\n file.fileName = uploadResponse.fileName;\n setLabResultFiles((prev) => [\n ...prev,\n { fileName: uploadResponse.fileName, fileUrl: uploadResponse.fileUrl },\n ]);\n };\n\n const handleSampleImageFilesDelete = async (file) => {\n if (!file.fileName) {\n // if dropzone files where initialized with server data.\n file.fileName = file.name;\n }\n const filteredLabResultFiles = labResultFiles.filter(\n (i) => !file.fileName.includes(i.fileName)\n );\n // maintain form state instead of resetting the whole form\n const formValues = getValues({ nest: true });\n const filteredFormValues = formValues.items.filter(\n (i) => !file.fileName.includes(i.fileName)\n );\n reset({ items: filteredFormValues || [] });\n setLabResultFiles(filteredLabResultFiles);\n };\n\n const onSubmit = async (data) => {\n data.customerId = customerId;\n data.assignmentId = assignmentId;\n await saveStepData(3, data);\n handleNext();\n };\n\n if (isLoading) return ;\n return (\n
\n \n s.fileUrl)}\n />\n \n {labResultFiles.map((sampleImage, index) => (\n \n \n \n \n \n \n ))}\n \n \n Back\n \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nimport { useForm } from 'react-hook-form';\n\nimport {\n saveStepData,\n populateStepData,\n getAvailableTemplates,\n addNewReport,\n} from 'services/dataServices.js';\n\nimport sampleTypeLabels from './sampleTypes.js';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport FormLabel from '@material-ui/core/FormLabel';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport FormControl from '@material-ui/core/FormControl';\n\n// core components\nimport CustomInput from 'components/CustomInput/CustomInput.js';\nimport Button from 'components/CustomButtons/Button.js';\nimport CustomCheckbox from 'components/CustomInput/CustomCheckbox.js';\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\n\nconst useStyles = makeStyles(() => {});\n\nexport default function Step4(props) {\n const classes = useStyles();\n const history = useHistory();\n\n const { customerId, assignmentId, activeStep, handleBack } = props;\n const [isLoading, setIsLoading] = useState(false);\n const [initialFormValues, setInitialFormValues] = useState({});\n\n const [samplesTaken, setSamplesTaken] = useState([]);\n const [templateList, setTemplateList] = useState([]);\n const [recommendedGuildelines, setRecommendedGuidelines] = useState([]);\n const [\n recommendedGuildelinesTitle,\n setRecommendedGuildelinesTitle,\n ] = useState('');\n\n const templateSpecificOptions = {\n 'FireAssessmentReport.min.html': [\n 'Remove drywall and infected materials 2 feet beyond last visible soot.',\n 'Remove lower kitchen cabinets.',\n 'Remove upper kitchen cabinets.',\n 'Remove bathroom vanity.',\n 'Remove carpet.',\n 'Remove flooring.',\n 'HEPA clean and sanitize remaining walls, floors, air handlers, vents, ducts, AC coils, AC returns, hard surfaces and fog with a fungicide.',\n 'Depending on any hidden damage, more of the walls and baseboards may need to be removed.',\n 'Other',\n ],\n 'MoldAssessmentReport.min.html': [\n 'Remove drywall and infected materials 2 feet beyond last visible mold.',\n 'Remove lower kitchen cabinets.',\n 'Remove upper kitchen cabinets.',\n 'Remove bathroom vanity.',\n 'Remove carpet.',\n 'Remove flooring.',\n 'HEPA clean and sanitize remaining walls, floors, air handlers, vents, ducts, AC coils, AC returns, hard surfaces and fog with a fungicide.',\n 'Depending on any hidden damage, more of the walls and baseboards may need to be removed.',\n 'Other',\n ],\n 'BacteriaAssessmentReport.min.html': [\n 'Remove any contaminated drywall and infected materials.',\n 'Remove the tile floor in (INSERT LOCATION).',\n 'HEPA clean and sanitize remaining walls, floors, air handlers, vents, ducts, AC coils, AC returns, hard surfaces and fog with a fungicide.',\n 'Depending on any hidden damage, more of the walls and baseboards may need to be removed.',\n 'Other',\n ],\n // dynamically filled\n 'OfficialClearanceLetter.min.html': [],\n };\n\n const {\n control,\n register,\n handleSubmit,\n reset,\n getValues,\n formState: { isSubmitting },\n } = useForm();\n\n useEffect(() => {\n const fetchData = async () => {\n setIsLoading(true);\n const step1SavedData = await populateStepData(\n 1,\n customerId,\n assignmentId\n );\n\n const step4SavedData = await populateStepData(\n 4,\n customerId,\n assignmentId\n );\n\n const step1SamplesData = step1SavedData.items\n .filter((item) => item.sampleType !== 'AdditionalPhoto')\n .map((item, sampleIndex) => ({\n name: item.sampleType,\n label: `${item.description} (${sampleTypeLabels[item.sampleType]})`,\n selectedValue:\n step4SavedData?.sampleAssessments?.[sampleIndex]?.assessment ||\n false,\n }));\n\n setSamplesTaken(step1SamplesData);\n populateRecommendedGuidelines(\n step4SavedData.templateId || 'select-a-template'\n );\n setInitialFormValues(step4SavedData);\n\n const templateListResult = await getAvailableTemplates();\n templateListResult.push({\n templateId: 'select-a-template',\n name: 'Select a Template',\n description: 'Select a Template',\n });\n setTemplateList(\n templateListResult.map((t) => ({\n value: t.templateId,\n label: t.name,\n description: t.description,\n }))\n );\n\n setIsLoading(false);\n };\n if (customerId && assignmentId) {\n fetchData();\n }\n }, [customerId, assignmentId, reset]);\n\n const onHandleSaveAndExit = async (data) => {\n data.customerId = customerId;\n data.assignmentId = assignmentId;\n await saveStepData(4, data);\n history.push('/admin/assignments');\n };\n\n const onHandleSaveAndCreateReport = async (data) => {\n data.customerId = customerId;\n data.assignmentId = assignmentId;\n\n await saveStepData(4, data);\n const templateId = getValues('templateId');\n const selectedTemplate = templateList.find((t) => t.value === templateId);\n const reportData = {\n customerId,\n assignmentId,\n templateId,\n name: selectedTemplate.label,\n description: selectedTemplate.description,\n };\n\n const newReport = await addNewReport(reportData);\n\n history.push(`/admin/reports/editor/${assignmentId}/${newReport.reportId}`);\n };\n\n const populateRecommendedGuidelines = (selectedTemplate) => {\n if (selectedTemplate === 'select-a-template') {\n setRecommendedGuidelines([]);\n setRecommendedGuildelinesTitle('');\n } else if (selectedTemplate === 'OfficialClearanceLetter.min.html') {\n setRecommendedGuidelines(\n samplesTaken.map((ssd) => {\n return ssd.label.substring(0, ssd.label.indexOf(\"(\"));\n })\n );\n \n setRecommendedGuildelinesTitle('Areas that Cleared:');\n } else {\n setRecommendedGuidelines(templateSpecificOptions[selectedTemplate]);\n setRecommendedGuildelinesTitle('Recommended Guidelines:');\n }\n };\n\n const handleTemplateSelectorChange = ([selected]) => {\n populateRecommendedGuidelines(selected.target.value);\n return selected;\n };\n\n if (isLoading) return ;\n\n return (\n
\n \n \n \n \n \n Check if results are Positive\n \n \n {samplesTaken.map((sample, sampleIndex) => (\n
\n \n \n \n
\n ))}\n
\n
\n \n \n \n \n \n {recommendedGuildelinesTitle}\n \n \n {recommendedGuildelines.map(\n (recommendedGuideline, guidelineIndex) => {\n if (recommendedGuideline === \"Other\") {\n // find other name:\n let defultOtherName = \"\";\n const hasOtherDescription =\n initialFormValues.recommendedGuidelines\n ?.map((ifv) => ifv.name)\n .filter((n) => !recommendedGuildelines.includes(n));\n if (hasOtherDescription.length === 1) {\n defultOtherName = hasOtherDescription[0];\n }\n\n return (\n
\n rg.name === recommendedGuideline\n )?.value || false\n }\n />\n \n
\n );\n } else {\n return (\n
\n \n rg.name === recommendedGuideline\n )?.value || true\n }\n />\n
\n );\n }\n }\n )}\n
\n
\n
\n
\n\n \n Back\n \n\n \n Save and Create Report\n \n \n Save and Exit\n \n \n );\n}\n","import React from 'react';\nimport { useParams, Link } from 'react-router-dom';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport Stepper from '@material-ui/core/Stepper';\nimport Step from '@material-ui/core/Step';\nimport StepButton from '@material-ui/core/StepButton';\n\nimport Card from '@material-ui/core/Card';\nimport CardHeader from 'components/Card/CardHeader.js';\nimport CardBody from 'components/Card/CardBody.js';\nimport CardFooter from 'components/Card/CardFooter.js';\n\n// core components\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\n\n// page components\nimport Step0 from 'views/Assignments/AssignmentSteps/Step0';\nimport Step1 from 'views/Assignments/AssignmentSteps/Step1';\nimport Step2 from 'views/Assignments/AssignmentSteps/Step2';\nimport Step3 from 'views/Assignments/AssignmentSteps/Step3';\nimport Step4 from 'views/Assignments/AssignmentSteps/Step4';\n\nconst useStyles = makeStyles((theme) => ({\n cardTitleWhite: {\n color: '#FFFFFF',\n marginTop: '0px',\n minHeight: 'auto',\n fontWeight: '300',\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: '3px',\n textDecoration: 'none',\n },\n}));\n\nexport default function AssignmentDetails() {\n const classes = useStyles();\n const { customerId, assignmentId } = useParams();\n const [activeStep, setActiveStep] = React.useState(0);\n const steps = [\n 'Start Inspection',\n 'Add Pictures & Collect Samples',\n 'General Observations',\n 'Lab Results',\n 'Finalize',\n ];\n\n const handleNext = () => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n\n const handleStep = (step) => () => {\n setActiveStep(step);\n };\n\n const getStepContent = (\n step,\n activeStep,\n handleBack,\n handleNext,\n customerId,\n assignmentId\n ) => {\n switch (step) {\n case 0:\n return (\n \n );\n case 1:\n return (\n \n );\n case 2:\n return (\n \n );\n case 3:\n return (\n \n );\n case 4:\n return (\n \n );\n default:\n return (\n \n );\n }\n };\n return (\n
\n \n \n \n \n

Assignment Details

\n
\n \n
\n \n {steps.map((label, index) => {\n const stepProps = {};\n const buttonProps = {};\n return (\n \n \n {label}\n \n \n );\n })}\n \n
\n {getStepContent(\n activeStep,\n activeStep,\n handleBack,\n handleNext,\n customerId,\n assignmentId\n )}\n
\n
\n
\n \n \n Go Back\n \n \n
\n
\n
\n
\n );\n}\n","import React, { useEffect } from 'react';\nimport { Link, useParams } from 'react-router-dom';\nimport { useForm } from 'react-hook-form';\n\n// services\nimport authService from 'components/api-authorization/AuthorizeService';\nimport { getAvailableTemplates, addNewReport } from 'services/dataServices.js';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Slide from '@material-ui/core/Slide';\nimport Fab from '@material-ui/core/Fab';\n\n// @material-ui/icon components\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport EditIcon from '@material-ui/icons/Edit';\nimport AddIcon from '@material-ui/icons/Add';\nimport RegenerateIcon from '@material-ui/icons/RestorePage';\n\n// core components\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\nimport MaterialTable from 'material-table';\nimport Card from 'components/Card/Card.js';\nimport CardHeader from 'components/Card/CardHeader.js';\nimport CardBody from 'components/Card/CardBody.js';\nimport CardFooter from 'components/Card/CardFooter.js';\nimport CustomInput from 'components/CustomInput/CustomInput.js';\nimport Button from 'components/CustomButtons/Button.js';\n\nconst styles = {\n fabMargin: {\n margin: '2px',\n },\n cardCategoryWhite: {\n '&,& a,& a:hover,& a:focus': {\n color: 'rgba(255,255,255,.62)',\n margin: '0',\n fontSize: '14px',\n marginTop: '0',\n marginBottom: '0',\n },\n '& a,& a:hover,& a:focus': {\n color: '#FFFFFF',\n },\n },\n cardTitleWhite: {\n color: '#FFFFFF',\n marginTop: '0px',\n minHeight: 'auto',\n fontWeight: '300',\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: '3px',\n textDecoration: 'none',\n '& small': {\n color: '#777',\n fontSize: '65%',\n fontWeight: '400',\n lineHeight: '1',\n },\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst populateData = async (assignmentId) => {\n await authService.validateAccessToken();\n const response = await fetch(`reports/${assignmentId}`, {});\n const data = await response.json();\n return data;\n};\n\nconst regenerateData = async (\n assignmentId,\n reportId,\n customerId,\n templateId\n) => {\n await authService.validateAccessToken();\n let myHeaders = new Headers();\n myHeaders.append('Content-Type', 'application/json');\n\n const request = await fetch(\n `reports/regenerate/${assignmentId}/${reportId}/${customerId}/${templateId}`,\n {\n headers: myHeaders,\n method: 'POST',\n }\n );\n const data = await request.text();\n return data;\n};\n\nconst deleteData = async (assignmentId, reportId) => {\n await authService.validateAccessToken();\n let myHeaders = new Headers();\n myHeaders.append('Content-Type', 'application/json');\n\n const request = await fetch(`reports/${assignmentId}/${reportId}`, {\n headers: myHeaders,\n method: 'DELETE',\n });\n const data = await request.text();\n return data;\n};\n\nexport default function ReportList() {\n const classes = useStyles();\n const { customerId, assignmentId } = useParams();\n\n const tableRef = React.createRef();\n\n const {\n register,\n handleSubmit,\n errors,\n control,\n reset,\n setValue,\n formState: { isSubmitting },\n } = useForm({\n defaultValues: {\n name: '',\n description: '',\n },\n });\n\n const [openRegenerate, setOpenRegenerate] = React.useState(false);\n const [openDelete, setOpenDelete] = React.useState(false);\n const [openAddReport, setOpenAddReport] = React.useState(false);\n const [selectedToRegenerate, setSelectedToRegenerate] = React.useState({});\n const [selectedToDelete, setSelectedToDelete] = React.useState({});\n const [isTemplatesLoading, setIsTemplatesLoading] = React.useState(true);\n const [templateList, setTemplateList] = React.useState([]);\n const [tableData, setTableData] = React.useState([]);\n\n useEffect(() => {\n const fetchTemplates = async () => {\n setIsTemplatesLoading(true);\n const templateListResult = await getAvailableTemplates();\n setTemplateList(\n templateListResult.map((t) => ({\n value: t.templateId,\n label: t.name,\n description: t.description,\n }))\n );\n reset({\n templateId: templateListResult[0].templateId,\n name: templateListResult[0].name,\n description: templateListResult[0].description,\n });\n\n setIsTemplatesLoading(false);\n };\n\n fetchTemplates();\n loadReports();\n }, [assignmentId, reset]);\n\n const loadReports = async () => {\n const reportData = await populateData(assignmentId);\n setTableData(reportData);\n };\n\n const handleRegenerateClickOpen = async (\n assignmentId,\n reportId,\n customerId,\n templateId,\n e\n ) => {\n setSelectedToRegenerate({ assignmentId, reportId, customerId, templateId });\n setOpenRegenerate(true);\n };\n\n const handleRegenerateClickClose = () => {\n setSelectedToRegenerate({});\n setOpenRegenerate(false);\n };\n\n const handleRegenerateClickAction = async () => {\n await regenerateData(\n selectedToRegenerate.assignmentId,\n selectedToRegenerate.reportId,\n selectedToRegenerate.customerId,\n selectedToRegenerate.templateId\n );\n setOpenRegenerate(false);\n };\n\n const handleDeleteClickOpen = async (assignmentId, reportId, e) => {\n setSelectedToDelete({ assignmentId, reportId });\n setOpenDelete(true);\n };\n\n const handleDeleteClickClose = () => {\n setSelectedToDelete({});\n setOpenDelete(false);\n };\n\n const handleDeleteClickAction = async () => {\n await deleteData(selectedToDelete.assignmentId, selectedToDelete.reportId);\n setOpenDelete(false);\n await loadReports();\n };\n\n const handleAddReportClickOpen = async (e) => {\n setOpenAddReport(true);\n };\n\n const handleAddReportClickClose = () => {\n setOpenAddReport(false);\n };\n\n const handleAddReportClickAction = async (data) => {\n data.assignmentId = assignmentId;\n data.customerId = customerId;\n\n await addNewReport(data);\n await loadReports();\n setOpenAddReport(false);\n };\n\n const handleTemplateSelectorChange = ([selected]) => {\n const selectedTemplate = templateList.find(\n (t) => t.value === selected.target.value\n );\n setValue('name', selectedTemplate.label);\n setValue('description', selectedTemplate.description);\n return selected;\n };\n\n return (\n \n \n \n \n \n \n

Reports

\n
\n \n \n Add New Report\n \n \n
\n
\n \n
{rowData.name}
,\n },\n {\n title: 'Description',\n field: 'description',\n render: (rowData) =>
{rowData.description}
,\n },\n {\n title: '',\n render: (rowData) => (\n
\n \n \n \n \n \n \n \n      \n \n \n handleRegenerateClickOpen(\n rowData.assignmentId,\n rowData.reportId,\n rowData.customerId,\n rowData.templateId,\n e\n )\n }\n size=\"small\"\n color=\"secondary\"\n className={classes.fabMargin}\n >\n \n \n \n \n \n handleDeleteClickOpen(\n rowData.assignmentId,\n rowData.reportId,\n e\n )\n }\n size=\"small\"\n color=\"secondary\"\n className={classes.fabMargin}\n >\n \n \n \n
\n ),\n },\n ]}\n data={tableData}\n title=\"\"\n />\n
\n \n \n Go Back\n \n \n
\n \n
\n {isTemplatesLoading ? null : (\n <>\n \n Add New Report\n \n \n \n Create a new report by selecting a template:\n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n \n \n Cancel\n \n \n \n \n )}\n
\n \n \n \n Regenerate\n \n \n \n Are you sure you want to regenerate this report?\n \n \n \n \n \n \n \n \n Delete\n \n \n Are you sure you want to delete this report?\n \n \n \n \n \n \n \n
\n
\n );\n}\n","import React from 'react';\nimport { Switch, Route, Redirect } from 'react-router-dom';\n// creates a beautiful scrollbar\nimport PerfectScrollbar from 'perfect-scrollbar';\nimport 'perfect-scrollbar/css/perfect-scrollbar.css';\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\n// core components\nimport Navbar from 'components/Navbars/Navbar.js';\nimport Sidebar from 'components/Sidebar/Sidebar.js';\n\nimport routes from 'routes.js';\n\nimport styles from 'assets/jss/material-dashboard-react/layouts/adminStyle.js';\n\nimport bgImage from 'assets/img/sidebar-2.jpg';\nimport logo from 'assets/img/reactlogo.png';\n\nimport CustomerDetails from 'views/Customers/CustomerDetails.js';\nimport AssignmentDetails from 'views/Assignments/AssignmentDetails.js';\nimport Reports from 'views/Reports/Reports.js';\nimport ReportEditor from 'views/Reports/ReportEditor.js';\n\nlet ps;\nconst logoText = 'Protocol Inspections';\n\nconst switchRoutes = (\n \n \n \n \n \n \n \n {routes.map((prop, key) => {\n if (prop.layout === '/admin') {\n return (\n \n );\n }\n return null;\n })}\n \n \n);\n\nconst useStyles = makeStyles(styles);\n\nexport default function Admin({ ...rest }) {\n // styles\n const classes = useStyles();\n // ref to help us initialize PerfectScrollbar on windows devices\n const mainPanel = React.createRef();\n // states and functions\n const [image] = React.useState(bgImage);\n const [color] = React.useState('blue');\n const [mobileOpen, setMobileOpen] = React.useState(false);\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const resizeFunction = () => {\n if (window.innerWidth >= 960) {\n setMobileOpen(false);\n }\n };\n // initialize and destroy the PerfectScrollbar plugin\n React.useEffect(() => {\n if (navigator.platform.indexOf('Win') > -1) {\n ps = new PerfectScrollbar(mainPanel.current, {\n suppressScrollX: true,\n suppressScrollY: false,\n });\n document.body.style.overflow = 'hidden';\n }\n window.addEventListener('resize', resizeFunction);\n // Specify how to clean up after this effect:\n return function cleanup() {\n if (navigator.platform.indexOf('Win') > -1) {\n ps.destroy();\n }\n window.removeEventListener('resize', resizeFunction);\n };\n }, [mainPanel]);\n return (\n
\n \n
\n \n {/* On the /maps route we want the map to be on full screen - this is not possible if the content and conatiner classes are present because they have some paddings which would make the map smaller */}\n
\n
{switchRoutes}
\n
\n
\n
\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Link, useParams } from 'react-router-dom';\n\n// import styles\nimport ReactSummernote from 'react-summernote';\nimport 'react-summernote/dist/react-summernote.css';\nimport 'bootstrap/js/src/modal';\nimport 'bootstrap/js/src/dropdown';\nimport 'bootstrap/js/src/tooltip';\nimport 'bootstrap/dist/css/bootstrap.css';\nimport 'paper-css/paper.css';\nimport 'assets/css/printstyles.min.css';\n\n// services\nimport authService from 'components/api-authorization/AuthorizeService';\n\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Fab from '@material-ui/core/Fab';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\n// @material-ui/icon components\nimport SaveIcon from '@material-ui/icons/Save';\nimport FindInPageIcon from '@material-ui/icons/FindInPage';\n\n// core components\nimport GridItem from 'components/Grid/GridItem.js';\nimport GridContainer from 'components/Grid/GridContainer.js';\nimport Card from 'components/Card/Card.js';\nimport CardHeader from 'components/Card/CardHeader.js';\nimport CardBody from 'components/Card/CardBody.js';\nimport CardFooter from 'components/Card/CardFooter.js';\n\nconst styles = {\n fabMargin: {\n margin: '2px',\n },\n cardCategoryWhite: {\n '&,& a,& a:hover,& a:focus': {\n color: 'rgba(255,255,255,.62)',\n margin: '0',\n fontSize: '14px',\n marginTop: '0',\n marginBottom: '0',\n },\n '& a,& a:hover,& a:focus': {\n color: '#FFFFFF',\n },\n },\n cardTitleWhite: {\n color: '#FFFFFF',\n marginTop: '0px',\n minHeight: 'auto',\n fontWeight: '300',\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: '3px',\n textDecoration: 'none',\n '& small': {\n color: '#777',\n fontSize: '65%',\n fontWeight: '400',\n lineHeight: '1',\n },\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nconst populateData = async (assignmentId, reportId) => {\n await authService.validateAccessToken();\n const response = await fetch(`reports/${assignmentId}/${reportId}`, {\n \n });\n const text = await response.json();\n return text;\n};\n\nconst saveReportResult = async (assignmentId, reportId, type, content) => {\n await authService.validateAccessToken();\n const body = JSON.stringify(content);\n let myHeaders = new Headers();\n myHeaders.append('Content-Type', 'application/json');\n \n const request = await fetch(\n `reports/save/${assignmentId}/${reportId}/${type}`,\n {\n headers: myHeaders,\n method: 'POST',\n body,\n }\n );\n const data = await request.json();\n return data;\n};\n\nexport default function ReportEditor() {\n const classes = useStyles();\n const { assignmentId, reportId } = useParams();\n const [isLoading, setIsLoading] = useState(false);\n const [editorContent, setEditorContent] = useState('');\n const [customerId, setCustomerId] = useState('');\n\n useEffect(() => {\n const fetchData = async () => {\n document.body.className += ' A4';\n setIsLoading(true);\n\n const reportDetails = await populateData(assignmentId, reportId);\n setEditorContent(reportDetails.content);\n\n setCustomerId(reportDetails.customerId);\n setIsLoading(false);\n };\n fetchData();\n return function cleanup() {\n document.body.className = document.body.className.replace(' A4', '');\n };\n }, [assignmentId, reportId]);\n\n const onEditorChange = (content) => {\n setEditorContent(content);\n };\n\n const onSaveReport = async () => {\n await saveReportResult(assignmentId, reportId, 'final', editorContent);\n };\n const onPreviewReport = async () => {\n const fileDetails = await saveReportResult(\n assignmentId,\n reportId,\n 'preview',\n editorContent\n );\n window.open(fileDetails.fileUrl);\n };\n\n return (\n \n \n \n \n \n \n

Report Editor

\n
\n \n \n \n Preview\n \n \n \n \n Save\n \n \n \n
\n
\n \n {isLoading ? (\n \n ) : (\n \n )}\n \n \n \n Go Back\n \n \n
\n
\n
\n );\n}\n","import \"assets/css/material-dashboard-react.css?v=1.8.0\";\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Router, Route, Switch, Redirect } from \"react-router-dom\";\nimport { createBrowserHistory } from \"history\";\n\nimport AuthorizeRoute from './components/api-authorization/AuthorizeRoute';\n\nimport Admin from \"layouts/Admin.js\";\nimport Login from \"views/Account/Login\";\n\n\n//import registerServiceWorker from './registerServiceWorker';\n\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\nconst rootElement = document.getElementById('root');\nconst hist = createBrowserHistory();\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n rootElement);\n\n// Uncomment the line above that imports the registerServiceWorker function\n// and the line below to register the generated service worker.\n// By default create-react-app includes a service worker to improve the\n// performance of the application by caching static assets. This service\n// worker can interfere with the Identity UI, so it is\n// disabled by default when Identity is being used.\n//\n//registerServiceWorker();\n\n","import React from 'react';\n\n\nexport default function Login() {\n if (typeof window !== 'undefined') {\n window.location.href = \"/account/login\";\n }\n\n return (\n
\n );\n}\n"],"sourceRoot":""}