{"version":3,"sources":["img/calendar-icon.png","img/x-icon.png","context/form-context.js","services/api.js","services/notifications-service.js","context/form-provider.js","components/AppContainer/AppContainer.js","components/Card/Card.js","components/FindByNotificationId/FindByNotificationId.js","services/manufacturers-service.js","components/FindByManufacturer/FindByManufacturer.js","screens/FindRecord/FindRecord.js","components/SideBar/SideBar.js","components/BreadCrumb/BreadCrumb.js","components/RightContent/RightContent.js","services/testers-service.js","services/test-form-service.js","components/SearchInput/SearchInput.js","components/W1DatePicker/W1DatePicker.js","components/AssemblyTypeFields/AssemblyTypeFields.js","components/ModalDialog/ModalDialog.js","components/Input.js","components/RecordForm/RecordForm.js","helpers/util.js","screens/ReportForm/ReportForm.js","screens/OpenBackflowNotifications/OpenBackflowNotifications.js","App.js","index.js"],"names":["module","exports","React","createContext","notification","NotificationNo","NotificationDate","CustomerName","Telephone","City","DueDate","Street","NotificationCheckDigit","AssemblyType","Size","Manufacturer","SerialNo","ModelNo","FirelineFlushRequired","FirelineFlushReqDscrpt","Location","HazardCode","HazardCodeDscrpt","redirectToForm","findByNotificationId","findByManufacturer","getManufacturers","isRECAPTCHAVerified","reCAPTCHAToken","lastSearchFrom","axios","require","defaults","baseURL","headers","common","Accept","apiService","notificationsService","id","get","manufacturer","assemblyType","model","serial","includes","replace","encodeURIComponent","FormProvider","state","JSON","parse","localStorage","getItem","manufacturers","alert","bind","updateState","newState","this","setState","values","actions","notificationId","getNotification","then","response","data","d","__metadata","redirectToHome","setItem","stringify","catch","err","error","setFieldError","message","value","finally","setSubmitting","getByManufacturer","results","length","children","props","Provider","Component","AppContainer","className","Card","validationSchema","Yup","shape","required","redirectToPDFForm","window","open","FindByNotificationId","onSubmit","formContext","useContext","FormContext","initialValues","errors","touched","isSubmitting","name","type","email","component","notificationIdError","size","render","sitekey","onloadCallback","document","getElementById","style","display","verifyCallback","token","expiredCallback","verticalAlign","disabled","role","onClick","href","target","manufacturersService","FindByManufacturer","models","assemblyTypes","filteredModels","getModels","getAssemblyTypes","getAll","filter","m","Name","map","label","Type","substring","setFieldValue","modelDisabled","serialNumberDisabled","manufacturer_assemblyType_models","htmlFor","options","placeholder","inputProps","onChange","event","newValue","autoComplete","suggestions","onSuggestionsFetchRequested","toLowerCase","startsWith","onSuggestionsClearRequested","getSuggestionValue","suggestion","renderSuggestion","onSuggestionSelected","method","preventDefault","manufacturersError","context","contextType","FindRecord","Consumer","push","to","defaultIndex","onSelect","index","SideBar","backStyle","float","cursor","backgroundColor","border","BreadCrumb","currentLink","RightContent","testersService","testFormService","url","utf8Str","unescape","dataStr","btoa","payload","removingData","TestType","SearchInput","onBlur","refVal","innerRef","defaultProps","W1DatePicker","dateFormat","renderInput","key","e","select","AssemblyTypeFields","assemblyTypeDscrpt","Fragment","fields","renderFields","ModalDialog","isOpen","onCloseClick","dialog","ErrorMessage","form","getIn","classnames","Checkbox","wrapperclassname","inputClassNames","wrapperClassNames","field","checked","RecordForm","redoSearchClick","okClick","focusTextInput","IsIncorrectInformation","textInput","createRef","current","focus","date","format","setErrors","status","handleBlur","submitForm","handleReset","findTesterByCertificationId","Error","tester","CertificateNo","CertificateExpDate","split","TelephoneNo1","Company","TelephoneNo2","Fax","Email","errorMessage","TesterCertificationNo","TesterFirstName","TesterLastName","TesterCompanyName","TesterCompanyPhone","phonestring","tmp","parsePhoneNumberFromString","formatNational","formatPhone","TesterCertificationExpDate","moment","AssemblyTypeDscrpt","FirelineFlushingTime","FirelineFlushAck","TestComments","formSubmissionError","Object","keys","withFormik","validateOnChange","validateOnBlur","mapPropsToValues","TestDate","undefined","Form","FormVersion","ServiceAddress","ServiceCity","CustomerPhone","AssemblyLocation","Hazard","MainManufacturer","MainModelNo","MainSerialNo","MainSize","BypassNotificationNo","BypassNotificationCheckDigit","BypassManufacturer","BypassModelNo","BypassSerialNo","BypassSize","MainCheckValve1Psid","MainCheckValve2Psid","MainReliefValvePsid","BypassCheckValve1Psid","BypassCheckValve2Psid","BypassReliefValvePsid","VBAirInletPsid","VBChkVlvPsid","AirGapSupplySize","AirGap","FirelineFlushDate","FirelineFlushingName","TesterPhone","TesterCompanyFax","TesterEmail","when","is","oneOf","handleSubmit","setStatus","Date","toISOString","join","result","innererror","errordetails","code","enableReinitialize","ReportForm","obj","constructor","LicenseManager","setLicenseKey","OpenBackflowNotifications","useEffect","title","gridRef","useRef","myCellCallback","params","column","colId","useState","suppressSizeToFit","width","headerName","cellClass","valueFormatter","columnDefs","getNotifications","a","api","setRowData","onBtExport","useCallback","exportDataAsExcel","prependContent","height","cells","styleId","mergeAcross","processCellCallback","sheetName","marginLeft","marginRight","color","fontSize","fontWeight","marginBottom","domLayout","excelStyles","font","bold","alignment","vertical","horizontal","wrapText","dataType","numberFormat","borders","borderBottom","lineStyle","weight","borderLeft","borderRight","borderTop","interior","pattern","ref","defaultColDef","sortable","wrapHeaderText","autoHeaderHeight","onFirstDataRendered","sizeColumnsToFit","App","loadReCaptcha","exact","path","ReactDOM"],"mappings":"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","file":"static/js/main.cb548d4e.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAADmwAAA5sBPN8HMQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFnSURBVGiB7ZlBTsMwEEW/rZ4CWiF6HcQ9ygKJbZJ14jVCgoMgOE43JRzD7oIkMqGBsRqrw3TeqrXjib//jC3FBkTKsrwJITwBuO6atgDunXPv1Bg541vqi0IIL9FLAGAN4Jk6Pnd8shAAKwBwzhnnnOnarhLGZ42fIoQ1i/5HVVW33vtHfLf3T4qiCLPPihZ/a619qOv6FYgc8d6Pc5Q7a+/9UEOLqOMS+MrRQ6OmVmbq+VRS43fPL/v/8mqEwAeA5WjldjPO5aj4ZEeMMRsAbdTUAthQx+eOT3akaZo3RDk5N8fGF1MjYoT8SK3cB1wu5Doy1wGXm3HmiHFEhXCDfCCeajej1uz5OdJzaIV6t3L0URHjiArhhhghycX+WxHm6KNyvo7o9psZFcINMUJ0++WGbr/cUCHcECNEt19ukB3h/ilVjCMqhBtxjXwCuPhnFz3D5engiLV2fKvKndZae3fqSShT7AF+oLYfbUAw5wAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAADmwAAA5sBPN8HMQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOTSURBVGiB7ddPbxtFGMfx77MYCYljJd5BT+k12l2JAycOLYQmKY0aaA8Vh5KDZ+aV7Dj8OyCBBKpaaOGCSDlxKtJsxB+BlKQIJDgGeAG0atjhYC/1Ot51bM+2EvLv5t2ZfebjmbF3YJFFFlnkf5Vut3taKbXxpOorpTa63e7pSe2ippvGmKUoiu6KyA1jzFa44Z0sxpgtEbkRRdFdY8xSU9unGh6y5L3/GngOEOBskiR/Oue+DTzeuvpb3vu3B7WfBS4sLy/v7O7u/jWufe2MFEVxBjg1dEmAt5RSr4cc8LhorS9777cHNcuc6nQ6Z+r61M5Inud7SZLsA2s8AkcistrmzGit3wTep/olPwQuWWtv1fWrhQA45/aTJDmgimltmQ0Q71CdiSNg01p7u6lvIwQeH6YBcWkSAk4AgWZMmqZ/zIuZFwEnhEAj5tw8mBAImAICfUwcx/dEZJUAmFAImBICkOd5EIwx5hrwLgEQMAME5scYY655748hvPebvV5vagTMCIHZMRMQtf8TkzIzBJoxcRwf5nn+3XD7thAwJwT6mDRNfwYqGBGpYNpEMPLQuWKMuei9vw50hi4XInK1KIpnROQ9WkJAQAiA1voqx9+TjgZ1hme/EJE3siz7MFTtuZfWcJxzP6Rpeo/qMosYgYnIZpZl10PWDgoBcM7tjdkzZY5E5LUsyz4NXbfxhDhrvPdF3a2iKP5po2bwGVFKXRGRj6lu+v/qich6kiS/Oed+Clk3KERrfUFEPqKKOAI81T3zUhzH+3meH4SqHWxpKaWuADepIh4A54GL9E95ZZ4WkU+01pdD1Q8yI4Pl9MHI8x4A69baL51zB0mS7NE/ApRtImAl1DKbG1KHKIpirdfr7ZQX2sbMBWlCbG9v74y2bxMzM2RaRJm2MDNBGvbEaq/XuzOpfxuYqSFNCGvtRESZ0JipIKEQZUJiTgwZh/De3xeRtVkQZUJhTgRpC1EmBGYipA4RRdGqtfarGcd+LPNiGiFNiCzLgiHKDDDfA+s8etWJgJU4jn/P8/zHur61EKXUq2NeAB+KyKa19osQAx8X59wvaZr+ysjhTEReTpLkwDm3P65f7UtjFEWHwP3y82BPrFhrPw858HHJsuwm8Ar9X8Qyf3vvD+v6NJ7ZlVLPi8gd732nreXUFK31OeAz+qCz1tpvZn6YMeZFrfX5UIObNkqpDa31C0+q/iKLLLJIO/kX66A8zDYva2QAAAAASUVORK5CYII=\"","import React from 'react';\r\n\r\nexport default React.createContext({\r\n notification: {\r\n NotificationNo: '',\r\n NotificationDate: '',\r\n CustomerName: '',\r\n Telephone: '',\r\n City: '',\r\n DueDate: '',\r\n Street: '',\r\n NotificationCheckDigit: '',\r\n AssemblyType: '',\r\n Size: '',\r\n Manufacturer: '',\r\n SerialNo: '',\r\n ModelNo: '',\r\n FirelineFlushRequired: '',\r\n FirelineFlushReqDscrpt: '',\r\n Location: '',\r\n HazardCode: '',\r\n HazardCodeDscrpt: '',\r\n },\r\n redirectToForm: false,\r\n findByNotificationId: () => {},\r\n findByManufacturer: () => {},\r\n getManufacturers: () => { },\r\n isRECAPTCHAVerified: false,\r\n reCAPTCHAToken: '',\r\n lastSearchFrom: 0\r\n});\r\n","const axios = require('axios');\r\n\r\n//const BASE_URL = 'https://w1formmanagerfunctapp.azurewebsites.net/api/WaterOne_OpenSet_HTTPTrigger_URL?code=p9znvcugGcb3ubVfsRwe8kjiUbTA0RRjg5v9p3eURiqX804XHabe1w==&url=';\r\n//const BASE_URL = 'https://localhost:44312/W1API';\r\n//const BASE_URL = 'https://w1formmanagerdev.azurewebsites.net/w1api';\r\n//const BASE_URL = 'https://formsdev.waterone.org/w1api';\r\n//const BASE_URL = 'https://formmanagerprod.azurewebsites.net/w1api';\r\nconst BASE_URL = 'https://forms.waterone.org/w1api';\r\n\r\n// axios defaults\r\naxios.defaults.baseURL = BASE_URL;\r\naxios.defaults.headers.common.Accept = 'application/json';\r\n\r\nexport const apiService = axios;\r\n// export const apiService = new ApiService();\r\n","/* eslint-disable class-methods-use-this */\r\nimport { apiService } from './api';\r\n//import rowData from '../screens/OpenBackflowNotifications/DEV_Notification_List_JSON.json'; //mock json file of data\r\n\r\nclass NotificationsService {\r\n getNotification(id) {\r\n //console.log('id', id);\r\n return apiService.get(`TestNotificationSet('${id}')`);\r\n }\r\n\r\n getNotifications() {\r\n return apiService.get(`TestNotificationSet()`);\r\n //return rowData.d.results; //json file mock\r\n }\r\n\r\n getByManufacturer(manufacturer, assemblyType, model, serial) {\r\n manufacturer = manufacturer.includes('/') ? manufacturer.replace('/', '%252F') : manufacturer;\r\n assemblyType = encodeURIComponent(assemblyType);\r\n model = model.includes('/') ? model.replace('/', '%252F') : model;\r\n serial = encodeURIComponent(serial);\r\n\r\n return apiService.get(`TestNotificationSet%3f$filter=Manufacturer eq ~${manufacturer}~ and AssemblyType eq ~${assemblyType}~ and ModelNo eq ~${model}~ and SerialNo eq ~${serial}~`);\r\n }\r\n\r\n //getByManufacturer(manufacturer, assemblyType, model, serial) {\r\n // return apiService.get(`TestNotificationSet`);\r\n //}\r\n}\r\n\r\nexport const notificationsService = new NotificationsService();\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport FormContext from './form-context';\r\n\r\nimport { notificationsService } from '../services/notifications-service';\r\n\r\nclass FormProvider extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n notification: JSON.parse(localStorage.getItem('notification')) || {},\r\n manufacturers: {},\r\n alert: null,\r\n isRECAPTCHAVerified: false,\r\n reCAPTCHAToken: '',\r\n lastSearchFrom: 0\r\n };\r\n\r\n this.findByNotificationId = this.findByNotificationId.bind(this);\r\n this.findByManufacturer = this.findByManufacturer.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n }\r\n\r\n updateState(newState) {\r\n this.setState({\r\n ...newState,\r\n });\r\n }\r\n\r\n findByNotificationId(values, actions) {\r\n const id = values.notificationId || '';\r\n\r\n notificationsService.getNotification(id)\r\n .then((response) => {\r\n //console.log(response.data);\r\n\r\n const { __metadata, ...notification } = JSON.parse(response.data).d;\r\n\r\n this.setState({\r\n notification,\r\n redirectToForm: true,\r\n redirectToHome: false,\r\n });\r\n\r\n localStorage.setItem('notification', JSON.stringify(notification));\r\n })\r\n .catch((err) => {\r\n const { error } = JSON.parse(err.response.data);\r\n actions.setFieldError('notificationIdError', error.message.value);\r\n })\r\n .finally(() => {\r\n actions.setSubmitting(false);\r\n this.updateState({ isRECAPTCHAVerified: true });\r\n });\r\n }\r\n\r\n findByManufacturer(values, actions) {\r\n const { manufacturer, assemblyType, model, serial } = values;\r\n\r\n notificationsService.getByManufacturer(manufacturer, assemblyType, model, serial)\r\n .then((response) => {\r\n //console.log(response);\r\n const { results } = JSON.parse(response.data).d;\r\n\r\n //console.log(results);\r\n\r\n if (results.length === 1) {\r\n const { __metadata, ...notification } = results[0]; // filterout __metadata.\r\n this.setState({\r\n notification,\r\n redirectToForm: true,\r\n redirectToHome: false,\r\n });\r\n\r\n localStorage.setItem('notification', JSON.stringify(notification));\r\n }\r\n else\r\n actions.setFieldError('manufacturersError', 'More than one notification matches what you\\'ve entered. Please use a notification number to enter test results.');\r\n })\r\n .catch((err) => {\r\n const { error } = JSON.parse(err.response.data);\r\n actions.setFieldError('manufacturersError', error.message.value);\r\n })\r\n .finally(() => {\r\n actions.setSubmitting(false);\r\n this.updateState({ isRECAPTCHAVerified: true });\r\n });\r\n }\r\n\r\n render() {\r\n const { children } = this.props;\r\n const { state } = this;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n\r\nFormProvider.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default FormProvider;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport './AppContainer.css';\r\n\r\nconst AppContainer = ({ children }) => (\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n);\r\n\r\nAppContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default AppContainer;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport './Card.css';\r\n\r\nconst Card = ({ children }) => (\r\n
\r\n {children}\r\n
\r\n);\r\n\r\nCard.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default Card;\r\n","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as Yup from 'yup';\r\nimport {\r\n Formik,\r\n Field,\r\n Form,\r\n ErrorMessage,\r\n} from 'formik';\r\nimport { ReCaptcha } from 'react-recaptcha-google';\r\nimport FormContext from '../../context/form-context';\r\n\r\nconst validationSchema = Yup.object().shape({\r\n notificationId: Yup.string()\r\n .required('Required'),\r\n});\r\n\r\nconst redirectToPDFForm = () => {\r\n window.open('https://www.waterone.org/DocumentCenter/View/143', '_blank');\r\n}\r\n\r\nconst FindByNotificationId = ({ onSubmit }) => {\r\n\r\n const formContext = useContext(FormContext);\r\n\r\n return (\r\n \r\n {\r\n ({ errors, touched, isSubmitting }) => (\r\n
\r\n
\r\n \r\n \r\n \r\n
{errors.notificationIdError}
\r\n
\r\n
\r\n {\r\n !formContext.isRECAPTCHAVerified && (\r\n { document.getElementById(\"g-recaptcha\").style.display = 'inline-block'; }}\r\n verifyCallback={(token) => { formContext.updateState({ reCAPTCHAToken: token }); }}\r\n expiredCallback={() => { formContext.updateState({ reCAPTCHAToken: '' }); }}\r\n />)\r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n If not an annual Test, please select one of the following:\r\n
\r\n\r\n
\r\n  \r\n  \r\n \r\n
\r\n
Email: DWQ@waterone.org
\r\n Phone: 913-895-1815\r\n
Current Notification List
\r\n
\r\n )\r\n }\r\n \r\n );\r\n }\r\n\r\nFindByNotificationId.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default FindByNotificationId;\r\n","/* eslint-disable class-methods-use-this */\r\nimport { apiService } from './api';\r\n\r\nclass ManufacturersService {\r\n getAll() {\r\n return apiService.get('ManufacturerSet');\r\n }\r\n\r\n getModels() {\r\n return apiService.get('ModelNumberSet');\r\n }\r\n\r\n getAssemblyTypes() {\r\n return apiService.get('AssemblyTypeSet');\r\n }\r\n}\r\n\r\nexport const manufacturersService = new ManufacturersService();\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as Yup from 'yup';\r\nimport { Formik, Field, ErrorMessage } from 'formik';\r\nimport { Form } from 'react-formik-ui';\r\n\r\nimport { Select } from 'react-formik-ui';\r\nimport { ReCaptcha } from 'react-recaptcha-google';\r\nimport Autosuggest from 'react-autosuggest'\r\n\r\nimport { manufacturersService } from '../../services/manufacturers-service';\r\nimport FormContext from '../../context/form-context';\r\n\r\nconst initialValues = { manufacturer: '', assemblyType: '', model: '', serial: '' };\r\nconst validationSchema = Yup.object().shape({\r\n manufacturer: Yup.string().required('Required'),\r\n assemblyType: Yup.string().required('Required'),\r\n model: Yup.string().required('Required'),\r\n serial: Yup.string().required('Required'),\r\n});\r\n\r\nclass FindByManufacturer extends React.Component {\r\n static contextType = FormContext\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n reCAPTCHAToken: '',\r\n manufacturers: [],\r\n models: [],\r\n assemblyTypes: [],\r\n //manufacturer_assemblyType_models: [],\r\n filteredModels: [],\r\n model: ''\r\n };\r\n\r\n this.getManufacturers = this.getManufacturers.bind(this);\r\n this.getModels = this.getModels.bind(this);\r\n this.getAssemblyTypes = this.getAssemblyTypes.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getManufacturers();\r\n this.getModels();\r\n this.getAssemblyTypes();\r\n }\r\n\r\n getManufacturers() {\r\n manufacturersService.getAll()\r\n .then((response) => {\r\n // filter out empty values\r\n const manufacturers = JSON.parse(response.data).d.results.filter(m => m.Name !== '');\r\n this.setState({\r\n manufacturers: manufacturers.map(m => ({ value: m.Name, label: m.Name })),\r\n });\r\n });\r\n }\r\n\r\n getAssemblyTypes() {\r\n manufacturersService.getAssemblyTypes()\r\n .then((response) => {\r\n // filter out empty values\r\n const assemblyTypes = JSON.parse(response.data).d.results.filter(m => m.Type !== '');\r\n this.setState({\r\n assemblyTypes: assemblyTypes.map(m => ({ value: m.Type, label: m.Type.substring(3) })),\r\n });\r\n });\r\n }\r\n\r\n getModels() {\r\n manufacturersService.getModels()\r\n .then((response) => {\r\n // filter out empty values\r\n const models = JSON.parse(response.data).d.results.filter(m => m.ModelNo !== '');\r\n this.setState({\r\n models: models.map(m => ({ ModelNo: m.ModelNo, Manufacturer: m.Manufacturer, AssemblyType: m.AssemblyType })),\r\n });\r\n });\r\n }\r\n\r\n redirectToPDFForm = () => {\r\n window.open('/notifications', '_blank');\r\n }\r\n\r\n render() {\r\n const { manufacturers, models, assemblyTypes, filteredModels } = this.state;\r\n const { onSubmit } = this.props;\r\n\r\n //console.log('setFieldValue');\r\n //console.log(this.Formik.setFieldValue);\r\n //console.log(this.context);\r\n //console.log(this.props);\r\n\r\n //console.log(this.state);\r\n\r\n return (\r\n \r\n {\r\n ({ errors, values, isSubmitting, setFieldValue }) => {\r\n\r\n const modelDisabled = (values.manufacturer === '' || values.assemblyType === '');\r\n const serialNumberDisabled = (values.model === '' || modelDisabled);\r\n\r\n let manufacturer_assemblyType_models = [];\r\n if (!modelDisabled) {\r\n manufacturer_assemblyType_models = models.filter(m => m.AssemblyType === values.assemblyType && m.Manufacturer === values.manufacturer);\r\n manufacturer_assemblyType_models = manufacturer_assemblyType_models.map(m => m.ModelNo );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n {\r\n this.setState({ model: newValue });\r\n setFieldValue(\"model\", newValue);\r\n },\r\n autoComplete: \"off\"\r\n }}\r\n suggestions={filteredModels}\r\n onSuggestionsFetchRequested={({ value }) => {\r\n if (!value) {\r\n this.setState({ filteredModels: [] });\r\n return;\r\n }\r\n this.setState({ filteredModels: manufacturer_assemblyType_models.filter(m => m.toLowerCase().startsWith(value.toLowerCase())) });\r\n }}\r\n onSuggestionsClearRequested={() => {\r\n this.setState({ filteredModels: [] });\r\n }}\r\n getSuggestionValue={suggestion => suggestion}\r\n renderSuggestion={suggestion =>
{suggestion}
}\r\n onSuggestionSelected={(event, { suggestion, method }) => {\r\n if (method === \"enter\") {\r\n event.preventDefault();\r\n }\r\n this.setState({ model: suggestion });\r\n setFieldValue(\"model\", suggestion);\r\n }}\r\n />\r\n
\r\n {/**/}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
{errors.manufacturersError}
\r\n {\r\n !this.context.isRECAPTCHAVerified && (\r\n { document.getElementById(\"g-recaptcha\").style.display = 'inline-block'; }}\r\n verifyCallback={(token) => { this.context.updateState({ reCAPTCHAToken: token }); }}\r\n expiredCallback={() => { this.context.updateState({ reCAPTCHAToken: '' }); }}\r\n />)\r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n If not an annual Test, please select one of the following:\r\n
\r\n\r\n
\r\n  \r\n  \r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nFindByManufacturer.propTypes = {\r\n onSubmit: PropTypes.func.isRequired\r\n};\r\n\r\nexport default FindByManufacturer;\r\n","import React from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport {\r\n Tab,\r\n Tabs,\r\n TabList,\r\n TabPanel,\r\n} from 'react-tabs';\r\n\r\nimport FormContext from '../../context/form-context';\r\nimport AppContainer from '../../components/AppContainer/AppContainer';\r\nimport Card from '../../components/Card/Card';\r\nimport FindByNotificationId from '../../components/FindByNotificationId/FindByNotificationId';\r\nimport FindByManufacturer from '../../components/FindByManufacturer/FindByManufacturer';\r\n\r\nimport 'react-tabs/style/react-tabs.css';\r\nimport './FindRecord.css';\r\n\r\nconst FindRecord = () => (\r\n \r\n {\r\n (context) => {\r\n if (context.redirectToForm) {\r\n context.redirectToForm = false;\r\n return ();\r\n }\r\n return (\r\n
\r\n {\r\n context.alert\r\n && (\r\n
\r\n {context.alert.message}\r\n
\r\n )\r\n }\r\n \r\n

Backflow Assembly Test Form

\r\n \r\n context.updateState({ lastSearchFrom: index })}>\r\n \r\n Notification #\r\n Manufacturer\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n
\r\n);\r\n\r\nexport default FindRecord;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport './SideBar.css';\r\n\r\nconst SideBar = ({ children }) => (\r\n
\r\n {children}\r\n
\r\n);\r\n\r\nSideBar.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default SideBar;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// import { Link } from 'react-router-dom';\r\n\r\nimport './BreadCrumb.css';\r\n\r\nconst backStyle = {\r\n float: 'left',\r\n cursor: 'pointer',\r\n backgroundColor: 'transparent',\r\n border: 'none'\r\n}\r\n\r\nconst BreadCrumb = ({ currentLink, updateState }) => (\r\n \r\n\r\n);\r\n\r\nBreadCrumb.propTypes = {\r\n currentLink: PropTypes.string.isRequired,\r\n updateState: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default BreadCrumb;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport './RightContent.css';\r\n\r\nconst RightContent = ({ children }) => (\r\n
\r\n {children}\r\n
\r\n);\r\n\r\nRightContent.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default RightContent;\r\n","/* eslint-disable class-methods-use-this */\r\nimport { apiService } from './api';\r\n\r\nclass TestersService {\r\n findTesterByCertificationId(id) {\r\n id = encodeURIComponent(id);\r\n return apiService.get(`TesterSet%3F$filter=CertificateNo eq ~${id}~`); // encode single quote as tilde ~ to get thru WAF\r\n }\r\n}\r\n\r\nexport const testersService = new TestersService();\r\n","/* eslint-disable class-methods-use-this */\r\nimport { apiService } from './api';\r\n\r\nclass TestFormService {\r\n\r\n fetchSubmissionToken(notificationId) {\r\n //console.log('inside fetchSubmissionToken');\r\n return apiService({\r\n method: 'get',\r\n url: `TestNotificationSet('${notificationId}')`,\r\n headers: { 'X-CSRF-Token': 'Fetch' }\r\n });\r\n }\r\n \r\n //indexOfSpecialChar(string, startIndex = 0) {\r\n // const specialChars = '/~!@#$%^&*()_-+=|\\'<>';\r\n // for (let i = 0; i < specialChars.length; i++) {\r\n // const specialCharIndex = string.indexOf(specialChars[i], startIndex);\r\n // if (specialCharIndex > -1) return specialCharIndex;\r\n // }\r\n // return -1;\r\n //}\r\n\r\n submitForm(notificationId, data) {\r\n\r\n // convert data to utf8 string\r\n const utf8Str = unescape(encodeURIComponent(JSON.stringify(data)));\r\n // convert utf8Str to base64 string\r\n const dataStr = btoa(utf8Str);\r\n\r\n\r\n //console.log('dataStr', dataStr);\r\n\r\n return apiService({\r\n method: 'put',\r\n url: `TestFormSet('${notificationId}')`,\r\n data: { payload: dataStr }\r\n });\r\n }\r\n\r\n removeAssembly(notificationId, data) {\r\n const removingData = data;\r\n removingData.TestType = 'RM';\r\n\r\n return apiService({\r\n method: 'put',\r\n url: `TestFormSet('${notificationId}')`,\r\n data: removingData,\r\n });\r\n }\r\n}\r\n\r\nexport const testFormService = new TestFormService();\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Field, ErrorMessage } from 'formik';\r\nimport { FaSearch } from 'react-icons/fa';\r\n\r\nconst SearchInput = ({ name, placeholder, onBlur, refVal }) => (\r\n
\r\n \r\n {/*
\r\n \r\n \r\n \r\n
*/}\r\n
\r\n);\r\n\r\nSearchInput.defaultProps = {\r\n placeholder: '',\r\n onBlur: () => { },\r\n refVal: null\r\n};\r\n\r\nSearchInput.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n placeholder: PropTypes.string,\r\n onBlur: PropTypes.func,\r\n refVal: PropTypes.shape({ current: PropTypes.elementType })\r\n};\r\n\r\nexport default SearchInput;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Datepicker } from 'react-formik-ui';\r\n\r\nimport './W1DatePicker.css';\r\nimport calendarIcon from '../../img/calendar-icon.png';\r\n\r\nconst W1DatePicker = ({ name, onBlur }) =>\r\n(\r\n
\r\n \r\n {/*\"\"*/}\r\n
\r\n);\r\n\r\nW1DatePicker.defaultProps = {\r\n onBlur: () => { }\r\n};\r\n\r\nW1DatePicker.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n onBlur: PropTypes.func\r\n};\r\n\r\nexport default W1DatePicker;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Field, ErrorMessage } from 'formik';\r\nimport W1DatePicker from '../W1DatePicker/W1DatePicker';\r\n\r\nconst renderInput = (name, label, placeholder, key) => (\r\n
\r\n
\r\n {\r\n placeholder != '' && (\r\n
\r\n
 
\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n
\r\n
\r\n
{label}
\r\n
\r\n
\r\n { e.target.select(); }} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n);\r\n\r\nconst renderFields = (assemblyType) => {\r\n const fields = [];\r\n\r\n switch (assemblyType) {\r\n case 'BF-RPA':\r\n case 'BF-RPDA':\r\n fields.push(renderInput('MainCheckValve1Psid', 'Check Valve 1', 'PSID', fields.length));\r\n fields.push(renderInput('MainCheckValve2Psid', 'Check Valve 2', '', fields.length));\r\n fields.push(renderInput('MainReliefValvePsid', 'Relief Valve', '', fields.length));\r\n break;\r\n case 'BF-RPDA-II':\r\n fields.push(renderInput('MainCheckValve1Psid', 'Check Valve 1', 'PSID', fields.length));\r\n fields.push(renderInput('MainCheckValve2Psid', 'Check Valve 2', '', fields.length));\r\n fields.push(renderInput('MainReliefValvePsid', 'Relief Valve', '', fields.length));\r\n fields.push(renderInput('BypassCheckValve1Psid', 'Bypass Valve', '', fields.length));\r\n break;\r\n case 'BF-DCA':\r\n case 'BF-DCDA':\r\n fields.push(renderInput('MainCheckValve1Psid', 'Check Valve 1', 'PSID', fields.length));\r\n fields.push(renderInput('MainCheckValve2Psid', 'Check Valve 2', '', fields.length));\r\n break;\r\n case 'BF-DCDA-II':\r\n fields.push(renderInput('MainCheckValve1Psid', 'Check Valve 1', 'PSID', fields.length));\r\n fields.push(renderInput('MainCheckValve2Psid', 'Check Valve 2', '', fields.length));\r\n fields.push(renderInput('BypassCheckValve1Psid', 'Bypass Valve', '', fields.length));\r\n break;\r\n case 'BF-PVB':\r\n case 'BF-SPVB':\r\n fields.push(renderInput('VBAirInletPsid', 'Air Inlet', 'Opened At', fields.length));\r\n fields.push(renderInput('VBChkVlvPsid', 'Check Valve', 'Held At', fields.length));\r\n break;\r\n case \"BF-AG\":\r\n fields.push(renderInput('AirGapSupplySize', 'Pipe Diameter', 'Inches', fields.length));\r\n fields.push(renderInput('AirGap', 'Air Gap Distance', '', fields.length));\r\n break;\r\n default:\r\n fields.push((
));\r\n break;\r\n }\r\n\r\n return fields;\r\n};\r\n\r\nconst AssemblyTypeFields = ({ assemblyType, assemblyTypeDscrpt }) => (\r\n \r\n

Passing Backflow Assembly Test

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Test Date
\r\n
\r\n
\r\n \r\n \r\n
\r\n
 
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {renderFields(assemblyType)}\r\n
\r\n
\r\n);\r\n\r\nAssemblyTypeFields.defaultProps = {\r\n assemblyType: '',\r\n};\r\n\r\nAssemblyTypeFields.propTypes = {\r\n assemblyType: PropTypes.string,\r\n};\r\n\r\nexport default AssemblyTypeFields;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport xIcon from '../../img/x-icon.png';\r\nimport './ModalDialog.css';\r\n\r\nconst ModalDialog = ({ isOpen, onCloseClick, children }) => {\r\n const dialog = (\r\n
\r\n
\r\n
\r\n \r\n {children}\r\n
\r\n
\r\n );\r\n\r\n return isOpen ? dialog : null;\r\n};\r\n\r\nModalDialog.defaultProps = {\r\n isOpen: false,\r\n};\r\n\r\nModalDialog.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n isOpen: PropTypes.bool,\r\n};\r\n\r\nexport default ModalDialog;\r\n","import React from 'react';\r\nimport { Field, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\n\r\nexport const InputValve = ({\r\n label,\r\n labelclassname,\r\n wrapperclassname,\r\n inputclassname,\r\n name,\r\n left,\r\n right,\r\n bypass,\r\n ...props\r\n}) => (\r\n {\r\n const error = getIn(form.errors, name);\r\n const inputClassNames = classnames(\r\n 'form-control col-4',\r\n error && 'is-invalid',\r\n inputclassname\r\n );\r\n const wrapperClassNames = classnames(\r\n 'form-group col-md-6',\r\n wrapperclassname\r\n );\r\n const labelClassNames = classnames('form-label');\r\n\r\n const placeHolderLabel = (\r\n ' -'\r\n );\r\n\r\n let labelEl = label ? label : placeHolderLabel;\r\n\r\n let leftText;\r\n if (bypass && left) {\r\n leftText = (\r\n \r\n By-Pass {left}\r\n \r\n );\r\n } else {\r\n leftText = left;\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
{leftText}
\r\n \r\n
{right}
\r\n
\r\n \r\n
\r\n );\r\n }}\r\n />\r\n);\r\n\r\nexport const Input = ({\r\n label,\r\n labelclassname,\r\n wrapperclassname,\r\n inputclassname,\r\n name,\r\n ...props\r\n}) => (\r\n {\r\n const error = getIn(form.errors, name);\r\n const inputClassNames = classnames(\r\n 'form-control',\r\n error && 'is-invalid',\r\n inputclassname\r\n );\r\n const wrapperClassNames = classnames('form-group', wrapperclassname);\r\n const labelClassNames = classnames('form-label');\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }}\r\n />\r\n);\r\n\r\nconst ErrorMessage = ({ name, className }) => (\r\n {\r\n const error = getIn(form.errors, name);\r\n const touch = getIn(form.touched, name);\r\n return touch && error ? (\r\n
{error}
\r\n ) : null;\r\n }}\r\n />\r\n);\r\n\r\nexport const Select = ({\r\n name,\r\n options,\r\n label,\r\n wrapperclassname,\r\n labelclassname,\r\n}) => {\r\n return (\r\n \r\n {({ form }) => {\r\n const error = getIn(form.errors, name);\r\n const inputClassNames = classnames(\r\n 'form-control',\r\n error && 'is-invalid'\r\n );\r\n const wrapperClassNames = classnames('form-group', wrapperclassname);\r\n const labelClassNames = classnames(labelclassname);\r\n return (\r\n
\r\n {label ? (\r\n \r\n ) : null}\r\n \r\n \r\n {options.map((type, index) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n );\r\n }}\r\n
\r\n );\r\n};\r\n\r\nexport function Checkbox({ name, value, error, wrapperclassname, ...props }) {\r\n const inputClassNames = classnames('form-check-input', error && 'invalid');\r\n const wrapperClassNames = classnames('form-group', wrapperclassname);\r\n return (\r\n \r\n {({ field, form }) => (\r\n
\r\n
\r\n {\r\n if (field.value === value) {\r\n form.setFieldValue(name, '');\r\n } else {\r\n form.setFieldValue(name, value);\r\n }\r\n }}\r\n />\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport const NotificationInput = ({\r\n notificationno,\r\n notificationcheckdigit,\r\n wrapperclassname,\r\n}) => {\r\n const inputClassNames = classnames(\r\n 'form-control',\r\n (notificationno.error || notificationcheckdigit.error) && 'is-invalid'\r\n );\r\n\r\n const wrapperClassNames = classnames('form-group', wrapperclassname);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n -\r\n \r\n {notificationno.error || notificationcheckdigit.error ? (\r\n
\r\n {notificationno.error || notificationcheckdigit.error}\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n};\r\n","/* eslint-disable react/prop-types */\r\nimport React from 'react';\r\nimport { withFormik, Field, ErrorMessage } from 'formik';\r\nimport { Textarea } from 'react-formik-ui';\r\nimport * as Yup from 'yup';\r\nimport { dateToHuman } from '../../helpers/util';\r\n\r\nimport { testersService } from '../../services/testers-service';\r\nimport { testFormService } from '../../services/test-form-service';\r\n\r\nimport SearchInput from '../SearchInput/SearchInput';\r\nimport W1DatePicker from '../W1DatePicker/W1DatePicker';\r\nimport AssemblyTypeFields from '../AssemblyTypeFields/AssemblyTypeFields';\r\nimport './RecordForm.css';\r\nimport ModalDialog from '../ModalDialog/ModalDialog';\r\nimport { Checkbox } from '../Input';\r\nimport { parsePhoneNumberFromString } from 'libphonenumber-js'\r\n\r\nclass RecordForm extends React.Component {\r\n constructor() {\r\n super();\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.state = {\r\n isOpen: true,\r\n IsIncorrectInformation: false\r\n };\r\n this.textInput = React.createRef();\r\n this.focusTextInput = this.focusTextInput.bind(this);\r\n }\r\n\r\n focusTextInput() {\r\n // Explicitly focus the text input using the raw DOM API\r\n // Note: we're accessing \"current\" to get the DOM node\r\n //setTimeout(() => {\r\n this.textInput.current.focus();\r\n //}, 0);\r\n }\r\n\r\n onSubmit = () => {\r\n };\r\n\r\n redoSearchClick = () => {\r\n this.setState({ isOpen: false });\r\n this.props.updateState({\r\n redirectToForm: false,\r\n redirectToHome: true\r\n });\r\n }\r\n\r\n okClick = () => {\r\n this.setState({ isOpen: false });\r\n this.props.updateState({\r\n redirectToForm: false,\r\n redirectToHome: false\r\n });\r\n this.focusTextInput();\r\n }\r\n\r\n render() { \r\n const {\r\n values,\r\n isSubmitting,\r\n setFieldValue,\r\n setFieldError,\r\n setErrors,\r\n handleBlur,\r\n status,\r\n submitForm,\r\n handleReset,\r\n } = this.props;\r\n\r\n const { onSubmit } = this;\r\n const onCaptchaResolved = () => {\r\n submitForm();\r\n };\r\n\r\n const { isOpen } = this.state;\r\n\r\n const inCorrectInfoClick = (event) => {\r\n this.setState({ isOpen: false, IsIncorrectInformation: true });\r\n this.focusTextInput();\r\n }\r\n\r\n const handleCheckboxOnChange = (event) => {\r\n this.setState({ IsIncorrectInformation: !this.state.IsIncorrectInformation });\r\n if (!this.state.IsIncorrectInformation)\r\n this.props.values.TestComments = '';\r\n }\r\n\r\n const formatPhone = (phonestring) => {\r\n if (phonestring) {\r\n var tmp = parsePhoneNumberFromString('+1' + phonestring);\r\n if (tmp)\r\n return (tmp.formatNational());\r\n }\r\n return ('');\r\n }\r\n\r\n const findTesterByCertificationId = (event) => {\r\n //handleBlur(event);\r\n const id = event.target.value || '';\r\n\r\n if (id) {\r\n //console.log('id=' + id);\r\n testersService.findTesterByCertificationId(id)\r\n .then((response) => {\r\n const { results } = JSON.parse(response.data).d;\r\n if (results.length === 1) {\r\n const { __metadata, ...tester } = results[0]; // filterout __metadata.\r\n\r\n //console.log(tester);\r\n setErrors({});\r\n\r\n setFieldValue('TesterCertificationNo', tester.CertificateNo);\r\n setFieldValue('TesterCertificationExpDate', tester.CertificateExpDate);\r\n setFieldValue('TesterFirstName', tester.Name.split(',')[1]);\r\n setFieldValue('TesterLastName', tester.Name.split(',')[0]);\r\n setFieldValue('TesterPhone', tester.TelephoneNo1);\r\n setFieldValue('TesterCompanyName', tester.Company);\r\n setFieldValue('TesterCompanyPhone', tester.TelephoneNo2);\r\n setFieldValue('TesterCompanyFax', tester.Fax);\r\n setFieldValue('TesterEmail', tester.Email);\r\n } else {\r\n throw Error('Tester Certification No not found');\r\n }\r\n })\r\n .catch((err) => {\r\n var errorMessage = '';\r\n if (err.response.data.includes('Invalid token detected at position 17'))\r\n errorMessage = 'Please verify the certification number is entered exactly as used by the certifying agency.';\r\n else {\r\n const { error } = JSON.parse(err.response.data);\r\n errorMessage = error.message.value;\r\n }\r\n setFieldError('TesterCertificationNo', errorMessage);\r\n\r\n //setFieldValue('TesterCertificationNo', '');\r\n setFieldValue('TesterCertificationExpDate', '');\r\n setFieldValue('TesterFirstName', '');\r\n setFieldValue('TesterLastName', '');\r\n setFieldValue('TesterPhone', '');\r\n setFieldValue('TesterCompanyName', '');\r\n setFieldValue('TesterCompanyPhone', '');\r\n setFieldValue('TesterCompanyFax', '');\r\n setFieldValue('TesterEmail', '');\r\n //this.focusTextInput();\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n

Verify Information

\r\n

Please verify the information on the left is accurate. If not, please click the \"Incorrect Information\" button.

\r\n    \r\n    \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n

Certified Tester Information

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Enter Number and hit tab or select another box\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Tester Name:\r\n \r\n { values.TesterFirstName || values.TesterLastName ? ` ${values.TesterFirstName} ${values.TesterLastName}` : ' N/A'}\r\n \r\n
\r\n\r\n Company Name:\r\n \r\n { values.TesterCompanyName ? ` ${values.TesterCompanyName}` : ' N/A'}\r\n \r\n
\r\n\r\n Company Phone:\r\n \r\n { values.TesterCompanyPhone ? ` ${formatPhone(values.TesterCompanyPhone)}` : ' --'}\r\n \r\n
\r\n\r\n Certificate Expiration Date:\r\n \r\n { values.TesterCertificationExpDate !== '' ? ` ${dateToHuman(values.TesterCertificationExpDate, 'YYYY/MM/DD')}` : ' --' }\r\n \r\n

\r\n

\r\n \r\n Please contact our office if any of your contact information has recently changed.\r\n \r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n {\r\n\r\n values.FirelineFlushRequired === 'Y'\r\n && (\r\n \r\n
\r\n
\r\n

Fireline Flushing Acknowledgement
(Flushing time must be at least {this.props.notification.FirelineFlushingTime} minutes)

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n       I acknowledge fire flush completed\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n   Check this box if the information on the left is incorrect\r\n\r\n {\r\n this.state.IsIncorrectInformation === true &&\r\n (\r\n \r\n
\r\n
\r\n
\r\n