{"version":3,"sources":["ts/icons/IconVideo.tsx","ts/components/LoadingComponent.tsx","ts/Config.ts","ts/hooks/useProfile.ts","ts/Menu.tsx","ts/hooks/useClickOutside.ts","ts/clients/HttpError.ts","ts/clients/ApiEndpoint.ts","ts/clients/InspectionJwtClient.ts","ts/hooks/useInspectionClient.tsx","ts/hooks/useData.tsx","ts/types.tsx","img/Florida_Seal.png","ts/pages/Components/Home/ApplicationDetails.tsx","ts/hooks/useSubmitForm.ts","ts/helpers/Constants.ts","ts/pages/Components/SetBacksInspectionForm.types.tsx","ts/pages/Components/SetBacksInspectionForm.tsx","ts/pages/SetBacks/CreateSetBacksForm.tsx","ts/pages/SetBacks/EditSetBacksInspectionForm.tsx","ts/pages/SetBacks/Module.tsx","ts/pages/Components/DrainFieldInstallationInspectionForm.types.tsx","ts/pages/Components/DrainFieldInstallationInspectionForm.tsx","ts/pages/DrainFieldInstallation/CreateDrainfieldInstallationInspectionForm.tsx","ts/pages/DrainFieldInstallation/EditDrainfieldInstallationInspectionForm.tsx","ts/pages/DrainFieldInstallation/Module.tsx","ts/pages/Components/FillExcavationMaterialForm.types.tsx","ts/pages/Components/FillExcavationMaterialForm.tsx","ts/pages/FillExcavationMaterial/CreateFillExcavationMaterialForm.tsx","ts/pages/FillExcavationMaterial/EditFillExcavationMaterialForm.tsx","ts/pages/FillExcavationMaterial/module.tsx","ts/pages/InspectionHome/InspectionHome.tsx","ts/pages/InspectionHome/InspectionModule.tsx","ts/pages/Components/TankInstallationForm.types.tsx","ts/pages/Components/TankInstallationForm.tsx","ts/pages/TankInstallation/CreateTankInstallationForm.tsx","ts/pages/TankInstallation/EditTankInstallationForm.tsx","ts/pages/TankInstallation/Module.tsx","ts/pages/Home/SearchResults.tsx","ts/pages/Home/Home.types.tsx","ts/pages/Home/Home.tsx","ts/pages/Home/Homemodule.tsx","ts/components/UnAuthorized.tsx","ts/hooks/useDBAuthService.ts","ts/components/DBProtectedRoute.tsx","ts/pages/Components/AbandonmentForm.types.tsx","ts/pages/Components/AbandonmentForm.tsx","ts/pages/Abandonment/CreateAbandonmentForm.tsx","ts/pages/Abandonment/EditAbandonmentForm.tsx","ts/pages/Abandonment/Module.tsx","ts/pages/Components/FilledMoundSystemForm.types.tsx","ts/pages/Components/FilledMoundSystemForm.tsx","ts/pages/FilledMoundSystem/CreateFilledMoundSystemForm.tsx","ts/pages/FilledMoundSystem/EditFilledMoundSystemFormForm.tsx","ts/pages/FilledMoundSystem/Module.tsx","ts/pages/SubmitInspection.tsx/SubmitInspection.types.tsx","ts/hooks/usePostFileForm.tsx","ts/pages/SubmitInspection.tsx/SubmitInspection.tsx","ts/pages/SubmitInspection.tsx/SubmitInspectionModule.tsx","ts/pages/Summary/SummaryView.tsx","ts/pages/Summary/SummaryModule.tsx","ts/pages/Components/AdditionalInformation.types.tsx","ts/components/Select2.types.tsx","ts/components/Select2.tsx","ts/pages/Components/AdditionalInformationForm.tsx","ts/pages/AdditionalInformation/CreateAdditionalInformationForm.tsx","ts/pages/AdditionalInformation/EditAdditionalInformationForm.tsx","ts/pages/AdditionalInformation/AdditionalInformationModule.tsx","ts/pages/SupportRequest/SupportRequestForm.tsx","ts/pages/SupportRequest/Module.tsx","ts/pages/Components/UserTrainings/UserTraining.types.tsx","ts/pages/Components/UserTrainings/UserTrainingView.tsx","ts/pages/Components/UserTrainings/UserTrainingModule.tsx","ts/pages/Components/TrainingVideos/TrainingVideo.tsx","ts/pages/Components/TrainingVideos/TrainingVideosModule.tsx","ts/pages/UserManagement/UserManagement.types.tsx","ts/pages/UserManagement/UserManagementForm.tsx","ts/pages/UserManagement/Module.tsx","ts/pages/Components/UserForm.types.tsx","ts/pages/Components/UserForm.tsx","ts/pages/Components/UserForm/CreateUserForm.tsx","ts/pages/Components/UserForm/EditUserForm.tsx","ts/pages/Components/UserForm/UserModule.tsx","ts/Routes.tsx","ts/UserMenu.tsx","ts/PrivateInspectionPortal.tsx","ts/reportWebVitals.ts","index.tsx"],"names":["LoadingComponent","promiseInProgress","usePromiseTracker","Modal","show","backdrop","keyboard","size","centered","Body","Title","className","role","configuration","clientId","driveId","title","version","applications","name","baseUrl","scopes","appGuid","appName","getConfig","process","REACT_APP_VERSION","filter","x","useProfile","application","useState","userStatus","setuserStatus","accounts","useMsal","userEmail","username","getUserStatusAsync","fetch","response","output","json","data","jwtResponse","useEffect","trackPromise","IconHome","React","lazy","IconUsers","MenuItems","useAppConfig","user","Item","href","icon","label","width","height","viewBox","stroke","fill","d","onClick","fileName","path","method","headers","then","blob","url","window","URL","createObjectURL","a","document","createElement","download","click","DownloadFile","roleId","useClickOutside","callback","node","useRef","handler","event","current","contains","target","addEventListener","removeEventListener","HttpError","statusText","ok","redirected","status","type","Error","ApiEndpoint","endpoint","tokenOptions","makeQuery","query","result","indexOf","endsWith","delete","body","options","toJson","getHeaders","contentType","request","get","consistencyLevel","post","put","append","token","count","orderBy","fields","search","field","value","select","replace","top","this","FormData","obj","formDataToObject","JSON","stringify","Object","props","Headers","entries","entry","key","val","includes","k","split","objKey","innerKey","console","log","toast","error","autoClose","message","InspectionJwtClient","account","msalClient","accountInfo","api","lookups","ApiClient","useInspectionClient","instance","InspectionClient","undefined","useData","client","useClient","setData","getData","UserSecurity","email","userClaimsObjectId","ApplicationDetailsPage","applicationData","id","Container","apnumber","propertyStreetAddress","propertyCity","propertyState","propertyZipCode","src","flSealLogo","alt","permitNumber","propertyNumber","applicantName","agentName","subDivision","lot","block","useSubmitForm","action","submit","Constants","In_Compliance","Not_Applicable","Out_of_Compliance","Unobserved","InspectionStatus","Incomplete","Complete","schema","yup","shape","surfaceWaterComplianceId","min","required","typeError","surfaceWater","nullable","when","is","surfaceWaterComment","ditchesComplianceId","ditches","ditchesComment","privateWellsComplianceId","privateWells","privateWellsComment","publicWellsComplianceId","publicWells","publicWellsComment","irrigationWellsComplianceId","irrigationWells","irrigationWellsComment","portableWaterLinesComplianceId","portableWaterLines","portableWaterLinesComment","buildingFoundationComplianceId","buildingFoundation","buildingFoundationComment","propertyLinesComplianceId","propertyLines","propertyLinesComment","otherComplianceId","SetBacksInspectionForm","history","useHistory","usePath","complianceData","useForm","defaultValues","values","resolver","yupResolver","control","handleSubmit","setValue","watch","timeout","delay","Promise","res","setTimeout","inspectionStatusData","applicationInspectionId","formRef","onSubmit","success","inspectionStatus","filledMoundSystemInspectionId","push","pathname","applicationId","filledMoundSystemId","setBackInspectionId","Date","userName","dispatchEvent","Event","cancelable","bubbles","showSurfaceWaterComment","showDitchesComment","showPrivateWellsComment","showPublicWellsComment","showIrrigationWellsComment","showPortableWtaerLinesComment","showBuildingFoundationComment","showPropertyLinesComment","markAllCompliance","ref","Select","style","float","marginTop","e","preventDefault","Header","Row","Text","Hidden","TextArea","hidden","Footer","xmlns","to","returnPath","CreateSetBacksPage","useLocation","searchParams","URLSearchParams","parse","inspectionId","ApplicationDetails","parseInt","EditSetBacksPage","editData","preTitle","SetBacksInspectionModule","useRouteMatch","exact","areaComplianceId","area1","transform","Number","isNaN","area2","numberOfDrainline1","numberOfDrainline2","distributionComplianceId","distributionBoxOrHeader","ditributionComment","numberOfDrainlinesComplianceId","numberOfDrainlinesComment","drainlineSeparationComplianceId","drainlineSeparationBedOrTrench","drainlineSeparationComment","drainlineSlopeComplianceId","drainlineSlopeComment","depthOfCoverComplianceId","depthOfCoverComment","elevationComplianceId","elevation1","elevationBenchmark","elevationComment","systemLocationComplianceId","systemLocationComment","dosingPumpComplianceId","dosingPump","dosingPumpComment","aggregateSizeComplianceId","aggregateSizeComment","aggregateExcessiveComplianceId","aggregateExcessiveComment","aggregateDepthComplianceId","aggregateDepthComment","DrainfieldInstallationInspectionForm","fillExcavationMaterialInspectionId","fillExcavationMaterialId","drainfieldInstallationInspectionId","showAreaComment","showDitributionComment","showNumberOfDrainlinesComment","showDrainlineSeparationComment","showDrainlineSlopeComment","showDepthOfCoverComment","showElevationComment","showSystemLocationComment","showDosingPumpComment","showAggregateSizeComment","showAggregateExcessiveComment","showAggregateDepthComment","showDrainLineArea1","showDrainLineArea2","CreateDrainfieldInstallationPage","EditDrainfieldInstallationPage","DrainfieldInstallationInspectionModule","fillAmountComplianceId","fillAmountComment","fillTextureComplianceId","fillTextureComment","excavationDepthComplianceId","excavationDepthComment","areaReplacedComplianceId","areaReplacedComment","areaReplacedLength","areaReplacedWidth","replacementMaterialComplianceId","replacementMaterialComment","FillExcavationMaterialForm","setBackId","showFillAmountComment","showFillTextureComment","showExcavationDepthComment","showAreaReplacedComment","showReplacementMaterialComment","display","whiteSpace","CreateFillExcavationMaterialPage","EditFillExcavationPage","CreateFillExcavationMaterialModule","InspectionHomePage","HideNextButton","inspectionStatusId","tankInstallationInspectionId","additionalInformationInspectionId","abandonmentInspectionId","deleteInspection","confirm","goToEditTankInstallationPage","tankInstallationId","goToEditDrainFieldInstallationPage","drainfieldInstallationId","goToEditFillExcavationMaterialPage","goToEditSetBacksPage","goToEditFilledMoundSystemPage","goToEditAdditionalInformationPage","additionalInformationId","goToEditAbandonmentPage","abandonmentId","disabled","InspectionModule","InspectionHome","tankComplianceId","tankSize1","integer","tankSizeComment","tankMaterialComplianceId","tankMaterialId1","tankMaterialComment","outletDeviceComplianceId","outletDeviceComment","multiChamberedComplianceId","multiChamberedComment","outletFilterComplienceId","outletFilterId","outletFilterComment","legendComplianceId","legendId1","legendComment","watertightComplianceId","watertightComment","levelComplianceId","levelComment","depthToLidComplianceId","depthToLidComment","tank2ComplianceId","tankSize2","tank2SizeComment","tank2MaterialComplianceId","tankMaterialId2","tank2MaterialComment","tank2LegendComplianceId","legendId2","tank2LegendComment","TankInstallationForm","tankMaterialData","legendData","outletFilterData","defaultvalues","dateCreated","toLocaleString","slice","showTank","showTankSizeComment","showTankMaterialComment","showOutletDeviceComment","showMultiChamberedComment","showOutletFilterComment","showLegendComment","showWatertightComment","showLevelComment","showDepthToLidComment","showTank2SizeComment","showTank2MaterialComment","showTank2LegendComment","Checkbox","CreateTankInstallationPage","EditTankInstallationPage","TankInstallationModule","SearchResultsPage","appData","apNumber","createNew","createInspectionData","isApproved","providerId","createdBy","dateUpdated","updatedBy","userId","userSecurityId","inspectionResponse","applicationInspections","length","permitDate","toLocaleDateString","recentlyOpenedColumns","accessor","row","submittedColumns","ehdinspectionNumber","inspectionApprovedDate","Cell","HomePage","inputRef","setApplicationData","distantFuture","Recentlyopened","isActive","sort","b","dateA","getTime","submittedApplications","searchApplications","updateSearchedRecord","applicationDetailData","activeInspections","defaultValue","SearchResults","columns","globalFilter","striped","vcenter","HomeModule","Home","UnAuthorized","errorMessage","useDBAuthService","homeAccountId","userSecurity","userSecurityJson","DBProtectedRoute","children","rest","render","tankPumpedComplianceId","tankPumpedComment","tankPumpedDate","max","notRequired","tankCrushedFilledComplianceId","tankCrushedFilledComment","tankCrushedFilledDate","AbandonmentForm","showTankPumpedComment","showTankCrushedFilledComment","watchdate","CreateAbandonmentPage","EditAbandonmentPage","AbandonmentModule","drainfieldCoverComplianceId","drainfieldCoverComment","shoulderComplianceId","shoulderComment","slopeComplianceId","slopeComment","stablizationComplianceId","stablizationComment","stablizationId","FilledMoundSystemInspectionForm","stabilizationData","showDrainfieldCoverComment","showShoulderComment","showSlopeComment","showStablizationComment","CreateFilledMoundSystemPage","EditFilledMoundSystemPage","FilledMoundSystemInspectionModule","getDate","input","usePostFileForm","postForm","endpointResponse","myHeaders","requestOptions","text","catch","SubmitInspectionForm","delimiter","inspectionFile","setInspectionFile","sealedCertificationFile","setSealedCertificationFile","isInspectionFileValid","setIsInspectionFileValid","isSealedCertificationFileValid","setIsSealedCertificationValid","inspectFileError","setInspectionFileError","sealedCertificationFileError","setSealedCertificationFileError","appInspectionCompliance","setItems","toggle","setFlag","applicationInfoId","applicationDetails","toString","entityId","pop","penaltyOfLawCheck","_formValues","flag","saveFile","file","files","formData","formatData","resJson","finalData","keys","reduce","prev","curr","newRows","itemKeys","map","itemKey","key1","keys2","fetchData","validate","isValid","_isInspectionFileValid","tmpInspectionFile","_isSealedCertificationFileValid","tmpsealedCertificationFile","finalSubmit","uploadFile","inspectionFileResponse","inspectionFileName","inspectionFilePath","sealedCertificationFileResponse","engineerSealedCertificate","engineerSealedCertificatePath","fileUploadCallback","resolve","fontSize","rowDetails","i","marginBottom","marginLeft","onChange","accept","ReadOnly","lastName","firstName","SubmitInspectionModule","SubmitInspection","SummaryViewPage","buttonStyle","marginRight","applicationInspectionData","setBacksData","setbacks","tankInstallantionData","tankInstallations","filledMoundData","filledMoundSystems","drainfieldData","drainfieldInstallations","additionalInfoData","additionalInformations","fillExcavationData","fillExcavationMaterials","abandonmentData","abandonments","filePath","getElementById","html2canvas","canvas","imgData","toDataURL","imgHeight","heightLeft","doc","jsPDF","position","addImage","addPage","save","print","y","rx","tankCompliance","complianceValue","tankMaterialCompliance","tankMaterialId1Navigation","tankMaterialValue","outletDeviceCompliance","multiChamberedCompliance","multiChambered","outletFilterComplience","outletFilter","outletFilterValue","legendCompliance","legendId1Navigation","legendValue","watertightCompliance","levelCompliance","depthToLidCompliance","tank2Compliance","tank2MaterialCompliance","tankMaterialId2Navigation","tank2LegendCompliance","legendId2Navigation","areaCompliance","areaComment","distributionCompliance","distributionComment","numberOfDrainlinesCompliance","drainlineSeparationCompliance","drainlineSlopeCompliance","depthOfCoverCompliance","elevationCompliance","systemLocationCompliance","dosingPumpCompliance","aggregateSizeCompliance","aggregateExcessiveCompliance","aggregateDepthCompliance","fillAmountCompliance","fillTextureCompliance","excavationDepthCompliance","areaReplacedCompliance","replacementMaterialCompliance","surfaceWaterCompliance","ditchesCompliance","privateWellsCompliance","publicWellsCompliance","irrigationWellsCompliance","portableWaterLinesCompliance","buildingFoundationCompliance","propertyLinesCompliance","otherCompliance","otherSetback","otherComment","drainfieldCoverCompliance","shoulderCompliance","slopeCompliance","stablizationCompliance","stablization","stabizationValue","unobstructedAreaCompliance","unobstructedAreaComment","stormwaterRunoffCompliance","stormwaterRunoffComment","alarmCompliance","alarmComment","supportDocumentCompliance","supportDocumentnComment","buildingAreaCompliance","buildingAreaComment","locationConformsCompliance","locationConformsComment","finalSiteGradeCompliance","finalSiteGradeComment","contractorCompliance","ehdcontactName","contractorComment","drainfieldTypeCompliance","drainfieldProductModel","drainfieldProductModelValue","drainfieldProductMake","drainfieldProductMakeValue","drainfieldTypeComment","soilVerificationCompliance","soilVerificationComment","tankPumpedCompliance","tankCrushedFilledCompliance","additionalInspectionRequired","provider","additionalComments","SummaryViewModule","SummaryView","unobstructedAreaComplianceId","stormwaterRunoffComplianceId","alarmComplianceId","supportDocumentComplianceId","buildingAreaComplianceId","locationConformsComplianceId","finalSiteGradeComplianceId","contractorComplianceId","drainfieldTypeComplianceId","soilVerificationComplianceId","ehdcontactId","drainfieldProductModelId","drainfieldProductMakeId","strip","toLocaleLowerCase","Select2","groupProps","col","sm","md","lg","xl","cn","useGroupProps","onBlur","state","selectProps","setShow","optionList","setOptionList","userInput","setUserInput","menuRef","find","invalid","autoComplete","updatedList","handleChange","v","shouldValidate","handleSelected","tabIndex","AdditionalInformationForm","contractorData","drainfieldProductMakeData","drainfieldProductModelData","ehdContactID","showUnobstructedAreaComment","showStormwaterRunoffComment","showAlarmComment","showSupportDocumentComment","showBuildingAreaComment","showLocationConformsComment","showFinalSiteGradeComment","showContractorComment","showDrainfieldTypeComment","showSoilVerificationComment","watchdrainfieldProductMakeId","make","filtereddrainfieldProductModelData","makeId","fieldState","CreateAdditionalInformationPage","EditAdditionalInformationPage","CreateAdditionalInformationModule","Columns","original","SupportRequestPage","countyEmails","SupportRequestModule","UserTrainingInputColumns","trainingModuleName","trainingModuleId","IconVideo","UserTrainingViewPage","userTrainingData","UserTrainingViewModule","UserTrainingView","TrainingVideosPage","turl","controls","controlsList","TrainingVideosModule","TrainingVideo","sortType","updatedby","UserManagementPage","userList","UserManagementModule","UserForm","CreateUserPage","EditUserPage","substring","lastIndexOf","UserModule","Routes","UserMenu","msalInstance","configureAuth","LogLevel","PrivateInspectionApp","fallback","config","menu","Menu","routes","userMenu","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode"],"mappings":"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","file":"static/js/main.6fb815a6.chunk.js","sourcesContent":["export { IconVideo as default } from \"@tabler/icons\";\r\n","import Modal from \"react-bootstrap/Modal\";\r\nimport { usePromiseTracker } from \"react-promise-tracker\";\r\n\r\nexport const LoadingComponent = () => {\r\n const { promiseInProgress } = usePromiseTracker();\r\n\r\n return (\r\n \r\n \r\n Loading...\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default LoadingComponent;\r\n","import { IWorkflowConfig } from \"./helpers/interfaces\";\r\n\r\nconst configuration: IWorkflowConfig = {\r\n clientId: \"e0a25059-3644-4cc8-bfc3-ff2e610e8124\",\r\n driveId: \"\",\r\n title: \"Private Inspection Portal\",\r\n version: \"1.0.0\",\r\n applications: [\r\n {\r\n name: \"graphApi\",\r\n baseUrl: \"https://graph.microsoft.com/v1.0\",\r\n scopes: [\r\n \"openid\",\r\n \"offline_access\",\r\n \"email\",\r\n \"profile\"\r\n \r\n ],\r\n },\r\n {\r\n name: \"privateProviderInspectionApi\",\r\n baseUrl: \"https://localhost:7143/api\",\r\n scopes: [\"\"] \r\n },\r\n ],\r\n appGuid: \"F13F19DC-8F34-4DDD-B4D0-3BCE5DDD1212\",\r\n appName: \"PrivateProviderInspection\"\r\n};\r\n\r\nexport const getConfig = () => {\r\n configuration.title = process.env.REACT_APP_APPSETTINGS_TITLE ?? \"\";\r\n configuration.driveId = process.env.REACT_APP_APPSETTINGS_DRIVEID ?? \"\";\r\n configuration.version = process.env.REACT_APP_VERSION ?? \"\";\r\n configuration.appGuid = process.env.REACT_APP_APPGUID ?? \"\";\r\n configuration.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0].baseUrl = process.env.REACT_APP_API_BASEURL ?? \"\";\r\n return configuration;\r\n};\r\n\r\nexport default getConfig;\r\n","import { Application } from \"../interfaces\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trackPromise } from \"react-promise-tracker\";\r\nimport { UserSecurity } from \"../types\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport * as Types from \"../clients/ApiEndpoint.types\";\r\n\r\nexport const useProfile = (application: Application): T | undefined => {\r\n const [userStatus, setuserStatus] = useState();\r\n const { accounts } = useMsal(); \r\n const userEmail = accounts[0] && accounts[0].username;\r\n // const userClaimsObjectId = accounts[0].homeAccountId.split(\".\")[0];\r\n const getUserStatusAsync = async () => {\r\n // const userSecurity = new UserSecurity(userEmail, userClaimsObjectId);\r\n // const userSecurityJson = JSON.stringify(userSecurity);\r\n // const options = {\r\n // method: \"POST\",\r\n // body: userSecurityJson,\r\n // headers: { \"Content-Type\": \"application/json\" }\r\n // };\r\n const response = await fetch(`${application.baseUrl}/authentication/GetUserSecurityByEmail/${userEmail}`)\r\n let output: Types.FetchResponse = response;\r\n output.data = await response.json();\r\n const jwtResponse = output.data; \r\n setuserStatus(jwtResponse);\r\n }\r\n useEffect(() => {\r\n if (!userStatus) trackPromise(getUserStatusAsync());\r\n }, []);\r\n return userStatus;\r\n};\r\n\r\nexport default useProfile;","import React from \"react\";\r\nimport { Dropdown, NavigationMenu, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IconUser from \"./icons/IconUser\";\r\nimport useProfile from \"./hooks/useProfile\";\r\nimport { UserSecurityInput } from \"./components/DBProtectedRoute.types\";\r\nimport useData from \"./hooks/useData\";\r\nimport { UserList } from \"./pages/UserManagement/UserManagement.types\";\r\n// import { useData } from \"./hooks\";\r\n\r\nconst IconHome = React.lazy(\r\n () => import(\"./icons/IconHome\" /* webpackChunkName: \"iconHome\" */)\r\n);\r\nconst IconPlus = React.lazy(\r\n () => import(\"./icons/IconPlus\" /* webpackChunkName: \"iconPlus\" */)\r\n);\r\nconst IconUsers = React.lazy(\r\n () => import(\"./icons/IconUsers\" /* webpackChunkName: \"iconUsers\" */)\r\n);\r\n\r\nexport const MenuItems = () => {\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n //const userList= useData('UserSecurity/getlistofactiveusers' );\r\n //const roles = useData(\"me/roles\");\r\n const DownloadFile = () =>\r\n {\r\n \r\n \r\n \r\n const options = {\r\n method: \"GET\",\r\n headers: { \"Content-Type\": \"application/json\" }\r\n };\r\n \r\n var fileName = \"Private Inspection Portal Instruction Manual.pdf\";\r\n var filePath = \"wwwroot/InstructionManualFile/\";\r\n let path = `${application.baseUrl}/ApplicationInspection/GetFileById/`+fileName + \"?uploadPath=\"+filePath;\r\n const response = fetch(path, options)\r\n .then(response => {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n });\r\n \r\n });\r\n}\r\n\r\n return (\r\n <>\r\n } label=\"Home\" />\r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n System Support\r\n \r\n \r\n \r\n \r\n
  • \r\n {user?.roleId ===2 && (\r\n } label=\"User Management\" />\r\n ) }\r\n {/* } label=\"User Management\" /> */}\r\n \r\n \r\n\r\n \r\n );\r\n};\r\n\r\nexport default MenuItems;\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nexport const useClickOutside = (\r\n callback: () => void\r\n): React.MutableRefObject => {\r\n let node = useRef(document.createElement(\"div\"));\r\n\r\n useEffect(() => {\r\n let handler = (event: any) => {\r\n if (!node.current.contains(event.target)) callback();\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handler);\r\n\r\n return () => document.removeEventListener(\"mousedown\", handler);\r\n });\r\n\r\n return node;\r\n};\r\n\r\nexport default useClickOutside;\r\n","export class HttpError extends Error {\r\n readonly headers: Headers;\r\n readonly ok: boolean;\r\n readonly redirected: boolean;\r\n readonly status: number;\r\n readonly statusText: string;\r\n //readonly trailer: Promise;\r\n readonly type: ResponseType;\r\n readonly url: string;\r\n \r\n constructor(response: Response) {\r\n super(response.statusText);\r\n this.headers = response.headers;\r\n this.ok = response.ok;\r\n this.redirected = response.redirected;\r\n this.status = response.status;\r\n this.statusText = response.statusText;\r\n //this.trailer = response.trailer;\r\n this.type = response.type;\r\n this.url = response.url;\r\n }\r\n}","import { toast } from \"react-toastify\";\r\nimport * as Types from \"./ApiEndpoint.types\";\r\nimport { TokenRequestOptions } from \"./ApiClient.types\";\r\nimport { HttpError } from \"./HttpError\";\r\nimport { JwtResponse } from \"../types\";\r\nimport { Application } from \"../interfaces\";\r\n\r\nexport class ApiEndpoint {\r\n public endpoint: string; \r\n public tokenOptions: TokenRequestOptions;\r\n public application: Application;\r\n public jwtResponse?: JwtResponse;\r\n public constructor(\r\n endpoint: string,\r\n tokenOptions: TokenRequestOptions,\r\n application: Application,\r\n jwtResponse?: JwtResponse\r\n ) {\r\n this.endpoint = endpoint;\r\n this.tokenOptions = tokenOptions;\r\n this.application = application;\r\n this.jwtResponse = jwtResponse;\r\n } \r\n\r\n makeQuery = (query: string): ApiEndpoint => {\r\n let result = this.endpoint;\r\n if (result.indexOf(\"?\") === -1) result += \"?\"; // Add ? if no queries exist\r\n if (!result.endsWith(\"?\")) result += \"&\"; // prepend & if other queries exist\r\n result += query;\r\n\r\n return new ApiEndpoint(result, this.tokenOptions, this.application, this.jwtResponse);\r\n };\r\n\r\n /* Request functions */\r\n\r\n delete = (body?: object | string): Promise> => {\r\n const options: Types.RequestOptions = {\r\n body: toJson(body ?? \"\"),\r\n method: \"delete\",\r\n headers: getHeaders({ contentType: \"application/json\" }),\r\n };\r\n\r\n return this.request(options);\r\n };\r\n\r\n get = (\r\n consistencyLevel?: Types.ConsistencyLevel\r\n ): Promise> => {\r\n const options: Types.RequestOptions = {\r\n method: \"get\",\r\n headers: getHeaders({ consistencyLevel: consistencyLevel }),\r\n };\r\n\r\n return this.request(options);\r\n };\r\n\r\n post = (\r\n body: Object | FormData | string\r\n ): Promise> => {\r\n const options: Types.RequestOptions = {\r\n body: toJson(body),\r\n method: \"post\",\r\n headers: getHeaders({ contentType: \"application/json\" }),\r\n };\r\n\r\n return this.request(options);\r\n };\r\n\r\n put = (\r\n body: Object | FormData | string\r\n ): Promise> => {\r\n const options: Types.RequestOptions = {\r\n body: toJson(body),\r\n method: \"put\",\r\n headers: getHeaders({ contentType: \"application/json\" }),\r\n };\r\n\r\n return this.request(options);\r\n };\r\n\r\n request = async (options: Types.RequestOptions) => {\r\n //const r = await this.getToken();\r\n // console.log(\"apirequest:: \" + this.jwtResponse?.token);\r\n options.headers.append(\"Authorization\", `Bearer ${this.jwtResponse?.token}`);\r\n //console.log(this.jwtResponse.Token);\r\n return await request(this.url(), options);\r\n };\r\n\r\n /* Query modifiers */\r\n count = () => this.makeQuery(\"$count=true\");\r\n filter = (query: string) => this.makeQuery(`$filter=${query}`);\r\n orderBy = (fields: string) => this.makeQuery(`$orderby=${fields}`);\r\n search = (field: string, value: string) =>\r\n this.makeQuery(`$search=\"${field}:${value}\"`);\r\n // select = (fields: string) => this.makeQuery(`$select=${fields.replaceAll(/\\s/g, \"\")}`); // Replaced with below to be able to target es2017.\r\n select = (fields: string) =>\r\n this.makeQuery(`$select=${fields.replace(/\\s/g, \"\")}`);\r\n top = (count: number) => this.makeQuery(`$top=${count}`);\r\n url = () => `${this.tokenOptions.baseUrl}/${this.endpoint}`;\r\n}\r\n\r\nexport const toJson = (body: Object | FormData | string): string => {\r\n let data: string;\r\n\r\n // If FormData, convert to object before stringifying.\r\n if (body instanceof FormData) {\r\n const obj = formDataToObject(body);\r\n data = JSON.stringify(obj);\r\n // console.log(\"Object\", obj);\r\n // console.log(\"Object stringified\", data);\r\n } else if (body instanceof Object) {\r\n data = JSON.stringify(body);\r\n // console.log(\"PostJson Object type detected\");\r\n // console.log(\"Object\", body);\r\n // console.log(\"Object stringified\", data);\r\n } else {\r\n data = body;\r\n // console.log(\"PostJson string type detected\");\r\n // console.log(\"Object\", body);\r\n }\r\n\r\n return data;\r\n};\r\n\r\nexport const getHeaders = (props: Types.HeaderOptions): Headers => {\r\n const headers = new Headers();\r\n //headers.append(\"Access-Control-Allow-Origin\", \"*\");\r\n if (props.consistencyLevel)\r\n headers.append(\"ConsistencyLevel\", props.consistencyLevel);\r\n if (props.contentType) headers.append(\"Content-Type\", props.contentType);\r\n\r\n return headers;\r\n};\r\n\r\nexport const formDataToObject = (data: FormData): Object => {\r\n const entries = data.entries();\r\n let obj: any = {};\r\n\r\n for (let entry of entries) {\r\n const key = entry[0];\r\n const val = entry[1];\r\n\r\n // Check if key includes a dot, which indicates it's an object, not a string.\r\n if (key.includes(\".\")) {\r\n let k = key.split(\".\");\r\n let objKey = k[0];\r\n let innerKey = k[1];\r\n obj[objKey] = { ...obj[objKey], [innerKey]: val };\r\n } else {\r\n obj[key] = val;\r\n }\r\n\r\n console.log(key, val);\r\n }\r\n\r\n return obj;\r\n};\r\n\r\n// TODO: Implement eventhandler for different status codes.\r\nexport const request = async (\r\n url: string,\r\n options: Types.RequestOptions\r\n): Promise> => {\r\n try {\r\n // Make request\r\n const response = await fetch(url, options);\r\n //console.log(\"RESPONSE\", response);\r\n\r\n if (response.status === 400) toast.error(\"400 error received\", {autoClose: 2000});\r\n\r\n // Create the output variable.\r\n let output: Types.FetchResponse = response;\r\n\r\n // if response indicates error, populate error property with body text.\r\n if (response.status > 300) {\r\n let error = response as ErrorResponse;\r\n // throw new HttpError(response);\r\n toast.error(error.error , {autoClose: 2000});\r\n } else {\r\n // Populate data property from json stream.\r\n output.data = await response.json();\r\n }\r\n\r\n // Return the output variable.\r\n return output;\r\n } catch (error) {\r\n if (error instanceof HttpError) {\r\n toast.error(`Html Error - ${error.status} Error - ${error.message}` , {autoClose: 2000});\r\n console.log(`Html Error - ${error.status}`);\r\n console.log(\"Error\", error.message); \r\n }\r\n throw error;\r\n }\r\n};\r\n\r\n// TODO : Add handlers for each status type\r\nexport const ErrorHandler = async (statusCode: number) => {};\r\n\r\nexport default ApiEndpoint;\r\n\r\nexport type ErrorResponse = Response & {\r\n error?: string;\r\n};\r\n\r\nclass RefreshToken {\r\n public Token: string;\r\n public refreshToken?: string\r\n\r\n public constructor(token: string, refreshToken?: string) {\r\n this.Token = token;\r\n this.refreshToken = refreshToken;\r\n }\r\n};\r\n\r\nclass AccessToken {\r\n public AppGuid: string;\r\n public AppName: string;\r\n public UserEmail: string;\r\n\r\n public constructor(appGuid: string, appName: string, userEmail: string) {\r\n this.AppGuid = appGuid;\r\n this.AppName = appName;\r\n this.UserEmail = userEmail;\r\n }\r\n};\r\n","import { AccountInfo, IPublicClientApplication } from \"@azure/msal-browser\";\r\nimport { ApiClient } from \"@fdoh/health-ui-react\";\r\nimport { ApiEndpoint } from \"./ApiEndpoint\";\r\nimport { Application } from \"../interfaces\";\r\nimport { JwtResponse } from \"../types\";\r\n\r\nexport class InspectionJwtClient extends ApiClient { \r\n accountInfo: AccountInfo;\r\n application: Application;\r\n jwtResponse?: JwtResponse;\r\n public constructor(\r\n account: AccountInfo,\r\n msalClient: IPublicClientApplication,\r\n application: Application,\r\n jwtResponse?: JwtResponse\r\n ) {\r\n super(account, msalClient, application);\r\n this.accountInfo = account;\r\n this.application = application;\r\n this.jwtResponse = jwtResponse;\r\n }\r\n get account() {\r\n return this.accountInfo;\r\n } \r\n api = (endpoint: string) =>\r\n new ApiEndpoint(endpoint, this.tokenOptions, this.application, this.jwtResponse);\r\n lookups = (name: string) =>\r\n new ApiEndpoint(`lookups/${name}`, this.tokenOptions, this.application, this.jwtResponse);\r\n \r\n}\r\n\r\nexport default InspectionJwtClient;\r\n","import { AccountInfo } from \"@azure/msal-browser\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport { useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport InspectionClient from \"../clients/InspectionJwtClient\";\r\nimport { JwtResponse, RefreshToken, AccessToken } from \"../types\";\r\nimport useAuthService from \"./useAuthService\";\r\n\r\nexport const useInspectionClient = () => {\r\n const { instance, accounts } = useMsal();\r\n const config = useAppConfig(); \r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n let jwtResponse;\r\n // jwtResponse = useAuthService(application);\r\n\r\n // \r\n // console.log(\"useAuthService:: \" + JSON.stringify(jwtResponse));\r\n const client = new InspectionClient(accounts[0] as AccountInfo, instance, application, undefined);\r\n\r\n return client;\r\n};\r\n\r\nexport default useInspectionClient;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport { useEffect, useState } from \"react\";\r\nimport { toast } from \"react-toastify\";\r\nimport useClient from \"./useInspectionClient\";\r\nimport { trackPromise } from \"react-promise-tracker\";\r\n\r\nexport const useData = (endpoint: string): T | undefined => {\r\n const client = useClient();\r\n const [data, setData] = useState();\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n try {\r\n const response = await client.api(endpoint).get();\r\n // console.log(\"get call\");\r\n setData(response.data as T);\r\n } catch (error: any) {\r\n toast.error(error);\r\n }\r\n };\r\n\r\n if (!data) trackPromise(getData());\r\n }, []);\r\n\r\n return data;\r\n};\r\n\r\nexport default useData;\r\n","import {ReactNode} from 'react';\r\n\r\nexport type Capture = \"user\" | \"environment\";\r\n\r\nexport type Color =\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"success\"\r\n | \"warning\"\r\n | \"danger\"\r\n | \"info\"\r\n | \"light\"\r\n | \"dark\"\r\n | \"blue\"\r\n | \"azure\"\r\n | \"indigo\"\r\n | \"purple\"\r\n | \"pink\"\r\n | \"red\"\r\n | \"orange\"\r\n | \"yellow\"\r\n | \"lime\"\r\n | \"green\"\r\n | \"teal\"\r\n | \"cyan\";\r\n\r\nexport type InputType =\r\n | \"checkbox\"\r\n | \"color\"\r\n | \"date\"\r\n | \"email\"\r\n | \"file\"\r\n | \"hidden\"\r\n | \"image\"\r\n | \"month\"\r\n | \"number\"\r\n | \"password\"\r\n | \"radio\"\r\n | \"range\"\r\n | \"reset\"\r\n | \"search\"\r\n | \"submit\"\r\n | \"tel\"\r\n | \"text\"\r\n | \"time\"\r\n | \"url\"\r\n | \"week\";\r\n\r\nexport type Size = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\r\nexport type Theme = \"light\" | \"dark\";\r\n\r\nexport type User = {\r\n businessUnit?: SelectOption;\r\n displayName: string;\r\n email: string;\r\n firstName: string;\r\n id: string;\r\n lastName: string;\r\n middleName: string;\r\n phoneNumber: string;\r\n roles: UserRole[];\r\n userName: string;\r\n};\r\n\r\nexport interface SelectOption {\r\n id: number | string;\r\n name: string;\r\n}\r\n\r\nexport interface UserRole {\r\n id: number;\r\n user: User;\r\n role: Role;\r\n}\r\n\r\nexport interface Role {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface TagInfo {\r\n id: number;\r\n color: string;\r\n text: string;\r\n}\r\n\r\nexport type JwtResponse = {\r\n token: string;\r\n refreshToken: string;\r\n success: boolean;\r\n errors: string[];\r\n}\r\nexport type AccordionData = {\r\n title: string;\r\n content: ReactNode;\r\n}\r\nexport class RefreshToken {\r\n public Token: string;\r\n public refreshToken?: string\r\n\r\n public constructor(token: string, refreshToken?: string) {\r\n this.Token = token;\r\n this.refreshToken = refreshToken;\r\n }\r\n};\r\n\r\nexport class AccessToken {\r\n public AppGuid: string;\r\n public AppName: string;\r\n public UserEmail: string;\r\n\r\n public constructor(appGuid: string, appName: string, userEmail: string) {\r\n this.AppGuid = appGuid;\r\n this.AppName = appName;\r\n this.UserEmail = userEmail;\r\n }\r\n};\r\n\r\nexport class UserSecurity {\r\n public email: string;\r\n public userClaimsObjectId: string; \r\n\r\n public constructor(email: string, userClaimsObjectId: string) {\r\n this.email = email;\r\n this.userClaimsObjectId = userClaimsObjectId;\r\n }\r\n}\r\n\r\n\r\n","export default __webpack_public_path__ + \"static/media/Florida_Seal.b8c038d1.png\";","import { FormControlReadOnly, Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport { useData } from \"../../../hooks\";\r\nimport { ApplicationDetails, ApplicationDetailsProps } from \"./ApplicationDetails.types\";\r\nimport \"../../../../css/custom.css\";\r\nimport flSealLogo from \"../../../../img/Florida_Seal.png\"\r\n\r\n\r\n// TODO: Add error handling\r\n\r\nconst ApplicationDetailsPage = (props: ApplicationDetailsProps) => {\r\n const applicationData = useData('Application/'+ props.id);\r\n return applicationData ? (\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 \"Florida\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    PERMIT #
    \r\n
    {applicationData.permitNumber}
    \r\n
    \r\n
    \r\n
    PROPERTY ID
    \r\n
    {applicationData.propertyNumber}
    \r\n
    \r\n
    \r\n
    APPLICANT NAME
    \r\n
    {applicationData.applicantName}
    \r\n
    \r\n
    \r\n
    AGENT NAME
    \r\n
    {applicationData.agentName}
    \r\n
    \r\n
    \r\n
    SUBDIVISION
    \r\n
    \r\n {applicationData.subDivision}\r\n
    \r\n
    \r\n
    \r\n
    LOT
    \r\n
    {applicationData.lot}
    \r\n
    \r\n
    \r\n
    BLOCK
    \r\n
    \r\n {applicationData.block}\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 null;\r\n};\r\n\r\nexport default ApplicationDetailsPage;","import { trackPromise } from \"react-promise-tracker\";\r\nimport { toast } from \"react-toastify\";\r\nimport useInspectionClient from \"./useInspectionClient\";\r\n\r\ntype ActionMethod = \"post\" | \"put\" | \"delete\";\r\n\r\nexport type ApiResponse = {\r\n id: number | string;\r\n};\r\n\r\nexport const useSubmitForm = (\r\n endpoint: string,\r\n callback: (response: ApiResponse) => void,\r\n action: ActionMethod = \"post\",\r\n validation?: (data: T) => boolean,\r\n) => {\r\n const client = useInspectionClient();\r\n const request = client.api(endpoint);\r\n\r\n const submit = async (data: T) => {\r\n // let okToSubmit = true;\r\n let response;\r\n\r\n // // If validation function provided, call it.\r\n // if (validation) {\r\n // okToSubmit = validation(data);\r\n // }\r\n\r\n // if (okToSubmit) {\r\n try {\r\n // Send request to API.\r\n switch (action) {\r\n case \"post\":\r\n response = await trackPromise(request.post(data as FormData));\r\n break;\r\n case \"put\":\r\n response = await trackPromise(request.put(data as FormData));\r\n break;\r\n case \"delete\":\r\n response = await trackPromise(request.delete(data ?? {}));\r\n break;\r\n }\r\n\r\n // Redirect to AddContact page if successful.\r\n if (response.ok) callback(response.data);\r\n } catch (error: any) {\r\n toast.error(error.message);\r\n }\r\n // }\r\n };\r\n\r\n return submit;\r\n};\r\n\r\nexport default useSubmitForm;\r\n","export class Constants {\r\n public static readonly In_Compliance = 1;\r\n public static readonly Not_Applicable = 2;\r\n public static readonly Out_of_Compliance = 3;\r\n public static readonly Unobserved = 4;\r\n }\r\n\r\n export class InspectionStatus {\r\n public static readonly Incomplete = 1;\r\n public static readonly Complete = 2;\r\n }","import * as yup from \"yup\";\r\n\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\nexport type SetBacksInspectionFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n values?: SetBacksInspectionInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\nexport type SetBacksInspectionInput = {\r\n\r\n setBackId: number\r\n applicationId: number;\r\n applicationInspectionId: number;\r\n surfaceWaterComplianceId: number;\r\n surfaceWaterCompliance?: ComplianceOptions;\r\n surfaceWaterComment: string;\r\n surfaceWater: string;\r\n ditchesComplianceId: number;\r\n ditchesCompliance?: ComplianceOptions;\r\n ditchesComment: string;\r\n ditches: string;\r\n privateWellsComplianceId: number;\r\n privateWellsCompliance?: ComplianceOptions;\r\n privateWellsComment: string;\r\n privateWells: string;\r\n publicWellsComplianceId: number;\r\n publicWellsCompliance?: ComplianceOptions;\r\n publicWellsComment: string;\r\n publicWells: string;\r\n irrigationWellsComplianceId: number;\r\n irrigationWellsCompliance?: ComplianceOptions;\r\n irrigationWellsComment: string;\r\n irrigationWells: string;\r\n portableWaterLinesComplianceId: number;\r\n portableWaterLinesCompliance?: ComplianceOptions;\r\n portableWaterLinesComment: string;\r\n portableWaterLines: string;\r\n sleevedSealed: boolean;\r\n buildingFoundationComplianceId: number;\r\n buildingFoundationCompliance?: ComplianceOptions;\r\n buildingFoundationComment: string;\r\n buildingFoundation: string;\r\n propertyLinesComplianceId: number;\r\n propertyLinesCompliance?: ComplianceOptions;\r\n propertyLinesComment: string;\r\n propertyLines: string;\r\n otherComplianceId: number;\r\n otherCompliance?: ComplianceOptions;\r\n otherComment: string;\r\n otherDescription: string;\r\n otherSetback: string;\r\n dateCreated: Date | string;\r\n createdBy: string;\r\n dateUpdated: Date | string;\r\n updatedBy: string;\r\n markAll: number;\r\n inspectionStatusId: number;\r\n\r\n};\r\nexport type ComplianceData = {\r\n id: number;\r\n name: string;\r\n\r\n};\r\n\r\nexport const schema = yup.object().shape({\r\n\r\n surfaceWaterComplianceId: yup\r\n .number()\r\n .min(1, \"Surface Water Compliance is required\")\r\n .required(\"Surface Water Compliance is required\")\r\n .typeError(\"Surface Water Compliance is required\"),\r\n surfaceWater: yup.string().nullable(true)\r\n .when(\"surfaceWaterComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .required(\"Surface Water(ft) is required\")\r\n .typeError(\"Surface Water(ft) should be numeric\"),\r\n }),\r\n surfaceWaterComment: yup.string().nullable(true)\r\n .when(\"surfaceWaterComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Surface Water Comment is required\")\r\n .typeError(\"Surface Water Comment is required\"),\r\n }),\r\n ditchesComplianceId: yup\r\n .number()\r\n .min(1, \"Ditches Compliance is required\")\r\n .required(\"Ditches Compliance is required\")\r\n .typeError(\"Ditches Compliance is required\"),\r\n ditches: yup.string().nullable(true)\r\n .when(\"ditchesComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .typeError(\"Ditches(ft) should be numeric\")\r\n .required(\"Ditches(ft) is required\"),\r\n }),\r\n ditchesComment: yup.string().nullable(true)\r\n .when(\"ditchesComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Ditches Comment is required\")\r\n .typeError(\"Ditches Comment is required\"),\r\n }),\r\n privateWellsComplianceId: yup\r\n .number()\r\n .min(1, \"Private Wells Compliance is required\")\r\n .required(\"Private Wells Compliance is required\")\r\n .typeError(\"Private Wells Compliance is required\"),\r\n privateWells: yup.string().nullable(true)\r\n .when(\"privateWellsComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .typeError(\"Private Wells(ft) should be numeric\")\r\n .required(\"Private Wells(ft) is required\"),\r\n }),\r\n privateWellsComment: yup.string().nullable(true)\r\n .when(\"privateWellsComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Private Wells Comment is required\")\r\n .typeError(\"Private Wells Comment is required\"),\r\n\r\n }),\r\n publicWellsComplianceId: yup\r\n .number()\r\n .min(1, \"Public Wells Compliance is required\")\r\n .required(\"Public Wells Compliance is required\")\r\n .typeError(\"Public Wells Compliance is required\"),\r\n publicWells: yup.string().nullable(true)\r\n .when(\"publicWellsComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .typeError(\"Public Wells(ft) should be numeric\")\r\n .required(\"Public Wells(ft) is required\"),\r\n }),\r\n publicWellsComment: yup.string().nullable(true)\r\n .when(\"publicWellsComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Public Wells Comment is required\")\r\n .typeError(\"Public Wells Comment is required\"),\r\n }),\r\n\r\n\r\n irrigationWellsComplianceId: yup\r\n .number()\r\n .min(1, \"Irrigation Wells Compliance is required\")\r\n .required(\"Irrigation Wells Compliance is required\")\r\n .typeError(\"Irrigation Wells Compliance is required\"),\r\n irrigationWells: yup.string().nullable(true)\r\n .when(\"irrigationWellsComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .typeError(\"Irrigation Wells(ft) should be numeric\")\r\n .required(\"Irrigation Wells(ft) is required\"),\r\n }),\r\n irrigationWellsComment: yup.string().nullable(true)\r\n .when(\"irrigationWellsComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Irrigation Wells Comment is required\")\r\n .typeError(\"Irrigation Wells Comment is required\"),\r\n }),\r\n portableWaterLinesComplianceId: yup\r\n .number()\r\n .min(1, \"Potable Water Lines Compliance is required\")\r\n .required(\"Potable Water Lines Compliance is required\")\r\n .typeError(\"Potable Water Lines Compliance is required\"),\r\n portableWaterLines: yup.string().nullable(true)\r\n .when(\"portableWaterLinesComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .typeError(\"Potable Water Lines(ft) should be numeric\")\r\n .required(\"Potable Water Lines(ft) is required\"),\r\n }),\r\n portableWaterLinesComment: yup.string().nullable(true)\r\n .when(\"portableWaterLinesComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Potable Water Lines Comment is required\")\r\n .typeError(\"Potable Water Lines Comment is required\"),\r\n }),\r\n buildingFoundationComplianceId: yup\r\n .number()\r\n .min(1, \"Building Foundation Compliance is required\")\r\n .required(\"Building Foundation Compliance is required\")\r\n .typeError(\"Building Foundation Compliance is required\"),\r\n buildingFoundation: yup.string().nullable(true)\r\n .when(\"buildingFoundationComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .typeError(\"Building Foundation(ft) should be numeric\")\r\n .required(\"Building Foundation(ft) is required\")\r\n }),\r\n buildingFoundationComment: yup.string().nullable(true)\r\n .when(\"buildingFoundationComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Building Foundation Comment is required\")\r\n .typeError(\"Building Foundation Comment is required\"),\r\n }),\r\n propertyLinesComplianceId: yup\r\n .number()\r\n .min(1, \"Property Lines Compliance is required\")\r\n .required(\"Property Lines Compliance is required\")\r\n .typeError(\"Property Lines Compliance is required\"),\r\n propertyLines: yup.string().nullable(true)\r\n .when(\"propertyLinesComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.string()\r\n .typeError(\"Property Lines(ft) should be numeric\")\r\n .required(\"Property Lines(ft) is required\")\r\n }),\r\n propertyLinesComment: yup.string()\r\n .nullable(true)\r\n .when(\"propertyLinesComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Property Lines Comment is required\")\r\n .typeError(\"Property Lines Comment is required\"),\r\n }),\r\n otherComplianceId: yup\r\n .number()\r\n .min(1, \"Other Compliance is required\")\r\n .required(\"Other Compliance is required\")\r\n .typeError(\"Other Compliance is required\"),\r\n\r\n});\r\n\r\n","import React, { useRef } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link, useLocation } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { SetBacksInspectionInput, schema, SetBacksInspectionFormProps, ComplianceData } from \"./SetBacksInspectionForm.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n// import { usePrettyPrintedState } from './usePrettyPrintedState'\r\n\r\n\r\nexport const SetBacksInspectionForm = (props: SetBacksInspectionFormProps) => {\r\n const history = useHistory();\r\n const path = usePath();\r\n const complianceData = useData(\"Compliance\") || [];\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n defaultValues: props.values,\r\n resolver: yupResolver(schema),\r\n \r\n });\r\n function timeout(delay: number) {\r\n return new Promise( res => setTimeout(res, delay) );\r\n }\r\n const inspectionStatusData = useData(\"inspectionDetails/\" + props.applicationInspectionId);\r\n const formRef = useRef(null) ;\r\n const onSubmit = useSubmitForm(\r\n 'setBacks',\r\n async (response) => {\r\n toast.success(\"Setbacks saved Successfully\");\r\n await timeout(2000);\r\n let inspectionStatus = watch(\"inspectionStatusId\");\r\n if(inspectionStatus == InspectionStatus.Complete){\r\n if(inspectionStatusData?.filledMoundSystemInspectionId == null \r\n || inspectionStatusData?.filledMoundSystemInspectionId == undefined){\r\n history.push({\r\n pathname: \"/filledMoundSystem/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n else {\r\n history.push({\r\n pathname: \"/filledMoundSystem/\"+ inspectionStatusData?.filledMoundSystemId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n }\r\n else if (inspectionStatus == InspectionStatus.Incomplete){\r\n history.push(`/inspectionDetails/${inspectionStatusData?.applicationInspectionId}`) ;\r\n }\r\n \r\n \r\n },\r\n props.action\r\n );\r\n const submit = async () => {\r\n setValue('applicationInspectionId', props.applicationInspectionId ? props.applicationInspectionId : 0);\r\n if(inspectionStatusData?.setBackInspectionId == null \r\n || inspectionStatusData?.setBackInspectionId == undefined){\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n }\r\n else {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n }\r\n \r\n\t\tif (formRef.current) {\r\n \r\n\t\t\tformRef.current.dispatchEvent(\r\n\t\t\t\tnew Event('submit', { cancelable: true, bubbles: true })\r\n\t\t\t);\r\n \r\n\t\t}\r\n }\r\n\r\n \r\n \r\n let showSurfaceWaterComment = watch(\"surfaceWaterComplianceId\");\r\n let showDitchesComment = watch(\"ditchesComplianceId\");\r\n let showPrivateWellsComment = watch(\"privateWellsComplianceId\");\r\n let showPublicWellsComment = watch(\"publicWellsComplianceId\");\r\n let showIrrigationWellsComment = watch(\"irrigationWellsComplianceId\");\r\n let showPortableWtaerLinesComment = watch(\"portableWaterLinesComplianceId\");\r\n let showBuildingFoundationComment = watch(\"buildingFoundationComplianceId\");\r\n let showPropertyLinesComment = watch(\"propertyLinesComplianceId\");\r\n let showOthersDescription = watch(\"otherComplianceId\");\r\n\r\n let markAllCompliance = watch(\"markAll\");\r\n\r\n const h1Styles: CSS.Properties = {\r\n float: \"right\",\r\n marginTop: '27px'\r\n };\r\n const markClick = (e: any) => {\r\n //showSerfaceWaterComment = markAllCompliance;\r\n setValue('surfaceWaterComplianceId', markAllCompliance);\r\n setValue('ditchesComplianceId', markAllCompliance);\r\n setValue('privateWellsComplianceId', markAllCompliance);\r\n setValue('publicWellsComplianceId', markAllCompliance);\r\n setValue('irrigationWellsComplianceId', markAllCompliance);\r\n setValue('portableWaterLinesComplianceId', markAllCompliance);\r\n setValue('buildingFoundationComplianceId', markAllCompliance);\r\n setValue('propertyLinesComplianceId', markAllCompliance);\r\n setValue('otherComplianceId', markAllCompliance);\r\n \r\n e.preventDefault();\r\n };\r\n \r\n \r\n return (\r\n \r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Setbacks\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 {props.title}\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 {showSurfaceWaterComment &&\r\n showSurfaceWaterComment == Constants.Out_of_Compliance && (\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 {showDitchesComment &&\r\n showDitchesComment == Constants.Out_of_Compliance && (\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 {showPrivateWellsComment &&\r\n showPrivateWellsComment == Constants.Out_of_Compliance && (\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 {showPublicWellsComment &&\r\n showPublicWellsComment == Constants.Out_of_Compliance && (\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 {showIrrigationWellsComment &&\r\n showIrrigationWellsComment == Constants.Out_of_Compliance && (\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 {showPortableWtaerLinesComment &&\r\n showPortableWtaerLinesComment == Constants.Out_of_Compliance && (\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 {showBuildingFoundationComment &&\r\n showBuildingFoundationComment == Constants.Out_of_Compliance && (\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 {showPropertyLinesComment &&\r\n showPropertyLinesComment == Constants.Out_of_Compliance && (\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 e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Incomplete);\r\n submit()\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n Save and Exit\r\n \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SetBacksInspectionForm;\r\n\r\n\r\n\r\n\r\n","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport { useRef } from \"react\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport SetBacksInspectionForm from \"../Components/SetBacksInspectionForm\";\r\nimport { SetBacksInspectionInput } from \"../Components/SetBacksInspectionForm.types\";\r\n\r\n\r\n// TODO: Add error handling\r\n\r\n\r\nconst CreateSetBacksPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n\r\n return applicationId ? (\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 CreateSetBacksPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { Context, useContext, useRef } from \"react\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport { useData } from \"../../hooks\";\r\nimport SetBacksInspectionForm from \"../Components/SetBacksInspectionForm\";\r\nimport { SetBacksInspectionInput } from \"../Components/SetBacksInspectionForm.types\";\r\n\r\n// TODO: Add error handling\r\n\r\n\r\n\r\nconst EditSetBacksPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n const path = usePath();\r\n const editData = useData(path.current);\r\n return editData && applicationId ? (\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\nexport default EditSetBacksPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport InspectionHomePage from \"../InspectionHome/InspectionHome\";\r\nimport CreateSetBacksPage from \"./CreateSetBacksForm\";\r\nimport EditSetBacksPage from \"./EditSetBacksInspectionForm\";\r\nimport HomePage from \"../Home/Home\";\r\n\r\nexport const SetBacksInspectionModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default SetBacksInspectionModule;\r\n","import * as yup from \"yup\";\r\nimport React, { useRef } from \"react\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\n\r\nexport type DrainFieldInstallationInspectionFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n values?: DrainFieldInstallationInspectionInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\nexport type DrainFieldInstallationInspectionInput = {\r\n drainfieldInstallationId: number;\r\n applicationId: number;\r\n applicationInspectionId: number;\r\n areaComplianceId: number;\r\n areaCompliance?: ComplianceOptions\r\n areaComment: string;\r\n area1: number;\r\n area2?: number;\r\n configuration: string;\r\n distributionComplianceId: number;\r\n distributionCompliance?: ComplianceOptions;\r\n distributionComment: string;\r\n distribution: string;\r\n numberOfDrainlinesComplianceId: number;\r\n numberOfDrainlinesCompliance?: ComplianceOptions;\r\n numberOfDrainlinesComment: string;\r\n numberOfDrainline1: number;\r\n numberOfDrainline2: number;\r\n drainlineSeparationComplianceId: number;\r\n drainlineSeparationCompliance?: ComplianceOptions;\r\n drainlineSeparationComment: string;\r\n drainlineSlopeComplianceId: number;\r\n drainlineSlopeCompliance?: ComplianceOptions;\r\n drainlineSlopeComment: string;\r\n depthOfCoverComplianceId: number;\r\n depthOfCoverCompliance?: ComplianceOptions;\r\n depthOfCoverComment: string;\r\n elevationComplianceId: number;\r\n elevationCompliance?: ComplianceOptions;\r\n elevationComment: string;\r\n elevation1: string;\r\n elevation2: number;\r\n systemLocationComplianceId: number;\r\n systemLocationCompliance?: ComplianceOptions;\r\n systemLocationComment: string;\r\n dosingPumpComplianceId: number;\r\n dosingPumpCompliance?: ComplianceOptions;\r\n dosingPumpComment: string;\r\n dosingPump: number;\r\n aggregateSizeComplianceId: number;\r\n aggregateSizeCompliance?: ComplianceOptions;\r\n aggregateSizeComment: string;\r\n aggregateExcessiveComplianceId: number;\r\n aggregateExcessiveCompliance?: ComplianceOptions;\r\n aggregateExcessiveComment: string;\r\n aggregateDepthComplianceId: number;\r\n aggregateDepthCompliance?: ComplianceOptions;\r\n aggregateDepthComment: string;\r\n dateCreated: Date|string;\r\n createdBy: string;\r\n dateUpdated: Date;\r\n updatedBy: string;\r\n inspectionStatusId: number;\r\n distributionBoxOrHeader:string;\r\n elevationBenchmark: string\r\n drainlineSeparationBedOrTrench:string;\r\n markAll: number;\r\n};\r\nexport type ComplianceData = {\r\n id: number;\r\n name: string;\r\n\r\n};\r\n\r\n\r\nexport const schema = yup.object().shape({\r\n \r\n areaComplianceId: yup\r\n .number()\r\n .min(1, \"Drainfield Area Compliance is required\")\r\n .required(\"Drainfield Area Compliance is required\")\r\n .typeError(\"Drainfield Area Compliance is required\"),\r\n \r\n area1:\r\n yup.number().nullable(true).transform((value) => Number.isNaN(value)?null:value)\r\n .when(\"areaComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Drainfield Area 1 is required\")\r\n .required(\"Drainfield Area 1 is required\")\r\n .typeError(\"Drainfield Area 1 should be numeric\")\r\n}),\r\n\r\n area2:\r\n yup.number().nullable(true)\r\n .min(1,\"Drainfield Area 2 should be numeric\")\r\n .typeError(\"Drainfield Area 2 should be numeric\")\r\n // .moreThan(0,\"Drainfield Area 2 should be numeric &\")\r\n .transform((value) => Number.isNaN(value)?null:value),\r\n \r\n numberOfDrainline1:\r\n yup.number()\r\n .transform((value) => Number.isNaN(value)?null:value).nullable()\r\n .when(\"area1\",{\r\n is:(val:any) => typeof val == \"number\" && val > 0,\r\n then: \r\n yup.number().nullable(true)\r\n .when(\"numberOfDrainlinesComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Numberofdrainline 1 is required\")\r\n .required(\"Numberofdrainline 1 is required\") \r\n .typeError(\"Numberofdrainline 1 should be numeric\"),})\r\n }),\r\n numberOfDrainline2:\r\n yup.number()\r\n .transform((value) => Number.isNaN(value)?null:value).nullable()\r\n .when(\"area2\",{\r\n is:(val:any) => typeof val == \"number\" && val > 0,\r\n then: \r\n yup.number().nullable(true)\r\n .when(\"numberOfDrainlinesComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Numberofdrainline 2 is required\")\r\n .required(\"Numberofdrainline 2 is required\") \r\n .typeError(\"Numberofdrainline 2 should be numeric\"),\r\n }),\r\n }),\r\n// area1: yup.string()\r\n// .when('area2', {\r\n// is: (val:any) => !val || val.length === 0,\r\n// then: yup.string().min(1, \"Drainfield Area 1 is required\").required(\"Drainfield Area 1 is required\"),\r\n// otherwise: yup.string()\r\n// }),\r\n// area2: yup.string()\r\n// .when('area1', {\r\n// is: (email:any) => !email || email.length === 0,\r\n// then: yup.string().required(\"Drainfield Area 2 is required\"),\r\n// otherwise: yup.string()\r\n// }),\r\n \r\n// numberOfDrainline1:\r\n// yup.number()\r\n// .transform((value) => Number.isNaN(value)?null:value).nullable()\r\n// .when(\"area1\",{\r\n// is:(val:any) => val != null && val.length !== 0,\r\n// then: \r\n// yup.number()\r\n// .min(1, \"Numberofdrainline 1 is required\")\r\n// .required(\"Numberofdrainline 1 is required\") \r\n// .typeError(\"Numberofdrainline 1 should be numeric\"),\r\n// }),\r\n// numberOfDrainline2:\r\n// yup.number()\r\n// .transform((value) => Number.isNaN(value)?null:value).nullable()\r\n// .when(\"area2\",{\r\n// is:(val:any) => val != null && val.length !== 0,\r\n// then: \r\n// yup.number()\r\n// .min(1, \"Numberofdrainline 2 is required\")\r\n// .required(\"Numberofdrainline 2 is required\") \r\n// .typeError(\"Numberofdrainline 2 should be numeric\"),\r\n// }),\r\n distributionComplianceId: yup\r\n .number()\r\n .min(1, \"Distribution Box Compliance is required\")\r\n .required(\"Distribution Box Compliance is required\")\r\n .typeError(\"Distribution Box Compliance is required\"),\r\n\r\n distributionBoxOrHeader: yup.number().nullable(true)\r\n .when(\"distributionComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Box or Header is required\")\r\n .required(\"Box or Header is required\")\r\n .typeError(\"Box or Header is required\")\r\n }),\r\n ditributionComment: yup.string().nullable(true)\r\n .when(\"ditributionComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Distribution Comment is required\")\r\n .typeError(\"Distribution Comment is required\"),\r\n }),\r\n\r\n numberOfDrainlinesComplianceId: yup\r\n .number()\r\n .min(1, \"Number of Drainlines Compliance is required\")\r\n .required(\"Number of Drainlines Compliance is required\")\r\n .typeError(\"Number of Drainlines Compliance is required\"),\r\n\r\n numberOfDrainlinesComment: yup.string().nullable(true)\r\n .when(\"numberOfDrainlinesComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"NumberOfDrainlines Comment is required\")\r\n .typeError(\"NumberOfDrainlines Comment is required\"),\r\n }),\r\n\r\n drainlineSeparationComplianceId: yup\r\n .number()\r\n .min(1, \"DrainlineSeparation Compliance is required\")\r\n .required(\"DrainlineSeparation Compliance is required\")\r\n .typeError(\"DrainlineSeparation Compliance is required\"),\r\n \r\n drainlineSeparationBedOrTrench: yup.number().nullable(true)\r\n .when(\"drainlineSeparationComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Bed or Trench is required\")\r\n .required(\"Bed or Trench is required\")\r\n .typeError(\"Bed or Trench is required\")\r\n }),\r\n drainlineSeparationComment: yup.string().nullable(true)\r\n .when(\"drainlineSeparationComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"DrainlineSeparation Comment is required\")\r\n .typeError(\"DrainlineSeparation Comment is required\"),\r\n }),\r\n\r\n drainlineSlopeComplianceId: yup\r\n .number()\r\n .min(1, \"DrainlineSlope Compliance is required\")\r\n .required(\"DrainlineSlope Compliance is required\")\r\n .typeError(\"DrainlineSlope Compliance is required\"),\r\n drainlineSlopeComment: yup.string().nullable(true)\r\n .when(\"drainlineSlopeComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"DrainlineSlope Comment is required\")\r\n .typeError(\"DrainlineSlope Comment is required\"),\r\n }),\r\n\r\n\r\n depthOfCoverComplianceId: yup\r\n .number()\r\n .min(1, \"DepthOfCover Compliance is required\")\r\n .required(\"DepthOfCover Compliance is required\")\r\n .typeError(\"DepthOfCover Compliance is required\"),\r\n depthOfCoverComment: yup.string().nullable(true)\r\n .when(\"depthOfCoverComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"DepthOfCover Comment is required\")\r\n .typeError(\"DepthOfCover Comment is required\"),\r\n }),\r\n\r\n\r\n elevationComplianceId: yup\r\n .number()\r\n .min(1, \"Elevation Compliance is required\")\r\n .required(\"Elevation Compliance is required\")\r\n .typeError(\"Elevation Compliance is required\"),\r\n elevation1: yup.number().nullable(true) .transform((value) => Number.isNaN(value)?null:value).nullable()\r\n .when(\"elevationComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(0, \"Elevation (inches) is required\")\r\n .required(\"Elevation (inches) is required\") \r\n .typeError(\"Elevation (inches) should be numeric\"),\r\n }),\r\n elevationBenchmark: yup.number().nullable(true)\r\n .when(\"elevationComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Above or below benchmark is required\")\r\n .required(\"Above or below benchmark is required\")\r\n .typeError(\"Above or below benchmark is required\"),\r\n }),\r\n elevationComment: yup.string().nullable(true)\r\n .when(\"elevationComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Elevation Comment is required\")\r\n .typeError(\"Elevation Comment is required\"),\r\n }),\r\n\r\n\r\n systemLocationComplianceId: yup\r\n .number()\r\n .min(1, \"Drainfield Location Compliance is required\")\r\n .required(\"Drainfield Location Compliance is required\")\r\n .typeError(\"Drainfield Location Compliance is required\"),\r\n systemLocationComment: yup.string().nullable(true)\r\n .when(\"systemLocationComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"System Location Comment is required\")\r\n .typeError(\"System Location Comment is required\"),\r\n }),\r\n\r\n\r\n dosingPumpComplianceId: yup\r\n .number()\r\n .min(1, \"DosingPump Compliance is required\")\r\n .required(\"DosingPump Compliance is required\")\r\n .typeError(\"DosingPump Compliance is required\"),\r\n dosingPump:yup.number().nullable(true) .transform((value) => Number.isNaN(value)?null:value).nullable()\r\n .when(\"dosingPumpComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then: yup.number()\r\n .min(1, \"Number of Dosing Pumps is required\")\r\n .required(\"Number of Dosing Pumps is required\") \r\n .typeError(\"Number of Dosing Pumps should be numeric\"),\r\n }),\r\n \r\n dosingPumpComment: yup.string().nullable(true)\r\n .when(\"dosingPumpComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Dosing Pump Comment is required\")\r\n .typeError(\"Dosing Pump Comment is required\"),\r\n }),\r\n\r\n\r\n aggregateSizeComplianceId: yup\r\n .number()\r\n .min(1, \"AggregateSize Compliance is required\")\r\n .required(\"AggregateSize Compliance is required\")\r\n .typeError(\"AggregateSize Compliance is required\"),\r\n aggregateSizeComment: yup.string().nullable(true)\r\n .when(\"aggregateSizeComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Aggregate Size Comment is required\")\r\n .typeError(\"Aggregate Size Comment is required\"),\r\n }),\r\n\r\n\r\n aggregateExcessiveComplianceId: yup\r\n .number()\r\n .min(1, \"AggregateExcessive Compliance is required\")\r\n .required(\"AggregateExcessive Compliance is required\")\r\n .typeError(\"AggregateExcessive Compliance is required\"),\r\n aggregateExcessiveComment: yup.string().nullable(true)\r\n .when(\"aggregateExcessiveComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Drainfield Excessive Comment is required\")\r\n .typeError(\"Drainfield Excessive Comment is required\"),\r\n }),\r\n\r\n\r\n aggregateDepthComplianceId: yup\r\n .number()\r\n .min(1, \"AggregateDepth Compliance is required\")\r\n .required(\"AggregateDepth Compliance is required\")\r\n .typeError(\"AggregateDepth Compliance is required\"),\r\n aggregateDepthComment: yup.string().nullable(true)\r\n .when(\"aggregateDepthComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Aggregate Depth Comment is required\")\r\n .typeError(\"Aggregate Depth Comment is required\"),\r\n }),\r\n \r\n \r\n});\r\n","import React, { useRef } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link, useLocation } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { DrainFieldInstallationInspectionInput, schema, DrainFieldInstallationInspectionFormProps, ComplianceData } from \"./DrainFieldInstallationInspectionForm.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { constants } from \"buffer\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\nimport { number } from \"yup\";\r\n// import { usePrettyPrintedState } from './usePrettyPrintedState'\r\n\r\n\r\nexport const DrainfieldInstallationInspectionForm = (props: DrainFieldInstallationInspectionFormProps) => {\r\n const history = useHistory();\r\n const path = usePath();\r\n const complianceData = useData(\"Compliance\") || [];\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n \r\n const user = useProfile(application) as UserSecurityInput;\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n defaultValues: props.values,\r\n resolver: yupResolver(schema),\r\n \r\n });\r\n const inspectionStatusData = useData(\"inspectionDetails/\" + props.applicationInspectionId);\r\n const formRef = useRef(null);\r\n\r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n\r\n const businessUnits = [{\r\n id: 0,\r\n name: \"Select D-box or header\"\r\n },\r\n {\r\n id: 1,\r\n name: \"D-Box\"\r\n },\r\n {\r\n id: 2,\r\n name: \"Header\"\r\n }];\r\n const businessUnits1 = [\r\n {\r\n id: 0,\r\n name: \"Select above or below\"\r\n },\r\n {\r\n id: 1,\r\n name: \"Above\"\r\n },\r\n {\r\n id: 2,\r\n name: \"Below\"\r\n }];\r\n\r\n const businessUnits2 = [\r\n {\r\n id: 0,\r\n name: \"Select bed or trench\"\r\n },\r\n {\r\n id: 1,\r\n name: \"Bed\"\r\n },\r\n {\r\n id: 2,\r\n name: \"Trench\"\r\n }];\r\n\r\n const onSubmit = useSubmitForm(\r\n 'drainfieldInstallation',\r\n async (response) => {\r\n toast.success(\"Drainfield Installation Saved Successfully\");\r\n await timeout(2000);\r\n let inspectionStatus = watch(\"inspectionStatusId\");\r\n if(inspectionStatus == InspectionStatus.Complete){\r\n if(inspectionStatusData?.fillExcavationMaterialInspectionId == null \r\n || inspectionStatusData?.fillExcavationMaterialInspectionId == undefined){\r\n history.push({\r\n pathname: \"/fillExcavationMaterial/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n else {\r\n history.push({\r\n pathname: \"/fillExcavationMaterial/\"+ inspectionStatusData?.fillExcavationMaterialId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n }\r\n else if (inspectionStatus == InspectionStatus.Incomplete){\r\n history.push(`/inspectionDetails/${inspectionStatusData?.applicationInspectionId}`) ;\r\n }\r\n },\r\n props.action\r\n );\r\n\r\n const submit = () => {\r\n setValue('applicationId', props.applicationId ? props.applicationId : 0);\r\n setValue('applicationInspectionId', props.applicationInspectionId ? props.applicationInspectionId : 0);\r\n if(inspectionStatusData?.drainfieldInstallationInspectionId == null \r\n || inspectionStatusData?.drainfieldInstallationInspectionId == undefined){\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n }\r\n else {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n }\r\n if (formRef.current) {\r\n\r\n formRef.current.dispatchEvent(\r\n new Event('submit', { cancelable: true, bubbles: true })\r\n );\r\n\r\n }\r\n }\r\n\r\n\r\n let showAreaComment = watch(\"areaComplianceId\");\r\n let showDitributionComment = watch(\"distributionComplianceId\");\r\n let showNumberOfDrainlinesComment = watch(\"numberOfDrainlinesComplianceId\");\r\n let showDrainlineSeparationComment = watch(\"drainlineSeparationComplianceId\");\r\n let showDrainlineSlopeComment = watch(\"drainlineSlopeComplianceId\");\r\n let showDepthOfCoverComment = watch(\"depthOfCoverComplianceId\");\r\n let showElevationComment = watch(\"elevationComplianceId\");\r\n let showSystemLocationComment = watch(\"systemLocationComplianceId\");\r\n let showDosingPumpComment = watch(\"dosingPumpComplianceId\");\r\n let showAggregateSizeComment = watch(\"aggregateSizeComplianceId\");\r\n let showAggregateExcessiveComment = watch(\"aggregateExcessiveComplianceId\");\r\n let showAggregateDepthComment = watch(\"aggregateDepthComplianceId\");\r\n let showDrainLineArea1 = watch(\"area1\");\r\n let showDrainLineArea2 = watch(\"area2\");\r\n let markAllCompliance = watch(\"markAll\");\r\n\r\n const h1Styles: CSS.Properties = {\r\n float: \"right\",\r\n marginTop: '27px'\r\n };\r\n const markClick = (e: any) => {\r\n //showSerfaceWaterComment = markAllCompliance;\r\n setValue('areaComplianceId', markAllCompliance);\r\n setValue('distributionComplianceId', markAllCompliance);\r\n setValue('numberOfDrainlinesComplianceId', markAllCompliance);\r\n setValue('drainlineSeparationComplianceId', markAllCompliance);\r\n setValue('drainlineSlopeComplianceId', markAllCompliance);\r\n setValue('depthOfCoverComplianceId', markAllCompliance);\r\n setValue('elevationComplianceId', markAllCompliance);\r\n setValue('systemLocationComplianceId', markAllCompliance);\r\n setValue('dosingPumpComplianceId', markAllCompliance);\r\n setValue('aggregateSizeComplianceId', markAllCompliance);\r\n setValue('aggregateDepthComplianceId', markAllCompliance);\r\n setValue('aggregateExcessiveComplianceId', markAllCompliance);\r\n \r\n\r\n e.preventDefault();\r\n };\r\n\r\n return (\r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Drainfield Installation\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 {props.title}\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 {showAreaComment &&\r\n showAreaComment == Constants.Out_of_Compliance && (\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 {showDitributionComment &&\r\n showDitributionComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n 0} \r\n required= {showNumberOfDrainlinesComment != Constants.Not_Applicable && showNumberOfDrainlinesComment !=Constants.Unobserved && showDrainLineArea1 > 0} \r\n \r\n \r\n />\r\n
    \r\n
    \r\n 0}\r\n />\r\n
    \r\n
    \r\n {showNumberOfDrainlinesComment &&\r\n showNumberOfDrainlinesComment == Constants.Out_of_Compliance && (\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 {showDrainlineSeparationComment &&\r\n showDrainlineSeparationComment == Constants.Out_of_Compliance && (\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 {showDrainlineSlopeComment &&\r\n showDrainlineSlopeComment == Constants.Out_of_Compliance && (\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 {showDepthOfCoverComment &&\r\n showDepthOfCoverComment == Constants.Out_of_Compliance && (\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 {showElevationComment &&\r\n showElevationComment == Constants.Out_of_Compliance && (\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 {showSystemLocationComment &&\r\n showSystemLocationComment == Constants.Out_of_Compliance && (\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 {showDosingPumpComment &&\r\n showDosingPumpComment == Constants.Out_of_Compliance && (\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 {showAggregateSizeComment &&\r\n showAggregateSizeComment == Constants.Out_of_Compliance && (\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 {showAggregateExcessiveComment &&\r\n showAggregateExcessiveComment == Constants.Out_of_Compliance && (\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 {showAggregateDepthComment &&\r\n showAggregateDepthComment == Constants.Out_of_Compliance && (\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 e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Incomplete);\r\n submit()\r\n }}>\r\n \r\n \r\n \r\n \r\n Save and Exit\r\n \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DrainfieldInstallationInspectionForm;\r\n\r\n\r\n\r\n\r\n","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport { useRef } from \"react\";\r\nimport {useHistory, useLocation } from \"react-router-dom\";\r\nimport DrainfieldInstallationInspectionForm from \"../Components/DrainFieldInstallationInspectionForm\";\r\nimport { DrainFieldInstallationInspectionInput } from \"../Components/DrainFieldInstallationInspectionForm.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\n\r\n\r\n// TODO: Add error handling\r\n\r\nconst CreateDrainfieldInstallationPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n\r\n return applicationId ? (\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 CreateDrainfieldInstallationPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useRef } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useData } from \"../../hooks\";\r\nimport DrainfieldInstallationInspectionForm from \"../Components/DrainFieldInstallationInspectionForm\";\r\nimport { DrainFieldInstallationInspectionInput } from \"../Components/DrainFieldInstallationInspectionForm.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\n\r\n\r\n// TODO: Add error handling\r\n\r\n\r\n\r\nconst EditDrainfieldInstallationPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n const path = usePath();\r\n const editData = useData(path.current); \r\n /* console.log(data);*/\r\n return editData && applicationId ? (\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\nexport default EditDrainfieldInstallationPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport InspectionHomePage from \"../InspectionHome/InspectionHome\";\r\nimport CreateDrainfieldInstallationPage from \"./CreateDrainfieldInstallationInspectionForm\";\r\nimport EditDrainfieldInstallationPage from \"./EditDrainfieldInstallationInspectionForm\";\r\nimport HomePage from \"../Home/Home\";\r\n\r\n\r\nexport const DrainfieldInstallationInspectionModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default DrainfieldInstallationInspectionModule;\r\n","import * as yup from \"yup\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\n\r\nexport type FillExcavationMaterialFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n values?: FillExcavationMaterialInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\nexport type FillExcavationMaterialInput = {\r\n fillExcavationMaterialId: bigint;\r\n applicationId: number;\r\n applicationInspectionId: number;\r\n fillAmountComplianceId: number;\r\n fillAmountComment: string;\r\n fillTextureComplianceId: number;\r\n fillTextureComment: string;\r\n excavationDepthComplianceId: number;\r\n excavationDepthComment: string;\r\n areaReplacedComplianceId: number;\r\n areaReplacedComment: string;\r\n areaReplacedLength: number;\r\n areaReplacedWidth: number;\r\n replacementMaterialComplianceId: number;\r\n replacementMaterialComment: string;\r\n dateCreated: Date|string;\r\n createdBy: string;\r\n dateUpdated: Date;\r\n updatedBy: string;\r\n markAll: number;\r\n inspectionStatusId:number;\r\n areaReplacedCompliance?: ComplianceOptions;\r\n excavationDepthCompliance?: ComplianceOptions;\r\n fillAmountCompliance?: ComplianceOptions;\r\n fillTextureCompliance?: ComplianceOptions;\r\n replacementMaterialCompliance?: ComplianceOptions;\r\n\r\n};\r\nexport type ComplianceData = {\r\n id: string;\r\n name: string;\r\n};\r\n\r\nexport const schema = yup.object().shape({\r\n \r\n fillAmountComplianceId: yup\r\n .number()\r\n .required(\"FillAmountComplianceId is required\")\r\n .typeError(\"FillAmountCompliance is required\"),\r\n fillAmountComment: yup.string().nullable(true)\r\n .when(\"fillAmountComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Fill Amount Comment is required\")\r\n .typeError(\"Fill Amount Comment is required\"),\r\n }),\r\n fillTextureComplianceId: yup\r\n .number()\r\n .required(\"FillTextureComplianceId is required\")\r\n .typeError(\"FillTextureCompliance is required\"),\r\n fillTextureComment: yup.string().nullable(true)\r\n .when(\"fillTextureComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Fill Texture Comment is required\")\r\n .typeError(\"Fill Texture Comment is required\"),\r\n }),\r\n excavationDepthComplianceId: yup\r\n .number()\r\n .required(\"ExcavationDepthComplianceId is required\")\r\n .typeError(\"ExcavationDepthCompliance is required\"),\r\n excavationDepthComment: yup.string().nullable(true)\r\n .when(\"excavationDepthComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Excavation Depth Comment is required\")\r\n .typeError(\"Excavation Depth Comment is required\"),\r\n }),\r\n areaReplacedComplianceId: yup\r\n .number()\r\n .required(\"AreaReplacedComplianceId is required\")\r\n .typeError(\"AreaReplacedCompliance is required\"),\r\n areaReplacedComment: yup.string().nullable(true)\r\n .when(\"areaReplacedComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Area Replaced Comment is required\")\r\n .typeError(\"Area Replaced Comment is required\"),\r\n }),\r\n areaReplacedLength: yup.number().nullable(true).transform((value) => Number.isNaN(value)?null:value)\r\n .when(\"areaReplacedComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Area Replaced Length(ft) is required\")\r\n .required(\"Area Replaced Length(ft) is required\")\r\n .typeError(\"Area Replaced Length(ft) is required\"),\r\n }),\r\n areaReplacedWidth: yup.number().nullable(true).transform((value) => Number.isNaN(value)?null:value)\r\n .when(\"areaReplacedComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Area Replaced Width(ft) is required\")\r\n .required(\"Area Replaced Width(ft) is required\")\r\n .typeError(\"Area Replaced Width(ft) is required\"),\r\n }),\r\n replacementMaterialComplianceId: yup\r\n .number()\r\n .required(\"ReplacementMaterialComplianceId is required\")\r\n .typeError(\"ReplacementMaterialComplianceId is required\"),\r\n replacementMaterialComment: yup.string().nullable(true)\r\n .when(\"replacementMaterialComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Replacement Material Comment is required\")\r\n .typeError(\"Replacement Material Comment is required\"),\r\n }),\r\n });\r\n","import React, { useRef } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { FillExcavationMaterialInput, schema, FillExcavationMaterialFormProps, ComplianceData } from \"./FillExcavationMaterialForm.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n\r\nexport const FillExcavationMaterialForm = (props: FillExcavationMaterialFormProps) => {\r\n const history = useHistory();\r\n const path = usePath();\r\n const complianceData = useData(\"Compliance\") || [];\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: props.values as any,\r\n });\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n const inspectionStatusData = useData(\"inspectionDetails/\" + props.applicationInspectionId);\r\n const formRef = useRef(null);\r\n\r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n \r\n const onSubmit = useSubmitForm(\r\n 'FillExcavationMaterial',\r\n async (response) => {\r\n toast.success(\"Fill Excavation Material Saved Successfully\");\r\n await timeout(2000);\r\n let inspectionStatus = watch(\"inspectionStatusId\");\r\n if(inspectionStatus == InspectionStatus.Complete){\r\n if(inspectionStatusData?.setBackInspectionId == null \r\n || inspectionStatusData?.setBackInspectionId == undefined){\r\n history.push({\r\n pathname: \"/setbacks/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n else {\r\n history.push({\r\n pathname: \"/setbacks/\"+ inspectionStatusData?.setBackId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n \r\n })\r\n }\r\n }\r\n else if (inspectionStatus == InspectionStatus.Incomplete){\r\n history.push(`/inspectionDetails/${inspectionStatusData?.applicationInspectionId}`) ;\r\n }\r\n \r\n\r\n },\r\n props.action\r\n );\r\n\r\n\r\n const submit = () => {\r\n setValue('applicationId', props.applicationId ? props.applicationId : 0);\r\n setValue('applicationInspectionId', props.applicationInspectionId ? props.applicationInspectionId : 0);\r\n if(inspectionStatusData?.fillExcavationMaterialInspectionId == null \r\n || inspectionStatusData?.fillExcavationMaterialInspectionId == undefined){\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n }\r\n else {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n }\r\n if (formRef.current) {\r\n\r\n formRef.current.dispatchEvent(\r\n new Event('submit', { cancelable: true, bubbles: true })\r\n );\r\n\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n let showFillAmountComment = watch(\"fillAmountComplianceId\");\r\n let showFillTextureComment = watch(\"fillTextureComplianceId\");\r\n let showExcavationDepthComment = watch(\"excavationDepthComplianceId\");\r\n let showAreaReplacedComment = watch(\"areaReplacedComplianceId\");\r\n let showReplacementMaterialComment = watch(\"replacementMaterialComplianceId\");\r\n let markAllCompliance = watch(\"markAll\");\r\n\r\n const markClick = (e: any) => {\r\n setValue('fillAmountComplianceId', markAllCompliance);\r\n setValue('fillTextureComplianceId', markAllCompliance);\r\n setValue('excavationDepthComplianceId', markAllCompliance);\r\n setValue('areaReplacedComplianceId', markAllCompliance);\r\n setValue('replacementMaterialComplianceId', markAllCompliance);\r\n \r\n e.preventDefault();\r\n };\r\n\r\n\r\n const h1Styles: CSS.Properties = {\r\n float: \"right\",\r\n marginTop: '27px'\r\n };\r\n const Ctitle: CSS.Properties = {\r\n fontSize: \"32px\",\r\n marginTop: \"20px\",\r\n marginBottom: \"0px\",\r\n color: \"#134076\",\r\n }\r\n const controlInline: CSS.Properties ={\r\n display: \"flex\",\r\n whiteSpace: \"nowrap\"\r\n }\r\n \r\n\r\n return (\r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Fill/Excavation Material\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 {props.title}\r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showFillAmountComment &&\r\n showFillAmountComment == 3 && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showFillTextureComment &&\r\n showFillTextureComment == 3 && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showExcavationDepthComment &&\r\n showExcavationDepthComment == 3 && (\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 {showAreaReplacedComment &&\r\n showAreaReplacedComment == 3 && (\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 {showReplacementMaterialComment &&\r\n showReplacementMaterialComment == 3 && (\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 e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Incomplete);\r\n submit()\r\n\r\n }}> \r\n \r\n \r\n \r\n \r\n Save and Exit\r\n \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default FillExcavationMaterialForm;\r\n","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport FillExcavationMaterialForm from \"../Components/FillExcavationMaterialForm\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\n\r\nconst CreateFillExcavationMaterialPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n return applicationId ? (\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 CreateFillExcavationMaterialPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useData } from \"../../hooks\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport FillExcavationMaterialForm from \"../Components/FillExcavationMaterialForm\";\r\nimport { FillExcavationMaterialInput } from \"../Components/FillExcavationMaterialForm.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\n\r\nconst EditFillExcavationPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n const path = usePath();\r\n const data = useData(path.current);\r\n return data && applicationId ? (\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 EditFillExcavationPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport CreateFillExcavationMaterialPage from \"./CreateFillExcavationMaterialForm\";\r\nimport EditFillExcavationPage from \"./EditFillExcavationMaterialForm\";\r\n\r\nexport const CreateFillExcavationMaterialModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default CreateFillExcavationMaterialModule;\r\n","import { DataTable } from \"@fdoh/health-react\";\r\nimport { Layout, Page, usePath, Card, Button } from \"@fdoh/health-ui-react\";\r\nimport { useData } from \"../../hooks\";\r\nimport { InspectionStatusInput } from \"./InspectionHome.types\";\r\nimport { useEffect, useState, useRef, createContext } from \"react\";\r\nimport http from \"../../../http-common\";\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport useClient from \"../../hooks/useInspectionClient\";\r\nimport { toast } from \"react-toastify\";\r\n\r\n\r\nexport const InspectionHomePage = () => {\r\n const path = usePath();\r\n const history = useHistory();\r\n const client = useClient();\r\n const inspectionStatusData = useData(path.current);\r\n const HideNextButton = !((\r\n inspectionStatusData?.inspectionStatusId == 1 &&\r\n inspectionStatusData?.tankInstallationInspectionId == 2 &&\r\n inspectionStatusData?.drainfieldInstallationInspectionId == 2 &&\r\n inspectionStatusData?.fillExcavationMaterialInspectionId == 2 &&\r\n inspectionStatusData?.setBackInspectionId == 2 &&\r\n inspectionStatusData?.filledMoundSystemInspectionId == 2 &&\r\n inspectionStatusData?.additionalInformationInspectionId == 2 &&\r\n inspectionStatusData?.abandonmentInspectionId == 2) || (inspectionStatusData?.inspectionStatusId == 2 ))\r\n \r\n const deleteInspection = async () => {\r\n if (window.confirm('Are you sure you want to delete?')) {\r\n try {\r\n let endpoint = 'ApplicationInspection/' + inspectionStatusData?.applicationInspectionId;\r\n const response = await client.api(endpoint).delete();\r\n if (response.ok) {\r\n history.push(`/`);\r\n }\r\n } catch (error: any) {\r\n toast.error(error);\r\n }\r\n } \r\n}\r\n const goToTankInstallationPage = () => {\r\n history.push({\r\n pathname: \"/tankInstallation/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToEditTankInstallationPage = () => {\r\n history.push({\r\n pathname: \"/tankInstallation/\" + inspectionStatusData?.tankInstallationId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToDrainFieldInstallationPage = () => {\r\n history.push({\r\n pathname: \"/drainfieldInstallation/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToEditDrainFieldInstallationPage = () => {\r\n history.push({\r\n pathname: \"/drainfieldInstallation/\"+ inspectionStatusData?.drainfieldInstallationId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToFillExcavationMaterialPage = () => {\r\n history.push({\r\n pathname: \"/fillExcavationMaterial/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToEditFillExcavationMaterialPage = () => {\r\n history.push({\r\n pathname: \"/fillExcavationMaterial/\"+ inspectionStatusData?.fillExcavationMaterialId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToSetBacksPage = () => {\r\n history.push({\r\n pathname: \"/setbacks/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToEditSetBacksPage = () => {\r\n history.push({\r\n pathname: \"/setbacks/\"+ inspectionStatusData?.setBackId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n \r\n })\r\n }\r\n const goToFilledMoundSystemPage = () => {\r\n history.push({\r\n pathname: \"/filledMoundSystem/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToEditFilledMoundSystemPage = () => {\r\n history.push({\r\n pathname: \"/filledMoundSystem/\"+ inspectionStatusData?.filledMoundSystemId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToAdditionalInformationPage = () => {\r\n history.push({\r\n pathname: \"/AdditionalInformation/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToEditAdditionalInformationPage = () => {\r\n history.push({\r\n pathname: \"/AdditionalInformation/\"+ inspectionStatusData?.additionalInformationId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToAbandonmentPage = () => {\r\n history.push({\r\n pathname: \"/abandonment/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n const goToEditAbandonmentPage = () => {\r\n history.push({\r\n pathname: \"/abandonment/\"+ inspectionStatusData?.abandonmentId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n /*==============================================================================================================================================*/\r\n const goToSummaryPage = () => {\r\n if (inspectionStatusData?.inspectionStatusId == 2) {\r\n history.push(\r\n {\r\n pathname: \"/summaryView/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n\r\n else if (inspectionStatusData?.inspectionStatusId == 1) {\r\n history.push(\r\n {\r\n pathname: \"/submitInspection/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n\r\n }\r\n /*==============================================================================================================================================*/\r\n const goToSearchPage = () => {\r\n history.push(\"/\")\r\n }\r\n return (\r\n \r\n {inspectionStatusData && ()}\r\n \r\n \r\n \r\n
    \r\n

    Please complete all sections below in order to submit this report.

    \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 Tank Installation\r\n

    \r\n

    Record Tank size, material and other important details.

    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {inspectionStatusData?.tankInstallationInspectionId &&\r\n inspectionStatusData?.tankInstallationInspectionId === InspectionStatus.Complete &&\r\n (<>\r\n \r\n \r\n \r\n Complete\r\n Edit)}\r\n {(inspectionStatusData?.tankInstallationInspectionId === null || inspectionStatusData?.tankInstallationInspectionId === undefined) &&\r\n (<>\r\n
    \r\n Get Started\r\n
    \r\n )}\r\n {inspectionStatusData?.tankInstallationInspectionId &&\r\n (inspectionStatusData?.tankInstallationInspectionId === InspectionStatus.Incomplete) &&\r\n (<>Continue\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 Drainfield Installation\r\n

    \r\n

    Indicate area, slope, number of drainlines and more.

    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {inspectionStatusData?.drainfieldInstallationInspectionId &&\r\n inspectionStatusData?.drainfieldInstallationInspectionId === 2 &&\r\n (<>\r\n \r\n \r\n \r\n Complete\r\n Edit)}\r\n {(inspectionStatusData?.drainfieldInstallationInspectionId === null ||\r\n inspectionStatusData?.drainfieldInstallationInspectionId === undefined) &&\r\n (<>\r\n
    \r\n Get Started\r\n
    \r\n )}\r\n {inspectionStatusData?.drainfieldInstallationInspectionId &&\r\n (inspectionStatusData?.drainfieldInstallationInspectionId === 1) &&\r\n (<>\r\n
    \r\n Continue\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 Fill/Excavation Material\r\n

    \r\n

    Document fill amount, texture, excavation depth.

    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {inspectionStatusData?.fillExcavationMaterialInspectionId &&\r\n inspectionStatusData?.fillExcavationMaterialInspectionId === InspectionStatus.Complete &&\r\n (<>\r\n \r\n \r\n \r\n Complete\r\n Edit)}\r\n {(inspectionStatusData?.fillExcavationMaterialInspectionId === null ||\r\n inspectionStatusData?.fillExcavationMaterialInspectionId === undefined) &&\r\n (<>\r\n
    \r\n Get Started\r\n
    \r\n\r\n )}\r\n {inspectionStatusData?.fillExcavationMaterialInspectionId &&\r\n (inspectionStatusData?.fillExcavationMaterialInspectionId === InspectionStatus.Incomplete) &&\r\n (<>\r\n
    \r\n Continue\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 Setbacks\r\n

    \r\n

    Provide measurements for setbacks on the property.

    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {inspectionStatusData?.setBackInspectionId &&\r\n inspectionStatusData?.setBackInspectionId === InspectionStatus.Complete &&\r\n (<>\r\n \r\n \r\n \r\n Complete\r\n Edit\r\n )}\r\n {(inspectionStatusData?.setBackInspectionId === null ||\r\n inspectionStatusData?.setBackInspectionId === undefined) &&\r\n (<>\r\n
    \r\n Get Started\r\n
    \r\n )}\r\n {inspectionStatusData?.setBackInspectionId &&\r\n (inspectionStatusData?.setBackInspectionId === InspectionStatus.Incomplete) &&\r\n (<>\r\n
    \r\n Continue\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 Filled/Mound System\r\n

    \r\n

    Record stabilization data and slope, shoulder and cover compliance.

    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {inspectionStatusData?.filledMoundSystemInspectionId &&\r\n inspectionStatusData?.filledMoundSystemInspectionId === InspectionStatus.Complete &&\r\n (<>\r\n \r\n \r\n \r\n Complete\r\n Edit)}\r\n {(inspectionStatusData?.filledMoundSystemInspectionId === null ||\r\n inspectionStatusData?.filledMoundSystemInspectionId === undefined) &&\r\n (<>\r\n
    \r\n Get Started\r\n
    \r\n )}\r\n {inspectionStatusData?.filledMoundSystemInspectionId &&\r\n (inspectionStatusData?.filledMoundSystemInspectionId === InspectionStatus.Incomplete) &&\r\n (<>\r\n
    \r\n Continue\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 Additional Information\r\n

    \r\n

    Provide any other details to support compliance.

    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {inspectionStatusData?.additionalInformationInspectionId &&\r\n inspectionStatusData?.additionalInformationInspectionId === InspectionStatus.Complete &&\r\n (<>\r\n \r\n \r\n \r\n Complete\r\n Edit)}\r\n {(inspectionStatusData?.additionalInformationInspectionId === null ||\r\n inspectionStatusData?.additionalInformationInspectionId === undefined) &&\r\n (<>\r\n
    \r\n Get Started\r\n
    \r\n )}\r\n {inspectionStatusData?.additionalInformationInspectionId &&\r\n (inspectionStatusData?.additionalInformationInspectionId === InspectionStatus.Incomplete) &&\r\n (<>\r\n
    \r\n Continue\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 Abandonment\r\n

    \r\n

    Provide details of abandonment.

    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {inspectionStatusData?.abandonmentInspectionId &&\r\n inspectionStatusData?.abandonmentInspectionId === InspectionStatus.Complete &&\r\n (<>\r\n \r\n \r\n \r\n Complete\r\n Edit)}\r\n {(inspectionStatusData?.abandonmentInspectionId === null ||\r\n inspectionStatusData?.abandonmentInspectionId === undefined) &&\r\n (<>\r\n
    \r\n Get Started\r\n
    \r\n )}\r\n {inspectionStatusData?.abandonmentInspectionId &&\r\n (inspectionStatusData?.abandonmentInspectionId === InspectionStatus.Incomplete) &&\r\n (<>\r\n
    \r\n Continue\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 Back to Search\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 InspectionHomePage;\r\n\r\nfunction setValue(arg0: string, arg1: boolean) {\r\n throw new Error(\"Function not implemented.\");\r\n}\r\n","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport InspectionHomePage from \"../InspectionHome/InspectionHome\";\r\nimport HomePage from \"../Home/Home\";\r\n\r\nexport const InspectionModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default InspectionModule;\r\n","import * as yup from \"yup\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\nexport type TankInstallationFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n values?: TankInstallationInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\n\r\nexport type TankInstallationInput = {\r\n tankInstallationId: number\r\n applicationId: number;\r\n applicationInspectionId: number;\r\n tankComplianceId: number;\r\n tankCompliance? : ComplianceOptions\r\n tankSizeComment: string;\r\n tankSize1: number;\r\n tankSize2: number;\r\n tankMaterialComplianceId: number;\r\n tankMaterialCompliance?: ComplianceOptions;\r\n tankMaterialComment: string;\r\n tankMaterialId1: number;\r\n tankMaterialId2: number;\r\n outletDeviceComplianceId: number;\r\n outletDeviceCompliance?: ComplianceOptions;\r\n outletDeviceComment: string;\r\n multiChamberedComplianceId: number;\r\n multiChamberedCompliance?: ComplianceOptions;\r\n multiChamberedComment: string;\r\n multiChambered: boolean;\r\n outletFilterComplienceId: number;\r\n outletFilterComplience?: ComplianceOptions;\r\n outletFilterComment: string;\r\n outletFilterId: number;\r\n legendComplianceId: number;\r\n legendCompliance?: ComplianceOptions;\r\n legendComment: string;\r\n legendId1: number;\r\n legendId2: number;\r\n watertightComplianceId: number;\r\n watertightCompliance?: ComplianceOptions;\r\n watertightComment: string;\r\n levelComplianceId: number;\r\n levelCompliance?: ComplianceOptions;\r\n levelComment: string;\r\n depthToLidComplianceId: number;\r\n depthToLidCompliance?: ComplianceOptions;\r\n depthToLidComment: string;\r\n inspectionStatusId: number;\r\n tank2ComplianceId: number;\r\n tank2Compliance?: ComplianceOptions;\r\n tank2SizeComment: string;\r\n tank2MaterialComplianceId: number;\r\n tank2MaterialCompliance?: ComplianceOptions;\r\n tank2MaterialComment: string;\r\n tank2LegendComplianceId: number;\r\n tank2LegendCompliance?: ComplianceOptions;\r\n tank2LegendComment: string;\r\n dateCreated: Date | string;\r\n createdBy: string;\r\n dateUpdated: Date;\r\n updatedBy: string;\r\n markAll: number;\r\n tankMaterialId1Navigation?: TankMaterialDto;\r\n tankMaterialId2Navigation?: TankMaterialDto;\r\n legendId1Navigation: LegendDto;\r\n legendId2Navigation:LegendDto;\r\n outletFilter:OutletFilterDto;\r\n isTank2Showable:boolean;\r\n};\r\nexport type ComplianceData = {\r\n id: string;\r\n name: string;\r\n\r\n};\r\nexport type TankMaterialDto = {\r\n tankMaterialId : number;\r\n tankMaterialValue : string;\r\n sortOrder? : number;\r\n\r\n};\r\n\r\nexport type LegendDto= {\r\n legendId: number;\r\n legendValue?: string;\r\n sortOrder?: number;\r\n}\r\n\r\nexport type OutletFilterDto = {\r\n outletFilterId: number;\r\n outletFilterValue?: string;\r\n sortOrder?: number;\r\n}\r\n\r\nexport type TankMaterialData = {\r\n id: string;\r\n name: string;\r\n\r\n};\r\n\r\nexport type LegendData = {\r\n id: string;\r\n name: string;\r\n\r\n};\r\n\r\nexport type OutletFilterData = {\r\n id: string;\r\n name: string;\r\n\r\n};\r\n\r\nexport const schema = yup.object().shape({\r\n\r\n tankComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Size Compliance is required\")\r\n .required(\"Tank Size Compliance is required\")\r\n .typeError(\"Tank Size Compliance is required\"),\r\n tankSize1: yup.number().nullable(true).transform((value) => Number.isNaN(value)?null:value)\r\n .when(\"tankComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .integer(\"Tank Size must be an Integer\")\r\n .min(1, \"Tank Size (gal/gpd) must be greater than 0\") \r\n .required(\"Tank Size (gal/gpd) is required\")\r\n .typeError(\"Tank Size (gal/gpd) is required\")\r\n }),\r\n tankSizeComment: yup.string().nullable(true)\r\n .when(\"tankComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Size Compliance Comment is required\")\r\n .typeError(\"Tank Size ComplianceComment is required\"),\r\n }),\r\n\r\n\r\n\r\n tankMaterialComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Material Compliance is required\")\r\n .required(\"Tank Material Compliance is required\")\r\n .typeError(\"Tank Material Compliance is required\"),\r\n tankMaterialId1: yup.number().nullable(true)\r\n .when(\"tankMaterialComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Tank Material Type is required\")\r\n .required(\"Tank Material Type is required\")\r\n .typeError(\"Tank Material Type is required\")\r\n }),\r\n tankMaterialComment: yup.string().nullable(true)\r\n .when(\"tankMaterialComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Material Type Comment is required\")\r\n .typeError(\"Tank Material Type Comment is required\"),\r\n }),\r\n\r\n\r\n\r\n outletDeviceComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Outlet Device Compliance is required\")\r\n .required(\"Tank Outlet Device Compliance is required\")\r\n .typeError(\"Tank Outlet Device Compliance is required\"),\r\n \r\n outletDeviceComment: yup.string().nullable(true)\r\n .when(\"outletDeviceComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Outlet Device Comment is required\")\r\n .typeError(\"Tank Outlet Device Comment is required\"),\r\n }),\r\n\r\n\r\n\r\n multiChamberedComplianceId: yup\r\n .number()\r\n .min(1, \"Tank MultiChambered Compliance is required\")\r\n .required(\"Tank MultiChambered Compliance is required\")\r\n .typeError(\"Tank MultiChambered Compliance is required\"),\r\n multiChamberedComment: yup.string().nullable(true)\r\n .when(\"multiChamberedComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank MultiChambered Comment is required\")\r\n .typeError(\"Tank MultiChambered Comment is required\"),\r\n }),\r\n\r\n\r\n\r\n outletFilterComplienceId: yup\r\n .number()\r\n .min(1, \"Tank Outlet Filter Compliance is required\")\r\n .required(\"Tank Outlet Filter Compliance is required\")\r\n .typeError(\"Tank Outlet Filter Compliance is required\"),\r\n outletFilterId: yup.number().nullable(true)\r\n .when(\"outletFilterComplienceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Out_of_Compliance && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Tank Outlet Filter Type is required\")\r\n .required(\"Tank Outlet Filter Type is required\")\r\n .typeError(\"Tank Outlet Filter Type is required\")\r\n }),\r\n outletFilterComment: yup.string().nullable(true)\r\n .when(\"outletFilterComplienceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Outlet Filter Type Comment is required\")\r\n .typeError(\"Tank Outlet Filter Type Comment is required\"),\r\n }),\r\n\r\n\r\n \r\n legendComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Legend Compliance is required\")\r\n .required(\"Tank Legend Compliance is required\")\r\n .typeError(\"Tank Legend Compliance is required\"),\r\n legendId1: yup.number()\r\n .min(1, \"Tank Legend Type is required\")\r\n .required(\"Tank Legend Type is required\")\r\n .typeError(\"Tank Legend Type is required\"),\r\n legendComment: yup.string().nullable(true)\r\n .when(\"legendComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Legend Type Comment is required\")\r\n .typeError(\"Tank Legend Type Comment is required\"),\r\n }),\r\n \r\n\r\n \r\n watertightComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Watertight Compliance is required\")\r\n .required(\"Tank Watertight Compliance is required\")\r\n .typeError(\"Tank Watertight Compliance is required\"),\r\n \r\n watertightComment: yup.string().nullable(true)\r\n .when(\"watertightComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Watertight Comment is required\")\r\n .typeError(\"Tank Watertight Comment is required\"),\r\n }),\r\n\r\n\r\n\r\n levelComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Level Compliance is required\")\r\n .required(\"Tank Level Compliance is required\")\r\n .typeError(\"Tank Level Compliance is required\"),\r\n\r\n levelComment: yup.string().nullable(true)\r\n .when(\"levelComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Level Comment is required\")\r\n .typeError(\"Tank Level Comment is required\"),\r\n }),\r\n\r\n depthToLidComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Depth To Lid Compliance is required\")\r\n .required(\"Tank Depth To Lid Compliance is required\")\r\n .typeError(\"Tank Depth To Lid Compliance is required\"),\r\n\r\n depthToLidComment: yup.string().nullable(true)\r\n .when(\"DepthToLidComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Depth To Lid Comment is required\")\r\n .typeError(\"Tank Depth To Lid Comment is required\"),\r\n }),\r\n\r\n /*=======================================================================================*/\r\n tank2ComplianceId: yup\r\n .number().nullable(true)\r\n .when(\"isTank2Showable\", {\r\n is: (val: any) => val === true,\r\n then: yup.number()\r\n .min(1, \"Tank 2 Size Compliance is required\")\r\n .required(\"Tank 2 Size Compliance is required\")\r\n .typeError(\"Tank 2 Size Compliance is required\"),\r\n }),\r\n\r\n\r\n tankSize2: yup.number()\r\n .integer(\"Tank 2 Size must be an Integer\")\r\n .min(1, \"Tank 2 Size (gal/gpd) must be greater than 0\").nullable(true)\r\n .when(['isTank2Showable', 'tank2ComplianceId'], {\r\n is: (val: any,tank2ComplianceId: any) => val === true && (tank2ComplianceId != Constants.Not_Applicable && tank2ComplianceId != Constants.Unobserved),\r\n\r\n then: yup.number().integer(\"Tank 2 Size must be an Integer\")\r\n .min(1, \"Tank 2 Size (gal/gpd) must be greater than 0\")\r\n .required(\"Tank 2 Size (gal/gpd) is required\")\r\n .typeError(\"Tank 2 Size (gal/gpd) is required\"),\r\n }),\r\n\r\n tank2SizeComment: yup.string().nullable(true)\r\n .when(\"isTank2Showable\", {\r\n is: (val: any) => val === true,\r\n then: yup.string().nullable(true)\r\n .when(\"tank2ComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank 2 Size Compliance Comment is required\")\r\n .typeError(\"Tank 2 Size ComplianceComment is required\"),\r\n }),\r\n }),\r\n\r\n tank2MaterialComplianceId: yup\r\n .number().nullable(true)\r\n .when(\"isTank2Showable\", {\r\n is: (val: any) => val === true,\r\n then: yup.number()\r\n .min(1, \"Tank 2 Material Compliance is required\")\r\n .required(\"Tank 2 Material Compliance is required\")\r\n .typeError(\"Tank 2 Material Compliance is required\"),\r\n }),\r\n tankMaterialId2: yup.number().nullable(true)\r\n .when(['isTank2Showable', 'tank2MaterialComplianceId'], {\r\n is: (val: any,tank2MaterialComplianceId: any) => val === true && \r\n (tank2MaterialComplianceId != Constants.Not_Applicable && tank2MaterialComplianceId != Constants.Unobserved),\r\n \r\n then: yup.number()\r\n .min(1, \"Tank 2 Material Type is required\")\r\n .required(\"Tank 2 Material Type is required\")\r\n .typeError(\"Tank 2 Material Type is required\"),\r\n }),\r\n tank2MaterialComment: yup.string().nullable(true)\r\n .when(\"isTank2Showable\", {\r\n is: (val: any) => val === true,\r\n then: yup.string().nullable(true)\r\n .when(\"tank2MaterialComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank 2 Material Type Comment is required\")\r\n .typeError(\"Tank 2 Material Type Comment is required\"),\r\n }),\r\n }),\r\n\r\n tank2LegendComplianceId: yup\r\n .number().nullable(true)\r\n .when(\"isTank2Showable\", {\r\n is: (val: any) => val === true,\r\n then: yup.number()\r\n .min(1, \"Tank 2 Legend Compliance is required\")\r\n .required(\"Tank 2 Legend Compliance is required\")\r\n .typeError(\"Tank 2 Legend Compliance is required\"),\r\n }),\r\n legendId2: yup.number().nullable(true)\r\n .when(['isTank2Showable', 'tank2LegendComplianceId'], {\r\n is: (val: any,tank2LegendComplianceId: any) => val === true && \r\n (tank2LegendComplianceId != Constants.Not_Applicable && tank2LegendComplianceId != Constants.Unobserved),\r\n \r\n then: yup.number()\r\n .min(1, \"Tank 2 Legend Type is required\")\r\n .required(\"Tank 2 Legend Type is required\")\r\n .typeError(\"Tank 2 Legend Type is required\"),\r\n }),\r\n tank2LegendComment: yup.string().nullable(true)\r\n .when(\"isTank2Showable\", {\r\n is: (val: any) => val === true,\r\n then: yup.string().nullable(true)\r\n .when(\"tank2LegendComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank 2 Legend Type Comment is required\")\r\n .typeError(\"Tank 2 Legend Type Comment is required\"),\r\n }),\r\n }),\r\n\r\n\r\n});\r\n/*=======================================================================================*/\r\n\r\n","import React, { useRef,useState } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, CardBody, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { TankInstallationInput, schema, TankInstallationFormProps, ComplianceData, TankMaterialData, LegendData, OutletFilterData } from \"./TankInstallationForm.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n\r\n\r\nlet showTank2: boolean = false;\r\n\r\nexport const TankInstallationForm = (props: TankInstallationFormProps) => {\r\n const history = useHistory();\r\n const path = usePath();\r\n const complianceData = useData(\"Compliance\") || [];\r\n const tankMaterialData = useData(\"TankMaterial\") || [];\r\n const legendData = useData(\"Legend\") || [];\r\n const outletFilterData = useData(\"OutletFilter\") || [];\r\n // const [showTank2, setTank2] = useState(false);\r\n const inspectionStatusData = useData(\"inspectionDetails/\" + props.applicationInspectionId);\r\n const defaultvalues = { ...props.values, dateCreated: props.values?.dateCreated.toLocaleString().slice(0, 10) }\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultvalues,\r\n });\r\n const formRef = useRef(null);\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n \r\n const user = useProfile(application) as UserSecurityInput;\r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n\r\n const onSubmit = useSubmitForm(\r\n 'tankInstallation',\r\n async (response) => {\r\n toast.success(\"Tank Installation Saved Successfully\");\r\n await timeout(2000);\r\n let inspectionStatus = watch(\"inspectionStatusId\");\r\n if(inspectionStatus == InspectionStatus.Complete){\r\n if(inspectionStatusData?.drainfieldInstallationInspectionId == null \r\n || inspectionStatusData?.drainfieldInstallationInspectionId == undefined){\r\n history.push({\r\n pathname: \"/drainfieldInstallation/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n else {\r\n history.push({\r\n pathname: \"/drainfieldInstallation/\"+ inspectionStatusData?.drainfieldInstallationId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n }\r\n else if (inspectionStatus == InspectionStatus.Incomplete){\r\n history.push(`/inspectionDetails/${inspectionStatusData?.applicationInspectionId}`) ;\r\n }\r\n },\r\n props.action\r\n );\r\n\r\n\r\n const removeClick = (e: any) => {\r\n \r\n e.preventDefault();\r\n };\r\n\r\n\r\n const submit = () => {\r\n setValue('applicationInspectionId', props.applicationInspectionId ? props.applicationInspectionId : 0);\r\n \r\n if(inspectionStatusData?.tankInstallationInspectionId == null \r\n || inspectionStatusData?.tankInstallationInspectionId == undefined){\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n }\r\n else {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n }\r\n // setValue('isTank2', showTank2);\r\n \r\n \r\n\r\n if (showTank == false)\r\n {\r\n setValue('tank2ComplianceId', 0);\r\n setValue('tankSize2', 1);\r\n setValue('tank2SizeComment', 'Remove Tank-2');\r\n\r\n setValue('tank2MaterialComplianceId', 0);\r\n setValue('tankMaterialId2', 0);\r\n setValue('tank2MaterialComment', 'Remove Tank-2');\r\n\r\n setValue('tank2LegendComplianceId', 0);\r\n setValue('legendId2', 0);\r\n setValue('tank2LegendComment', 'Remove Tank-2');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\t\tif (formRef.current) {\r\n \r\n\t\t\tformRef.current.dispatchEvent(\r\n\t\t\t\tnew Event('submit', { cancelable: true, bubbles: true })\r\n\t\t\t);\r\n \r\n\t\t}\r\n }\r\n\r\n\r\n let showTankSizeComment = watch(\"tankComplianceId\");\r\n let showTankMaterialComment = watch(\"tankMaterialComplianceId\");\r\n let showOutletDeviceComment = watch(\"outletDeviceComplianceId\");\r\n let showMultiChamberedComment = watch(\"multiChamberedComplianceId\");\r\n let showOutletFilterComment = watch(\"outletFilterComplienceId\");\r\n let showLegendComment = watch(\"legendComplianceId\");\r\n let showWatertightComment = watch(\"watertightComplianceId\");\r\n let showLevelComment = watch(\"levelComplianceId\");\r\n let showDepthToLidComment = watch(\"depthToLidComplianceId\");\r\n let showTank2SizeComment = watch(\"tank2ComplianceId\");\r\n let showTank2MaterialComment = watch(\"tank2MaterialComplianceId\");\r\n let showTank2LegendComment = watch(\"tank2LegendComplianceId\");\r\n let markAllCompliance = watch(\"markAll\");\r\n let showTank = watch(\"isTank2Showable\");\r\n //setTank2(showTank);\r\n const h1Styles: CSS.Properties = {\r\n float: \"right\",\r\n marginTop: '27px'\r\n };\r\n const markClick = (e: any) => {\r\n setValue('tankComplianceId', markAllCompliance);\r\n setValue('tankMaterialComplianceId', markAllCompliance);\r\n setValue('outletDeviceComplianceId', markAllCompliance);\r\n setValue('multiChamberedComplianceId', markAllCompliance);\r\n setValue('outletFilterComplienceId', markAllCompliance);\r\n setValue('legendComplianceId', markAllCompliance);\r\n setValue('watertightComplianceId', markAllCompliance);\r\n setValue('levelComplianceId', markAllCompliance);\r\n setValue('depthToLidComplianceId', markAllCompliance);\r\n if (showTank == true)\r\n {\r\n setValue('tank2ComplianceId', markAllCompliance);\r\n setValue('tank2MaterialComplianceId', markAllCompliance);\r\n setValue('tank2LegendComplianceId', markAllCompliance);\r\n }\r\n\r\n e.preventDefault();\r\n };\r\n \r\n return (\r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Tank Installation\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 {props.title}\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 {showTankSizeComment &&\r\n showTankSizeComment == 3 && (\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 {showTankMaterialComment &&\r\n showTankMaterialComment == 3 && (\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 {showOutletDeviceComment &&\r\n showOutletDeviceComment == 3 && (\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 {showMultiChamberedComment &&\r\n showMultiChamberedComment == 3 && (\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 {showOutletFilterComment &&\r\n showOutletFilterComment == 3 && (\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 {showLegendComment &&\r\n showLegendComment == 3 && (\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 {showWatertightComment &&\r\n showWatertightComment == 3 && (\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 {showLevelComment &&\r\n showLevelComment == 3 && (\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 {showDepthToLidComment &&\r\n showDepthToLidComment == 3 && (\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 showTank && (\r\n {/* ============================================================================================================================================*/}\r\n {/* Tank 2 */}\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 {showTank2SizeComment &&\r\n showTank2SizeComment == 3 && (\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 {showTank2MaterialComment &&\r\n showTank2MaterialComment == 3 && (\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 {showTank2LegendComment &&\r\n showTank2LegendComment == 3 && (\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 e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Incomplete);\r\n submit()\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n Save and Exit\r\n \r\n
    \r\n \r\n Cancel\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 TankInstallationForm;\r\n\r\n\r\n\r\n\r\n","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport TankInstallationForm from \"../Components/TankInstallationForm\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\n// TODO: Add error handling\r\n\r\nconst CreateTankInstallationPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n \r\n return applicationId ? (\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 CreateTankInstallationPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useData } from \"../../hooks\";\r\nimport { useHistory,useLocation, useParams } from \"react-router-dom\";\r\nimport TankInstallationForm from \"../Components/TankInstallationForm\";\r\nimport { TankInstallationInput } from \"../Components/TankInstallationForm.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\n\r\n\r\n// TODO: Add error handling\r\n\r\n\r\n\r\nconst EditTankInstallationPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n\r\n const path = usePath();\r\n const data = useData(path.current);\r\n return data && applicationId ? (\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\nexport default EditTankInstallationPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport CreateTankInstallationPage from \"./CreateTankInstallationForm\";\r\nimport EditTankInstallationPage from \"./EditTankInstallationForm\";\r\n\r\n\r\nexport const TankInstallationModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default TankInstallationModule;\r\n","import { usePath } from \"@fdoh/health-ui-react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ApplicationInspectionRequest, SearchResultsProps } from \"./SearchResults.types\";\r\nimport useClient from \"../../hooks/useInspectionClient\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\nimport { createContext, useContext } from \"react\";\r\n\r\nexport const SearchResultsPage = (props: SearchResultsProps) => {\r\n \r\n const history = useHistory();\r\n const path = usePath();\r\n const client = useClient();\r\n const applicationData = props.appData;\r\n const applicationNumber = props.apNumber;\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const userStatus = useProfile(application) as UserSecurityInput;\r\n \r\n const goToInspectionHome = () => {\r\n history.push(`/inspectionDetails/` + applicationData?.applicationInspections?.filter(x => x.inspectionStatusId === 1)[0].applicationInspectionId);\r\n }\r\n\r\n const createNew = async () => {\r\n const createInspectionData: ApplicationInspectionRequest = {\r\n applicationId: applicationData?.applicationId,\r\n inspectionStatusId: 1,\r\n isApproved: false,\r\n providerId: 0,\r\n dateCreated: new Date(),\r\n createdBy: userStatus.userName,\r\n dateUpdated: new Date(),\r\n updatedBy: userStatus.userName,\r\n userId : userStatus.userSecurityId,\r\n };\r\n try {\r\n let endpoint = 'ApplicationInspection/';\r\n const inspectionResponse = await client.api(endpoint).post(createInspectionData);\r\n history.push(`/inspectionDetails/${inspectionResponse.data?.id}`);\r\n } catch (error: any) {\r\n toast.error(error);\r\n }\r\n }\r\n\r\n return applicationData ? (\r\n
    \r\n {applicationData && (applicationData?.applicationInspections?.filter(x => x.inspectionStatusId === 1).length > 0) && (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    Search results
    \r\n
    \r\n
    \r\n Showing results for '{applicationData.apnumber}'\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n )}\r\n {applicationData &&\r\n (applicationData?.applicationInspections?.length === 0 || applicationData?.applicationInspections?.filter(x => x.inspectionStatusId === 1).length === 0)\r\n && (\r\n \r\n
    \r\n
    \r\n {/*
    No results found for '{applicationNumber}'
    */}\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    AP#
    \r\n
    {applicationData.apnumber}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Permit Date
    \r\n
    {new Date(applicationData.permitDate).toLocaleDateString()}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    PROPERTY ADDRESS
    \r\n
    {applicationData.propertyStreetAddress + \", \" + applicationData.propertyCity + \", \" + applicationData.propertyState + \", \" + applicationData.propertyZipCode}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n {(parseInt(applicationData?.applicationId) == 0) && (\r\n

    \r\n No Results found for '{props.apNumber}'\r\n

    \r\n )}\r\n
    \r\n ) :
    \r\n
    \r\n};\r\n\r\n\r\n\r\nexport default SearchResultsPage;\r\n\r\n\r\n","import { ApplicationDetails, ApplicationInspection } from \"../Components/Home/ApplicationDetails.types\";\r\nimport { DateFormat, Tag, TagColumnFilter } from \"@fdoh/health-react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { CellProps } from \"react-table\";\r\nimport IconTrash from \"../../icons/IconTrash\";\r\nimport IconEdit from \"../../icons/IconEdit\";\r\nimport { ColumnSetting } from \"../../components/IndexCard.types\";\r\nimport IconFileInfo from \"../../icons/IconFileInfo\";\r\nimport IconPrinter from \"../../icons/IconPrinter\";\r\nimport { IconDownload } from \"@tabler/icons\";\r\n\r\n\r\nexport const recentlyOpenedColumns = [\r\n\r\n\r\n {\r\n Header: \"Ap Number\",\r\n accessor: (row: ApplicationInspection) => row.application.apnumber,\r\n },\r\n {\r\n Header: \"PPI-Portal ID\",\r\n id: \"inspectionNumber\",\r\n accessor: (row: ApplicationInspection) => row.applicationInspectionId,\r\n },\r\n {\r\n Header: \"Address\",\r\n id: \"address\",\r\n accessor: (row: ApplicationInspection) =>\r\n (row.application.propertyStreetAddress + ', ' + row.application.propertyCity + ', '\r\n + row.application.propertyState + ', ' + row.application.propertyZipCode) ?? 0,\r\n },\r\n {\r\n Header: \"Actions\",\r\n id: \"actions\",\r\n accessor: (row: ApplicationInspection) =>\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 const submittedColumns = [\r\n\r\n\r\n {\r\n Header: \"Ap Number\",\r\n accessor: (row: ApplicationInspection) => row.application.apnumber,\r\n // Cell: ({ value }: CellProps) => {\r\n // return {value};\r\n // },\r\n },\r\n {\r\n Header: \"EHD-Inspection\",\r\n id: \"ehdinspectionNumber\",\r\n accessor: (row: ApplicationInspection) => row.ehdinspectionNumber,\r\n },\r\n {\r\n Header: \"Approved Date\",\r\n id: \"inspectionApprovedDate\",\r\n accessor: (row: ApplicationInspection) => new Date(row.inspectionApprovedDate ?? 0),\r\n Cell: ({ value }: { value?: Date }) =>\r\n value ? new Date(value).toLocaleDateString() : null\r\n },\r\n {\r\n Header: \"Address\",\r\n id: \"address\",\r\n accessor: (row: ApplicationInspection) =>\r\n (row.application.propertyStreetAddress + ', ' + row.application.propertyCity + ', '\r\n + row.application.propertyState + ', ' + row.application.propertyZipCode) ?? 0,\r\n },\r\n {\r\n Header: \"Actions\",\r\n id: \"actions\",\r\n accessor: (row: ApplicationInspection) =>\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","import { DataTable, Select2 } from \"@fdoh/health-react\";\r\nimport { Layout, Page, UserSelect, Button, usePath, LayoutContainer, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { ApplicationDetails, ApplicationInspection } from \"../Components/Home/ApplicationDetails.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useEffect, useState, useRef, useContext } from \"react\";\r\nimport { toast } from \"react-toastify\";\r\nimport useClient from \"../../hooks/useInspectionClient\";\r\nimport SearchResultsPage from \"./SearchResults\";\r\nimport { boolean } from \"yup\";\r\nimport { recentlyOpenedColumns, submittedColumns } from \"./Home.types\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\n\r\n\r\nexport const HomePage = () => {\r\n\r\n const history = useHistory();\r\n const client = useClient();\r\n const path = usePath();\r\n const inputRef = useRef(null);\r\n const [applicationData, setApplicationData] = useState(null);\r\n const [userData, setUserData] = useState(null);\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n\r\n const user = useProfile(application) as UserSecurityInput;\r\n const { accounts } = useMsal(); \r\n const userEmail = accounts[0] && accounts[0].username;\r\n let applicationInspections= useData('ApplicationInspection/GetApplicationInspectionsByEmail/' + userEmail);\r\n \r\n const distantFuture = new Date(8640000000000000)\r\n let Recentlyopened = applicationInspections?.filter(x => x.inspectionStatusId == 1 && x.isActive == true)\r\n .sort((a, b) => {\r\n let dateA = a.dateUpdated ? new Date(a.dateUpdated) : distantFuture\r\n let dateB = b.dateUpdated ? new Date(b.dateUpdated) : distantFuture\r\n return dateB.getTime() - dateA.getTime()\r\n });\r\n let submittedApplications = applicationInspections?.filter(x => x.inspectionStatusId == 2 && x.isActive == true).sort((a, b) => {\r\n let dateA = a.dateUpdated ? new Date(a.dateUpdated) : distantFuture\r\n let dateB = b.dateUpdated ? new Date(b.dateUpdated) : distantFuture\r\n return dateB.getTime() - dateA.getTime()\r\n });\r\n \r\n\r\n const searchApplications = async () => {\r\n try {\r\n let endpoint = 'Application/getapplicationbyapnumber/' + inputRef.current?.value;\r\n const response = await client.api(endpoint).get();\r\n setApplicationData(response.data as any);\r\n if (response.data.applicationId != 0) {\r\n updateSearchedRecord(response.data);\r\n }\r\n\r\n } catch (error: any) {\r\n toast.error(error);\r\n }\r\n\r\n }\r\n const updateSearchedRecord = async (applicationDetailData: ApplicationDetails) => {\r\n let endpoint = 'ApplicationInspection/';\r\n const activeInspections = applicationDetailData?.applicationInspections?.filter(x => x.inspectionStatusId == 1 && x.isActive == true);\r\n if (activeInspections.length > 0) {\r\n activeInspections[0].dateUpdated = new Date();\r\n activeInspections[0].updatedBy = user?.userName;\r\n const updateResponse = await client.api(endpoint).post(activeInspections[0]);\r\n }\r\n\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n

    Welcome!

    \r\n

    Please enter an AP number to locate or create a new inspection.

    \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 {applicationData && }\r\n {/* {(applicationData === undefined) && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n No Applications found for {inputRef.current?.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\n
    \r\n
    \r\n
    \r\n {Recentlyopened && ()}\r\n\r\n\r\n
    \r\n
    \r\n\r\n {submittedApplications && ()}\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 HomePage;\r\n\r\n\r\n\r\n","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport HomePage from \"../Home/Home\";\r\n\r\nexport const HomeModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default HomeModule;\r\n","import React from \"react\";\r\nimport { IconArrowBack } from \"@tabler/icons\";\r\nimport { Page } from \"@fdoh/health-ui-react\";\r\nimport { UnAuthorizedProps } from \"./UnAuthorized.types\";\r\n\r\nexport const UnAuthorized = (props: UnAuthorizedProps) => {\r\n const { title, errorMessage } = props; \r\n\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    401
    \r\n
    \r\n

    Unauthorized: {title}

    \r\n

    \r\n {errorMessage}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\nexport default UnAuthorized;","import { Application } from \"../interfaces\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trackPromise } from \"react-promise-tracker\";\r\nimport { UserSecurity } from \"../types\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport * as Types from \"../clients/ApiEndpoint.types\";\r\n\r\nexport const useDBAuthService = (application: Application): T | undefined => {\r\n const [userStatus, setuserStatus] = useState();\r\n const { accounts } = useMsal(); \r\n const userEmail = accounts[0] && accounts[0].username;\r\n const userClaimsObjectId = accounts[0].homeAccountId.split(\".\")[0];\r\n\r\n useEffect(() => {\r\n const getUserStatusAsync = async () => {\r\n const userSecurity = new UserSecurity(userEmail, userClaimsObjectId);\r\n const userSecurityJson = JSON.stringify(userSecurity);\r\n const options = {\r\n method: \"POST\",\r\n body: userSecurityJson,\r\n headers: { \"Content-Type\": \"application/json\" }\r\n };\r\n const response = await fetch(`${application.baseUrl}/authentication/checkuserexists`, options)\r\n let output: Types.FetchResponse = response;\r\n output.data = await response.json();\r\n const jwtResponse = output.data; \r\n setuserStatus(jwtResponse);\r\n }\r\n if (!userStatus) trackPromise(getUserStatusAsync());\r\n }, []);\r\n return userStatus;\r\n};\r\n\r\nexport default useDBAuthService;","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { useIsAuthenticated } from \"@azure/msal-react\";\r\nimport { useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { DBProtectedRouteProps } from \"./DBProtectedRoute.types\";\r\nimport { UnAuthorized } from \"./UnAuthorized\";\r\nimport useDBAuthService from \"../hooks/useDBAuthService\";\r\n\r\nexport const DBProtectedRoute = ({ children, ...rest }: DBProtectedRouteProps) => {\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const userStatus = useDBAuthService(application);\r\n\r\n return (\r\n { \r\n switch (userStatus) {\r\n case 'UserAuthenticated': {\r\n return children;\r\n }\r\n case 'ClaimsObjectIDFailed': {\r\n return ;\r\n }\r\n case 'UserDisabled': {\r\n return ;\r\n }\r\n case 'UserNotFound': {\r\n return ;\r\n }\r\n case 'Error': {\r\n return ;\r\n }\r\n };\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default DBProtectedRoute;\r\n","import * as yup from \"yup\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\nexport type AbandonmentFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n\r\n values?: AbandonmentInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\n\r\nexport type AbandonmentInput = {\r\n abandonmentId: number\r\n applicationId: number;\r\n applicationInspectionId: number;\r\n tankPumpedComplianceId: number;\r\n tankPumpedComment: string;\r\n tankPumpedDate: Date | string;\r\n tankCrushedFilledComplianceId: number;\r\n tankCrushedFilledComment: string;\r\n tankCrushedFilledDate: Date | string;\r\n dateCreated: Date | string;\r\n createdBy: string;\r\n dateUpdated: Date;\r\n updatedBy: string;\r\n inspectionStatusId: number;\r\n markAll: number;\r\n tankCrushedFilledCompliance?: ComplianceOptions;\r\n tankPumpedCompliance?: ComplianceOptions;\r\n};\r\n\r\nexport type ComplianceData = {\r\n id: string;\r\n name: string;\r\n\r\n};\r\n\r\n\r\n\r\nexport const schema = yup.object().shape({\r\n\r\n tankPumpedComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Pumped Compliance is required\")\r\n .required(\"Tank Pumped Compliance is required\")\r\n .typeError(\"Tank Pumped Compliance is required\"),\r\n\r\n tankPumpedComment: yup.string().nullable(true)\r\n .when(\"tankPumpedComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Pumped Compliance Comment is required\")\r\n .typeError(\"Tank Pumped ComplianceComment is required\"),\r\n }),\r\n \r\n tankPumpedDate: yup.date().nullable(true)\r\n .when(\"tankPumpedComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then: yup.date().nullable(false)\r\n .max(new Date(),\"Future Dates are not allowed\")\r\n .required(\"Tank Pumped Date is required\")\r\n .typeError(\"Tank Pumped Date is required\"),\r\n })\r\n .when(\"tankPumpedComplianceId\", {\r\n is: (val: any) => (val == Constants.Not_Applicable || val == Constants.Unobserved),\r\n then: yup.date() .nullable(true).transform((value) => `Invalid Date`?null:value).notRequired()\r\n }),\r\n\r\n\r\n\r\n\r\n\r\n\r\n tankCrushedFilledComplianceId: yup\r\n .number()\r\n .min(1, \"Tank Crushed Filled Compliance is required\")\r\n .required(\"Tank Crushed Filled Compliance is required\")\r\n .typeError(\"Tank Crushed Filled Compliance is required\"),\r\n\r\n tankCrushedFilledComment: yup.string().nullable(true)\r\n .when(\"tankCrushedFilledComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Tank Crushed Filled Compliance Comment is required\")\r\n .typeError(\"Tank Crushed Filled ComplianceComment is required\"),\r\n }),\r\n\r\n tankCrushedFilledDate: yup.date().nullable(true)\r\n .when(\"tankCrushedFilledComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then: yup.date().nullable(false)\r\n .max(new Date(), \"Future Dates are not allowed\")\r\n .required(\"Tank Crushed Filled Date is required\")\r\n .typeError(\"Tank Crushed Filled Date is required\")\r\n })\r\n .when(\"tankCrushedFilledComplianceId\", {\r\n is: (val: any) => (val == Constants.Not_Applicable || val == Constants.Unobserved),\r\n then: yup.date() .nullable(true).transform((value) => `Invalid Date`?null:value).notRequired()\r\n }),\r\n\r\n\r\n});\r\n","import React, { useRef } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { AbandonmentInput, schema, AbandonmentFormProps, ComplianceData } from \"./AbandonmentForm.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n// import { usePrettyPrintedState } from './usePrettyPrintedState'\r\n\r\n\r\nexport const AbandonmentForm = (props: AbandonmentFormProps) => {\r\n const history = useHistory();\r\n const path = usePath();\r\n const complianceData = useData(\"Compliance\") || [];\r\n \r\n const inspectionStatusData = useData(\"inspectionDetails/\" + props.applicationInspectionId);\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n const defaultvalues = { ...props.values, dateCreated: props.values?.dateCreated?.toLocaleString().slice(0, 10), tankPumpedDate: props.values?.tankPumpedDate?.toLocaleString().slice(0, 10), tankCrushedFilledDate: props.values?.tankCrushedFilledDate?.toLocaleString().slice(0, 10) }\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultvalues,\r\n });\r\n\r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n const formRef = useRef(null);\r\n\r\n\r\n const onSubmit = useSubmitForm(\r\n 'abandonment',\r\n async (response) => {\r\n toast.success(\"Abandonment Saved Successfully\");\r\n await timeout(2000);\r\n history.push(props.returnPath);\r\n\r\n },\r\n props.action\r\n );\r\n\r\n const submit = () => {\r\n setValue('applicationId', props.applicationId ? props.applicationId : 0);\r\n setValue('applicationInspectionId', props.applicationInspectionId ? props.applicationInspectionId : 0);\r\n if(inspectionStatusData?.abandonmentInspectionId == null \r\n || inspectionStatusData?.abandonmentInspectionId == undefined){\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n }\r\n else {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n }\r\n if (formRef.current) {\r\n\r\n formRef.current.dispatchEvent(\r\n new Event('submit', { cancelable: true, bubbles: true })\r\n );\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n let showTankPumpedComment = watch(\"tankPumpedComplianceId\");\r\n let showTankCrushedFilledComment = watch(\"tankCrushedFilledComplianceId\");\r\n let markAllCompliance = watch(\"markAll\");\r\n //setValue('applicationId', 1);\r\n\r\n let watchdate = watch(\"tankCrushedFilledDate\");\r\nconsole.log(watchdate,'watchdate');\r\n\r\n const h1Styles: CSS.Properties = {\r\n float: \"right\",\r\n marginTop: '27px'\r\n };\r\n const markClick = (e: any) => {\r\n setValue('tankPumpedComplianceId', markAllCompliance);\r\n setValue('tankCrushedFilledComplianceId', markAllCompliance);\r\n \r\n\r\n e.preventDefault();\r\n };\r\n\r\n return (\r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Abandonment\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 {props.title}\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 {showTankPumpedComment &&\r\n showTankPumpedComment == 3 && (\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 {showTankCrushedFilledComment &&\r\n showTankCrushedFilledComment == 3 && (\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 e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Incomplete);\r\n submit()\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n Save and Exit\r\n \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AbandonmentForm;\r\n\r\n","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport AbandonmentForm from \"../Components/AbandonmentForm\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\n\r\n// TODO: Add error handling\r\n\r\nconst CreateAbandonmentPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n return applicationId ? (\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 CreateAbandonmentPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useData } from \"../../hooks\";\r\nimport AbandonmentForm from \"../Components/AbandonmentForm\";\r\nimport { AbandonmentInput } from \"../Components/AbandonmentForm.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\n// TODO: Add error handling\r\n\r\n\r\n\r\nconst EditAbandonmentPage = () => {\r\n const path = usePath();\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n const data = useData(path.current) ;\r\n return data && applicationId ? (\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\nexport default EditAbandonmentPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport CreateAbandonmentPage from \"./CreateAbandonmentForm\";\r\nimport EditAbandonmentPage from \"./EditAbandonmentForm\";\r\n\r\n\r\nexport const AbandonmentModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default AbandonmentModule;\r\n","import * as yup from \"yup\";\r\nimport React, { useRef } from \"react\";\r\nimport { AnyObjectSchema } from \"yup\";\r\nimport Lazy from \"yup/lib/Lazy\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\nexport type FilledMoundSystemInspectionFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n\r\n // schema: AnyObjectSchema | Lazy;\r\n values?: FilledMoundSystemInspectionInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\nexport type FilledMoundSystemInspectionInput = {\r\n filledMoundSystemId:number;\r\n applicationId: number;\r\n applicationInspectionId: number;\r\n drainfieldCoverComplianceId: number;\r\n drainfieldCoverCompliance?: ComplianceOptions;\r\n drainfieldCoverComment: string;\r\n shoulderComplianceId: number;\r\n shoulderCompliance?: ComplianceOptions;\r\n shoulderComment: string;\r\n\r\n slopeComplianceId: number;\r\n slopeCompliance?: ComplianceOptions;\r\n slopeComment: string;\r\n\r\n\r\n stablizationComplianceId: number;\r\n stablizationCompliance?: ComplianceOptions;\r\n stablizationComment: string;\r\n stablizationMaterial: string;\r\n stablizationId: number;\r\n stablization?: StabilizationDto;\r\n dateCreated: Date|string;\r\n createdBy: string;\r\n dateUpdated: Date;\r\n updatedBy: string;\r\n markAll: number;\r\n inspectionStatusId: number;\r\n //inspectionStatus?: ComplianceOptions;\r\n \r\n\r\n};\r\n\r\nexport type StabilizationDto = {\r\n stablizationId: number;\r\n stabizationValue: string;\r\n sortOrder? : number;\r\n}\r\n\r\nexport type ComplianceData = {\r\n id: number;\r\n name: string;\r\n\r\n};\r\n\r\nexport type StabilizationData = {\r\n id: number;\r\n name: string;\r\n\r\n};\r\n\r\nexport const schema = yup.object().shape({\r\n \r\n drainfieldCoverComplianceId: yup\r\n .number()\r\n .min(1, \"Drainfield Cover Compliance is required\")\r\n .required(\"Drainfield Cover Compliance is required\")\r\n .typeError(\"Drainfield Cover Compliance is required\"),\r\n drainfieldCoverComment: yup.string().nullable(true)\r\n .when(\"drainfieldCoverComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Drainfield Cover Comment is required\")\r\n .typeError(\"Drainfield Cover Comment is required\"),\r\n }),\r\n\r\n shoulderComplianceId: yup\r\n .number()\r\n .min(1, \"Shoulder Compliance is required\")\r\n .required(\"Shoulder Compliance is required\")\r\n .typeError(\"Shoulder Compliance is required\"),\r\n shoulderComment: yup.string().nullable(true)\r\n .when(\"shoulderComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Shoulder Comment is required\")\r\n .typeError(\"Shoulder Comment is required\"),\r\n }),\r\n\r\n slopeComplianceId: yup\r\n .number()\r\n .min(1, \"Slope Compliance Wells Compliance is required\")\r\n .required(\"Slope Compliance Compliance is required\")\r\n .typeError(\"Slope Compliance Compliance is required\"),\r\n slopeComment: yup.string().nullable(true)\r\n .when(\"slopeComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Slope Comment is required\")\r\n .typeError(\"Slope Comment is required\"),\r\n }),\r\n\r\n\r\n\r\n\r\n stablizationComplianceId: yup\r\n .number()\r\n .min(1, \"Stabilization Compliance is required\")\r\n .required(\"Stabilization Compliance is required\")\r\n .typeError(\"Stabilization Compliance is required\"),\r\n stablizationComment: yup.string().nullable(true)\r\n .when(\"stablizationComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string().required(\"Stabilization Comment is required\")\r\n .typeError(\"Stabilization Comment is required\"),\r\n }),\r\n stablizationId: yup.number().nullable(true)\r\n .when(\"stablizationComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Stablization Material is required\")\r\n .required(\"Stablization Material is required\")\r\n .typeError(\"Stablization Material is required\"),\r\n }),\r\n});\r\n","import React, { useRef } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link, useLocation, useParams } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { FilledMoundSystemInspectionInput, schema, FilledMoundSystemInspectionFormProps, ComplianceData, StabilizationData } from \"./FilledMoundSystemForm.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n\r\n\r\nexport const FilledMoundSystemInspectionForm = (props: FilledMoundSystemInspectionFormProps) => {\r\n const history = useHistory();\r\n const path = usePath();\r\n // const params = useParams();\r\n const complianceData = useData(\"Compliance\") || [];\r\n const stabilizationData = useData(\"Stabilization\") || [];\r\n const inspectionStatusData = useData(\"inspectionDetails/\" + props.applicationInspectionId);\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n defaultValues: props.values,\r\n resolver: yupResolver(schema),\r\n \r\n });\r\n const formRef = useRef(null);\r\n\r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n\r\n\r\n const onSubmit = useSubmitForm(\r\n 'filledMoundSystem',\r\n async (response) => {\r\n toast.success(\"Filled Mound System Saved Successfully\");\r\n await timeout(2000);\r\n let inspectionStatus = watch(\"inspectionStatusId\");\r\n if(inspectionStatus == InspectionStatus.Complete){\r\n if(inspectionStatusData?.additionalInformationInspectionId == null \r\n || inspectionStatusData?.additionalInformationInspectionId == undefined){\r\n history.push({\r\n pathname: \"/AdditionalInformation/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n else {\r\n history.push({\r\n pathname: \"/AdditionalInformation/\"+ inspectionStatusData?.additionalInformationId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n }\r\n else if (inspectionStatus == InspectionStatus.Incomplete){\r\n history.push(`/inspectionDetails/${inspectionStatusData?.applicationInspectionId}`) ;\r\n }\r\n \r\n \r\n\r\n },\r\n props.action\r\n );\r\n\r\n\r\n\r\n const submit = () => {\r\n setValue('applicationId', props.applicationId ? props.applicationId : 0);\r\n setValue('applicationInspectionId', props.applicationInspectionId ? props.applicationInspectionId : 0);\r\n if(inspectionStatusData?.filledMoundSystemInspectionId == null \r\n || inspectionStatusData?.filledMoundSystemInspectionId == undefined){\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n }\r\n else {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n }\r\n if (formRef.current) {\r\n\r\n formRef.current.dispatchEvent(\r\n new Event('submit', { cancelable: true, bubbles: true })\r\n );\r\n\r\n }\r\n }\r\n \r\n let showDrainfieldCoverComment = watch(\"drainfieldCoverComplianceId\");\r\n let showShoulderComment = watch(\"shoulderComplianceId\");\r\n let showSlopeComment = watch(\"slopeComplianceId\");\r\n let showStablizationComment = watch(\"stablizationComplianceId\");\r\n let markAllCompliance = watch(\"markAll\");\r\n\r\n const h1Styles: CSS.Properties = {\r\n float: \"right\",\r\n marginTop: '27px'\r\n };\r\n const markClick = (e: any) => {\r\n //showSerfaceWaterComment = markAllCompliance;\r\n setValue('drainfieldCoverComplianceId', markAllCompliance);\r\n setValue('shoulderComplianceId', markAllCompliance);\r\n setValue('slopeComplianceId', markAllCompliance);\r\n setValue('stablizationComplianceId', markAllCompliance);\r\n \r\n \r\n \r\n e.preventDefault();\r\n };\r\n \r\n return (\r\n \r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Filled/Mound System\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 {props.title}\r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {showDrainfieldCoverComment &&\r\n showDrainfieldCoverComment == Constants.Out_of_Compliance && (\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 {showShoulderComment &&\r\n showShoulderComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showSlopeComment &&\r\n showSlopeComment == Constants.Out_of_Compliance && (\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 {showStablizationComment &&\r\n showStablizationComment == Constants.Out_of_Compliance && (\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 e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Incomplete);\r\n submit()\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n Save and Exit\r\n \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FilledMoundSystemInspectionForm;\r\n\r\n\r\n\r\n\r\n","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport { useRef } from \"react\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\n//import ApplicationDetailsPage from \"../../components/ApplicationDetails\";\r\nimport FilledMoundSystemInspectionForm from \"../Components/FilledMoundSystemForm\";\r\nimport { FilledMoundSystemInspectionInput } from \"../Components/FilledMoundSystemForm.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\n//import FilledMoundSystemInspectionForm from \"../Components/FilledMoundSystemInspectionForm\";\r\n\r\n\r\n// TODO: Add error handling\r\n\r\nconst CreateFilledMoundSystemPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n\r\n return applicationId ? (\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 CreateFilledMoundSystemPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useRef } from \"react\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { useData } from \"../../hooks\";\r\nimport FilledMoundSystemInspectionForm from \"../Components/FilledMoundSystemForm\";\r\nimport { FilledMoundSystemInspectionInput } from \"../Components/FilledMoundSystemForm.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\n\r\n\r\n\r\n// TODO: Add error handling\r\n\r\n\r\n\r\nconst EditFilledMoundSystemPage = () => {\r\n const path = usePath();\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n\r\n const editData = useData(path.current);\r\n return editData && applicationId ? (\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\nexport default EditFilledMoundSystemPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport InspectionHomePage from \"../InspectionHome/InspectionHome\";\r\nimport CreateFilledMoundSystemPage from \"./CreateFilledMoundSystemForm\";\r\nimport EditFilledMoundSystemPage from \"./EditFilledMoundSystemFormForm\";\r\nimport HomePage from \"../Home/Home\";\r\n\r\nexport const FilledMoundSystemInspectionModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default FilledMoundSystemInspectionModule;\r\n","import * as yup from \"yup\";\r\nimport React, { useRef } from \"react\";\r\nimport { AnyObjectSchema } from \"yup\";\r\nimport Lazy from \"yup/lib/Lazy\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport useData from \"../../hooks/useData\";\r\nimport { ApplicationInspection } from \"../Components/Home/ApplicationDetails.types\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n\r\nexport type SubmitInspectionFormProps = {\r\n id?: string;\r\n returnPath?: string;\r\n title?: string;\r\n // schema: AnyObjectSchema | Lazy;\r\n values?: SubimtInspectionInput;\r\n action?: \"post\" | \"put\";\r\n};\r\nexport type FileEntryInput = {\r\n file: FileList;\r\n};\r\nexport interface JsonData {\r\n name: string;\r\n value: string;\r\n}\r\n\r\nexport type ProviderData = {\r\n id: number;\r\n name: string;\r\n\r\n};\r\n\r\n\r\nexport type SubimtInspectionInput = {\r\n applicationInspectionId:number\r\n applicationId:number;\r\n submitInspectionId: number;\r\n inspectionFileName: string;\r\n inspectionFilePath:string;\r\n engineerSealedCertificate:string;\r\n engineerSealedCertificatePath:string;\r\n providerId:number;\r\n inspectionApprovedDate?:Date;\r\n isApproved: boolean;\r\n additionalComments : string;\r\n additionalInspectionRequired: boolean;\r\n penaltyOfLawCheck:boolean;\r\n dateCreated: Date;\r\n createdBy: string;\r\n dateUpdated: Date;\r\n updatedBy: string;\r\n inspectionStatusId: number;\r\n userId: number;\r\n\r\n\r\n};\r\n\r\n\r\nexport const schema =(permitDate?:string) => yup.object().shape({\r\n \r\n // inspectionFileName: yup\r\n // .string()\r\n // .min(1, \"Inspection file is required\")\r\n // .required(\"Inspection file is required\")\r\n // .typeError(\"Inspection file is required\"),\r\n // engineerSealedCertificate: yup.string()\r\n // .min(1, \"EngineerSealed Certificate file is required\")\r\n // .required(\"EngineerSealed Certificate file is required\")\r\n // .typeError(\"EngineerSealed Certificate file is required\"),\r\n \r\n providerId: yup\r\n .string()\r\n .min(1, \"Provider Name is required\")\r\n .required(\"Provider Name is required\")\r\n .typeError(\"Provider Name is required\"),\r\n inspectionApprovedDate: yup \r\n .date()\r\n .max(new Date(),\"Future Dates are not allowed\")\r\n .min(new Date(getDate(permitDate)),\"Inspection Date should be greater than or equal to Permit Date\")\r\n .required(\"Inspection Date is required\")\r\n .typeError(\"Inspection Date is required\")\r\n ,\r\n \r\n penaltyOfLawCheck: yup\r\n .boolean()\r\n .required(\"PenaltyOfLawCheck is required\")\r\n .typeError(\"PenaltyOfLawCheck is required\")\r\n \r\n \r\n});\r\n const getDate =(input:any)=>{\r\n if(input === null || input === undefined){\r\n return new Date();\r\n }\r\n \r\n return new Date(input);\r\n}\r\n","import { toast } from \"react-toastify\";\r\nimport { useInspectionClient } from \"./useInspectionClient\";\r\n\r\nexport const usePostFileForm = (\r\n endpoint: string\r\n) => {\r\n const client = useInspectionClient();\r\n const postForm = async (data: FormData, callback: Function) => {\r\n try {\r\n // Write input to log\r\n console.log(\"Input values\", data);\r\nconst endpointResponse = client.api(endpoint).tokenOptions.baseUrl;\r\nconsole.log('upload file endpoint', endpointResponse)\r\nvar myHeaders = new Headers();\r\nmyHeaders.append(\"accept\", \"*/*\");\r\n\r\nvar requestOptions = {\r\nmethod: 'POST',\r\nheaders: myHeaders,\r\nbody: data\r\n};\r\n\r\nfetch(`${endpointResponse}/${endpoint}`, requestOptions)\r\n .then(response => response.text())\r\n .then(result => {callback(result)})\r\n .catch(error => {callback(error)});\r\n } catch (error: any) {\r\n toast.error(error.message);\r\n }\r\n };\r\n\r\n return postForm;\r\n};\r\n\r\nexport default usePostFileForm;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Suggestion } from \"@fdoh/health-ui-react/build/ts/components/FormControl/FormControlUserSelect.types\";\r\nimport { FormControl, Card, Layout, Button, usePath, Page, ApiEndpoint, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link, useLocation } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useData, usePostForm } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { SubmitInspectionFormProps, SubimtInspectionInput, schema, JsonData, ProviderData } from \"./SubmitInspection.types\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport { string } from \"yup\";\r\nimport usePostFileForm from \"../../hooks/usePostFileForm\";\r\nimport useClient from \"../../hooks/useInspectionClient\";\r\nimport { data } from \"jquery\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ApplicationDetails, ApplicationInspection } from \"../Components/Home/ApplicationDetails.types\";\r\nimport { DateTime } from \"@fdoh/health-react\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n\r\n\r\nexport const SubmitInspectionForm = (props: SubmitInspectionFormProps) => {\r\n const history = useHistory();\r\n const client = useClient();\r\n const ProviderData = useData(\"userSecurity\") || [];\r\n const [inspectionFile, setInspectionFile] = useState(null);\r\n const [sealedCertificationFile, setSealedCertificationFile] = useState(null);\r\n const [isInspectionFileValid, setIsInspectionFileValid] = useState(true);\r\n const [isSealedCertificationFileValid, setIsSealedCertificationValid] = useState(true);\r\n const [inspectFileError, setInspectionFileError] = useState(\"\");\r\n const [sealedCertificationFileError, setSealedCertificationFileError] = useState(\"\")\r\n const path = usePath();\r\n const [appInspectionCompliance, setItems] = useState([]);\r\n\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n const toggle = (event: any) => {\r\n\r\n if (event === 'approve') {\r\n setFlag('approve');\r\n setValue(\"isApproved\", true)\r\n } else {\r\n setFlag('disapprove');\r\n setValue(\"isApproved\", false)\r\n }\r\n }\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationInfoId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n\r\n // const applicationInspectionData = useData('SummaryView/' + inspectionId);\r\n // //console.log(new Date()+\"bbb\"+ applicationInspectionData?.application.permitDate?.toString().split(\"T\")[0]);\r\n // const applicationData = applicationInspectionData?.application?.permitDate?.toString().split(\"T\")[0];\r\n // const entityId = afterLast(applicationInspectionData?.application?.permitNumber, '-');\r\n\r\n const applicationDetails = useData('Application/' + applicationInfoId);\r\n const applicationData = applicationDetails?.permitDate?.toString().split(\"T\")[0];\r\n const entityId = afterLast(applicationDetails?.permitNumber, '-');\r\n\r\n\r\n // const permitDate = DateTime.\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n defaultValues: {\r\n ...props.values\r\n },\r\n resolver: yupResolver(schema(applicationData))\r\n });\r\n\r\n const [flag, setFlag] = useState(control?._formValues?.isApproved || false ? 'approve' : 'disapprove');\r\n\r\n const p1Styles: CSS.Properties = {\r\n // float: \"right\",\r\n marginLeft: '60px'\r\n };\r\n\r\n // console.log('inspectionId', inspectionId, applicationInfoId);\r\n const formRef = useRef(null);\r\n\r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n function afterLast(value: any, delimiter: any) {\r\n value = value || ''\r\n\r\n return delimiter === ''\r\n ? value\r\n : value.split(delimiter).pop()\r\n }\r\n // function getLastHyphen(str: string): string { const parts = str.split(\"-\"); return parts[parts.length - 1]; }\r\n const saveFile = (e: any, type: string) => {\r\n let file = e.target.files[0];\r\n let fileName = e.target.files[0].name;\r\n console.log(file);\r\n const formData = new FormData();\r\n formData.append(\"formFile\", file);\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileType\", type)\r\n if (type === \"inspection\") {\r\n setInspectionFile(formData);\r\n setValue(\"inspectionFileName\", fileName);\r\n //setValue(\"inspectionFilePath\", fileName)\r\n } else {\r\n setSealedCertificationFile(formData);\r\n setValue(\"engineerSealedCertificate\", fileName);\r\n //setValue(\"engineerSealedCertificatePath\", fileName)\r\n }\r\n //validate();\r\n }\r\n\r\n const onSubmit = useSubmitForm(\r\n 'applicationInspection',\r\n (response) => history.push(\r\n {\r\n pathname: \"/summaryView/\",\r\n search: `?applicationId=${applicationInfoId}&inspectionId=${inspectionId}`,\r\n }),\r\n props.action\r\n );\r\n\r\n //const applicationInspectionData = useData('InspectionDetails/GetInspection/' + inspectionId);\r\n\r\n const formatData = (resJson: any) => {\r\n const reskeys = Object.keys(resJson);\r\n let finalData = reskeys.reduce((prev: any, curr: any) => {\r\n let newRows: any = [];\r\n const itemKeys = Object.keys(resJson[curr]);\r\n if (itemKeys.length > 0) {\r\n newRows = itemKeys.map(itemKey => {\r\n return { key1: curr, keys2: itemKey, value: resJson[curr][itemKey] }\r\n })\r\n }\r\n return [...prev, ...newRows]\r\n }, [])\r\n setItems(finalData);\r\n }\r\n const fetchData = async () => {\r\n\r\n try {\r\n let endpoint = `InspectionDetails/GetInspection/${inspectionId}`;\r\n const response = await client.api(endpoint).get();\r\n formatData(response.data)\r\n console.log('fetchData response', response)\r\n } catch (error: any) {\r\n toast.error(error);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, [])\r\n\r\n const validate = () => {\r\n let isValid = true;\r\n // if (!inspectionFile) {\r\n // setIsInspectionFileValid(false);\r\n // setInspectionFileError(\"Inspection File is required\")\r\n // isValid = false;\r\n // }\r\n // if (!sealedCertificationFile) {\r\n // setIsSealedCertificationValid(false);\r\n // setSealedCertificationFileError(\"Sealed certification File is required\")\r\n // isValid = false;\r\n // }\r\n if (inspectionFile) {\r\n let _isInspectionFileValid = true;\r\n let tmpInspectionFile: any = inspectionFile;\r\n if (tmpInspectionFile?.get(\"formFile\").size / 1024 > 10240) {\r\n setIsInspectionFileValid(false);\r\n setInspectionFileError(\"Inspection File should be less than 10MB\");\r\n isValid = false;\r\n _isInspectionFileValid = false;\r\n }\r\n if (tmpInspectionFile?.get(\"formFile\").type !== \"application/pdf\" && tmpInspectionFile?.get(\"formFile\").type !== \"image/png\") {\r\n setIsInspectionFileValid(false);\r\n setInspectionFileError(\"Inspection File extension should be .pdf or .png\");\r\n isValid = false;\r\n _isInspectionFileValid = false;\r\n }\r\n if (_isInspectionFileValid) {\r\n setIsInspectionFileValid(true);\r\n }\r\n }\r\n if (sealedCertificationFile) {\r\n let _isSealedCertificationFileValid = true;\r\n let tmpsealedCertificationFile: any = sealedCertificationFile;\r\n if (tmpsealedCertificationFile?.get(\"formFile\").size / 1024 > 10240) {\r\n setIsSealedCertificationValid(false);\r\n setSealedCertificationFileError(\"Sealed Certification File should be less than 10MB\");\r\n isValid = false;\r\n _isSealedCertificationFileValid = false;\r\n }\r\n if (tmpsealedCertificationFile?.get(\"formFile\").type !== \"application/pdf\" && tmpsealedCertificationFile?.get(\"formFile\").type !== \"image/png\") {\r\n setIsSealedCertificationValid(false);\r\n setSealedCertificationFileError(\"Sealed Certification File extension should be .pdf or .png\");\r\n isValid = false;\r\n _isSealedCertificationFileValid = false\r\n }\r\n if (_isSealedCertificationFileValid) {\r\n setIsSealedCertificationValid(true);\r\n }\r\n }\r\n return isValid;\r\n\r\n }\r\n\r\n const finalSubmit = async (data: SubimtInspectionInput) => {\r\n\r\n if (inspectionFile) {\r\n const inspectionFileResponse = await uploadFile(inspectionFile);\r\n setValue(\"inspectionFileName\", inspectionFileResponse as string)\r\n setValue(\"inspectionFilePath\", `wwwroot\\\\inspectionFileUploads\\\\`);\r\n data = {\r\n ...data,\r\n inspectionFileName: inspectionFileResponse as string,\r\n inspectionFilePath: `wwwroot\\\\inspectionFileUploads\\\\`\r\n }\r\n }\r\n if (sealedCertificationFile) {\r\n const sealedCertificationFileResponse = await uploadFile(sealedCertificationFile)\r\n setValue(\"engineerSealedCertificate\", sealedCertificationFileResponse as string)\r\n setValue(\"engineerSealedCertificatePath\", `wwwroot\\\\SealedCertificationUploads\\\\`);\r\n data = {\r\n ...data,\r\n engineerSealedCertificate: sealedCertificationFileResponse as string,\r\n engineerSealedCertificatePath: `wwwroot\\\\SealedCertificationUploads\\\\`\r\n }\r\n }\r\n if (validate()) {\r\n return onSubmit(data);\r\n }\r\n else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n const submit = () => {\r\n setValue(\"applicationId\", applicationInfoId);\r\n setValue(\"applicationInspectionId\", inspectionId);\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n setValue('userId', user?.userSecurityId);\r\n setValue('providerId', user?.userSecurityId);\r\n if (formRef.current) {\r\n\r\n formRef.current.dispatchEvent(\r\n new Event('submit', { cancelable: true, bubbles: true })\r\n );\r\n\r\n }\r\n }\r\n\r\n const fileUploadCallback = usePostFileForm(\"ApplicationInspection/file?EntityId=\" + entityId);\r\n\r\n const uploadFile = async (formData: FormData) => {\r\n return new Promise((resolve) => {\r\n\r\n fileUploadCallback(formData, (response: any) => {\r\n resolve(response);\r\n });\r\n });\r\n }\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n

    Please submit approval or disapproval of the onsite sewage treatment and disposal system.

    \r\n
    \r\n\r\n \r\n \r\n
    finalSubmit(data), () => { validate() })}>\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 Non-Compliant
    \r\n
    \r\n\r\n {\r\n appInspectionCompliance && appInspectionCompliance.map((rowDetails: any, i: any) => {\r\n return

    \r\n {rowDetails.key1}: {rowDetails.keys2}; \r\n Explanation: {rowDetails.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\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
    Attach File (As-built sketch, soil profile, PPI Authorization, DEP 4015A)
    \r\n { saveFile(e, \"inspection\") }}\r\n name=\"inspection\"\r\n accept=\".png,.pdf\"\r\n required />\r\n {!isInspectionFileValid &&
    {inspectFileError}
    }\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Attach Engineer Sealed Certification
    \r\n { saveFile(e, \"sealedCertification\") }} name=\"sealedCertification\" />\r\n {!isSealedCertificationFileValid &&
    {sealedCertificationFileError}
    }\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n Provider Details\r\n\r\n <>\r\n
    \r\n
    \r\n\r\n {user && ()}\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 Cancel\r\n \r\n {\r\n e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Complete);\r\n submit()\r\n }}>Submit\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 SubmitInspectionForm;\r\n\r\n\r\n\r\n\r\n","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport SubmitInspectionForm from \"./SubmitInspection\";\r\n\r\nexport const SubmitInspectionModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default SubmitInspectionModule;\r\n","import { Button, FormControl, Layout, Page, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useRef } from \"react\";\r\nimport CSS from 'csstype';\r\nimport { Link, useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { useData } from \"../../hooks\";\r\nimport { ApplicationDetails, ApplicationInspection } from \"../Components/Home/ApplicationDetails.types\";\r\nimport { DateFormat } from \"@fdoh/health-react\";\r\nimport html2canvas from \"html2canvas\";\r\nimport { jsPDF } from 'jspdf';\r\nimport useClient from \"../../hooks/useInspectionClient\";\r\n// import ReactToPrint from 'react-to-print';\r\n\r\n// TODO: Add error handling\r\n\r\n\r\nconst SummaryViewPage = () => {\r\n const history = useHistory();\r\n const client = useClient();\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n console.log(application.baseUrl);\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationInfoId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n const formRef = useRef(null);\r\n const p1Styles: CSS.Properties = {\r\n // float: \"right\",\r\n // marginLeft: '300px'\r\n };\r\n const p2Styles: CSS.Properties = {\r\n // float: \"right\",\r\n marginLeft: '15px'\r\n };\r\n const buttonStyle: CSS.Properties = {\r\n // float: \"right\",\r\n marginRight: '30px'\r\n };\r\n const goToSearchPage = () => {\r\n history.push(\"/\")\r\n }\r\n\r\n const inspectionFilepath = \"wwwroot\\\\inspectionFileUploads\\\\\";\r\n const engineerSealedCertificateFilepath = \"wwwroot\\\\SealedCertificationUploads\\\\\";\r\n\r\n\r\n let appData: ApplicationDetails;\r\n const applicationInspectionData = useData('SummaryView/' + inspectionId);\r\n\r\n const setBacksData = applicationInspectionData?.setbacks[0];\r\n const tankInstallantionData = applicationInspectionData?.tankInstallations[0];\r\n const filledMoundData = applicationInspectionData?.filledMoundSystems[0];\r\n const drainfieldData = applicationInspectionData?.drainfieldInstallations[0];\r\n const additionalInfoData = applicationInspectionData?.additionalInformations[0];\r\n const fillExcavationData = applicationInspectionData?.fillExcavationMaterials[0];\r\n const abandonmentData = applicationInspectionData?.abandonments[0];\r\n const applicationData = applicationInspectionData?.application;\r\n\r\n const DownloadFile = async (fileName: string, filePath: string) => {\r\n const options = {\r\n method: \"GET\",\r\n headers: { \"Content-Type\": \"application/json\" }\r\n };\r\n //' const filepath = \"\";\r\n let endpoint = 'ApplicationInspection/GetFileById';\r\n let path = `${application.baseUrl}/ApplicationInspection/GetFileById/` + fileName + \"?uploadPath=\" + filePath;\r\n const response = await fetch(path, options)\r\n\r\n .then(response => {\r\n response.blob().then(blob => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n });\r\n\r\n });\r\n\r\n }\r\n const downloadPdfDocument = () => {\r\n const input = document.getElementById('root');\r\n html2canvas(document.body)\r\n .then((canvas: any) => {\r\n var imgData = canvas.toDataURL('image/png');\r\n var imgWidth = 210; var pageHeight = 295;\r\n var imgHeight = canvas.height * imgWidth / canvas.width;\r\n var heightLeft = imgHeight;\r\n var doc = new jsPDF('p', 'mm');\r\n var position = 0;\r\n doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n doc.addPage();\r\n doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n doc.save('PermitNumber_' + applicationData?.permitNumber + '.pdf');\r\n\r\n })\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

    Review, print, or download a summary of submitted inspection data.

    \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 {/* Application Details */}\r\n\r\n {applicationData && (\r\n
    \r\n
    \r\n
    \r\n AP # {applicationData.apnumber}\r\n\r\n
    \r\n
    \r\n Inspection Number {applicationInspectionData.ehdinspectionNumber}\r\n\r\n
    \r\n
    \r\n Property Address : {applicationData.propertyStreetAddress + \", \" + applicationData.propertyCity + \", \" + applicationData.propertyState + \", \" + applicationData.propertyZipCode}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    PERMIT #
    \r\n
    {applicationData.permitNumber}
    \r\n
    \r\n
    \r\n
    PROPERTY ID
    \r\n
    {applicationData.propertyNumber}
    \r\n
    \r\n
    \r\n
    APPLICANT NAME
    \r\n
    {applicationData.applicantName}
    \r\n
    \r\n
    \r\n
    AGENT NAME
    \r\n
    {applicationData.agentName}
    \r\n
    \r\n
    \r\n
    SUBDIVISION
    \r\n
    \r\n {applicationData.subDivision}\r\n
    \r\n
    \r\n
    \r\n
    LOT
    \r\n
    {applicationData.lot}
    \r\n
    \r\n
    \r\n
    BLOCK
    \r\n
    \r\n {applicationData.block}\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 {/* Tank Installation data */}\r\n {tankInstallantionData && (\r\n <>

    Tank Installation

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {tankInstallantionData?.tankSize1 && (\r\n {\" (\" + (tankInstallantionData?.tankSize1) + \" gal/gpd)\"}\r\n )}\r\n
    \r\n
    \r\n {tankInstallantionData?.tankCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {tankInstallantionData?.tankMaterialId1Navigation?.tankMaterialValue && (\r\n {\" ( \" + tankInstallantionData?.tankMaterialId1Navigation?.tankMaterialValue + \" )\"}\r\n )}\r\n
    \r\n
    \r\n {tankInstallantionData?.tankMaterialCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {tankInstallantionData?.outletDeviceCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {\" (\" + (tankInstallantionData.multiChambered === true ? \"Yes\" : \"No\") + \" )\"}\r\n
    \r\n
    \r\n {tankInstallantionData?.multiChamberedCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {tankInstallantionData?.outletFilter?.outletFilterValue && (\r\n {\" (\" + tankInstallantionData?.outletFilter?.outletFilterValue + \" )\"}\r\n )}\r\n
    \r\n
    \r\n {tankInstallantionData?.outletFilterComplience?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {tankInstallantionData?.legendId1Navigation?.legendValue && (\r\n {\" (\" + tankInstallantionData?.legendId1Navigation?.legendValue + \" )\"}\r\n )}\r\n
    \r\n
    \r\n {tankInstallantionData?.legendCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {tankInstallantionData?.watertightCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {tankInstallantionData?.levelCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {tankInstallantionData?.depthToLidCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n )}\r\n {/* Tank Installation 2 data */}\r\n {tankInstallantionData && tankInstallantionData?.tank2ComplianceId !== undefined && tankInstallantionData?.tank2ComplianceId !== null && (\r\n <>

    Tank Installation 2

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {tankInstallantionData?.tankSize2 && (\r\n {\" (\" + tankInstallantionData?.tankSize2 + \" gal/gpd)\"}\r\n )}\r\n
    \r\n
    \r\n {tankInstallantionData?.tank2Compliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {tankInstallantionData?.tankMaterialId2Navigation?.tankMaterialValue && (\r\n {\" ( \" + tankInstallantionData?.tankMaterialId2Navigation?.tankMaterialValue + \" )\"}\r\n )}\r\n
    \r\n
    \r\n {tankInstallantionData?.tank2MaterialCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {tankInstallantionData?.legendId2Navigation?.legendValue && (\r\n {\" ( \" + tankInstallantionData?.legendId2Navigation?.legendValue + \" )\"}\r\n )}\r\n
    \r\n
    \r\n {tankInstallantionData?.tank2LegendCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n\r\n\r\n
    \r\n )}\r\n {/* Drain Field Data */}\r\n {drainfieldData && (\r\n <>

    Drainfield Installations

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {drainfieldData?.area1 && (\r\n {\"(Area 1 = \" + drainfieldData?.area1 + \" sq.ft.,\"}\r\n )}\r\n {drainfieldData?.area2 && (\r\n {\"Area 2 = \" + drainfieldData?.area2 + \" sq.ft.)\"}\r\n )}\r\n
    \r\n
    \r\n {drainfieldData?.areaCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {drainfieldData?.distributionBoxOrHeader == \"1\" && (\r\n {\" ( D-Box )\"}\r\n )}\r\n {drainfieldData?.distributionBoxOrHeader == \"2\" && (\r\n {\" ( Header )\"}\r\n )}\r\n
    \r\n
    \r\n {drainfieldData?.distributionCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {drainfieldData?.numberOfDrainline1 && (\r\n {\" (Area 1 = \" + drainfieldData?.numberOfDrainline1 + \" sq.ft., \"}\r\n )}\r\n {drainfieldData?.numberOfDrainline2 && (\r\n {\" Area 2 = \" + drainfieldData.numberOfDrainline2 + \" sq.ft.)\"}\r\n )}\r\n
    \r\n
    \r\n {drainfieldData?.numberOfDrainlinesCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {drainfieldData?.drainlineSeparationBedOrTrench == \"1\" && (\r\n {\" ( Bed )\"}\r\n )}\r\n {drainfieldData?.drainlineSeparationBedOrTrench == \"2\" && (\r\n {\" ( Trench )\"}\r\n )}\r\n
    \r\n
    \r\n {drainfieldData?.drainlineSeparationCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {drainfieldData?.drainlineSlopeCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {drainfieldData?.depthOfCoverCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {drainfieldData?.elevation1 && (\r\n {\" (Elevation = \" + drainfieldData?.elevation1 + \" inches \"}\r\n )}\r\n {drainfieldData?.elevationBenchmark === \"1\" && (\r\n {\"above benchmark)\"}\r\n )}\r\n {drainfieldData?.elevationBenchmark === \"2\" && (\r\n {\"below benchmark)\"}\r\n )}\r\n
    \r\n
    \r\n {drainfieldData?.elevationCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {drainfieldData?.systemLocationCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {drainfieldData?.dosingPump != 0 && (\r\n {\" (\" + drainfieldData?.dosingPump + \")\"}\r\n )}\r\n
    \r\n
    \r\n {drainfieldData?.dosingPumpCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {drainfieldData?.aggregateSizeCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {drainfieldData?.aggregateExcessiveCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {drainfieldData?.aggregateDepthCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n\r\n\r\n
    \r\n )}\r\n {/*Fill/Excavation Material */}\r\n {fillExcavationData && (\r\n <>

    Fill/Excavation Material

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {fillExcavationData?.fillAmountCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {fillExcavationData?.fillTextureCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {fillExcavationData?.excavationDepthCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {fillExcavationData?.areaReplacedLength && (\r\n {\" ( \" + fillExcavationData?.areaReplacedLength + \"X\"}\r\n )}\r\n {fillExcavationData?.areaReplacedWidth && (\r\n {fillExcavationData?.areaReplacedWidth + \" )\"}\r\n )}\r\n
    \r\n
    \r\n {fillExcavationData?.areaReplacedCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {fillExcavationData?.replacementMaterialCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n )}\r\n
    \r\n
    \r\n {/* Setbacks Data and Filled mound system data */}\r\n {setBacksData && (\r\n <>

    Setbacks

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData?.surfaceWater && (\r\n {\" (\" + setBacksData?.surfaceWater + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.surfaceWaterCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData.ditches && (\r\n {\" (\" + setBacksData.ditches + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.ditchesCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData?.privateWells && (\r\n {\" (\" + setBacksData?.privateWells + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.privateWellsCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData?.publicWells && (\r\n {\" (\" + setBacksData?.publicWells + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.publicWellsCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData?.irrigationWells && (\r\n {\" (\" + setBacksData?.irrigationWells + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.irrigationWellsCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData?.portableWaterLines && (\r\n {\" (\" + setBacksData?.portableWaterLines + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.portableWaterLinesCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData?.buildingFoundation && (\r\n {\" (\" + setBacksData?.buildingFoundation + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.buildingFoundationCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData?.propertyLines && (\r\n {\" (\" + setBacksData?.propertyLines + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.propertyLinesCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setBacksData.otherSetback && (\r\n {\" (\" + setBacksData.otherSetback + \" ft)\"}\r\n )}\r\n
    \r\n
    \r\n {setBacksData?.otherCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n\r\n\r\n
    \r\n \r\n )}\r\n\r\n {filledMoundData && (<>\r\n

    Filled/Mound Installation

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {filledMoundData?.drainfieldCoverCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {filledMoundData?.shoulderCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {filledMoundData?.slopeCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {filledMoundData?.stablization?.stabizationValue && (\r\n {\" (\" + filledMoundData?.stablization?.stabizationValue + \")\"}\r\n )}\r\n
    \r\n
    \r\n {filledMoundData?.stablizationCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {/* Additional Information */}\r\n {additionalInfoData && (\r\n <>

    Additional Information

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {additionalInfoData?.unobstructedAreaCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {additionalInfoData?.stormwaterRunoffCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {additionalInfoData?.alarmCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {additionalInfoData?.supportDocumentCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {additionalInfoData?.buildingAreaCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {additionalInfoData?.locationConformsCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {additionalInfoData?.finalSiteGradeCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {additionalInfoData?.ehdcontactName && (\r\n {\" (\" + additionalInfoData?.ehdcontactName + \")\"}\r\n )}\r\n
    \r\n
    \r\n {additionalInfoData?.contractorCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {additionalInfoData?.drainfieldProductModel?.drainfieldProductModelValue && (\r\n {\"(\" + additionalInfoData?.drainfieldProductModel?.drainfieldProductMake?.drainfieldProductMakeValue + \" \" + additionalInfoData?.drainfieldProductModel?.drainfieldProductModelValue + \")\"}\r\n )}\r\n
    \r\n
    \r\n {additionalInfoData?.drainfieldTypeCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {additionalInfoData?.soilVerificationCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n\r\n\r\n
    \r\n )}\r\n\r\n\r\n {/* Abandonment*/}\r\n {abandonmentData && (\r\n <>

    Abandonment

    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {abandonmentData?.tankPumpedDate && (\r\n {\" (\" + new Date(abandonmentData?.tankPumpedDate).toLocaleDateString() + \")\"}\r\n )}\r\n
    \r\n
    \r\n {abandonmentData?.tankPumpedCompliance?.complianceValue === \"Out of Compliance\" ? (\r\n
    \r\n \r\n
    \r\n ) :
    \r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {abandonmentData?.tankCrushedFilledDate && (\r\n {\" (\" + new Date(abandonmentData?.tankCrushedFilledDate).toLocaleDateString() + \")\"}\r\n )}\r\n
    \r\n
    \r\n {abandonmentData?.tankCrushedFilledCompliance?.complianceValue === \"Out of Compliance\" ? (\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 {applicationInspectionData && (\r\n <>
    \r\n
    \r\n \r\n
    \r\n
    \r\n {applicationInspectionData?.isApproved && (\r\n \r\n )}\r\n {!applicationInspectionData?.isApproved && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {applicationInspectionData?.additionalInspectionRequired && (\r\n \r\n )}\r\n {!applicationInspectionData?.additionalInspectionRequired && (\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 {applicationInspectionData?.dateUpdated && (\r\n {\" (\" + new Date(applicationInspectionData?.dateUpdated).toLocaleDateString() + \")\"}\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {applicationInspectionData?.inspectionApprovedDate && (\r\n {\" (\" + new Date(applicationInspectionData?.inspectionApprovedDate).toLocaleDateString() + \")\"}\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
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Back to Search\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 SummaryViewPage;\r\n\r\n\r\n","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport SummaryViewPage from \"./SummaryView\";\r\n\r\nexport const SummaryViewModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default SummaryViewModule;\r\n","import * as yup from \"yup\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\n\r\nexport type AdditionalInformationFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n values?: AdditionalInformationFormInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\nexport type AdditionalInformationFormInput = {\r\n additionalInformationId:number;\r\n applicationId:number;\r\n applicationInspectionId: number;\r\n unobstructedAreaComplianceId:number;\r\n unobstructedAreaCompliance?: ComplianceOptions;\r\n unobstructedAreaComment:string;\r\n stormwaterRunoffComplianceId:number;\r\n stormwaterRunoffCompliance?: ComplianceOptions;\r\n stormwaterRunoffComment:string;\r\n alarmComplianceId:number;\r\n alarmCompliance?: ComplianceOptions;\r\n alarmComment:string;\r\n supportDocumentComplianceId: number;\r\n supportDocumentCompliance?: ComplianceOptions;\r\n supportDocumentnComment:string;\r\n buildingAreaComplianceId:number;\r\n buildingAreaCompliance?: ComplianceOptions;\r\n buildingAreaComment:string;\r\n locationConformsComplianceId:number;\r\n locationConformsCompliance?: ComplianceOptions;\r\n locationConformsComment:string;\r\n finalSiteGradeComplianceId:number;\r\n finalSiteGradeCompliance? : ComplianceOptions;\r\n finalSiteGradeComment:string;\r\n contractorComplianceId:number;\r\n contractorCompliance?: ComplianceOptions;\r\n contractorComment:string;\r\n ehdcontactId: number;\r\n drainfieldTypeComplianceId:number;\r\n drainfieldTypeCompliance?: ComplianceOptions;\r\n drainfieldTypeComment:string;\r\n drainfieldProductModelId:number;\r\n drainfieldProductMakeId:number;\r\n soilVerificationComplianceId:number;\r\n soilVerificationCompliance: ComplianceOptions;\r\n soilVerificationComment:string;\r\n dateCreated: Date|string;\r\n createdBy: string;\r\n dateUpdated: Date;\r\n updatedBy: string;\r\n inspectionStatusId: number;\r\n ehdcontactName?: string;\r\n markAll: number;\r\n\r\n contractor? : ContractorDto;\r\n \r\n drainfieldProductModel : DrainfieldProductModelDto;\r\n};\r\n\r\n// export type AdditionalInformationSubmitInput = Omit & {\r\n// contractorId: number;\r\n// }\r\nexport type ComplianceData = {\r\n id: string;\r\n name: string;\r\n};\r\nexport type ContractorDto = {\r\n contractorId : number;\r\n ehdcontactId : number;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n organization: string;\r\n title: string;\r\n};\r\nexport type ContractorData = {\r\n id: string;\r\n name:string;\r\n};\r\n\r\nexport type DrainfieldProductMakeData = {\r\n id: string;\r\n name: string;\r\n};\r\n\r\nexport type DrainfieldProductModelData = {\r\n id: string;\r\n name: string;\r\n makeId:number;\r\n};\r\n\r\nexport type DrainfieldProductMakeDto = {\r\n \r\n drainfieldProductMakeId : number;\r\n drainfieldProductMakeValue: string;\r\n\r\n};\r\nexport type DrainfieldProductModelDto = {\r\n drainfieldProductModelId : number;\r\n drainfieldProductModelValue: string;\r\n drainfieldProductMakeId : number;\r\n drainfieldProductMake : DrainfieldProductMakeDto;\r\n\r\n};\r\nexport const schema = yup.object().shape({\r\n unobstructedAreaComplianceId: yup\r\n .number()\r\n .min(1, \"Unobstructed Area Compliance is required\")\r\n .required(\"Unobstructed Area Compliance is required\")\r\n .typeError(\"Unobstructed Area Compliance is required\"),\r\n unobstructedAreaComment: yup.string().nullable(true)\r\n .when(\"surfaceWaterComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Surface Water Comment is required\")\r\n .typeError(\"Surface Water Comment is required\"),\r\n }),\r\n stormwaterRunoffComplianceId: yup\r\n .number()\r\n .min(1, \"Storm Water Runoff Compliance is required\")\r\n .required(\"Storm Water Runoff Compliance is required\")\r\n .typeError(\"Storm Water Runoff Compliance is required\"),\r\n stormwaterRunoffComment: yup.string().nullable(true)\r\n .when(\"stormwaterRunoffComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Storm Water Runoff Comment is required\")\r\n .typeError(\"Storm Water Runoff Comment is required\"),\r\n }),\r\n alarmComplianceId: yup\r\n .number()\r\n .min(1, \"Alarm Compliance is required\")\r\n .required(\"Alarm Compliance is required\")\r\n .typeError(\"Alarm Compliance is required\"),\r\n alarmComment: yup.string().nullable(true)\r\n .when(\"alarmComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Alarm Comment is required\")\r\n .typeError(\"Alarm Comment is required\"),\r\n }),\r\n supportDocumentComplianceId: yup\r\n .number()\r\n .min(1, \"Support Document Compliance is required\")\r\n .required(\"Support Document Compliance is required\")\r\n .typeError(\"Support Document Compliance is required\"),\r\n supportDocumentnComment: yup.string().nullable(true)\r\n .when(\"supportDocumentComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Support Document Comment is required\")\r\n .typeError(\"Support Document Comment is required\"),\r\n }),\r\n buildingAreaComplianceId: yup\r\n .number()\r\n .min(1, \"Building Area Compliance is required\")\r\n .required(\"Building Area Compliance is required\")\r\n .typeError(\"Building Area Compliance is required\"),\r\n buildingAreaComment: yup.string().nullable(true)\r\n .when(\"buildingAreaComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Building Area Comment is required\")\r\n .typeError(\"Building Area Comment is required\"),\r\n }),\r\n locationConformsComplianceId: yup\r\n .number()\r\n .min(1, \"Location Conforms Compliance is required\")\r\n .required(\"Location Conforms Compliance is required\")\r\n .typeError(\"Location Conforms Compliance is required\"),\r\n locationConformsComment: yup.string().nullable(true)\r\n .when(\"locationConformsComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Location Conforms Comment is required\")\r\n .typeError(\"Location Conforms Comment is required\"),\r\n }),\r\n finalSiteGradeComplianceId: yup\r\n .number()\r\n .min(1, \"Final Site Grade Compliance is required\")\r\n .required(\"Final Site Grade Compliance is required\")\r\n .typeError(\"Final Site Grade Compliance is required\"),\r\n finalSiteGradeComment: yup.string().nullable(true)\r\n .when(\"finalSiteGradeComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Final Site Grade Comment is required\")\r\n .typeError(\"Final Site Grade Comment is required\"),\r\n }),\r\n contractorComplianceId: yup\r\n .number()\r\n .min(1, \"Contractor Compliance is required\")\r\n .required(\"Contractor Compliance is required\")\r\n .typeError(\"Contractor Compliance is required\"),\r\n contractorComment: yup.string().nullable(true)\r\n .when(\"contractorComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Contractor Comment is required\")\r\n .typeError(\"Contractor Comment is required\"),\r\n }),\r\n drainfieldTypeComplianceId: yup\r\n .number()\r\n .min(1, \"Drainfield Type Compliance is required\")\r\n .required(\"Drainfield Type Compliance is required\")\r\n .typeError(\"Drainfield Type Compliance is required\"),\r\n drainfieldTypeComment: yup.string().nullable(true)\r\n .when(\"drainfieldTypeComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Drainfield Type Comment is required\")\r\n .typeError(\"Drainfield Type Comment is required\"),\r\n }),\r\n soilVerificationComplianceId: yup\r\n .number()\r\n .min(1, \"Soil Verification Compliance is required\")\r\n .required(\"Soil Verification Compliance is required\")\r\n .typeError(\"Soil Verification Compliance is required\"),\r\n soilVerificationComment: yup.string().nullable(true)\r\n .when(\"soilVerificationComplianceId\", {\r\n is: (val: any) => val === Constants.Out_of_Compliance,\r\n then: yup.string()\r\n .required(\"Soil Verification Comment is required\")\r\n .typeError(\"Soil Verification Comment is required\"),\r\n }),\r\n ehdcontactId: yup.number().nullable(true)\r\n .when(\"contractorComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Contractor Id is required\")\r\n .typeError(\"Contractor Id is required\")\r\n .required(\"Contractor Id is required\"),\r\n }),\r\n\r\n drainfieldProductModelId: yup.number().nullable(true)\r\n .when(\"drainfieldTypeComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Drainfield Product Model is required\")\r\n .typeError(\"Drainfield Product Model is required\")\r\n .required(\"Drainfield Product Model is required\"),\r\n }),\r\n drainfieldProductMakeId: yup.number().nullable(true)\r\n .when(\"drainfieldTypeComplianceId\", {\r\n is: (val: any) => (val != Constants.Not_Applicable && val != Constants.Unobserved),\r\n then:yup.number()\r\n .min(1, \"Drainfield Product Make is required\")\r\n .typeError(\"Drainfield Product Make is required\")\r\n .required(\"Drainfield Product Make is required\"),\r\n }),\r\n});","import cn from \"classnames\";\r\nimport { ColumnSizeProps } from \"@fdoh/health-react\";\r\n\r\nexport const strip = (query: string): string => {\r\n return query.replace(/[^A-Za-z0-9]/g, \"\").toLocaleLowerCase();\r\n};\r\n\r\nexport const useGroupProps = (props: T) => {\r\n const { col, sm, md, lg, xl, ...rest } = props;\r\n const output: string = cn({\r\n [`col-${col}`]: col,\r\n [`col-sm-${sm}`]: sm,\r\n [`col-md-${md}`]: md,\r\n [`col-lg-${lg}`]: lg,\r\n [`col-xl-${xl}`]: xl,\r\n });\r\n\r\n return { className: output, ...rest };\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport cn from \"classnames\";\r\nimport { IconChevronDown } from \"@tabler/icons\";\r\nimport {\r\n ColumnSizeProps,\r\n Group,\r\n InputProps,\r\n Label,\r\n SelectOption,\r\n} from \"@fdoh/health-react\";\r\nimport { useClickOutside } from \"../hooks\";\r\nimport { strip, useGroupProps } from \"./Select2.types\";\r\nimport { ControllerFieldState, UseFormSetValue } from \"react-hook-form\";\r\nimport \"../../scss/_select.scss\";\r\n\r\nexport type Select2Props = Omit &\r\n ColumnSizeProps & {\r\n value: string | number;\r\n setValue: UseFormSetValue;\r\n options: SelectOption[];\r\n state: ControllerFieldState;\r\n };\r\n\r\nexport const Select2 = (props: Select2Props) => {\r\n const groupProps = useGroupProps(props);\r\n const { onChange, onBlur, value, name, state, ...selectProps } = props;\r\n const { options, label, setValue } = selectProps;\r\n const [show, setShow] = useState(false);\r\n const [optionList, setOptionList] = useState(options);\r\n const [userInput, setUserInput] = useState();\r\n const menuRef = useClickOutside(() => setShow(false));\r\n\r\n const toggleOptions = () => setShow(!show);\r\n\r\n const handleChange = (query: string) => {\r\n // If value was already set, unset it.\r\n if (value !== 0) setValue(name, 0);\r\n\r\n // Filter the options list by the typed value.\r\n const updatedList = options.filter((x) =>\r\n strip(x.name).includes(strip(query))\r\n );\r\n\r\n // Update the options list.\r\n setOptionList(updatedList);\r\n\r\n // Update the entry to match the value typed in by the user.\r\n setUserInput(query);\r\n };\r\n\r\n const handleSelected = (value: SelectOption) => {\r\n setValue(name, value.id, { shouldValidate: true });\r\n setUserInput(value.name);\r\n };\r\n\r\n useEffect(() => {\r\n if (options) {\r\n setOptionList(options);\r\n\r\n let select = options.find((x) => x.id === value);\r\n setUserInput(select?.name ?? \"\");\r\n }\r\n }, [options, value]);\r\n\r\n return (\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Select2;\r\n","import React, { useRef } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { AdditionalInformationFormInput, schema, AdditionalInformationFormProps, ComplianceData,ContractorData,ContractorDto,DrainfieldProductMakeData,DrainfieldProductModelData } from \"./AdditionalInformation.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { Select2 } from '../../components/Select2';\r\nimport { SelectOption } from \"../../types\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n\r\nexport const AdditionalInformationForm = (props: AdditionalInformationFormProps) => {\r\n const history = useHistory();\r\n const path = usePath();\r\n const complianceData = useData(\"Compliance\") || [];\r\n const contractorData = useData(`Contractor/GetContractorsByApplicationid/${props.applicationId}`) || [];\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n\r\n //const contractorData = useData(`Contractor/GetContractorsByCounty/${applicationData.countyId}`) || [];\r\n const drainfieldProductMakeData = useData(\"DrainfieldProductMake\") || [];\r\n const drainfieldProductModelData = useData(\"DrainfieldProductModel\") || [];\r\n const inspectionStatusData = useData(\"inspectionDetails/\" + props.applicationInspectionId);\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: props.values as any,\r\n });\r\n const formRef = useRef(null);\r\n\r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n\r\n \r\n\r\n\r\n const onSubmit = useSubmitForm(\r\n 'AdditionalInformation',\r\n async (response) => {\r\n toast.success(\"Additional Information Saved Successfully\");\r\n await timeout(2000);\r\n let inspectionStatus = watch(\"inspectionStatusId\");\r\n if(inspectionStatus == InspectionStatus.Complete){\r\n if(inspectionStatusData?.abandonmentInspectionId == null \r\n || inspectionStatusData?.abandonmentInspectionId == undefined){\r\n history.push({\r\n pathname: \"/abandonment/\",\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n else {\r\n history.push({\r\n pathname: \"/abandonment/\"+ inspectionStatusData?.abandonmentId,\r\n search: `?applicationId=${inspectionStatusData?.applicationId}&inspectionId=${inspectionStatusData?.applicationInspectionId}`,\r\n })\r\n }\r\n }\r\n else if (inspectionStatus == InspectionStatus.Incomplete){\r\n history.push(`/inspectionDetails/${inspectionStatusData?.applicationInspectionId}`) ;\r\n }\r\n \r\n },\r\n props.action\r\n );\r\n\r\n\r\n\r\n const submit = () => {\r\n setValue('applicationId', props.applicationId ? props.applicationId : 0);\r\n setValue('applicationInspectionId', props.applicationInspectionId ? props.applicationInspectionId : 0);\r\n if(ehdContactID != null)\r\n {\r\n setValue('ehdcontactName',contractorData.find(x => Number(x.id) == ehdContactID)?.name);\r\n }\r\n if(inspectionStatusData?.additionalInformationInspectionId == null \r\n || inspectionStatusData?.additionalInformationInspectionId == undefined){\r\n setValue('dateCreated', new Date());\r\n setValue('createdBy', user?.userName);\r\n }\r\n else {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n }\r\n if (formRef.current) {\r\n\r\n formRef.current.dispatchEvent(\r\n new Event('submit', { cancelable: true, bubbles: true })\r\n );\r\n\r\n }\r\n }\r\n\r\n\r\n \r\n const h1Styles: CSS.Properties = {\r\n float: \"right\",\r\n marginTop: '27px'\r\n };\r\n const Ctitle: CSS.Properties = {\r\n fontSize: \"32px\",\r\n marginTop: \"20px\",\r\n marginBottom: \"0px\",\r\n color: \"#134076\",\r\n }\r\n const controlInline: CSS.Properties ={\r\n display: \"flex\",\r\n whiteSpace: \"nowrap\"\r\n }\r\n \r\n \r\n let showUnobstructedAreaComment = watch(\"unobstructedAreaComplianceId\");\r\n let showStormwaterRunoffComment = watch(\"stormwaterRunoffComplianceId\");\r\n let showAlarmComment = watch(\"alarmComplianceId\");\r\n let showSupportDocumentComment = watch(\"supportDocumentComplianceId\");\r\n let showBuildingAreaComment = watch(\"buildingAreaComplianceId\");\r\n let showLocationConformsComment = watch(\"locationConformsComplianceId\");\r\n let showFinalSiteGradeComment = watch(\"finalSiteGradeComplianceId\");\r\n let showContractorComment = watch(\"contractorComplianceId\");\r\n let showDrainfieldTypeComment = watch(\"drainfieldTypeComplianceId\");\r\n let showSoilVerificationComment = watch(\"soilVerificationComplianceId\");\r\n\r\n let watchdrainfieldProductMakeId = watch(\"drainfieldProductMakeId\"); \r\n\r\n let ehdContactID = watch(\"ehdcontactId\");\r\n\r\n if(watchdrainfieldProductMakeId == 0)\r\n {\r\n setValue('drainfieldProductModelId', 0); \r\n \r\n }\r\n\r\n let markAllCompliance = watch(\"markAll\");\r\n\r\n const markClick = (e: any) => {\r\n \r\n setValue('unobstructedAreaComplianceId', markAllCompliance);\r\n setValue('stormwaterRunoffComplianceId', markAllCompliance);\r\n setValue('alarmComplianceId', markAllCompliance);\r\n setValue('supportDocumentComplianceId', markAllCompliance);\r\n setValue('buildingAreaComplianceId', markAllCompliance);\r\n setValue('locationConformsComplianceId', markAllCompliance);\r\n setValue('finalSiteGradeComplianceId', markAllCompliance);\r\n setValue('contractorComplianceId', markAllCompliance);\r\n setValue('drainfieldTypeComplianceId', markAllCompliance);\r\n setValue('soilVerificationComplianceId', markAllCompliance); \r\n\r\n e.preventDefault();\r\n };\r\n\r\n let make = watch(\"drainfieldProductMakeId\");\r\n const filtereddrainfieldProductModelData = drainfieldProductModelData.filter(x => x.makeId == make || x.makeId == 0);\r\n\r\n\r\n return (\r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Additional Information\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 {props.title}\r\n \r\n \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showUnobstructedAreaComment &&\r\n showUnobstructedAreaComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showStormwaterRunoffComment &&\r\n showStormwaterRunoffComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showAlarmComment &&\r\n showAlarmComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showSupportDocumentComment &&\r\n showSupportDocumentComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showBuildingAreaComment &&\r\n showBuildingAreaComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showLocationConformsComment &&\r\n showLocationConformsComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showFinalSiteGradeComment &&\r\n showFinalSiteGradeComment == Constants.Out_of_Compliance && (\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 {showContractorComment &&\r\n showContractorComment == Constants.Out_of_Compliance && (\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 {showDrainfieldTypeComment &&\r\n showDrainfieldTypeComment == Constants.Out_of_Compliance && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {showSoilVerificationComment &&\r\n showSoilVerificationComment == Constants.Out_of_Compliance && (\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 e.preventDefault();\r\n setValue('inspectionStatusId', InspectionStatus.Incomplete);\r\n submit()\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n Save and Exit\r\n \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n\r\n}","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport { AdditionalInformationFormInput } from \"../Components/AdditionalInformation.types\";\r\nimport { AdditionalInformationForm } from \"../Components/AdditionalInformationForm\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\n\r\nconst CreateAdditionalInformationPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n return applicationId ? (\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 CreateAdditionalInformationPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useData } from \"../../hooks\";\r\nimport { AdditionalInformationFormInput } from \"../Components/AdditionalInformation.types\";\r\nimport { AdditionalInformationForm } from \"../Components/AdditionalInformationForm\";\r\nimport ApplicationDetailsPage from \"../Components/Home/ApplicationDetails\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\n\r\nconst EditAdditionalInformationPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n\r\n const path = usePath();\r\n const data = useData(path.current);\r\n return data && applicationId ? (\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\nexport default EditAdditionalInformationPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport CreateAdditionalInformationPage from \"./CreateAdditionalInformationForm\";\r\nimport EditAdditionalInformationPage from \"./EditAdditionalInformationForm\";\r\n\r\nexport const CreateAdditionalInformationModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default CreateAdditionalInformationModule;\r\n","import { Layout, LayoutContainer, Page } from \"@fdoh/health-ui-react\";\r\nimport { DataTable, Select2 } from \"@fdoh/health-react\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport {Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport useData from \"../../hooks/useData\";\r\nimport useClient from \"../../hooks/useInspectionClient\";\r\nimport { Row } from \"@fdoh/health-react\";\r\n\r\n\r\n\r\nexport type CountyEmailData = {\r\n key: string;\r\n value: string;\r\n};\r\n\r\nconst Columns = [\r\n {\r\n Header: \"County Name\",\r\n accessor: (row: CountyEmailData) => row.key,\r\n \r\n },\r\n {\r\n Header: \"County Email\",\r\n Cell: ({ row }: { row: { original: CountyEmailData } }) => (\r\n {row.original.value}\r\n ),\r\n //accessor: (row: CountyEmailData) => row.value, \r\n },\r\n]\r\n\r\nexport const SupportRequestPage = () => {\r\n const { search } = useLocation();\r\n const client = useClient();\r\n const searchParams = new URLSearchParams(search);\r\n const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const inspectionId = JSON.parse(searchParams.get(\"inspectionId\") || '{}');\r\n const [countyEmailData, setCountyEmailData] = useState([]);\r\n\r\n let countyEmails= useData('county/GetEmailByCountyId' );\r\n let Recentlyopened = countyEmails?.filter(x => x.key == \"1\");\r\n \r\n return (\r\n \r\n
    \r\n\r\n
    \r\n \r\n

    Please be aware that user, technical, and programmatic support will be available during regular business hours, generally Monday through Friday, 8 am to 5 pm (eastern time). All issues and requests will be handled as soon as possible during these business hours.

    \r\n

    For access and technical difficulties with the application, please contact:\r\n DCEH_TechSupport@flhealth.gov

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

    For questions, comments, or issues with the inspection form and content, please contact: \r\n OSTDS_Feedback@FloridaDEP.gov

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

    \r\nFor permitting and inspection questions, contact your local county health department using the following directory.\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 SupportRequestPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport InspectionHomePage from \"../InspectionHome/InspectionHome\";\r\nimport CreateDrainfieldInstallationPage from \"./SupportRequestForm\";\r\n//import EditDrainfieldInstallationPage from \"./EditDrainfieldInstallationInspectionForm\";\r\nimport HomePage from \"../Home/Home\";\r\nimport SupportRequestPage from \"./SupportRequestForm\";\r\n\r\n\r\nexport const SupportRequestModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default SupportRequestModule;\r\n","import { Tag, TagColumnFilter } from \"@fdoh/health-react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { CellProps } from \"react-table\";\r\nimport IconVideo from \"../../../icons/IconVideo\";\r\n\r\n\r\nexport const UserTrainingInputColumns = [\r\n // {\r\n // Header: \"Training Id\",\r\n // id:\"trainingModuleId\",\r\n // accessor: (row: UserTrainingInput) => row.trainingModuleId,\r\n // },\r\n {\r\n Header: \"Title\",\r\n id:\"trainingModuleName\",\r\n accessor: (row: UserTrainingInput) => row.trainingModuleName,\r\n },\r\n {\r\n Header: \"Date Uploaded\",\r\n id:\"dateCreated\", \r\n accessor: (row: UserTrainingInput) => new Date(row.dateCreated).toLocaleDateString(),\r\n },\r\n // {\r\n // Header: \"Status\",new Date(abandonmentData?.tankPumpedDate).toLocaleDateString()\r\n // id:\"trainingStatus\",\r\n // accessor: (row: UserTrainingInput) => row.trainingStatus,\r\n // },\r\n // {\r\n // Header: \"Date Completed\",\r\n // id:\"dateCompleted\",\r\n // accessor: (row: UserTrainingInput) => row.dateCompleted,\r\n // },\r\n {\r\n Header: \"Actions\",\r\n id:\"trainingModulePath\",\r\n accessor: (row: UserTrainingInput) =>\r\n (\r\n <>\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n ),\r\n //accessor: (row: CountyEmailData) => row.value, \r\n },\r\n ]\r\n\r\nexport type UserTrainingInput = {\r\n userTrainingId:number;\r\n userId:number;\r\n trainingModuleId:number;\r\n trainingStatus:number;\r\n dateCreated:Date | string;\r\n dateCompleted?:Date | string;\r\n trainingModuleName:string;\r\n trainingModulePath:string;\r\n isRequired:boolean;\r\n active?:boolean;\r\n sortOrder:number;\r\n\r\n}","import { Button, FormControl, Layout, LayoutContainer, Page, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useMemo, useRef } from \"react\";\r\nimport CSS from 'csstype';\r\nimport { DataTable} from \"@fdoh/health-react\";\r\nimport { Link, useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { useData } from \"../../../hooks\";\r\nimport {UserTrainingInput, UserTrainingInputColumns} from \"./UserTraining.types\"\r\nimport { DateFormat, Row } from \"@fdoh/health-react\";\r\nimport html2canvas from \"html2canvas\";\r\nimport {jsPDF} from 'jspdf';\r\nimport useClient from \"../../../hooks/useInspectionClient\";\r\nimport { userInfo } from \"os\";\r\nimport useProfile from \"../../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../../components/DBProtectedRoute.types\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\n// import DataTable from \"react-data-table-component\";\r\n\r\n\r\n\r\n\r\nconst UserTrainingViewPage = () => {\r\n const { search } = useLocation();\r\n const history = useHistory();\r\n const client = useClient();\r\n const config = useAppConfig();\r\n\r\n    const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0]; \r\n const userStatus = useProfile(application) as UserSecurityInput;\r\n\r\n const goToSearchPage = () => {\r\n history.push(\"/\")\r\n }\r\n const user = useProfile(application) as UserSecurityInput;\r\n const { accounts } = useMsal(); \r\n const userEmail = accounts[0] && accounts[0].username;\r\n const path = \"UserTraining/GetUserTrainingVideosByUserID/\" + userEmail;\r\n const userTrainingData = useData(path);\r\n \r\n \r\n return userTrainingData ? (\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\nexport default UserTrainingViewPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport UserTrainingViewPage from \"./UserTrainingView\";\r\n\r\nexport const UserTrainingViewModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default UserTrainingViewModule;","import { Button, FormControl, Layout, LayoutContainer, Page, useAppConfig, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useMemo, useRef } from \"react\";\r\nimport CSS from 'csstype';\r\nimport { Link, useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { useData } from \"../../../hooks\";\r\nimport { DateFormat, Row } from \"@fdoh/health-react\";\r\nimport html2canvas from \"html2canvas\";\r\nimport {jsPDF} from 'jspdf';\r\nimport useClient from \"../../../hooks/useInspectionClient\";\r\nimport { userInfo } from \"os\";\r\nimport useProfile from \"../../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../../components/DBProtectedRoute.types\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport { Video } from \"@microsoft/microsoft-graph-types\";\r\n\r\nconst TrainingVideosPage = () => {\r\n\r\n const path = usePath();\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const turl = `${application.baseUrl}/UserTraining/` + path.current;\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\nexport default TrainingVideosPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport TrainingVideos from \"./TrainingVideo\";\r\n\r\nexport const TrainingVideosModule = () => {\r\n let { path } = useRouteMatch();\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 export default TrainingVideosModule;","import { ApplicationDetails, ApplicationInspection } from \"../Components/Home/ApplicationDetails.types\";\r\nimport { DateFormat, Tag, TagColumnFilter } from \"@fdoh/health-react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { CellProps } from \"react-table\";\r\nimport IconTrash from \"../../icons/IconTrash\";\r\nimport IconEdit from \"../../icons/IconEdit\";\r\nimport { ColumnSetting } from \"../../components/IndexCard.types\";\r\nimport IconFileInfo from \"../../icons/IconFileInfo\";\r\nimport IconPrinter from \"../../icons/IconPrinter\";\r\nimport { IconDownload } from \"@tabler/icons\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n\r\nexport type UserFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n applicationInspectionId?: number;\r\n applicationId?: number;\r\n \r\n // schema: AnyObjectSchema | Lazy;\r\n values?: UserList;\r\n action: \"post\" | \"put\";\r\n };\r\n \r\n\r\nexport type UserList = {\r\n userSecurityId:number;\r\n userClaimsObjectId:string;\r\n userName:string;\r\n lastName:string;\r\n firstName:string;\r\n roleId:Number;\r\n email:string;\r\n isActive:boolean;\r\n dateUpdated:Date | string;\r\n updatedby: string;\r\n\r\n}\r\nexport type CountyEmailData = {\r\n key: string;\r\n value: string;\r\n};\r\n\r\nexport const Columns = [\r\n {\r\n Header: \"User ID\",\r\n accessor: (row: UserList) => row.userSecurityId,\r\n \r\n },\r\n\r\n {\r\n Header: \"User Object ID\",\r\n accessor: (row: UserList) => row.userClaimsObjectId,\r\n \r\n },\r\n {\r\n Header: \"User Name\",\r\n accessor: (row: UserList) => row.userName,\r\n \r\n },\r\n {\r\n Header: \"Last Name\",\r\n accessor: (row: UserList) => row.lastName,\r\n \r\n},\r\n{\r\n Header: \"First Name\",\r\n accessor: (row: UserList) => row.firstName,\r\n \r\n},\r\n {\r\n Header: \"Email\",\r\n Cell: ({ row }: { row: { original: UserList } }) => (\r\n {row.original.email}\r\n ),\r\n \r\n },\r\n\r\n {\r\n Header: \"Date Updated\",\r\n accessor: (row: UserList) => new Date(row.dateUpdated ?? 0),\r\n Cell: ({ value }: { value?: Date }) =>\r\n value ? new Date(value).toLocaleDateString() : null,\r\n sortType: \"datetime\",\r\n \r\n},\r\n{\r\n Header: \"Updated By\",\r\n accessor: (row: UserList) => row.updatedby,\r\n \r\n},\r\n{\r\n Header: \"Actions\",\r\n id: \"userform\",\r\n accessor: (row: UserList) =>\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","import { Layout, LayoutContainer, Page, useAppConfig, usePath } from \"@fdoh/health-ui-react\";\r\nimport { DataTable, Select2 } from \"@fdoh/health-react\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport {Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport useData from \"../../hooks/useData\";\r\nimport useClient from \"../../hooks/useInspectionClient\";\r\nimport { Row } from \"@fdoh/health-react\";\r\nimport IconEdit from \"../../icons/IconEdit\";\r\nimport { Columns, UserList } from \"./UserManagement.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const UserManagementPage = () => {\r\n const history = useHistory();\r\n const path = usePath();\r\n \r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n let userList= useData('UserSecurity/getlistofactiveusers' );\r\n \r\n \r\n \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\nexport default UserManagementPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport InspectionHomePage from \"../InspectionHome/InspectionHome\";\r\nimport CreateDrainfieldInstallationPage, { UserManagementPage } from \"./UserManagementForm\";\r\n//import EditDrainfieldInstallationPage from \"./EditDrainfieldInstallationInspectionForm\";\r\nimport HomePage from \"../Home/Home\";\r\nimport SupportRequestPage from \"./UserManagementForm\";\r\n\r\n\r\nexport const UserManagementModule = () => {\r\n let { path } = useRouteMatch();\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\nexport default UserManagementModule;\r\n","import * as yup from \"yup\";\r\nimport { Constants } from \"../../helpers/Constants\";\r\nimport { ComplianceOptions } from \"./Home/ApplicationDetails.types\";\r\n\r\nexport type UserFormProps = {\r\n id: string;\r\n returnPath: string;\r\n title: string;\r\n //applicationInspectionId?: number;\r\n //applicationId?: number;\r\n values?: UserInput;\r\n action: \"post\" | \"put\";\r\n};\r\n\r\n\r\nexport type UserInput = {\r\n userSecurityId:number;\r\n userClaimsObjectId:string;\r\n roleId:Number;\r\n userName:string;\r\n lastName:string;\r\n firstName:string;\r\n middleName:string;\r\n email:string;\r\n phone: string;\r\n address: string;\r\n city: string;\r\n zipCode: string;\r\n stateId: number;\r\n countyId: number;\r\n isActive: boolean;\r\n lastLoginDate: Date;\r\n isDeleted: boolean;\r\n jobTitle: string;\r\n jobDescription: string;\r\n createdby: string;\r\n updatedby: string;\r\n userStatus: string;\r\n dateCreated: Date | string;\r\n dateUpdated:Date | string;\r\n updatedBy: string;\r\n};\r\n\r\n\r\nexport const schema = yup.object().shape({\r\n\r\n userClaimsObjectId: yup.string()\r\n .required(\"user ObjectId is required\")\r\n .typeError(\"user ObjectId is required\"),\r\n \r\n email: yup.string()\r\n .required(\"Email is required\")\r\n .typeError(\"Email is required\"),\r\n\r\n firstName: yup.string()\r\n .required(\"First Name is required\")\r\n .typeError(\"First Name is required\"),\r\n \r\n lastName: yup.string()\r\n .required(\"Last Name is required\")\r\n .typeError(\"Last Name is required\"),\r\n \r\n userName: yup.string()\r\n .required(\"UserName is required\")\r\n .typeError(\"UserName is required\"),\r\n \r\n \r\n\r\n // isActive: yup\r\n // .number()\r\n // //.min(1, \"isActive flag is required\")\r\n // .required(\"isActive flag is required\")\r\n // .typeError(\"isActive flag is required\"),\r\n\r\n // roleId: yup\r\n // .number()\r\n // //.min(1, \"isActive flag is required\")\r\n // .required(\"Role is required\")\r\n // .typeError(\"Role is required\"),\r\n\r\n\r\n\r\n});\r\n/*=======================================================================================*/\r\n\r\n","import React, { useRef } from \"react\";\r\nimport { FormControl, Card, Layout, Button, usePath, useAppConfig } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, Link, useLocation } from \"react-router-dom\";\r\nimport { useSubmitForm } from \"../../hooks/useSubmitForm\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { UserInput, schema, UserFormProps } from \"./UserForm.types\";\r\nimport { useData } from \"../../hooks\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport CSS from 'csstype';\r\nimport { Constants, InspectionStatus } from \"../../helpers/Constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport { InspectionStatusInput } from \"../InspectionHome/InspectionHome.types\";\r\nimport useProfile from \"../../hooks/useProfile\";\r\nimport { UserSecurityInput } from \"../../components/DBProtectedRoute.types\";\r\n//import { UserFormProps, UserInput } from \"./UserForm.types\";\r\n\r\n\r\n\r\nexport const UserForm = (props: UserFormProps) => {\r\n const history = useHistory();\r\n const formRef = useRef(null);\r\n const config = useAppConfig();\r\n const application = config.applications.filter(x => x.name === \"privateProviderInspectionApi\")[0];\r\n const user = useProfile(application) as UserSecurityInput;\r\n const defaultvalues = { ...props.values, dateCreated: props.values?.dateCreated?.toLocaleString().slice(0, 10) }\r\n const { control, handleSubmit, setValue, watch } = useForm({\r\n \r\n resolver: yupResolver(schema),\r\n defaultValues: defaultvalues\r\n });\r\n \r\n function timeout(delay: number) {\r\n return new Promise(res => setTimeout(res, delay));\r\n }\r\n \r\n const onSubmit = useSubmitForm(\r\n 'userSecurity',\r\n async (response) => {\r\n \r\n toast.success(\"User Updated Successfully\");\r\n await timeout(2000);\r\n history.push(props.returnPath);\r\n\r\n },\r\n props.action\r\n );\r\n\r\n // const submit = async () => {\r\n \r\n // if (formRef.current) {\r\n \r\n // formRef.current.dispatchEvent(\r\n // new Event('submit', { cancelable: true, bubbles: true })\r\n // );\r\n\r\n // }\r\n // }\r\n\r\n const submit = async () => {\r\n setValue('dateUpdated', new Date());\r\n setValue('updatedBy', user?.userName);\r\n\r\n if(!formRef.current) {\r\n return;\r\n }\r\n \r\n try {\r\n const event = new Event('submit', {\r\n bubbles: true,\r\n cancelable: true\r\n });\r\n \r\n document.getElementById('editUserForm')\r\n ?.dispatchEvent(event);\r\n \r\n } catch (error) {\r\n debugger;\r\n console.error('An error occurred while dispatching submit event: ', error);\r\n }\r\n };\r\n \r\n\r\n return (\r\n\r\n \r\n
    onSubmit(data))}>\r\n
    \r\n
    \r\n
    \r\n Edit User\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n {props.title}\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 \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
    \r\n {/* {\r\n e.preventDefault(); \r\n submit()\r\n\r\n }}>\r\n \r\n \r\n \r\n \r\n Save and Exit\r\n */}\r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default UserForm;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Layout, Page } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport UserForm from \"../UserForm\";\r\nimport ApplicationDetailsPage from \"../Home/ApplicationDetails\";\r\n\r\n\r\n// TODO: Add error handling\r\n\r\nconst CreateUserPage = () => {\r\n const { search } = useLocation();\r\n const searchParams = new URLSearchParams(search);\r\n \r\n debugger;\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\nexport default CreateUserPage;","import { Layout, Page, usePath } from \"@fdoh/health-ui-react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport UserForm from \"../UserForm\";\r\nimport ApplicationDetailsPage from \"../Home/ApplicationDetails\";\r\nimport { UserInput } from \"../UserForm.types\";\r\nimport { useData } from \"../../../hooks\";\r\n\r\n// TODO: Add error handling\r\n\r\n\r\n\r\nconst EditUserPage = () => {\r\n const path = usePath();\r\n // const { search } = useLocation();\r\n // const searchParams = new URLSearchParams(search);\r\n //const applicationId = JSON.parse(searchParams.get(\"applicationId\") || '{}');\r\n const val = path.current.substring(path.current.lastIndexOf('/')+1);\r\n \r\n const data = useData(\"UserSecurity/\"+val) ;\r\n \r\n return data ? (\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 EditUserPage;","import { NotFound, ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport { Redirect, Route, Switch, useRouteMatch } from \"react-router-dom\";\r\nimport CreateUserPage from \"./CreateUserForm\";\r\nimport EditUserPage from \"./EditUserForm\";\r\n\r\nexport const UserModule = () => {\r\n let { path } = useRouteMatch();\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 export default UserModule;","import { ReactElement } from \"react\";\r\nimport { ProtectedRoute } from \"@fdoh/health-ui-react\";\r\nimport SetBacksInspectionModule from \"./pages/SetBacks/Module\";\r\nimport DrainfieldInstallationInspectionModule from \"./pages/DrainFieldInstallation/Module\";\r\nimport CreateFillExcavationMaterialModule from \"./pages/FillExcavationMaterial/module\";\r\nimport InspectionModule from \"./pages/InspectionHome/InspectionModule\";\r\nimport TankInstallationModule from \"./pages/TankInstallation/Module\";\r\nimport HomeModule from \"./pages/Home/Homemodule\";\r\nimport DBProtectedRoute from \"./components/DBProtectedRoute\";\r\nimport AbandonmentModule from \"./pages/Abandonment/Module\";\r\nimport FilledMoundSystemInspectionModule from \"./pages/FilledMoundSystem/Module\";\r\nimport SubmitInspectionModule from \"./pages/SubmitInspection.tsx/SubmitInspectionModule\";\r\nimport SummaryViewModule from \"./pages/Summary/SummaryModule\";\r\nimport CreateAdditionalInformationModule from \"./pages/AdditionalInformation/AdditionalInformationModule\";\r\nimport SupportRequestModule from \"./pages/SupportRequest/Module\";\r\nimport UserTrainingViewModule from \"./pages/Components/UserTrainings/UserTrainingModule\";\r\nimport TrainingVideosModule from \"./pages/Components/TrainingVideos/TrainingVideosModule\";\r\nimport UserManagementModule from \"./pages/UserManagement/Module\";\r\nimport UserModule from \"./pages/Components/UserForm/UserModule\";\r\n\r\nexport const Routes: ReactElement[] = [\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 \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\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 Routes;\r\n","import React from \"react\";\r\nimport { Dropdown } from \"@fdoh/health-ui-react\";\r\nimport { Link } from \"react-router-dom\";\r\n// import { useData } from \"./hooks\";\r\n\r\nconst IconLifebuoy = React.lazy(\r\n () => import(\"./icons/IconLifebouy\" /* webpackChunkName: \"IconLifebuoy\" */)\r\n);\r\n\r\nconst IconHelp = React.lazy(\r\n () => import(\"./icons/IconHelp\" /* webpackChunkName: \"IconHelp\" */)\r\n);\r\n\r\nconst IconUser = React.lazy(\r\n () => import(\"./icons/IconUser\" /* webpackChunkName: \"IconUser\" */)\r\n);\r\n\r\nconst IconUsers = React.lazy(\r\n () => import(\"./icons/IconUsers\" /* webpackChunkName: \"IconUsers\" */)\r\n);\r\n\r\nconst IconVideo = React.lazy(\r\n () => import(\"./icons/IconVideo\" /* webpackChunkName: \"IconVideo\" */)\r\n);\r\n\r\nexport const UserMenu = () => {\r\n // const roles = useData(\"me/roles\");\r\n\r\n return (\r\n <>\r\n {/* Settings */}\r\n {/* \r\n \r\n Delegates\r\n \r\n \r\n \r\n Update Profile\r\n */}\r\n {/* Help & Documentation\r\n \r\n \r\n User Documentation\r\n \r\n \r\n \r\n Training Videos\r\n \r\n {(roles?.includes(\"Global Administrator\") ||\r\n roles?.includes(\"Division Administrator\")) && (\r\n \r\n \r\n Admin Documentation\r\n \r\n )} */}\r\n \r\n );\r\n};\r\n\r\nexport default UserMenu;\r\n","import { Suspense } from \"react\";\r\nimport { LogLevel } from \"@azure/msal-browser\";\r\nimport { configureAuth, HealthApp } from \"@fdoh/health-ui-react\";\r\nimport { LoadingComponent } from \"./components\";\r\nimport { getConfig } from \"./Config\";\r\nimport Menu from \"./Menu\";\r\nimport routes from \"./Routes\";\r\nimport UserMenu from \"./UserMenu\";\r\nimport \"@tabler/core/dist/css/tabler.css\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport \"../scss/default.scss\";\r\nimport \"../css/sizing.css\";\r\nimport \"../css/custom.css\";\r\nimport \"../css/toasts.css\";\r\nimport \"../scss/default.scss\";\r\n\r\ndeclare global {\r\n interface Document {\r\n documentMode?: any;\r\n }\r\n}\r\n\r\nconst configuration = getConfig();\r\nconst msalInstance = configureAuth(configuration, LogLevel.Error);\r\n\r\nconst PrivateInspectionApp = () => {\r\n return (\r\n Loading... }>\r\n }\r\n msalInstance={msalInstance}\r\n routes={routes}\r\n userMenu={}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PrivateInspectionApp;\r\n","import { ReportHandler } from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry); \r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n}\r\n\r\nexport default reportWebVitals;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport PrivateInspectionApp from \"./ts/PrivateInspectionPortal\";\r\nimport reportWebVitals from \"./ts/reportWebVitals\";\r\nimport \"@tabler/core/dist/css/tabler.css\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}