{"version":3,"sources":["../node_modules/@aws-amplify/ui-components/dist/esm-es5 lazy /^/.*/.entry/.js$/ include: /.entry/.js$/ exclude: /.system/.entry/.js$/ groupOptions: {} namespace object","data/useUser.ts","components/NavMenu.tsx","components/Layout.tsx","data/useServiceRequest.ts","components/DescriptionPopover.tsx","data/useServiceRequests.ts","data/useLookups.ts","components/SRListMain.tsx","components/admin/Staff.jsx","components/admin/AdminHome.jsx","components/admin/Clients.jsx","components/admin/ClientUsers.jsx","components/admin/ResetPasswordModal.jsx","components/admin/StaffUser.jsx","components/admin/ClientUser.jsx","components/admin/NewStaffUser.jsx","components/admin/NewClientUser.jsx","components/admin/ClientMenu.jsx","components/admin/ClientSites.jsx","components/admin/ClientCustomers.jsx","components/admin/ClientCustomersSimpro.jsx","components/admin/Admin.jsx","components/RaiseableCard.tsx","components/ServiceRequestFileList.tsx","components/NoteCard.tsx","components/AssignToTechnicianDialog.tsx","data/useSubmission.ts","components/ChangeStatusDialog.js","components/ServiceRequestView.tsx","components/FieldGroup.tsx","components/UserProfile.tsx","data/useQuotation.ts","components/QuotationFilesDropzone.tsx","components/QuotationPanel.tsx","components/QuotationView.tsx","data/useQuotations.ts","components/QuotationList.tsx","components/ServiceRequestDropzone.tsx","components/ServiceRequestSubmittingModal.tsx","data/useSiteInfo.ts","components/NewServiceRequest.tsx","components/EditServiceRequest.tsx","components/NewQuotationRequest.tsx","components/EditQuotationRequest.tsx","App.tsx","registerServiceWorker.js","aws-exports.js","index.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports","getUser","a","API","get","undefined","user","updateUser","data","post","body","response","useUser","queryClient","useQueryClient","useQuery","userMutation","useMutation","onSuccess","setQueryData","NavMenu","user2","React","useState","Navbar","className","variant","Container","fluid","Brand","to","src","width","Collapse","isTeltracLevel1","Nav","Item","Link","as","Layout","props","children","parseDate","str","format","parseJSON","getServiceRequest","requestId","queryStringParameters","requestID","jobDetails","startDate","endDate","createNote","noteContent","serviceRequestID","deleteNote","noteId","command","noteID","assignToTechnician","technicianUserName","headers","Accept","updateStatus","newStatus","updateServiceRequest","put","useServiceRequest","refreshRequest","invalidateQueries","serviceRequest","assignToTechnicianMutator","updateStatusMutator","createNoteMutator","deleteNoteMutator","updateServiceRequestMutation","DescriptionPopover","forwardRef","request","requestid","Popover","guid","overlayProps","Title","Content","style","whiteSpace","description","files","length","paddingInlineStart","file","name","filesize","size","createServiceRequest","getServiceRequests","mappedResponse","x","dateCreated","dueDate","useServiceRequestList","serviceRequests","createServiceRequestMutation","fetchLookups","clientId","console","log","orgID","customerInfos","unshift","simProCustomerID","companyName","city","country","streetAddress","suburb","postCode","jobTypes","label","priorities","useLookups","lookups","enabled","prefetchLookups","prefetchQuery","SRListMain","filterText","setFilterText","statusFilter","setStatusFilter","tableData","useMemo","filter","status","toUpperCase","org","useEffect","columns","Header","accessor","Cell","searchWords","autoEscape","textToHighlight","value","parseISO","disableGlobalFilter","OverlayTrigger","overlay","readTooltipRenderer","icon","faEye","canEdit","editTooltipRenderer","faEdit","Tooltip","useTable","initialState","sortBy","desc","pageSize","Number","localStorage","getItem","hiddenColumns","useGlobalFilter","useSortBy","usePagination","getTableProps","getTableBodyProps","headerGroups","page","rows","prepareRow","setGlobalFilter","canPreviousPage","canNextPage","pageOptions","pageCount","gotoPage","nextPage","previousPage","setPageSize","state","pageIndex","setItem","toString","pagination","Row","Col","md","Pagination","First","onClick","disabled","Prev","Array","Math","min","i","max","active","Next","Last","Form","Group","controlId","Control","onChange","target","sm","defaultActiveKey","exact","isTechnician","faPlusCircle","marginBottom","InputGroup","Prepend","Text","backgroundColor","color","faFilter","Badge","marginLeft","type","placeholder","evt","Append","Button","faTimes","ToggleButtonGroup","ToggleButton","Table","responsive","hover","headerGroup","getHeaderGroupProps","column","getHeaderProps","getSortByToggleProps","render","isSorted","isSortedDesc","faSortDown","faSortUp","faSort","row","values","getRowProps","cells","cell","trigger","placement","delay","show","hide","getCellProps","original","Staff","users","userName","firstName","surname","email","isTeltracDispatcher","isTeltracAccountManager","isBranchManager","AdminHome","url","attributes","Clients","organisations","setOrganisations","showNewOrgModal","setShowNewOrgModal","newOrgID","setNewOrgID","newOrgName","setNewOrgName","cancelModal","Modal","Body","Label","Footer","partition","orgName","result","old","ClientUsers","useRouteMatch","path","match","params","clientID","isCustomerManager","isCustomerLevel1","instance","generator","require","ResetPasswordModal","setShow","userID","randomPassword","generate","excludeSimilarCharacters","permanent","setPermanent","password","setPassword","handleClose","onHide","closeButton","onSubmit","preventDefault","stopPropagation","minLength","required","Check","checked","schema","yup","shape","phoneNumber","matches","message","excludeEmptyString","mobile","managedAccounts","of","transform","val","origVal","nullable","managedTechnicians","FieldGroup","errors","register","controlAttrs","isPhone","fields","describe","isInvalid","Feedback","muted","CheckGroup","note","StaffUser","setUsers","setUser","useForm","resolver","yupResolver","mode","reValidateMode","handleSubmit","watch","reset","control","setValue","getValues","formState","watchIsTeltracAccountManager","watchIsBranchManager","isDirty","isSubmitting","isValid","showResetPassword","setShowResetPassword","accountManagerOptions","technicianOptions","account","find","y","technician","Spinner","animation","role","autoComplete","updatedUser","hidden","field","options","isMulti","selected","managedUsers","ClientUser","watchIsCustomerManager","managedUser","NewStaffUser","setUserName","NewClientUser","escalationDelay","integer","positive","escalationDelayUnit","oneOf","techConnectLabel","showTechConnect","costCenterLabel","showCostCenter","ClientMenu","organisation","setOrganisation","getOrganisation","updateOrganisations","updatedOrganisation","error","defaultColumn","initialValue","index","updateMyData","onBlur","_Table","skipPageReset","autoResetPage","borderless","ClientSites","setData","setSkipPageReset","FetchData","showNewSiteModal","setShowNewSiteModal","newSimProSiteID","setNewSimProSiteID","newSiteName","setNewSiteName","onCancelNewSiteModal","simProSiteID","siteName","rowIndex","columnId","updatedRow","RemoveCustomerModal","onCancel","onRemove","record","AddNewCustomerModal","addCustomerToGroup","customerFromSimpro","setCustomerFromSimpro","promise","setPromise","loading","setLoading","notFound","setNotFound","LookupCustomer","useDebounceCallback","cancel","simproCustomerID","catch","isCancel","postalAddress","ClientCustomersSimpro","recordToRemove","setRecordToRemove","showNewCustomerModal","setShowNewCustomerModal","del","customerGroup","Admin","DynamicUserBreadcrumb","rm","location","useLocation","routeConfig","component","breadcrumb","breadcrumbs","useBreadcrumbs","Breadcrumb","pathname","route","RaiseableCard","styled","Card","raised","css","ServiceRequestFileList","uploadedFiles","deleteFile","href","authenticatedURL","download","NoteCard","deleting","setDeleting","bg","text","author","Subtitle","formatRelative","Date","parse","timestamp","content","canDelete","handleDelete","AssignToTechnicianDialog","vm","selectedTechnician","setSelectedTechnician","hideMe","handleSubmitClicked","mutateAsync","assignedTechnician","fetchSubmission","postSubmission","cancelSubmission","RequestId","RequestID","NewStatus","submissionId","filename","fromQuoteRequestId","useSubmission","queryEnabled","prefetchSubmission","submission","submissionMutator","cancelSubmissionMutation","deleteFileMutator","ChangeStatusDialog","handleUpdate","vertical","ConfirmCancelDialog","cancelServiceRequest","ServiceRequestView","newNoteContent","setNewNoteContent","showCancelConfirmation","setShowCancelConfirmation","handleNewNoteSubmit","ev","handleDeleteNote","showAssignToTechnicianDialog","setShowAssignToTechnicianDialog","showChangeStatusDialog","setShowChangeStatusDialog","handleUpdateStatus","xs","lg","fromQuotationID","userPermissions","canAssign","canCancel","title","marginTop","requester","phone","billingDetails","border","workSiteDetails","workSiteContact","jobType","priority","lightFormat","techConnect","costCenter","canCreateNotes","paddingBottom","paddingTop","isLoading","notes","authorID","timeStamp","UserProfile","history","useHistory","startsWith","substring","push","noValidate","updateQuote","getQuotation","getQuotationAttachments","acceptQuote","uploadQuotationAttachment","formData","FormData","append","Auth","currentSession","session","token","getIdToken","getJwtToken","endpoint","axios","Authorization","deleteQuotationAttachment","sleep","ms","setTimeout","useQuotation","quotation","attachments","deleteAttachment","updateQuoteMutation","acceptQuoteMutation","getQueryData","uploadQuotationAttachmentMutator","div","isDragAccept","isDragReject","isDragActive","getColor","QuotationFilesDropzone","onDrop","useCallback","fileBag","fileBags","acceptedFiles","forEach","f","mutate","useDropzone","getRootProps","getInputProps","flex","verticalAlign","statusText","simProQuoteStatus","ConfirmAcceptanceDialog","hideDialog","handleAcceptQuote","formConfig","rules","custom","ci","defaultValue","QuotationPanel","showAcceptQuoteDialog","setShowAcceptQuoteDialog","args","canUploadQuoteAttachments","canAcceptQuote","QuotationView","simProQuoteID","elevatedToServiceRequestID","createQuotation","getQuotations","mapped","quoteStatus","quoteAccepted","useQuotations","quotations","createQuotationMutation","QuotationList","String","ServiceRequestDropzone","getUploadParams","form","submissionID","key","method","meta","getJwt","onUploaded","setUploadedFiles","responseData","useFileUploader","progress","ProgressBar","animated","now","ServiceRequestSubmittingModal","quote","backdrop","keyboard","display","alignItems","justifyContent","fetchSiteInfo","siteInfoId","siteInfoID","useSiteInfo","siteInfo","NewServiceRequest","useCustomWorkSiteContact","setUseCustomWorkSiteContact","watchSimProID","watchSimProSiteID","selectedCustomerInfo","obj","selectedSiteInfo","setServiceRequestID","uuidv4","siteInfos","isSuccess","faArrowLeft","simProID","Switch","primaryContactFirstName","primaryContactLastName","primaryContactEmail","primaryContactWorkPhone","primaryContactMobilePhone","uf","EditServiceRequest","sr","serviceRequestGUID","billingAddress","costCenterNumber","jobDescription","techConnectNumber","workSiteAddress","workSiteEmail","workSiteMobile","workSitePhone","workSiteName","fromQuoteRequestID","EditServiceRequestEditor","defaultValues","NewQuotationRequest","EditQuotationRequest","permissions","EditQuotationEditor","canChangeQuoteDueDate","canUploadQuoteCustomerFiles","QueryClient","App","authState","setAuthState","authStateHandler","nextAuthState","authData","onAuthUIStateChange","clear","AuthState","SignedIn","QueryClientProvider","client","signInUserSession","accessToken","payload","includes","flexDirection","alignSelf","margin","usernameAlias","slot","formFields","hideSignUp","headerText","Boolean","window","hostname","awsmobile","Amplify","configure","endpoints","custom_header","awsconfig","rootElement","document","getElementById","ReactDOM","StrictMode","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.b55b426c.chunk.js","sourcesContent":["var map = {\n\t\"./amplify-amazon-button_5.entry.js\": [\n\t\t716,\n\t\t16\n\t],\n\t\"./amplify-auth-container.entry.js\": [\n\t\t717,\n\t\t17\n\t],\n\t\"./amplify-auth-fields_9.entry.js\": [\n\t\t718,\n\t\t18\n\t],\n\t\"./amplify-authenticator.entry.js\": [\n\t\t719,\n\t\t5\n\t],\n\t\"./amplify-button_3.entry.js\": [\n\t\t720,\n\t\t19\n\t],\n\t\"./amplify-chatbot.entry.js\": [\n\t\t721,\n\t\t4\n\t],\n\t\"./amplify-checkbox.entry.js\": [\n\t\t722,\n\t\t20\n\t],\n\t\"./amplify-confirm-sign-in_7.entry.js\": [\n\t\t723,\n\t\t6\n\t],\n\t\"./amplify-container.entry.js\": [\n\t\t724,\n\t\t21\n\t],\n\t\"./amplify-federated-buttons_2.entry.js\": [\n\t\t725,\n\t\t22\n\t],\n\t\"./amplify-federated-sign-in.entry.js\": [\n\t\t726,\n\t\t23\n\t],\n\t\"./amplify-form-field_4.entry.js\": [\n\t\t727,\n\t\t24\n\t],\n\t\"./amplify-greetings.entry.js\": [\n\t\t728,\n\t\t25\n\t],\n\t\"./amplify-icon-button.entry.js\": [\n\t\t729,\n\t\t26\n\t],\n\t\"./amplify-icon.entry.js\": [\n\t\t730,\n\t\t7\n\t],\n\t\"./amplify-link.entry.js\": [\n\t\t731,\n\t\t27\n\t],\n\t\"./amplify-nav_2.entry.js\": [\n\t\t732,\n\t\t28\n\t],\n\t\"./amplify-photo-picker.entry.js\": [\n\t\t733,\n\t\t29\n\t],\n\t\"./amplify-picker.entry.js\": [\n\t\t734,\n\t\t30\n\t],\n\t\"./amplify-radio-button_3.entry.js\": [\n\t\t735,\n\t\t8\n\t],\n\t\"./amplify-s3-album.entry.js\": [\n\t\t736,\n\t\t9\n\t],\n\t\"./amplify-s3-image-picker.entry.js\": [\n\t\t737,\n\t\t10\n\t],\n\t\"./amplify-s3-image.entry.js\": [\n\t\t738,\n\t\t11\n\t],\n\t\"./amplify-s3-text-picker.entry.js\": [\n\t\t739,\n\t\t12\n\t],\n\t\"./amplify-s3-text.entry.js\": [\n\t\t740,\n\t\t13\n\t],\n\t\"./amplify-select-mfa-type.entry.js\": [\n\t\t741,\n\t\t31\n\t],\n\t\"./amplify-sign-in-button.entry.js\": [\n\t\t742,\n\t\t14\n\t],\n\t\"./amplify-tooltip.entry.js\": [\n\t\t743,\n\t\t32\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 574;\nmodule.exports = webpackAsyncContext;","import { API } from \"aws-amplify\";\r\nimport { useMutation, useQuery, useQueryClient } from \"react-query\";\r\n\r\nexport interface User {\r\n userName: string;\r\n org: string;\r\n firstName: string;\r\n middleName: string;\r\n surname: string;\r\n email: string;\r\n mobile: string;\r\n phoneNumber: string;\r\n enabled: boolean;\r\n isCustomerLevel1: boolean;\r\n isTeltracLevel1: boolean;\r\n isTeltracAccountManager: boolean;\r\n isCustomerManager: boolean;\r\n isTeltracDispatcher: boolean;\r\n isTechnician: boolean;\r\n isBranchManager: boolean;\r\n managedUsers: string[];\r\n managedAccounts: string[];\r\n managedTechnicians: string[];\r\n}\r\n\r\nconst getUser = async () => {\r\n const user = await API.get(\"TeltracSRPortal\", \"/submission/user\", undefined);\r\n return user;\r\n};\r\n\r\nconst updateUser = async(data : User) => {\r\n const response = await API.post(\"TeltracSRPortal\", \"/submission/updatemydetails\", { body: data });\r\n return response as User;\r\n}\r\n\r\n// User type could be narrowed for this!\r\n// const fetchManagedTechnicians : User[] = async () => {\r\n// const response = await API.get(\"TeltracSRPortal\", \"/submission/managedTechnicians\")\r\n// return response as User[];\r\n// }\r\n\r\nexport const useUser = () => {\r\n\r\n const queryClient = useQueryClient();\r\n\r\n return {\r\n user : useQuery(\"user\", getUser),\r\n userMutation : useMutation((data : User) => updateUser(data), {onSuccess: data => {\r\n queryClient.setQueryData('user', data);\r\n }} )\r\n \r\n };\r\n};\r\n","import React from \"react\";\r\nimport {\r\n Container,\r\n Navbar,\r\n Nav //NavbarToggler,\r\n} from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./NavMenu.css\";\r\nimport { AmplifySignOut } from \"@aws-amplify/ui-react\";\r\nimport { useUser } from \"../data/useUser\";\r\n\r\nexport const NavMenu = () => {\r\n\r\n const { user: { data: user2 } } = useUser();\r\n\r\n const [collapsed, setCollapsed] = React.useState(true);\r\n\r\n const toggleNavbar = () => {\r\n setCollapsed(x => !x);\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 Main Menu\r\n \r\n {\r\n //\r\n }\r\n \r\n
    \r\n {user2 && user2.isTeltracLevel1 &&\r\n \r\n\r\n \r\n Admin\r\n \r\n\r\n \r\n }\r\n \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 { Container } from \"react-bootstrap\";\r\nimport { NavMenu } from \"./NavMenu\";\r\n//import { API } from \"aws-amplify\";\r\n\r\ninterface LayoutProps {\r\n children? : React.ReactNode\r\n}\r\n\r\nconst Layout = (props : LayoutProps) => {\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n \r\n
{props.children}
\r\n
\r\n
\r\n );\r\n\r\n};\r\n\r\nexport default Layout;\r\n","import { API } from \"aws-amplify\";\r\nimport { format, parseJSON } from \"date-fns\";\r\nimport { useMutation, useQuery, useQueryClient } from \"react-query\";\r\nimport { DeleteNoteCommand, NewNoteCommand } from \"../components/CommandTypes\";\r\nimport { ServiceRequestViewModel, UserPermissions } from \"./SharedTypes\";\r\n\r\ninterface Attachment {\r\n name: string;\r\n size: number;\r\n authenticatedUrl: string;\r\n}\r\n\r\n// interface Note {\r\n// noteID : string\r\n// authorID : string\r\n// author : string\r\n// timeStamp : string\r\n// noteContent : string\r\n// }\r\n\r\n// interface ServiceRequest {\r\n// clientID : string\r\n// requestID : string\r\n// simProID : string\r\n// simProSiteID : string\r\n// type : \"SR\" | \"Q\"\r\n// userIdentifier : string\r\n// serviceRequestID : string\r\n// yourName : string\r\n// yourEmail : string\r\n// yourPhone : string\r\n// yourMobile : string\r\n// billingAddress : string\r\n// workSiteName : string\r\n// workSiteEmail : string\r\n// workSitePhone : string\r\n// workSiteMobile : string\r\n// workSiteAddress : string\r\n// jobDescription : string\r\n// techConnectNumber : string\r\n// costCenterNumber : string\r\n// dateCreated : string\r\n// status : string\r\n// quoteStatus : string\r\n// customerStatus : string\r\n// priority : string\r\n// jobType : string\r\n// supplier : string\r\n// updatedByName : string\r\n// updatedByEmail : string\r\n// updatedByPhone : string\r\n// updatedByMobile : string\r\n// updatedByDateTime : string\r\n// updatedByUserIdentifier : string\r\n// dueDate : string\r\n// startDate : string\r\n// endDate : string\r\n// useCustomWorkSiteContact : boolean\r\n// assignedTo : string\r\n// assignedToName : string\r\n// simProJobID : string\r\n// simProQuoteID : string\r\n// fromQuoteRequestID : string\r\n// elevatedToServiceRequestID : string\r\n// quoteAccepted : boolean\r\n// notes : Note[]\r\n// userPermissions : UserPermissions\r\n// }\r\n\r\nexport interface UpdateServiceRequestCommand {\r\n requestID: string;\r\n serviceRequestID: string;\r\n simProID: string;\r\n simProSiteID: string;\r\n billingAddress: string;\r\n workSiteName: string;\r\n workSiteEmail: string;\r\n workSitePhone: string;\r\n workSiteMobile: string;\r\n workSiteAddress: string;\r\n jobDescription: string;\r\n techConnectNumber: string;\r\n costCenterNumber: string;\r\n jobType: string;\r\n priority: string;\r\n startDate: string;\r\n endDate: string;\r\n useCustomWorkSiteContact: boolean;\r\n fromQuoteRequestID: string;\r\n}\r\n\r\nconst parseDate = (str: string) => {\r\n return format(parseJSON(str), \"yyyy-MM-dd\");\r\n};\r\n\r\nconst getServiceRequest = async (requestId: string) => {\r\n const response = (await API.get(\"TeltracSRPortal\", \"/serviceRequest\", {\r\n queryStringParameters: { requestID: requestId },\r\n })) as ServiceRequestViewModel;\r\n\r\n response.jobDetails.startDate = parseDate(response.jobDetails.startDate);\r\n response.jobDetails.endDate = parseDate(response.jobDetails.endDate);\r\n\r\n return response;\r\n};\r\n\r\nconst createNote = async (requestId: string, noteContent: string) => {\r\n const body: NewNoteCommand = {\r\n noteContent: noteContent,\r\n serviceRequestID: requestId,\r\n };\r\n await API.post(\"TeltracSRPortal\", \"/ServiceRequest/NewNote\", {\r\n body: body,\r\n });\r\n};\r\n\r\nconst deleteNote = async (requestId: string, noteId: string) => {\r\n const command: DeleteNoteCommand = {\r\n noteID: noteId,\r\n requestID: requestId,\r\n };\r\n await API.post(\"TeltracSRPortal\", \"/ServiceRequest/DeleteNote\", {\r\n body: command,\r\n });\r\n};\r\n\r\ninterface AssignToTechnicianParams {\r\n requestID: string;\r\n technicianUserName: string;\r\n}\r\n\r\nconst assignToTechnician = async ({\r\n requestID,\r\n technicianUserName,\r\n}: AssignToTechnicianParams) => {\r\n return API.post(\"TeltracSRPortal\", \"/submission/assignToTechnician\", {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: {\r\n requestID: requestID,\r\n technicianUserName: technicianUserName,\r\n },\r\n });\r\n};\r\n\r\ninterface UpdateStatusParams {\r\n requestId: string;\r\n newStatus: string;\r\n}\r\n\r\nconst updateStatus = async ({ requestId, newStatus }: UpdateStatusParams) => {\r\n return API.post(\"TeltracSRPortal\", \"/submission/status\", {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: {\r\n requestID: requestId,\r\n newStatus: newStatus,\r\n },\r\n });\r\n};\r\n\r\nconst updateServiceRequest = async (command: UpdateServiceRequestCommand) => {\r\n const response = (await API.put(\"TeltracSRPortal\", \"/serviceRequest\", {\r\n body: command,\r\n })) as ServiceRequestViewModel;\r\n response.jobDetails.startDate = parseDate(response.jobDetails.startDate);\r\n response.jobDetails.endDate = parseDate(response.jobDetails.endDate);\r\n return response;\r\n};\r\n\r\nexport const useServiceRequest = (requestId: string) => {\r\n const queryClient = useQueryClient();\r\n\r\n const refreshRequest = () => {\r\n queryClient.invalidateQueries([\"serviceRequest\", requestId]);\r\n queryClient.invalidateQueries(\"serviceRequestList\");\r\n };\r\n\r\n return {\r\n serviceRequest: useQuery(\r\n [\"serviceRequest\", requestId],\r\n () => getServiceRequest(requestId),\r\n {}\r\n ),\r\n assignToTechnicianMutator: useMutation(\r\n (technicianUserName: string) =>\r\n assignToTechnician({\r\n requestID: requestId,\r\n technicianUserName: technicianUserName,\r\n }),\r\n {\r\n onSuccess: refreshRequest,\r\n }\r\n ),\r\n updateStatusMutator: useMutation(\r\n (newStatus: string) =>\r\n updateStatus({ requestId: requestId, newStatus: newStatus }),\r\n {\r\n onSuccess: refreshRequest,\r\n }\r\n ),\r\n createNoteMutator: useMutation(\r\n (noteContent: string) => createNote(requestId, noteContent),\r\n {\r\n onSuccess: refreshRequest,\r\n }\r\n ),\r\n deleteNoteMutator: useMutation(\r\n (noteId: string) => deleteNote(requestId, noteId),\r\n { onSuccess: refreshRequest }\r\n ),\r\n updateServiceRequestMutation: useMutation(updateServiceRequest, {\r\n onSuccess: (data) => {\r\n queryClient.setQueryData([\"serviceRequest\", requestId], data);\r\n queryClient.invalidateQueries(\"serviceRequestList\");\r\n queryClient.invalidateQueries([\"submission\", requestId]);\r\n },\r\n }),\r\n };\r\n};\r\n\r\n// export const useServiceRequestFiles = (submissionId: string) => {\r\n// return useQuery([\"serviceRequestFiles\", submissionId], () =>\r\n// getServiceRequestFileList(submissionId)\r\n// );\r\n//};\r\n","import React, { RefObject } from \"react\";\r\nimport { Popover } from \"react-bootstrap\";\r\nimport filesize from \"filesize\";\r\nimport {\r\n useServiceRequest\r\n} from \"../data/useServiceRequest\";\r\nimport { OverlayInjectedProps } from \"react-bootstrap/esm/OverlayTrigger\";\r\n\r\nconst DescriptionPopover = React.forwardRef(\r\n (props: { requestid: string; guid: string; overlayProps: any }) => {\r\n const {\r\n serviceRequest: { data: request },\r\n } = useServiceRequest(props.requestid);\r\n\r\n return (\r\n \r\n \r\n {props.requestid} Description\r\n \r\n \r\n
\r\n            {request?.jobDetails?.description || \"Loading…\"}\r\n          
\r\n
\r\n
\r\n {request?.files ? (\r\n request.files.length > 0 ? (\r\n <>\r\n

Attachments:

\r\n \r\n {request.files.map((file) => (\r\n
  • \r\n {file.name} ({filesize(file.size)})\r\n
  • \r\n ))}\r\n \r\n \r\n ) : (\r\n

    No attachments

    \r\n )\r\n ) : (\r\n

    Loading…

    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n);\r\n\r\nexport default DescriptionPopover;\r\n","import { API } from \"aws-amplify\";\r\nimport { format, parseJSON } from \"date-fns\";\r\nimport { useMutation, useQuery, useQueryClient } from \"react-query\";\r\nimport { ServiceRequestViewModel, UserPermissions } from \"./SharedTypes\";\r\n\r\nexport interface ServiceRequestListing {\r\n clientID : string\r\n requestID : string\r\n userIdentifier : string\r\n simProID : string\r\n serviceRequestID : string\r\n dateCreated : string\r\n dueDate : string\r\n yourName : string\r\n supplier : string\r\n billTo : string\r\n jobDescription : string\r\n jobType : string\r\n priority : string\r\n assignedTo : string\r\n assignedToName : string\r\n status : string\r\n quoteAccepted : boolean\r\n workSiteAddress : string\r\n type : string\r\n quoteStatus : string\r\n customerStatus : string\r\n simProQuoteId : string\r\n simProJobId : string\r\n userPermissions : UserPermissions\r\n}\r\n\r\nexport interface CreateServiceRequestCommand {\r\n requestID: string\r\n serviceRequestID: string\r\n simProID: string\r\n simProSiteID: string\r\n billingAddress: string\r\n workSiteName: string\r\n workSiteEmail: string\r\n workSitePhone: string\r\n workSiteMobile: string\r\n workSiteAddress: string\r\n jobDescription: string\r\n techConnectNumber: string\r\n costCenterNumber: string\r\n jobType: string\r\n priority: string\r\n startDate: string\r\n endDate: string\r\n useCustomWorkSiteContact: boolean\r\n }\r\n\r\nconst createServiceRequest = async (command : CreateServiceRequestCommand) => {\r\n return (await API.post(\"TeltracSRPortal\", \"/serviceRequest\", {body:command})) as ServiceRequestViewModel;\r\n }\r\n\r\nconst getServiceRequests = async () => {\r\n const response = await API.get(\"TeltracSRPortal\", \"/servicerequest/list\", undefined) as ServiceRequestListing[];\r\n const mappedResponse = response.map(x => {\r\n x.dateCreated = format(\r\n parseJSON(x.dateCreated),\r\n \"yyyy-MM-dd\"\r\n );\r\n x.dueDate = format(\r\n parseJSON(x.dueDate),\r\n \"yyyy-MM-dd\"\r\n );\r\n return x;\r\n });\r\n return mappedResponse;\r\n}\r\n\r\nexport const useServiceRequestList = () => {\r\n\r\n const queryClient = useQueryClient();\r\n\r\n return {\r\n serviceRequests: useQuery(\"serviceRequestList\", getServiceRequests),\r\n createServiceRequestMutation: useMutation(createServiceRequest, {onSuccess : (data) => {\r\n queryClient.setQueryData([\"serviceRequest\", data.serviceRequestID], data)\r\n queryClient.invalidateQueries(\"serviceRequestList\")\r\n }\r\n })\r\n};\r\n}\r\n","import {API} from 'aws-amplify';\r\nimport {useQuery, useQueryClient} from 'react-query';\r\nimport { FormConfig, JobType, Priority } from './SharedTypes';\r\n\r\n\r\ninterface CustomerInfo {\r\n type? : string\r\n simProCustomerID : string\r\n companyName: string\r\n // firstName: string,\r\n // lastName: string,\r\n // title: string,\r\n streetAddress: string,\r\n suburb : string,\r\n city: string,\r\n postCode: string,\r\n country: string\r\n}\r\n\r\ninterface SiteName {\r\n id : string\r\n name : string\r\n}\r\n\r\ninterface SRStatus {\r\n code : string,\r\n label : string\r\n}\r\n\r\nexport interface Lookups {\r\n customerInfos : CustomerInfo[],\r\n siteInfos : { [ id : string ] : SiteName[]},\r\n jobTypes : JobType[],\r\n priorities: Priority[],\r\n formConfig: FormConfig,\r\n quoteStatuses: SRStatus[],\r\n srStatuses: SRStatus[]\r\n}\r\n\r\nconst fetchLookups = async (clientId : string) => {\r\n console.log(\"fetchLookups for:\", clientId)\r\n const response = (await API.get(\"TeltracSRPortal\", \"/submission/ServiceRequestLookups\", {queryStringParameters:{orgID : clientId}}) ) as Lookups\r\n //console.log(\"fetchLookups response\", response);\r\n response.customerInfos.unshift({ simProCustomerID: \"\", companyName: \"Select\", city: \"\", country: \"\", streetAddress: \"\", suburb: \"\", postCode:\"\" });\r\n response.jobTypes.unshift({ code: \"\", label: \"Select\" });\r\n response.priorities.unshift({ code: \"\", label: \"Select\" });\r\n return response;\r\n}\r\n\r\nexport const useLookups = (clientId? : string) => {\r\n const queryClient = useQueryClient();\r\n\r\n return {\r\n lookups : useQuery(['lookups', clientId], () => fetchLookups(clientId!), { enabled:!!clientId}),\r\n prefetchLookups : () => !!clientId && queryClient.prefetchQuery(['lookups', clientId])\r\n }\r\n \r\n}","import React, { useEffect } from \"react\";\r\nimport {\r\n ToggleButton,\r\n ToggleButtonGroup,\r\n Nav,\r\n Badge,\r\n Table,\r\n Pagination,\r\n Form,\r\n Row,\r\n Col,\r\n Button,\r\n InputGroup,\r\n OverlayTrigger,\r\n Tooltip,\r\n TooltipProps,\r\n} from \"react-bootstrap\";\r\nimport {\r\n useTable,\r\n useSortBy,\r\n usePagination,\r\n useGlobalFilter,\r\n TableCellProps,\r\n CellProps,\r\n Column,\r\n} from \"react-table\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faSort,\r\n faSortUp,\r\n faSortDown,\r\n faPlusCircle,\r\n faFilter,\r\n faTimes,\r\n faEye,\r\n faEdit,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { format, parseISO } from \"date-fns\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport DescriptionPopover from \"./DescriptionPopover\";\r\nimport Highlighter from \"react-highlight-words\";\r\nimport { useUser } from \"../data/useUser\";\r\nimport { ServiceRequestListing, useServiceRequestList } from \"../data/useServiceRequests\";\r\nimport { UserPermissions } from \"../data/SharedTypes\";\r\nimport { OverlayInjectedProps } from \"react-bootstrap/esm/Overlay\";\r\nimport { useLookups } from \"../data/useLookups\";\r\n\r\nconst SRListMain = () => {\r\n\r\n const [filterText, setFilterText] = React.useState(\"\");\r\n\r\n const [statusFilter, setStatusFilter] = React.useState(\"\");\r\n\r\n const { serviceRequests: { data } } = useServiceRequestList();\r\n\r\n\r\n const tableData = React.useMemo(\r\n () => {\r\n if (data) {\r\n if (statusFilter) {\r\n return data.filter((x) => x.status?.toUpperCase() === statusFilter)\r\n } else {\r\n return [...data];\r\n }\r\n }\r\n return [];\r\n }, [data, statusFilter]\r\n )\r\n\r\n const { user: { data: user2 } } = useUser();\r\n\r\n const { prefetchLookups } = useLookups(user2?.org);\r\n\r\n useEffect(() => {\r\n if (!!user2) {\r\n prefetchLookups();\r\n }\r\n }, [user2]);\r\n\r\n const columns = React.useMemo(\r\n () => [\r\n {\r\n Header: \"ID\",\r\n accessor: \"requestID\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"dateCreated\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n disableGlobalFilter: true,\r\n },\r\n {\r\n Header: \"Lodged by\",\r\n accessor: \"yourName\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Supplier\",\r\n accessor: \"supplier\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Bill to\",\r\n accessor: \"billTo\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Site\",\r\n accessor: \"workSiteAddress\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Description\",\r\n accessor: \"jobDescription\",\r\n Cell: (props: { value: string }) => //({props.value}),\r\n (\r\n ),\r\n //disableGlobalFilter: true,\r\n },\r\n {\r\n Header: \"Priority\",\r\n accessor: \"priority\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Guid\",\r\n accessor: \"serviceRequestID\",\r\n disableGlobalFilter: true,\r\n },\r\n {\r\n Header: \"Assigned To\",\r\n accessor: \"assignedToName\",\r\n Cell: (props: { value: string }) => (\r\n \r\n ),\r\n },\r\n {\r\n Header: \"\",\r\n accessor: \"userPermissions\",\r\n Cell: (props: { value: UserPermissions }) => (\r\n <>\r\n \r\n \r\n \r\n {props.value.canEdit && (\r\n <>\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ),\r\n disableGlobalFilter: true,\r\n },\r\n ] as Column[],\r\n [filterText]\r\n );\r\n\r\n const readTooltipRenderer = (props: OverlayInjectedProps) => (\r\n \r\n You can view this service request\r\n \r\n );\r\n\r\n const editTooltipRenderer = (props: OverlayInjectedProps) => (\r\n You can edit this service request\r\n );\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n page,\r\n rows,\r\n prepareRow,\r\n // filtering stuff\r\n setGlobalFilter,\r\n // pagination stuff\r\n canPreviousPage,\r\n canNextPage,\r\n pageOptions,\r\n pageCount,\r\n gotoPage,\r\n nextPage,\r\n previousPage,\r\n setPageSize,\r\n state: { pageIndex, pageSize },\r\n } = useTable(\r\n {\r\n columns,\r\n data: tableData,\r\n initialState: {\r\n sortBy: [\r\n {\r\n id: \"requestID\",\r\n desc: true,\r\n },\r\n ],\r\n pageSize: Number(localStorage.getItem(\"srListPageSize\")) || 10,\r\n hiddenColumns: [\"serviceRequestID\", \"supplier\"],\r\n },\r\n },\r\n useGlobalFilter,\r\n useSortBy,\r\n usePagination\r\n );\r\n\r\n useEffect(() => {\r\n console.log(\"setting page size\", pageSize);\r\n localStorage.setItem(\"srListPageSize\", pageSize.toString());\r\n }, [pageSize]);\r\n\r\n const pagination = (\r\n
    \r\n \r\n \r\n \r\n Page{\" \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n />\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n />\r\n {[...Array(Math.min(5, pageCount)).keys()]\r\n .map((i) =>\r\n pageCount <= 5\r\n ? i\r\n : Math.min(Math.max(pageIndex, 2), pageCount - 3) + i - 2\r\n )\r\n .map((i) => (\r\n gotoPage(i)}\r\n key={i}\r\n active={i === pageIndex}\r\n >\r\n {i + 1}\r\n \r\n ))}\r\n nextPage()}\r\n disabled={!canNextPage}\r\n />\r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setPageSize(Number(e.target.value));\r\n }}\r\n >\r\n {[5, 10, 20, 30, 40, 50].map((pageSize) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n );\r\n\r\n console.log(\"rows:\", rows);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

    Service Requests

    \r\n \r\n
    \r\n \r\n {/* \r\n {\r\n (user2?.org !== \"TELTRAC\") &&\r\n \r\n \r\n \r\n }\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rows.length}\r\n \r\n \r\n \r\n {\r\n setGlobalFilter(evt.target.value);\r\n setFilterText(evt.target.value);\r\n setStatusFilter(\"\");\r\n }}\r\n />\r\n \r\n {\r\n setGlobalFilter(\"\");\r\n setFilterText(\"\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n ALL\r\n \r\n \r\n PENDING\r\n \r\n \r\n PROGRESS\r\n \r\n \r\n COMPLETE\r\n \r\n \r\n INVOICED\r\n \r\n \r\n ARCHIVED\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n {column.render(\"Header\")} \r\n {column.isSorted ? (\r\n column.isSortedDesc ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {page.map((row) => {\r\n prepareRow(row);\r\n return (\r\n \r\n \r\n {row.cells.map((cell) => {\r\n //console.log(cell);\r\n return cell.column.id === \"jobDescription\" ? (\r\n {\r\n return (\r\n \r\n );\r\n }}\r\n >\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n \r\n ) : (\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n {pagination}\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default SRListMain;\r\n","import React from \"react\";\r\nimport { Row, Col, Button, Badge, Table } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSort, faSortUp, faSortDown, faPlusCircle, faFilter, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\n\r\n\r\nconst Staff = props => {\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n

    Staff

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.users.filter(x => x.org === \"TELTRAC\")\r\n .map(x => \r\n \r\n \r\n \r\n\r\n )}\r\n \r\n
    NameEmailInfo
    \r\n {x.firstName} {x.surname}\r\n \r\n {x.email}\r\n \r\n {!x.enabled && <>Disabled{\" \"}}\r\n {x.isTeltracDispatcher && <>Dispatcher{\" \"}}\r\n {x.isTeltracLevel1 && <>Level 1 Admin{\" \"}}\r\n {x.isTeltracAccountManager && <>Account Manager{\" \"}}\r\n {x.isBranchManager && <>Branch Manager{\" \"}}\r\n {x.isTechnician && <>Technician{\" \"}}\r\n
    \r\n\r\n \r\n
    \r\n );\r\n\r\n\r\n}\r\n\r\nexport default Staff;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button } from 'react-bootstrap';\r\nimport { API } from 'aws-amplify';\r\n\r\nconst AdminHome = props => {\r\n\r\n\r\n\r\n const copyDataFromCSV = () => {\r\n API.post(\"TeltracSRPortal\", \"/admin/copycsv\")\r\n .then(response => {\r\n console.log(response);\r\n });\r\n }\r\n\r\n const copyUsersToDB = () => {\r\n API.post(\"TeltracSRPortal\", \"/admin/copyusers\")\r\n .then(response => {\r\n console.log(response);\r\n });\r\n }\r\n\r\n return
      \r\n
    • \r\n Staff\r\n
    • \r\n
    • \r\n Clients\r\n
    • \r\n {\r\n props.user && props.user.attributes.email === \"iwitham@resourceware.co.nz\" &&\r\n <>\r\n \r\n \r\n \r\n }\r\n
    \r\n\r\n}\r\n\r\nexport default AdminHome;","import React from \"react\";\r\nimport { Row, Col, Button, Modal, Form, Nav } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport { API } from 'aws-amplify';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSort, faSortUp, faSortDown, faPlusCircle, faFilter, faTimes } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst Clients = props => {\r\n\r\n const { organisations, setOrganisations } = props;\r\n\r\n const [showNewOrgModal, setShowNewOrgModal] = React.useState(false);\r\n const [newOrgID, setNewOrgID] = React.useState();\r\n const [newOrgName, setNewOrgName] = React.useState();\r\n\r\n const createNewOrg = () => {\r\n const body = {\r\n partition: \"org\",\r\n orgID: newOrgID,\r\n orgName: newOrgName\r\n };\r\n console.log(body);\r\n API.post(\"TeltracSRPortal\", \"/admin/organisation\", { body })\r\n .then(result => {\r\n console.log(\"result:\", result);\r\n setOrganisations(old => [...old, result]);\r\n cancelModal();\r\n });\r\n };\r\n\r\n const cancelModal = () => {\r\n setShowNewOrgModal(false);\r\n setNewOrgID(null);\r\n setNewOrgName(null);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n New Organisation\r\n \r\n \r\n \r\n
    \r\n \r\n Business ID\r\n setNewOrgID(e.target.value)}\r\n\r\n />\r\n \r\n\r\n \r\n Display Name\r\n setNewOrgName(e.target.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

    Clients

    \r\n
    \r\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 Clients;","import React from 'react';\r\nimport { Row, Col, Button, Badge, Table } from 'react-bootstrap';\r\nimport { Link, useRouteMatch } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSort, faSortUp, faSortDown, faPlusCircle, faFilter, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport { useTable, useSortBy } from 'react-table';\r\n\r\nconst ClientUsers = props => {\r\n\r\n const { path, url } = useRouteMatch();\r\n\r\n const data = React.useMemo(() => props.users.filter(x => x.org?.toUpperCase() === props.match.params.clientID?.toUpperCase()), [props.users, props.match.params.clientID]);\r\n const columns = React.useMemo(() => [\r\n {\r\n Header: \"Name\",\r\n id: \"userName\",\r\n accessor: (row, i) => `${row.firstName} ${row.surname}`,\r\n Cell: ({ row }) => {row.original.firstName} {row.original.surname}\r\n },\r\n {\r\n Header: \"Email\",\r\n accessor: \"email\",\r\n },\r\n {\r\n Header: \"Info\",\r\n id: \"InfoColumn\",\r\n accessor: (row, i) => `${row.enabled} ${row.isCustomerManager} ${row.isCustomerLevel1}`,\r\n Cell: ({ row }) => \r\n {!row.original.enabled && <>Disabled{\" \"}}\r\n {row.original.isCustomerManager && <>Manager{\" \"}}\r\n {row.original.isCustomerLevel1 && <>Level 1 Admin{\" \"}}\r\n \r\n }\r\n ], []);\r\n\r\n const instance = useTable(\r\n {\r\n data: data,\r\n columns: columns,\r\n },\r\n useSortBy\r\n );\r\n\r\n return (\r\n <>\r\n \r\n

    {props.match.params.clientID} Users

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {instance.headerGroups.map(headerGroup => (\r\n \r\n {headerGroup.headers.map(column => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {instance.rows.map((row, i) => {\r\n instance.prepareRow(row)\r\n return (\r\n \r\n {row.cells.map(cell => {\r\n return \r\n })}\r\n \r\n )\r\n\r\n })}\r\n \r\n
    \r\n {column.render('Header')}\r\n \r\n {column.isSorted\r\n ? column.isSortedDesc\r\n ? ' 🔽'\r\n : ' 🔼'\r\n : ''}\r\n \r\n
    {cell.render('Cell')}
    \r\n\r\n {\r\n //\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // {props.users.filter(x => x.org?.toUpperCase() === props.match.params.clientID?.toUpperCase())\r\n // .map(x =>\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // )}\r\n // \r\n //
    NameEmailInfo
    \r\n // {x.firstName} {x.surname}\r\n // \r\n // {x.email}\r\n // \r\n // {!x.enabled && <>Disabled{\" \"}}\r\n // {x.isCustomerManager && <>Manager{\" \"}}\r\n // {x.isCustomerLevel1 && <>Level 1 Admin{\" \"}}\r\n //
    \r\n }\r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default ClientUsers;","import React from 'react';\r\nimport { Modal, Button, Form } from 'react-bootstrap';\r\nimport { API } from 'aws-amplify';\r\nvar generator = require('generate-password');\r\n\r\n\r\nconst ResetPasswordModal = props => {\r\n const { show, setShow, email, userID } = props;\r\n\r\n const randomPassword = () => {\r\n return generator.generate({\r\n length: 8,\r\n excludeSimilarCharacters: true\r\n });\r\n }\r\n\r\n const [permanent, setPermanent] = React.useState(false);\r\n\r\n const [password, setPassword] = React.useState(randomPassword());\r\n\r\n const handleClose = () => setShow(false);\r\n\r\n const resetPassword = () => {\r\n // reset password...\r\n API.post(\"TeltracSRPortal\", \"/admin/resetPassword\", { body: { userName: userID, password: password, permanent: permanent, email: email } })\r\n .then(() => {\r\n handleClose();\r\n });\r\n }\r\n\r\n return \r\n Reset Password\r\n \r\n

    Resetting a user's password can be useful when a user's temporary password is lost or has expired, as the “forgot password” link will not work in these cases.\r\n

    \r\n
    { evt.preventDefault(); evt.stopPropagation(); }}>\r\n \r\n Password\r\n setPassword(evt.target.value)} placeholder=\"New Password\" />\r\n Minimum length 8\r\n \r\n \r\n \r\n { console.log(evt); setPermanent(evt.target.checked); }}\r\n type=\"checkbox\"\r\n checked={permanent}\r\n label=\"Permanent\" />\r\n {permanent ?\r\n Permanent passwords will not be emailed to the user. The user will not be prompted to change this password when they log on.\r\n : User will emailed this temporary password and prompted to change it when they log on\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 ResetPasswordModal;","import React from 'react';\r\nimport { Row, Col, Form, InputGroup, Button, Modal, Spinner } from 'react-bootstrap';\r\n//import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n//import { faCheck } from '@fortawesome/free-solid-svg-icons';\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport * as yup from \"yup\";\r\nimport { API } from \"aws-amplify\";\r\nimport Select from 'react-select';\r\nimport ResetPasswordModal from './ResetPasswordModal';\r\n\r\nconst schema = yup.object().shape({\r\n firstName: yup.string().label(\"First Name\").required(),\r\n surname: yup.string().label(\"Surname\").required(),\r\n email: yup.string().label(\"Email Address\").email().required(),\r\n isTeltracDispatcher: yup.bool().label(\"Teltrac Dispatcher\"),\r\n isTeltracLevel1: yup.bool().label(\"Teltrac Admin Level 1\"),\r\n isBranchManager: yup.bool().label(\"Branch Manager\"),\r\n isTechnician: yup.bool().label(\"Technician\"),\r\n isTeltracAccountManager: yup.bool().label(\"Account Manager\"),\r\n phoneNumber: yup.string().matches(/^\\+64\\d+$/, { message: \"Phone number must be in the form +64...\", excludeEmptyString: true }).label(\"Phone\"),\r\n mobile: yup.string().matches(/^\\+64\\d+$/, { message: \"Mobile number must be in the form +64...\", excludeEmptyString: true }).label(\"Mobile\"),\r\n enabled: yup.bool().label(\"User Account Enabled\"),\r\n managedAccounts: yup.array()\r\n .of(yup.string()\r\n .transform((val, origVal) => { return origVal.value; })).nullable()\r\n .label(\"Managed Accounts\"),\r\n managedTechnicians: yup.array()\r\n .of(yup.string()\r\n .transform((val, origVal) => { return origVal.value; })).nullable()\r\n .label(\"Managed Technicians\"),\r\n});\r\n\r\nconst FieldGroup = (props) => {\r\n\r\n const {\r\n controlId,\r\n errors,\r\n register,\r\n controlAttrs,\r\n isPhone,\r\n schema,\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n {schema.fields[controlId].describe().label}\r\n \r\n\r\n \r\n {isPhone ? +64 : <>}\r\n \r\n\r\n\r\n \r\n {errors && errors.message}\r\n \r\n \r\n\r\n {\r\n controlId === \"email\" &&\r\n \r\n Note: If this email address is changed, the new address must be used when this user to logs in\r\n \r\n }\r\n\r\n\r\n \r\n );\r\n};\r\n\r\nconst CheckGroup = (props) => {\r\n\r\n\r\n const {\r\n controlId,\r\n errors,\r\n register,\r\n controlAttrs,\r\n schema,\r\n note,\r\n } = props;\r\n\r\n return (\r\n \r\n\r\n \r\n \r\n \r\n {errors && errors.message}\r\n \r\n \r\n {errors && (\r\n \r\n {errors.message}\r\n \r\n )}\r\n {\r\n note &&\r\n \r\n {note}\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nconst StaffUser = props => {\r\n\r\n const { users, setUsers, organisations } = props;\r\n\r\n const [user, setUser] = React.useState();\r\n\r\n const { register, handleSubmit, watch, reset, setValue, getValues, control, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n mode: 'all',\r\n reValidateMode: 'onChange',\r\n });\r\n\r\n const watchIsTeltracAccountManager = watch(\"isTeltracAccountManager\");\r\n const watchIsBranchManager = watch(\"isBranchManager\");\r\n\r\n const onSubmit = (data) => {\r\n setShow(true);\r\n console.log(\"user\", user);\r\n console.log(\"data\", data);\r\n const updatedUser = { ...user, ...data };\r\n console.log(\"updatedUser\", updatedUser);\r\n API.post(\"TeltracSRPortal\", \"/admin/staffUser\", { body: updatedUser }).then(response => {\r\n console.log(\"update user response:\", response);\r\n setUsers(response);\r\n setShow(false);\r\n }\r\n );\r\n }\r\n\r\n const { isDirty, isSubmitting, isValid, errors } = formState;\r\n const [show, setShow] = React.useState(false);\r\n const [showResetPassword, setShowResetPassword] = React.useState(false);\r\n\r\n const accountManagerOptions = React.useMemo(() => {\r\n return organisations ? organisations\r\n .map(x => {\r\n return { value: x.orgID, label: x.orgName }\r\n }) : []\r\n }\r\n , [organisations]);\r\n\r\n const technicianOptions = React.useMemo(() => {\r\n return users ? users.filter(x => x.org === \"TELTRAC\" && x.isTechnician)\r\n .map(x => {\r\n return { value: x.userName, label: `${x.firstName} ${x.surname}` }\r\n }) : [];\r\n }, [users]);\r\n\r\n React.useEffect(() => {\r\n\r\n if (users) {\r\n const getUser = async () => {\r\n let response = await API.get(\"TeltracSRPortal\", \"/admin/user?userName=\" + props.match.params.userID)\r\n console.log(\"setting user:\", response);\r\n response.managedAccounts = (response.managedAccounts ?? []).map(x => {\r\n let account = organisations.find(y => y.orgID === x);\r\n if (account) {\r\n return { value: x, label: account.orgName }\r\n } else {\r\n return { value: x, label: \"not found\" };\r\n }\r\n });\r\n response.managedTechnicians = (response.managedTechnicians ?? []).map(x => {\r\n let technician = users.find(y => y.userName === x);\r\n if (technician) {\r\n return { value: x, label: `${technician.firstName} ${technician.surname}` }\r\n } else {\r\n return { value: x, label: \"not found\" };\r\n }\r\n });\r\n setUser(response);\r\n reset(response);\r\n }\r\n getUser();\r\n }\r\n\r\n }, [props.users])\r\n\r\n const handleResetPasswordButtonClick = () => setShowResetPassword(true);\r\n\r\n return (user ? <>\r\n \r\n \r\n Saving changes...\r\n \r\n\r\n \r\n Saving...\r\n \r\n \r\n \r\n \r\n \r\n

    {user.firstName} {user.surname} {user.email}

    \r\n \r\n
    \r\n \r\n \r\n\r\n\r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n {\r\n //<>\r\n //
    {JSON.stringify(errors)}
    \r\n //
    {isDirty ? \"isDirty\" : \"!isDirty\"} {isValid ? \"isValid\" : \"!isValid\"} {isSubmitting ? \"isSubmitting\" : \"!isSubmitting\"}
    \r\n //\r\n }\r\n\r\n\r\n
    \r\n {\" \"}\r\n\r\n \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n {\r\n //
    {JSON.stringify(user, null, 2)}
    \r\n //
    \r\n //
    {JSON.stringify(formState, null, 2)}
    \r\n\r\n }\r\n \r\n
    \r\n\r\n :

    loading...

    \r\n );\r\n}\r\n\r\nexport default StaffUser;","import React from 'react';\r\nimport { Row, Col, Form, InputGroup, Button, Modal, Spinner } from 'react-bootstrap';\r\n//import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n//import { faCheck } from '@fortawesome/free-solid-svg-icons';\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport * as yup from \"yup\";\r\nimport { API } from \"aws-amplify\";\r\nimport Select from 'react-select';\r\nimport ResetPasswordModal from './ResetPasswordModal';\r\n\r\nconst schema = yup.object().shape({\r\n firstName: yup.string().label(\"First Name\").required(),\r\n surname: yup.string().label(\"Surname\").required(),\r\n email: yup.string().label(\"Email Address\").email().required(),\r\n isCustomerManager: yup.bool().label(\"Manager\"),\r\n isCustomerLevel1: yup.bool().label(\"User Level 1\"),\r\n phoneNumber: yup.string().matches(/^\\+64\\d+$/, { message: \"Phone number must be in the form +64...\", excludeEmptyString: true }).label(\"Phone\"),\r\n mobile: yup.string().matches(/^\\+64\\d+$/, { message: \"Mobile number must be in the form +64...\", excludeEmptyString: true }).label(\"Mobile\"),\r\n enabled: yup.bool().label(\"User Account Enabled\"),\r\n managedUsers: yup.array()\r\n .of(yup.string()\r\n .transform((val, origVal) => { return origVal.value; }))\r\n .label(\"Managed Users\")\r\n});\r\n\r\n\r\n\r\nconst FieldGroup = (props) => {\r\n\r\n\r\n const {\r\n controlId,\r\n errors,\r\n register,\r\n controlAttrs,\r\n isPhone,\r\n schema,\r\n } = props;\r\n\r\n return (\r\n\r\n\r\n \r\n \r\n {schema.fields[controlId].describe().label}\r\n \r\n\r\n \r\n {isPhone ? +64 : <>}\r\n \r\n\r\n\r\n \r\n {errors && errors.message}\r\n \r\n \r\n\r\n {\r\n controlId === \"email\" &&\r\n \r\n Note: If this email address is changed, the new address must be used when this user to logs in\r\n \r\n }\r\n\r\n\r\n \r\n );\r\n};\r\n\r\nconst CheckGroup = (props) => {\r\n\r\n\r\n const {\r\n controlId,\r\n errors,\r\n register,\r\n controlAttrs,\r\n schema,\r\n note\r\n } = props;\r\n\r\n return (\r\n \r\n\r\n \r\n \r\n \r\n {errors && errors.message}\r\n \r\n \r\n {errors && (\r\n \r\n {errors.message}\r\n \r\n )}\r\n {\r\n note &&\r\n \r\n {note}\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\n//const options = [\r\n// { value: 'chocolate', label: 'Chocolate' },\r\n// { value: 'strawberry', label: 'Strawberry' },\r\n// { value: 'vanilla', label: 'Vanilla' }\r\n//]\r\n\r\n\r\nconst ClientUser = props => {\r\n\r\n const { users, setUsers } = props;\r\n\r\n const [user, setUser] = React.useState();\r\n\r\n const [showResetPassword, setShowResetPassword] = React.useState(false);\r\n\r\n const { register, handleSubmit, watch, reset, setValue, getValues, control, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n mode: 'all',\r\n });\r\n\r\n const watchIsCustomerManager = watch(\"isCustomerManager\");\r\n\r\n const onSubmit = (data) => {\r\n setShow(true);\r\n console.log(data);\r\n const updatedUser = { ...user, ...data };\r\n console.log(\"updatedUser\", updatedUser);\r\n API.post(\"TeltracSRPortal\", \"/admin/staffUser\", { body: updatedUser }).then(response => {\r\n console.log(\"update user response:\", response);\r\n setUsers(response);\r\n setShow(false);\r\n }\r\n );\r\n }\r\n\r\n const { isDirty, isSubmitting, isValid, errors } = formState;\r\n const [show, setShow] = React.useState(false);\r\n\r\n const options = React.useMemo(() => {\r\n console.log(props.match.params.clientID);\r\n return props.users ? props.users.filter(x => x.org == props.match.params.clientID.toUpperCase())\r\n .map(x => {\r\n return { value: x.userName, label: `${x.firstName} ${x.surname}` }\r\n }) : []\r\n }\r\n , [users, props.match.params.clientID]);\r\n\r\n React.useEffect(() => {\r\n if (users) {\r\n const getUser = async () => {\r\n let response = await API.get(\"TeltracSRPortal\", \"/admin/user?userName=\" + props.match.params.userID)\r\n console.log(\"setting user:\", response);\r\n response.managedUsers = (response.managedUsers ?? []).map(x => {\r\n let managedUser = users.find(y => y.userName === x);\r\n if (managedUser) {\r\n return { value: x, label: `${managedUser.firstName} ${managedUser.surname}` }\r\n } else {\r\n return { value: x, label: \"not found\" };\r\n }\r\n });\r\n setUser(response);\r\n reset(response);\r\n }\r\n getUser();\r\n }\r\n\r\n }, [users]);\r\n\r\n const handleResetPasswordButtonClick = () => setShowResetPassword(true);\r\n\r\n\r\n return (user ? <>\r\n \r\n \r\n Saving changes...\r\n \r\n\r\n \r\n Loading...\r\n \r\n \r\n \r\n \r\n \r\n

    {user.firstName} {user.surname} {user.email}

    \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n\r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n :

    loading...

    \r\n );\r\n};\r\n\r\n","import React from \"react\";\r\nimport RaiseableCard from \"./RaiseableCard\";\r\nimport { Card, Button, Modal, Form, InputGroup, Col, ProgressBar, Spinner } from \"react-bootstrap\";\r\nimport { QuotationViewModel } from \"../data/SharedTypes\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport { acceptanceProps, useQuotation } from \"../data/useQuotation\";\r\nimport { QuotationFilesDropzone } from \"./QuotationFilesDropzone\";\r\nimport { attachEventProps } from \"@aws-amplify/ui-react/lib-esm/react-component-lib/utils\";\r\nimport { useSubmission } from \"../data/useSubmission\";\r\n\r\nfunction statusText (simProQuoteStatus: string) {\r\n \r\n switch (simProQuoteStatus) {\r\n case \"InProgress\":\r\n return \"Complete\";\r\n case \"Approved\":\r\n return \"Open\";\r\n case \"Complete\":\r\n return \"Approved\";\r\n case \"Archived\":\r\n return \"Archived\";\r\n default:\r\n return simProQuoteStatus;\r\n }\r\n}\r\n\r\n\r\n \r\n\r\ninterface QuotationPanelProps {\r\n vm: QuotationViewModel;\r\n match: any;\r\n simProQuoteStatus: string;\r\n simProQuoteID: string;\r\n}\r\n\r\nconst QuotationPanel = ({ ...props }: QuotationPanelProps) => {\r\n //const [quoteGot, setQuoteGot] = React.useState(false);\r\n\r\n //const [quote, setQuote] = React.useState();\r\n\r\n const requestId = props.match.params.requestID;\r\n\r\n //const [attachments, setAttachments] = React.useState([]);\r\n const {\r\n attachments: { data: attachments },\r\n acceptQuoteMutation\r\n } = useQuotation(requestId);\r\n const [showAcceptQuoteDialog, setShowAcceptQuoteDialog] =\r\n React.useState(false);\r\n\r\n\r\n\r\n const acceptQuote = (args: acceptanceProps) => {\r\n acceptQuoteMutation.mutate(args);\r\n };\r\n\r\n return (\r\n <>\r\n setShowAcceptQuoteDialog(false)}\r\n handleAcceptQuote={acceptQuote}\r\n />\r\n
    \r\n \r\n \r\n

    Quotation {props.vm && statusText(props.vm.status)}

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

    Quotation for {props.match.params.requestID}

    \r\n {props.vm.userPermissions.canUploadQuoteAttachments &&\r\n \r\n }\r\n {attachments &&\r\n (attachments.length === 0 ? (\r\n

    No attachments

    \r\n ) : (\r\n
      \r\n {attachments.map((x) => (\r\n
    • \r\n \r\n {x.name}\r\n \r\n
    • \r\n ))}\r\n
    \r\n ))}\r\n
    \r\n {/*
    {JSON.stringify([quoteGot, props.vm.userPermissions.canAcceptQuote, props.vm.status], null, 2)}
    */}\r\n {props.vm.userPermissions.canAcceptQuote &&\r\n !(props.vm.status === \"Accepted\") && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\ninterface confirmAcceptanceDialogProps {\r\n vm: QuotationViewModel;\r\n show: boolean;\r\n hideDialog: () => void;\r\n handleAcceptQuote: (arg: acceptanceProps) => void;\r\n}\r\n\r\nconst ConfirmAcceptanceDialog = ({\r\n vm,\r\n show,\r\n hideDialog,\r\n handleAcceptQuote,\r\n}: confirmAcceptanceDialogProps) => {\r\n const { formConfig, priorities, jobTypes } = vm;\r\n const {\r\n register,\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm();\r\n\r\n const onSubmit = (data: acceptanceProps) => {\r\n handleAcceptQuote(data);\r\n hideDialog();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Accept Quote\r\n \r\n\r\n \r\n

    \r\n Please supply the required Service Request information to accept\r\n this quote.\r\n

    \r\n\r\n \r\n \r\n \r\n Start Date\r\n \r\n {errors.endDate && (\r\n \r\n {errors.endDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n End Date\r\n \r\n {errors.endDate && (\r\n \r\n {errors.endDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Job Type\r\n (\r\n \r\n {jobTypes.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.jobType && (\r\n \r\n {errors.jobType.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Priority\r\n (\r\n \r\n {priorities.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.priority && (\r\n \r\n {errors.priority.message}\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n {formConfig.showTechConnect && (\r\n \r\n \r\n \r\n )}\r\n\r\n {formConfig.showCostCenter && (\r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst FieldGroup = (props: any) => {\r\n const { label, controlId, errors, register, controlAttrs } = props;\r\n\r\n return (\r\n \r\n {label}\r\n\r\n \r\n \r\n \r\n\r\n (\r\n \r\n {message}\r\n \r\n )}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default QuotationPanel;\r\n","import React, { ReactElement } from \"react\";\r\nimport { Button, Card, Col, Form, Modal, Row, Spinner } from \"react-bootstrap\";\r\nimport { Link, RouteComponentProps } from \"react-router-dom\";\r\nimport QuotationPanel from \"./QuotationPanel\";\r\nimport RaiseableCard from \"./RaiseableCard\";\r\nimport ServiceRequestFileList from \"./ServiceRequestFileList\";\r\nimport { lightFormat } from \"date-fns\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport { NoteCard } from \"./NoteCard\";\r\nimport { useQuotation } from \"../data/useQuotation\";\r\nimport { useUser } from \"../data/useUser\";\r\nimport { useSubmission } from \"../data/useSubmission\";\r\n\r\ninterface MatchParams {\r\n requestID: string;\r\n}\r\n\r\nfunction statusText(simProQuoteStatus: string) {\r\n switch (simProQuoteStatus) {\r\n case \"InProgress\":\r\n return \"Complete\";\r\n case \"Approved\":\r\n return \"Open\";\r\n case \"Complete\":\r\n return \"Approved\";\r\n case \"Archived\":\r\n return \"Archived\";\r\n default:\r\n return simProQuoteStatus;\r\n }\r\n}\r\n\r\nexport const QuotationView = (\r\n props: RouteComponentProps\r\n): ReactElement => {\r\n const {\r\n quotation: { data: vm },\r\n } = useQuotation(props.match.params.requestID);\r\n const {\r\n user: { data: user2 },\r\n } = useUser();\r\n const username = user2?.userName;\r\n\r\n const [newNoteContent, setNewNoteContent] = React.useState(\"\");\r\n const [newNoteEnabled, setNewNoteEnabled] = React.useState(true);\r\n const [showCancelConfirmation, setShowCancelConfirmation] =\r\n React.useState(false);\r\n const [showAcceptanceDialog, setShowAcceptanceDialog] = React.useState(false);\r\n\r\n const { cancelSubmissionMutation } = useSubmission(\r\n props.match.params.requestID\r\n );\r\n\r\n const hideAcceptanceDialog = () => {\r\n setShowAcceptanceDialog(false);\r\n };\r\n\r\n const handleNewNoteSubmit = async (ev: React.FormEvent) => {\r\n ev.preventDefault();\r\n // setNewNoteEnabled(false);\r\n // const body: NewNoteCommand = {\r\n // noteContent: newNoteContent,\r\n // serviceRequestID: vm?.serviceRequestID ?? \"\",\r\n // };\r\n // await axios.post(\"/api/quotation/NewNote\", body, {\r\n // headers: await headers(),\r\n // });\r\n // load();\r\n // setNewNoteContent(\"\");\r\n // setNewNoteEnabled(true);\r\n };\r\n\r\n const updateStatus = (newStatus: string) => {\r\n // API.post(\"TeltracSRPortal\", \"/quotation/status\", {\r\n // headers: {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // body: {\r\n // requestID: props.match.params.requestID ?? vm?.serviceRequestID,\r\n // newStatus: newStatus,\r\n // },\r\n // }).then(() => {\r\n // load();\r\n // });\r\n };\r\n\r\n const cancelServiceRequest = () => {\r\n cancelSubmissionMutation.mutate();\r\n };\r\n\r\n const handleCancelSRClicked = () => {\r\n setShowCancelConfirmation(true);\r\n };\r\n\r\n const deleteNote = async (noteID: string) => {\r\n // if (vm) {\r\n // const command: DeleteNoteCommand = {\r\n // noteID: noteID,\r\n // requestID: vm.serviceRequestID,\r\n // };\r\n // await axios.post(\"/api/quotation/DeleteNote\", command, {\r\n // headers: await headers(),\r\n // });\r\n // load();\r\n // }\r\n };\r\n\r\n const handleDeleteNote = (noteID: string) => {\r\n deleteNote(noteID);\r\n };\r\n\r\n return vm ? (\r\n <>\r\n \r\n\r\n \r\n \r\n {vm.simProQuoteID && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n

    \r\n Quote {vm.serviceRequestID}\r\n Status: {statusText(vm.status)}\r\n {vm.elevatedToServiceRequestID && (\r\n

    \r\n Accepted quote raised as{\" \"}\r\n \r\n Service Request {vm.elevatedToServiceRequestID}\r\n \r\n

    \r\n )}\r\n
    \r\n {vm.userPermissions?.canEdit ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {/* {vm.userPermissions?.canAssign ? (\r\n \r\n {\" \"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )} */}\r\n {vm.userPermissions?.canCancel ? (\r\n \r\n {\" \"}\r\n \r\n Cancel Quote Request\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n

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

    Requester's Details

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Name
    \r\n
    {vm.requester.name}
    \r\n
    Email
    \r\n
    {vm.requester.email}
    \r\n
    Mobile
    \r\n
    {vm.requester.mobile || \"—\"}
    \r\n
    Phone
    \r\n
    {vm.requester.phone || \"—\"}
    \r\n
    \r\n\r\n

    Bill to

    \r\n\r\n

    {vm.billingDetails.companyName}

    \r\n\r\n
    \r\n
    Billing Address
    \r\n
    \r\n
    \r\n {vm.billingDetails.streetAddress}\r\n
    \r\n {vm.billingDetails.suburb}\r\n
    \r\n {vm.billingDetails.city}   \r\n {vm.billingDetails.postCode}\r\n
    \r\n {vm.billingDetails.country}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    Work Site Details

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

    {vm.workSiteDetails.siteName}

    \r\n
    \r\n
    Physical worksite address
    \r\n
    \r\n
    \r\n {vm.workSiteDetails.streetAddress}\r\n
    \r\n {vm.workSiteDetails.suburb}\r\n
    \r\n {vm.workSiteDetails.city}   \r\n {vm.workSiteDetails.postCode}\r\n
    \r\n {vm.workSiteDetails.country}\r\n
    \r\n
    \r\n\r\n
    Worksite contact
    \r\n
    {vm.workSiteContact.name}
    \r\n
    Worksite contact email
    \r\n
    {vm.workSiteContact.email}
    \r\n
    Worksite contact phone
    \r\n
    {vm.workSiteContact.phone}
    \r\n
    Worksite contact mobile
    \r\n
    {vm.workSiteContact.mobile}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    Request Details

    \r\n
    \r\n \r\n
    \r\n \r\n {vm.jobDetails.description}\r\n \r\n \r\n \r\n
    \r\n
    Quote Due Date
    \r\n
    \r\n {vm.jobDetails.dueDate &&\r\n lightFormat(\r\n Date.parse(vm.jobDetails.dueDate),\r\n \"dd-MM-yyyy\"\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n {/* \r\n \r\n \r\n
    \r\n
    \r\n \r\n setNewNoteContent(ev.target.value)}\r\n as=\"textarea\"\r\n rows={5}\r\n />\r\n \r\n \r\n Create New Note\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {vm.notes.map((x) => (\r\n \r\n ))}\r\n \r\n \r\n */}\r\n
    \r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nconst ConfirmCancelDialog = (props: any) => {\r\n const { show, setShow, cancelServiceRequest } = props;\r\n\r\n const hideMe = () => setShow(false);\r\n const handleYesClicked = () => {\r\n cancelServiceRequest();\r\n hideMe();\r\n };\r\n\r\n return (\r\n \r\n \r\n Please Confirm\r\n \r\n\r\n \r\n

    Are you sure?

    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n","import API from \"@aws-amplify/api\";\r\nimport { format, parseJSON } from \"date-fns\";\r\nimport { useMutation, useQuery, useQueryClient } from \"react-query\";\r\nimport { QuotationViewModel, ServiceRequestViewModel, UserPermissions } from \"./SharedTypes\";\r\n\r\nexport interface QuotationListing {\r\n clientID: string;\r\n requestID: string;\r\n userIdentifier: string;\r\n simProID: string;\r\n serviceRequestID: string;\r\n dateCreated: string;\r\n dueDate: string;\r\n yourName: string;\r\n supplier: string;\r\n billTo: string;\r\n jobDescription: string;\r\n jobType: string;\r\n priority: string;\r\n assignedTo: string;\r\n assignedToName: string;\r\n status: string;\r\n quoteStatus: string;\r\n customerStatus: string;\r\n workSiteAddress: string;\r\n userPermissions: UserPermissions;\r\n quoteAccepted: boolean;\r\n}\r\n\r\nexport interface CreateQuotationCommand {\r\n requestID: string\r\n serviceRequestID: string\r\n simProID: string\r\n simProSiteID: string\r\n billingAddress: string\r\n workSiteName: string\r\n workSiteEmail: string\r\n workSitePhone: string\r\n workSiteMobile: string\r\n workSiteAddress: string\r\n jobDescription: string\r\n dueDate: string\r\n useCustomWorkSiteContact: boolean\r\n}\r\n\r\nconst createQuotation = async (command : CreateQuotationCommand) => {\r\n return (await API.post(\"TeltracSRPortal\", \"/quotation\", {body:command})) as QuotationViewModel;\r\n\r\n}\r\n\r\nconst parseDate = (str : string) => {\r\n return format(parseJSON(str), 'yyyy-MM-dd');\r\n}\r\n\r\nconst getQuotations = async () => {\r\n const response = (await API.get(\"TeltracSRPortal\", \"/quotation/list\", undefined)) as QuotationListing[]\r\n const mappedResponse = response.map(x => {\r\n const mapped = {...x};\r\n mapped.quoteStatus = x.quoteAccepted ? \"ARCHIVED\" : x.quoteStatus;\r\n return mapped as QuotationListing;\r\n });\r\n \r\n return mappedResponse;\r\n\r\n};\r\n\r\nexport const useQuotations = () => {\r\n\r\n const queryClient = useQueryClient();\r\n\r\n return {\r\n quotations: useQuery(\"quotationList\", getQuotations),\r\n createQuotationMutation: useMutation(createQuotation, {onSuccess : (data) => {\r\n queryClient.setQueryData([\"quotation\", data.serviceRequestID], data)\r\n queryClient.invalidateQueries(\"quotationList\")\r\n }})\r\n } \r\n\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { ToggleButton, ToggleButtonGroup, Nav, Badge, Table, Pagination, Form, Row, Col, Button, InputGroup, OverlayTrigger, Tooltip } from 'react-bootstrap';\r\nimport { useTable, useSortBy, usePagination, useGlobalFilter, Column } from 'react-table';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSort, faSortUp, faSortDown, faPlusCircle, faFilter, faTimes, faEye, faEdit } from '@fortawesome/free-solid-svg-icons';\r\nimport { format, parseISO } from 'date-fns';\r\nimport { LinkContainer } from 'react-router-bootstrap';\r\nimport DescriptionPopover from './DescriptionPopover';\r\nimport Highlighter from \"react-highlight-words\";\r\nimport { QuotationListing, useQuotations } from '../data/useQuotations';\r\nimport { useUser } from '../data/useUser';\r\nimport { useLookups } from '../data/useLookups';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\n\r\nexport const QuotationList = () => {\r\n\r\n \r\n\r\n const { quotations:{ data} } = useQuotations();\r\n\r\n const [filterText, setFilterText] = React.useState(\"\");\r\n \r\n const [statusFilter, setStatusFilter] = React.useState(\"\");\r\n\r\n const { user : { data : user2} } = useUser();\r\n\r\n const { prefetchLookups } = useLookups(user2?.org);\r\n\r\n useEffect(() => {\r\n if (!!user2) {\r\n prefetchLookups();\r\n }\r\n }, [user2]);\r\n\r\n const tableData = React.useMemo(() => {\r\n if (data) {\r\n if (statusFilter) {\r\n return data.filter(x => x.quoteStatus?.toUpperCase() === statusFilter);\r\n } else {\r\n return [...data];\r\n }\r\n }\r\n return [];\r\n }, [statusFilter, data]);\r\n\r\n const columns : Column[] = React.useMemo(\r\n () => [\r\n {\r\n Header: 'ID',\r\n accessor: 'requestID',\r\n Cell: ({ value } : {value: any}) => \r\n },\r\n {\r\n Header: 'Date',\r\n accessor: 'dateCreated',\r\n Cell: ({ value }: {value: any}) => ,\r\n disableGlobalFilter: true\r\n },\r\n {\r\n Header: 'Lodged by',\r\n accessor: 'yourName',\r\n Cell: ({ value }: {value: any}) => \r\n },\r\n {\r\n Header: 'Supplier',\r\n accessor: 'supplier',\r\n Cell: ({ value }: {value: any}) => \r\n },\r\n {\r\n Header: 'Bill to',\r\n accessor: 'billTo',\r\n Cell: ({ value }: {value: any}) => \r\n },\r\n {\r\n Header: 'Site',\r\n accessor: 'workSiteAddress',\r\n Cell: ({ value }: {value: any}) => \r\n },\r\n {\r\n Header: 'Description',\r\n accessor: 'jobDescription',\r\n Cell: ({ value }: {value: any}) => \r\n },\r\n {\r\n Header: 'Due Date',\r\n accessor: 'dueDate',\r\n Cell: ({ value }: {value: any}) => ,\r\n disableGlobalFilter: true\r\n },\r\n {\r\n Header: 'Status',\r\n accessor: 'quoteStatus',\r\n Cell: ({ value }: {value: any}) => \r\n },\r\n {\r\n Header: 'Customer Status',\r\n accessor: 'customerStatus',\r\n Cell: ({ value }: {value: any}) => \r\n },\r\n {\r\n Header: 'Guid',\r\n accessor: 'serviceRequestID',\r\n disableGlobalFilter: true\r\n },\r\n {\r\n Header: 'Assigned To',\r\n accessor: 'assignedToName',\r\n Cell: ({value}) => \r\n },\r\n {\r\n Header: '',\r\n accessor: 'userPermissions',\r\n Cell: ({ value }) => <>\r\n \r\n \r\n \r\n {value.canEdit && <>{\" \"}\r\n \r\n \r\n \r\n }\r\n ,\r\n disableGlobalFilter: true\r\n }\r\n\r\n ], [filterText]\r\n );\r\n\r\n const readTooltipRenderer = (props : any) => (\r\n \r\n You can view this quotation\r\n \r\n );\r\n\r\n const editTooltipRenderer = (props : any) => (\r\n \r\n You can edit this quotation\r\n \r\n );\r\n\r\n const {\r\n \r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n page,\r\n rows,\r\n prepareRow,\r\n // filtering stuff\r\n setGlobalFilter,\r\n // pagination stuff\r\n canPreviousPage,\r\n canNextPage,\r\n pageOptions,\r\n pageCount,\r\n gotoPage,\r\n nextPage,\r\n previousPage,\r\n setPageSize,\r\n state: { pageIndex, pageSize },\r\n } = useTable(\r\n {\r\n columns: columns,\r\n data: tableData,\r\n initialState: { \r\n sortBy: [\r\n {\r\n id: 'requestID',\r\n desc: true\r\n\r\n }\r\n ],\r\n pageSize: localStorage.getItem('srListPageSize') || 10,\r\n hiddenColumns: ['serviceRequestID', 'supplier'], \r\n } as Object\r\n },\r\n useGlobalFilter, \r\n useSortBy,\r\n usePagination,\r\n ) \r\n\r\n useEffect(() => {\r\n localStorage.setItem(\"srListPageSize\", String(pageSize));\r\n }, [pageSize])\r\n\r\n const pagination = (
    \r\n \r\n \r\n Page{\" \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n />\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n />\r\n {[...Array(Math.min(5, pageCount)).keys()]\r\n .map((i) =>\r\n pageCount <= 5\r\n ? i\r\n : Math.min(Math.max(pageIndex, 2), pageCount - 3) + i - 2\r\n )\r\n .map((i) => (\r\n gotoPage(i)}\r\n key={i}\r\n active={i === pageIndex}\r\n >\r\n {i + 1}\r\n \r\n ))}\r\n nextPage()}\r\n disabled={!canNextPage}\r\n />\r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setPageSize(Number(e.target.value));\r\n }}\r\n >\r\n {[5, 10, 20, 30, 40, 50].map((pageSize) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n {\r\n // {\r\n // setPageSize(Number(e.target.value))\r\n // }}\r\n //>\r\n // {[10, 20, 30, 40, 50].map(pageSize => (\r\n // \r\n // ))}\r\n //\r\n }\r\n \r\n
    \r\n );\r\n\r\n console.log(\"rows:\", rows);\r\n\r\n return (\r\n <>\r\n {user2 && user2.isTechnician && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

    Quotations

    \r\n \r\n
    \r\n \r\n {/* \r\n {\r\n (user2?.org !== \"TELTRAC\") &&\r\n \r\n \r\n \r\n }\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rows.length}\r\n \r\n \r\n \r\n {\r\n setGlobalFilter(evt.target.value);\r\n setFilterText(evt.target.value);\r\n setStatusFilter(\"\");\r\n }}\r\n />\r\n \r\n {\r\n setGlobalFilter(\"\");\r\n setFilterText(\"\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {/*\r\n \r\n ALL\r\n \r\n */}\r\n \r\n ALL\r\n \r\n \r\n OPEN\r\n \r\n \r\n COMPLETE\r\n \r\n \r\n APPROVED\r\n \r\n \r\n ARCHIVED\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n {column.render(\"Header\")} \r\n {column.isSorted ? (\r\n column.isSortedDesc ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {page.map((row) => {\r\n prepareRow(row);\r\n return (\r\n \r\n \r\n {row.cells.map(cell => {\r\n //console.log(cell);\r\n return (cell.column.id === 'jobDescription' ? \r\n {\r\n return (\r\n \r\n );\r\n }}\r\n >\r\n \r\n {cell.render(\"Cell\")}\r\n \r\n \r\n : {cell.render('Cell')});\r\n })}\r\n \r\n \r\n\r\n )\r\n })}\r\n \r\n \r\n {pagination}\r\n\r\n
    \r\n \r\n );\r\n};\r\n","import React, { useCallback } from \"react\";\r\nimport useFileUploader from \"react-uploader-hook\";\r\nimport styled, { ThemedStyledProps } from \"styled-components\";\r\nimport { DropzoneRootProps, useDropzone } from \"react-dropzone\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\nimport { Auth } from \"aws-amplify\";\r\nimport { FileInfo } from \"../data/SharedTypes\";\r\n\r\nconst getColor = (props : DropzoneRootProps) => {\r\n if (props.isDragAccept) {\r\n return \"#00e676\";\r\n }\r\n if (props.isDragReject) {\r\n return \"#ff1744\";\r\n }\r\n if (props.isDragActive) {\r\n return \"#2196f3\";\r\n }\r\n return \"#6c757d\";\r\n};\r\n\r\nconst Container = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 20px;\r\n border-width: 2px;\r\n border-radius: 2px;\r\n min-height: 180px;\r\n border-color: ${props => getColor(props)};\r\n border-style: dashed;\r\n background-color: #fafafa;\r\n color: #6c757d;\r\n outline: none;\r\n cursor: pointer;\r\n transition: border 0.24s ease-in-out;\r\n`;\r\n\r\ninterface ServiceRequestDropzoneProps {\r\n submissionID : string\r\n setUploadedFiles : (val : FileInfo[]) => void\r\n}\r\n\r\nconst ServiceRequestDropzone = (props : ServiceRequestDropzoneProps) => {\r\n\r\n const getUploadParams = useCallback(file => {\r\n\r\n const getJwt = async () => {\r\n\r\n // [💡] you can return custom request configurations here\r\n const form = new FormData();\r\n form.append(\"files\", file);\r\n form.append(\"submissionID\", props.submissionID);\r\n console.log(\"submissionID\", props.submissionID);\r\n console.log(form);\r\n return {\r\n method: \"post\",\r\n url: \"/api/submission/files\",\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n \"Authorization\": `Bearer ${(await Auth.currentSession()).getIdToken().getJwtToken()}`\r\n },\r\n data: form,\r\n meta: { key: file.path, size: file.size }\r\n }\r\n }\r\n return getJwt();\r\n }, [props.submissionID]);\r\n\r\n const onUploaded = useCallback((fileBag, fileBags) => {\r\n // [💡] do whatever with the uploaded files\r\n console.log(\"onUploaded:\", fileBag);\r\n props.setUploadedFiles(fileBag.responseData);\r\n }, []);\r\n\r\n const { onDrop, fileBags } = useFileUploader({ getUploadParams, onUploaded });\r\n\r\n const {\r\n getRootProps,\r\n getInputProps,\r\n isDragActive,\r\n isDragAccept,\r\n isDragReject\r\n } = useDropzone({\r\n //accept: \"image/*\",\r\n onDrop\r\n });\r\n\r\n const files = fileBags.map((file, i) => {\r\n console.log(\"files func:\", file);\r\n return file.progress < 100 ? (\r\n \r\n ) : (\r\n <>\r\n //

    {file.file.name}

    \r\n );\r\n });\r\n\r\n return (\r\n props.submissionID ?\r\n \r\n \r\n \r\n

    \r\n \r\n cloud_upload\r\n {\" \"}\r\n Drag and drop to attach job plans or documents\r\n

    \r\n {fileBags && files}\r\n \r\n :

    loading...

    \r\n );\r\n};\r\n\r\nexport default ServiceRequestDropzone;\r\n","import { Modal, Button, Spinner } from 'react-bootstrap';\r\nimport { QuotationViewModel } from '../data/SharedTypes';\r\n\r\ninterface ServiceRequestSubmittingModalProps {\r\n show: boolean\r\n quote: boolean\r\n}\r\n\r\nconst ServiceRequestSubmittingModal = ({ show, quote }: ServiceRequestSubmittingModalProps) => {\r\n\r\n return (\r\n \r\n \r\n {`Submitting ${quote ? \"quote\" : \"service\" } request…`}\r\n \r\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 ServiceRequestSubmittingModal;","import { API } from \"aws-amplify\";\r\nimport { useQuery } from \"react-query\";\r\nimport { SiteInfoVM } from \"./SharedTypes\";\r\n\r\nconst fetchSiteInfo = async (siteInfoId : string) => {\r\n console.log(\"fetchSiteInfo\", siteInfoId);\r\n return await API.get(\r\n \"TeltracSRPortal\",\r\n '/submission/SiteInfo',\r\n { queryStringParameters: { siteInfoID : siteInfoId } }\r\n );\r\n}\r\n\r\n\r\nexport const useSiteInfo = (siteInfoId? : string ) => {\r\n return {\r\n siteInfo : useQuery(['siteInfo', siteInfoId], () => fetchSiteInfo(siteInfoId!), {enabled:!!siteInfoId} )\r\n };\r\n}","import { useState, useEffect, useMemo } from \"react\";\r\nimport { Card, Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport ServiceRequestDropzone from \"./ServiceRequestDropzone\";\r\nimport ServiceRequestFileList from \"./ServiceRequestFileList\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport ServiceRequestSubmittingModal from \"./ServiceRequestSubmittingModal\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport RaiseableCard from \"./RaiseableCard\";\r\nimport { useSiteInfo } from \"../data/useSiteInfo\";\r\nimport { useLookups } from \"../data/useLookups\";\r\nimport { useRouteMatch } from \"react-router\";\r\nimport { useUser } from \"../data/useUser\";\r\nimport { FieldGroup } from \"./FieldGroup\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n CreateServiceRequestCommand,\r\n useServiceRequestList,\r\n} from \"../data/useServiceRequests\";\r\nimport { FileInfo } from \"../data/SharedTypes\";\r\nimport { DevTool } from \"@hookform/devtools\";\r\n\r\ninterface MatchParams {\r\n requestID: string;\r\n}\r\n\r\nexport const NewServiceRequest = () => {\r\n const {\r\n user: { data: user2 },\r\n } = useUser();\r\n\r\n const {\r\n lookups: { data: lookups },\r\n } = useLookups(user2?.org);\r\n\r\n const { createServiceRequestMutation } = useServiceRequestList();\r\n\r\n const match = useRouteMatch();\r\n const history = useHistory();\r\n\r\n const [useCustomWorkSiteContact, setUseCustomWorkSiteContact] =\r\n useState(false);\r\n\r\n const {\r\n register,\r\n handleSubmit,\r\n watch,\r\n formState: { errors },\r\n setValue,\r\n control,\r\n } = useForm({});\r\n\r\n const onSubmit = async (data: CreateServiceRequestCommand) => {\r\n data.useCustomWorkSiteContact = useCustomWorkSiteContact;\r\n data.serviceRequestID = serviceRequestID;\r\n console.log(\"onSubmit data\", data);\r\n console.log(\"useCustomWorkSiteContact\", useCustomWorkSiteContact);\r\n await createServiceRequestMutation.mutateAsync(data);\r\n };\r\n\r\n const watchSimProID = watch(\"simProID\");\r\n const watchSimProSiteID = watch(\"simProSiteID\");\r\n\r\n const selectedCustomerInfo = useMemo(() => {\r\n return lookups?.customerInfos.find(\r\n (obj) => obj.simProCustomerID === watchSimProID\r\n );\r\n }, [watchSimProID, lookups?.customerInfos]);\r\n\r\n const {\r\n siteInfo: { data: selectedSiteInfo },\r\n } = useSiteInfo(watchSimProSiteID);\r\n\r\n const [submissionErrors, setSubmissionErrors] = useState([]);\r\n\r\n const [uploadedFiles, setUploadedFiles] = useState([]);\r\n\r\n const deleteFile = (file: FileInfo): void => {\r\n setUploadedFiles((uf) => uf.filter((x) => x !== file));\r\n };\r\n\r\n //const [lastState, setLastState] = useState(uuidv4); // purely to force a re-render when user details are updated\r\n const [serviceRequestID, setServiceRequestID] = useState(\"\");\r\n //const { submission : { data : serviceRequest } } = useSubmission(serviceRequestID);\r\n\r\n useEffect(() => {\r\n setServiceRequestID(uuidv4().toString());\r\n }, []);\r\n\r\n useEffect(() => {\r\n console.log(watchSimProID);\r\n if (!lookups?.siteInfos[watchSimProID] && selectedSiteInfo) {\r\n console.log(\"SimproID changed. resetting simProSiteID\");\r\n if (!lookups?.siteInfos[watchSimProSiteID]) {\r\n setValue(\"simProSiteID\", \"\");\r\n }\r\n }\r\n }, [watchSimProID, setValue, lookups]);\r\n\r\n return (\r\n <>\r\n \r\n {/*
    {JSON.stringify(serviceRequest, null, 2)}
    */}\r\n \r\n {createServiceRequestMutation.isSuccess ? (\r\n <>\r\n
    \r\n

    \r\n Thanks!{\" \"}\r\n \r\n Service request{\" \"}\r\n {match.params.requestID ? \"updated\" : \"received\"} 👍\r\n \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n

    Requester's Details

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Name
    \r\n
    \r\n {user2?.firstName} {user2?.surname}\r\n
    \r\n
    Email
    \r\n
    {user2?.email}
    \r\n
    Mobile
    \r\n
    {user2?.mobile || \"—\"}
    \r\n
    Phone
    \r\n
    {user2?.phoneNumber || \"—\"}
    \r\n
    \r\n\r\n \r\n Bill to\r\n (\r\n \r\n {lookups?.customerInfos.map((ci) => (\r\n \r\n {ci.companyName}\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.simProID && (\r\n \r\n {errors.simProID.message}\r\n \r\n )}\r\n \r\n {watchSimProID && (\r\n
    \r\n
    Billing Address
    \r\n
    \r\n
    \r\n {selectedCustomerInfo?.streetAddress}\r\n
    \r\n {selectedCustomerInfo?.suburb}\r\n
    \r\n {selectedCustomerInfo?.city}   \r\n {selectedCustomerInfo?.postCode}\r\n
    \r\n {selectedCustomerInfo?.country}\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    Work Site Details

    \r\n
    \r\n\r\n \r\n <>\r\n {/*
    {serviceRequest.simProSiteID}
    */}\r\n {/*
    {watchSimProID}
    */}\r\n\r\n \r\n {/* Site */}\r\n {true && (\r\n (\r\n \r\n \r\n <>\r\n {lookups?.siteInfos[watchSimProID] &&\r\n lookups.siteInfos[watchSimProID].map(\r\n (ci) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n )}\r\n />\r\n )}\r\n {errors.simProSiteID && (\r\n \r\n {errors.simProSiteID.message}\r\n \r\n )}\r\n \r\n {selectedSiteInfo && (\r\n <>\r\n
    \r\n
    Physical worksite address
    \r\n
    \r\n
    \r\n {selectedSiteInfo.streetAddress}\r\n
    \r\n {selectedSiteInfo.suburb}\r\n
    \r\n {selectedSiteInfo.city}   \r\n {selectedSiteInfo.postCode}\r\n
    \r\n {selectedSiteInfo.country}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setUseCustomWorkSiteContact(e.target.checked)\r\n }\r\n type=\"checkbox\"\r\n id=\"test\"\r\n label=\"Use custom contact details\"\r\n />\r\n
    \r\n {!useCustomWorkSiteContact && (\r\n <>\r\n
    Worksite contact
    \r\n
    \r\n {selectedSiteInfo.primaryContactFirstName}{\" \"}\r\n {selectedSiteInfo.primaryContactLastName}\r\n
    \r\n
    Worksite contact email
    \r\n
    {selectedSiteInfo.primaryContactEmail}
    \r\n
    Worksite contact phone
    \r\n
    \r\n {selectedSiteInfo.primaryContactWorkPhone}\r\n
    \r\n
    Worksite contact mobile
    \r\n
    \r\n {selectedSiteInfo.primaryContactMobilePhone}\r\n
    \r\n \r\n )}\r\n
    \r\n {useCustomWorkSiteContact && (\r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    Request Details

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n Job Type\r\n (\r\n \r\n {lookups?.jobTypes.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.jobType && (\r\n \r\n {errors.jobType.message}\r\n \r\n )}\r\n \r\n \r\n Priority\r\n (\r\n \r\n {lookups?.priorities.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.priority && (\r\n \r\n {errors.priority.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Start Date\r\n (\r\n \r\n )}\r\n control={control}\r\n />\r\n {errors.startDate && (\r\n \r\n {errors.startDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n End Date\r\n (\r\n \r\n )}\r\n control={control}\r\n />\r\n {errors.endDate && (\r\n \r\n {errors.endDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*
    {JSON.stringify(props.formConfig, null, 2)}
    ` */}\r\n\r\n {lookups?.formConfig.showTechConnect && (\r\n \r\n )}\r\n\r\n {lookups?.formConfig.showCostCenter && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {/* Quote: {JSON.stringify(quote)} {quote ? \"✔\" : \"✖\"} */}\r\n \r\n {/* {serviceRequestID} */}\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useState, useEffect, useMemo } from \"react\";\r\nimport { Card, Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport ServiceRequestDropzone from \"./ServiceRequestDropzone\";\r\nimport ServiceRequestFileList from \"./ServiceRequestFileList\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport ServiceRequestSubmittingModal from \"./ServiceRequestSubmittingModal\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport RaiseableCard from \"./RaiseableCard\";\r\nimport { useSiteInfo } from \"../data/useSiteInfo\";\r\nimport { useLookups, Lookups } from \"../data/useLookups\";\r\nimport { useRouteMatch } from \"react-router\";\r\nimport { useUser, User } from \"../data/useUser\";\r\nimport { FieldGroup } from \"./FieldGroup\";\r\nimport { FileInfo } from \"../data/SharedTypes\";\r\nimport { DevTool } from \"@hookform/devtools\";\r\nimport {\r\n UpdateServiceRequestCommand,\r\n useServiceRequest,\r\n} from \"../data/useServiceRequest\";\r\nimport { useSubmission, Submission } from \"../data/useSubmission\";\r\n\r\ninterface MatchParams {\r\n requestID: string;\r\n}\r\n\r\nconst submissionToUpdate = (sr: Submission) => {\r\n const result: UpdateServiceRequestCommand = {\r\n requestID: sr.requestID,\r\n serviceRequestID: sr.serviceRequestID,\r\n startDate: sr.startDate,\r\n endDate: sr.endDate,\r\n billingAddress: sr.billingAddress,\r\n costCenterNumber: sr.costCenterNumber,\r\n jobDescription: sr.jobDescription,\r\n jobType: sr.jobType,\r\n priority: sr.priority,\r\n useCustomWorkSiteContact: sr.useCustomWorkSiteContact,\r\n simProID: sr.simProID,\r\n simProSiteID: sr.simProSiteID,\r\n techConnectNumber: sr.techConnectNumber,\r\n workSiteAddress: sr.workSiteAddress,\r\n workSiteEmail: sr.workSiteEmail,\r\n workSiteMobile: sr.workSiteMobile,\r\n workSitePhone: sr.workSitePhone,\r\n workSiteName: sr.workSiteName,\r\n fromQuoteRequestID: sr.fromQuoteRequestID,\r\n };\r\n return result;\r\n};\r\n\r\nexport const EditServiceRequest = () => {\r\n const routeMatch = useRouteMatch();\r\n const requestID = routeMatch.params.requestID;\r\n //console.log(\"requestID\", requestID);\r\n const { submission } = useSubmission(requestID, true);\r\n const { user } = useUser();\r\n const { lookups } = useLookups(submission?.data?.clientID);\r\n const { serviceRequest } = useServiceRequest(requestID);\r\n\r\n //return
    {JSON.stringify([requestID, submission], null, 2)}
    \r\n\r\n return user.data && submission.data && lookups.data && serviceRequest.data ? (\r\n \r\n ) : (\r\n
    Loading...
    \r\n );\r\n};\r\n\r\ninterface EditServiceRequestEditorParams {\r\n serviceRequestGUID: string;\r\n user2: User;\r\n lookups: Lookups;\r\n data: UpdateServiceRequestCommand;\r\n files: FileInfo[];\r\n}\r\n\r\nconst EditServiceRequestEditor = ({\r\n user2,\r\n lookups,\r\n data,\r\n files,\r\n serviceRequestGUID,\r\n}: EditServiceRequestEditorParams) => {\r\n const [useCustomWorkSiteContact, setUseCustomWorkSiteContact] =\r\n useState(data.useCustomWorkSiteContact);\r\n\r\n const { updateServiceRequestMutation } = useServiceRequest(data.requestID);\r\n\r\n const {\r\n register,\r\n handleSubmit,\r\n watch,\r\n formState: { errors },\r\n setValue,\r\n control,\r\n } = useForm({\r\n defaultValues: data,\r\n });\r\n\r\n const onSubmit = async (data: UpdateServiceRequestCommand) => {\r\n data.useCustomWorkSiteContact = useCustomWorkSiteContact;\r\n data.serviceRequestID = serviceRequestID;\r\n console.log(\"onSubmit data\", data);\r\n console.log(\"useCustomWorkSiteContact\", useCustomWorkSiteContact);\r\n await updateServiceRequestMutation.mutateAsync(data);\r\n };\r\n\r\n const watchSimProID = watch(\"simProID\");\r\n const watchSimProSiteID = watch(\"simProSiteID\");\r\n\r\n const selectedCustomerInfo = useMemo(() => {\r\n return lookups?.customerInfos.find(\r\n (obj) => obj.simProCustomerID === watchSimProID\r\n );\r\n }, [watchSimProID, lookups?.customerInfos]);\r\n\r\n const {\r\n siteInfo: { data: selectedSiteInfo },\r\n } = useSiteInfo(watchSimProSiteID);\r\n\r\n const [uploadedFiles, setUploadedFiles] = useState(files ?? []);\r\n\r\n //const [lastState, setLastState] = useState(uuidv4); // purely to force a re-render when user details are updated\r\n const serviceRequestID = serviceRequestGUID;\r\n const { deleteFileMutator } = useSubmission(serviceRequestID);\r\n\r\n const deleteFile = (file: FileInfo): void => {\r\n console.log(\"delete file..\");\r\n console.log({\r\n filename: file.name,\r\n submissionId: data.serviceRequestID,\r\n requestId: data.requestID,\r\n fromQuoteRequestId: data.fromQuoteRequestID,\r\n });\r\n deleteFileMutator.mutate({\r\n filename: file.name,\r\n submissionId: data.serviceRequestID,\r\n requestId: data.requestID,\r\n fromQuoteRequestId: data.fromQuoteRequestID,\r\n });\r\n\r\n setUploadedFiles((uf) => uf.filter((x) => x !== file));\r\n };\r\n\r\n useEffect(() => {\r\n console.log(watchSimProID);\r\n if (!lookups?.siteInfos[watchSimProID] && selectedSiteInfo) {\r\n console.log(\"SimproID changed. resetting simProSiteID\");\r\n if (!lookups?.siteInfos[watchSimProSiteID]) {\r\n setValue(\"simProSiteID\", \"\");\r\n }\r\n }\r\n }, [watchSimProID, setValue, lookups]);\r\n\r\n return (\r\n <>\r\n \r\n {/*
    {JSON.stringify(serviceRequest, null, 2)}
    */}\r\n \r\n {updateServiceRequestMutation.isSuccess ? (\r\n <>\r\n
    \r\n

    \r\n Thanks! Service request updated 👍\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n

    Requester's Details

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Name
    \r\n
    \r\n {user2?.firstName} {user2?.surname}\r\n
    \r\n
    Email
    \r\n
    {user2?.email}
    \r\n
    Mobile
    \r\n
    {user2?.mobile || \"—\"}
    \r\n
    Phone
    \r\n
    {user2?.phoneNumber || \"—\"}
    \r\n
    \r\n\r\n \r\n Bill to\r\n (\r\n \r\n {lookups?.customerInfos.map((ci) => (\r\n \r\n {ci.companyName}\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.simProID && (\r\n \r\n {errors.simProID.message}\r\n \r\n )}\r\n \r\n {watchSimProID && (\r\n
    \r\n
    Billing Address
    \r\n
    \r\n
    \r\n {selectedCustomerInfo?.streetAddress}\r\n
    \r\n {selectedCustomerInfo?.suburb}\r\n
    \r\n {selectedCustomerInfo?.city}   \r\n {selectedCustomerInfo?.postCode}\r\n
    \r\n {selectedCustomerInfo?.country}\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    Work Site Details

    \r\n
    \r\n\r\n \r\n <>\r\n {/*
    {serviceRequest.simProSiteID}
    */}\r\n {/*
    {watchSimProID}
    */}\r\n\r\n \r\n {/* Site */}\r\n {true && (\r\n (\r\n \r\n \r\n <>\r\n {lookups?.siteInfos[watchSimProID] &&\r\n lookups.siteInfos[watchSimProID].map(\r\n (ci) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n )}\r\n />\r\n )}\r\n {errors.simProSiteID && (\r\n \r\n {errors.simProSiteID.message}\r\n \r\n )}\r\n \r\n {selectedSiteInfo && (\r\n <>\r\n
    \r\n
    Physical worksite address
    \r\n
    \r\n
    \r\n {selectedSiteInfo.streetAddress}\r\n
    \r\n {selectedSiteInfo.suburb}\r\n
    \r\n {selectedSiteInfo.city}   \r\n {selectedSiteInfo.postCode}\r\n
    \r\n {selectedSiteInfo.country}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setUseCustomWorkSiteContact(e.target.checked)\r\n }\r\n type=\"checkbox\"\r\n id=\"test\"\r\n label=\"Use custom contact details\"\r\n />\r\n
    \r\n {!useCustomWorkSiteContact && (\r\n <>\r\n
    Worksite contact
    \r\n
    \r\n {selectedSiteInfo.primaryContactFirstName}{\" \"}\r\n {selectedSiteInfo.primaryContactLastName}\r\n
    \r\n
    Worksite contact email
    \r\n
    {selectedSiteInfo.primaryContactEmail}
    \r\n
    Worksite contact phone
    \r\n
    \r\n {selectedSiteInfo.primaryContactWorkPhone}\r\n
    \r\n
    Worksite contact mobile
    \r\n
    \r\n {selectedSiteInfo.primaryContactMobilePhone}\r\n
    \r\n \r\n )}\r\n
    \r\n {useCustomWorkSiteContact && (\r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    Request Details

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n Job Type\r\n (\r\n \r\n {lookups?.jobTypes.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.jobType && (\r\n \r\n {errors.jobType.message}\r\n \r\n )}\r\n \r\n \r\n Priority\r\n (\r\n \r\n {lookups?.priorities.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.priority && (\r\n \r\n {errors.priority.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Start Date\r\n (\r\n \r\n )}\r\n control={control}\r\n />\r\n {errors.startDate && (\r\n \r\n {errors.startDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n End Date\r\n (\r\n \r\n )}\r\n control={control}\r\n />\r\n {errors.endDate && (\r\n \r\n {errors.endDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*
    {JSON.stringify(props.formConfig, null, 2)}
    ` */}\r\n\r\n {lookups?.formConfig?.showTechConnect && (\r\n \r\n )}\r\n\r\n {lookups?.formConfig?.showCostCenter && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {/* Quote: {JSON.stringify(quote)} {quote ? \"✔\" : \"✖\"} */}\r\n \r\n {/* {serviceRequestID} */}\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useState, useEffect, useMemo } from \"react\";\r\nimport { Card, Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport ServiceRequestDropzone from \"./ServiceRequestDropzone\";\r\nimport ServiceRequestFileList from \"./ServiceRequestFileList\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport ServiceRequestSubmittingModal from \"./ServiceRequestSubmittingModal\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport RaiseableCard from \"./RaiseableCard\";\r\nimport { useSiteInfo } from \"../data/useSiteInfo\";\r\nimport { useLookups } from \"../data/useLookups\";\r\nimport { useUser } from \"../data/useUser\";\r\nimport { FieldGroup } from \"./FieldGroup\";\r\nimport { RouteComponentProps } from \"react-router-dom\";\r\nimport { FileInfo } from \"../data/SharedTypes\";\r\nimport { DevTool } from \"@hookform/devtools\";\r\nimport { CreateQuotationCommand, useQuotations } from \"../data/useQuotations\";\r\n\r\ninterface MatchParams {\r\n requestID: string;\r\n}\r\n\r\nexport const NewQuotationRequest = (\r\n props: RouteComponentProps\r\n) => {\r\n const {\r\n user: { data: user2 },\r\n } = useUser();\r\n\r\n const {\r\n lookups: { data: lookups },\r\n } = useLookups(user2?.org);\r\n\r\n const { createQuotationMutation } = useQuotations();\r\n\r\n const [useCustomWorkSiteContact, setUseCustomWorkSiteContact] =\r\n useState(false);\r\n\r\n const {\r\n register,\r\n handleSubmit,\r\n watch,\r\n formState: { errors },\r\n setValue,\r\n control,\r\n } = useForm({});\r\n\r\n const onSubmit = async (data: CreateQuotationCommand) => {\r\n data.useCustomWorkSiteContact = useCustomWorkSiteContact;\r\n data.serviceRequestID = serviceRequestID;\r\n console.log(\"onSubmit data\", data);\r\n console.log(\"useCustomWorkSiteContact\", useCustomWorkSiteContact);\r\n await createQuotationMutation.mutateAsync(data);\r\n };\r\n\r\n const watchSimProID = watch(\"simProID\");\r\n const watchSimProSiteID = watch(\"simProSiteID\");\r\n\r\n const selectedCustomerInfo = useMemo(() => {\r\n return lookups?.customerInfos.find(\r\n (obj) => obj.simProCustomerID === watchSimProID\r\n );\r\n }, [watchSimProID, lookups?.customerInfos]);\r\n\r\n const {\r\n siteInfo: { data: selectedSiteInfo },\r\n } = useSiteInfo(watchSimProSiteID);\r\n\r\n const [submissionErrors, setSubmissionErrors] = useState([]);\r\n\r\n const [uploadedFiles, setUploadedFiles] = useState([]);\r\n\r\n const deleteFile = (file: FileInfo): void => {\r\n setUploadedFiles((uf) => uf.filter((x) => x !== file));\r\n };\r\n\r\n //const [lastState, setLastState] = useState(uuidv4); // purely to force a re-render when user details are updated\r\n const [serviceRequestID, setServiceRequestID] = useState(\"\");\r\n //const { submission : { data : serviceRequest } } = useSubmission(serviceRequestID);\r\n\r\n useEffect(() => {\r\n setServiceRequestID(uuidv4().toString());\r\n }, []);\r\n\r\n useEffect(() => {\r\n console.log(watchSimProID);\r\n if (!lookups?.siteInfos[watchSimProID] && selectedSiteInfo) {\r\n console.log(\"SimproID changed. resetting simProSiteID\");\r\n if (!lookups?.siteInfos[watchSimProSiteID]) {\r\n setValue(\"simProSiteID\", \"\");\r\n }\r\n }\r\n }, [watchSimProID, setValue, lookups]);\r\n\r\n return (\r\n <>\r\n \r\n {/*
    {JSON.stringify(serviceRequest, null, 2)}
    */}\r\n \r\n {createQuotationMutation.isSuccess ? (\r\n <>\r\n
    \r\n

    \r\n Thanks! Quotation request received 👍\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n

    Requester's Details

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Name
    \r\n
    \r\n {user2?.firstName} {user2?.surname}\r\n
    \r\n
    Email
    \r\n
    {user2?.email}
    \r\n
    Mobile
    \r\n
    {user2?.mobile || \"—\"}
    \r\n
    Phone
    \r\n
    {user2?.phoneNumber || \"—\"}
    \r\n
    \r\n\r\n \r\n Bill to\r\n (\r\n \r\n {lookups?.customerInfos.map((ci) => (\r\n \r\n {ci.companyName}\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.simProID && (\r\n \r\n {errors.simProID.message}\r\n \r\n )}\r\n \r\n {watchSimProID && (\r\n
    \r\n
    Billing Address
    \r\n
    \r\n
    \r\n {selectedCustomerInfo?.streetAddress}\r\n
    \r\n {selectedCustomerInfo?.suburb}\r\n
    \r\n {selectedCustomerInfo?.city}   \r\n {selectedCustomerInfo?.postCode}\r\n
    \r\n {selectedCustomerInfo?.country}\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    Work Site Details

    \r\n
    \r\n\r\n \r\n <>\r\n {/*
    {serviceRequest.simProSiteID}
    */}\r\n {/*
    {watchSimProID}
    */}\r\n\r\n \r\n {/* Site */}\r\n {true && (\r\n (\r\n \r\n \r\n <>\r\n {lookups?.siteInfos[watchSimProID] &&\r\n lookups.siteInfos[watchSimProID].map(\r\n (ci) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n )}\r\n />\r\n )}\r\n {errors.simProSiteID && (\r\n \r\n {errors.simProSiteID.message}\r\n \r\n )}\r\n \r\n {selectedSiteInfo && (\r\n <>\r\n
    \r\n
    Physical worksite address
    \r\n
    \r\n
    \r\n {selectedSiteInfo.streetAddress}\r\n
    \r\n {selectedSiteInfo.suburb}\r\n
    \r\n {selectedSiteInfo.city}   \r\n {selectedSiteInfo.postCode}\r\n
    \r\n {selectedSiteInfo.country}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setUseCustomWorkSiteContact(e.target.checked)\r\n }\r\n type=\"checkbox\"\r\n id=\"test\"\r\n label=\"Use custom contact details\"\r\n />\r\n
    \r\n {!useCustomWorkSiteContact && (\r\n <>\r\n
    Worksite contact
    \r\n
    \r\n {selectedSiteInfo.primaryContactFirstName}{\" \"}\r\n {selectedSiteInfo.primaryContactLastName}\r\n
    \r\n
    Worksite contact email
    \r\n
    {selectedSiteInfo.primaryContactEmail}
    \r\n
    Worksite contact phone
    \r\n
    \r\n {selectedSiteInfo.primaryContactWorkPhone}\r\n
    \r\n
    Worksite contact mobile
    \r\n
    \r\n {selectedSiteInfo.primaryContactMobilePhone}\r\n
    \r\n \r\n )}\r\n
    \r\n {useCustomWorkSiteContact && (\r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    Request Details

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n {/* \r\n \r\n Job Type\r\n \r\n (\r\n \r\n {lookups?.jobTypes.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.jobType && (\r\n \r\n {errors.jobType.message}\r\n \r\n )}\r\n \r\n \r\n \r\n Priority\r\n \r\n (\r\n \r\n {lookups?.priorities.map((ci) => (\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.priority && (\r\n \r\n {errors.priority.message}\r\n \r\n )}\r\n */}\r\n \r\n \r\n \r\n Date Due\r\n (\r\n \r\n )}\r\n control={control}\r\n />\r\n {errors.dueDate && (\r\n \r\n {errors.dueDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*
    {JSON.stringify(props.formConfig, null, 2)}
    ` */}\r\n\r\n {/* {lookups?.formConfig.showTechConnect && (\r\n \r\n )}\r\n\r\n {lookups?.formConfig.showCostCenter && (\r\n \r\n )} */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {/* Quote: {JSON.stringify(quote)} {quote ? \"✔\" : \"✖\"} */}\r\n \r\n {/* {serviceRequestID} */}\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useState, useEffect, useMemo } from \"react\";\r\nimport { Card, Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport ServiceRequestDropzone from \"./ServiceRequestDropzone\";\r\nimport ServiceRequestFileList from \"./ServiceRequestFileList\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport ServiceRequestSubmittingModal from \"./ServiceRequestSubmittingModal\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\r\nimport RaiseableCard from \"./RaiseableCard\";\r\nimport { useSiteInfo } from \"../data/useSiteInfo\";\r\nimport { useLookups, Lookups } from \"../data/useLookups\";\r\nimport { useRouteMatch } from \"react-router\";\r\nimport { useUser, User } from \"../data/useUser\";\r\nimport { FieldGroup } from \"./FieldGroup\";\r\nimport {\r\n FileInfo,\r\n RequesterDetails,\r\n UserPermissions,\r\n} from \"../data/SharedTypes\";\r\nimport { DevTool } from \"@hookform/devtools\";\r\nimport { useSubmission, Submission } from \"../data/useSubmission\";\r\nimport { UpdateQuoteCommand, useQuotation } from \"../data/useQuotation\";\r\nimport { V4MAPPED } from \"dns\";\r\n\r\ninterface MatchParams {\r\n requestID: string;\r\n}\r\n\r\nconst submissionToUpdate = (sr: Submission) => {\r\n const result: UpdateQuoteCommand = {\r\n requestID: sr.requestID,\r\n serviceRequestID: sr.serviceRequestID,\r\n jobDescription: sr.jobDescription,\r\n dueDate: sr.dueDate,\r\n billingAddress: sr.billingAddress,\r\n useCustomWorkSiteContact: sr.useCustomWorkSiteContact,\r\n simProID: sr.simProID,\r\n simProSiteID: sr.simProSiteID,\r\n workSiteAddress: sr.workSiteAddress,\r\n workSiteEmail: sr.workSiteEmail,\r\n workSiteMobile: sr.workSiteMobile,\r\n workSitePhone: sr.workSitePhone,\r\n workSiteName: sr.workSiteName,\r\n };\r\n return result;\r\n};\r\n\r\nexport const EditQuotationRequest = () => {\r\n const routeMatch = useRouteMatch();\r\n const requestID = routeMatch.params.requestID;\r\n //console.log(\"requestID\", requestID);\r\n const { submission } = useSubmission(requestID, true);\r\n const { user } = useUser();\r\n const { lookups } = useLookups(submission?.data?.clientID);\r\n const { quotation } = useQuotation(requestID);\r\n\r\n //return
    {JSON.stringify([requestID, submission], null, 2)}
    \r\n\r\n return user.data && submission.data && lookups.data && quotation.data ? (\r\n \r\n ) : (\r\n
    Loading...
    \r\n );\r\n};\r\n\r\ninterface EditQuotationEditorParams {\r\n serviceRequestGUID: string;\r\n requester: RequesterDetails;\r\n lookups: Lookups;\r\n permissions: UserPermissions;\r\n data: UpdateQuoteCommand;\r\n files: FileInfo[];\r\n}\r\n\r\nconst EditQuotationEditor = ({\r\n requester,\r\n lookups,\r\n data,\r\n files,\r\n serviceRequestGUID,\r\n permissions,\r\n}: EditQuotationEditorParams) => {\r\n const [useCustomWorkSiteContact, setUseCustomWorkSiteContact] =\r\n useState(data.useCustomWorkSiteContact);\r\n\r\n const { updateQuoteMutation } = useQuotation(data.requestID);\r\n\r\n const {\r\n register,\r\n handleSubmit,\r\n watch,\r\n formState: { errors },\r\n setValue,\r\n control,\r\n } = useForm({\r\n defaultValues: data,\r\n });\r\n\r\n const onSubmit = async (data: UpdateQuoteCommand) => {\r\n data.useCustomWorkSiteContact = useCustomWorkSiteContact;\r\n data.serviceRequestID = serviceRequestID;\r\n console.log(\"onSubmit data\", data);\r\n console.log(\"useCustomWorkSiteContact\", useCustomWorkSiteContact);\r\n await updateQuoteMutation.mutateAsync(data);\r\n };\r\n\r\n const watchSimProID = watch(\"simProID\");\r\n const watchSimProSiteID = watch(\"simProSiteID\");\r\n\r\n const selectedCustomerInfo = useMemo(() => {\r\n return lookups?.customerInfos.find(\r\n (obj) => obj.simProCustomerID === watchSimProID\r\n );\r\n }, [watchSimProID, lookups?.customerInfos]);\r\n\r\n const {\r\n siteInfo: { data: selectedSiteInfo },\r\n } = useSiteInfo(watchSimProSiteID);\r\n\r\n const [uploadedFiles, setUploadedFiles] = useState(files ?? []);\r\n\r\n const serviceRequestID = serviceRequestGUID;\r\n\r\n const { deleteFileMutator } = useSubmission(serviceRequestID);\r\n\r\n const deleteFile = (file: FileInfo): void => {\r\n console.log(\"delete file..\");\r\n console.log({\r\n filename: file.name,\r\n submissionId: data.serviceRequestID,\r\n requestId: data.requestID,\r\n fromQuoteRequestId: undefined,\r\n });\r\n deleteFileMutator.mutate({\r\n filename: file.name,\r\n submissionId: data.serviceRequestID,\r\n requestId: data.requestID,\r\n fromQuoteRequestId: undefined,\r\n });\r\n\r\n setUploadedFiles((uf) => uf.filter((x) => x !== file));\r\n };\r\n\r\n //const [lastState, setLastState] = useState(uuidv4); // purely to force a re-render when user details are updated\r\n //const { submission : { data : serviceRequest } } = useSubmission(serviceRequestID);\r\n\r\n useEffect(() => {\r\n console.log(watchSimProID);\r\n if (!lookups?.siteInfos[watchSimProID] && selectedSiteInfo) {\r\n console.log(\"SimproID changed. resetting simProSiteID\");\r\n if (!lookups?.siteInfos[watchSimProSiteID]) {\r\n setValue(\"simProSiteID\", \"\");\r\n }\r\n }\r\n }, [watchSimProID, setValue, lookups]);\r\n\r\n return (\r\n <>\r\n \r\n {/*
    {JSON.stringify(serviceRequest, null, 2)}
    */}\r\n \r\n {updateQuoteMutation.isSuccess ? (\r\n <>\r\n
    \r\n

    \r\n Thanks! Quotation request updated 👍\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n

    Requester's Details

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Name
    \r\n
    {requester?.name}
    \r\n
    Email
    \r\n
    {requester?.email}
    \r\n
    Mobile
    \r\n
    {requester?.mobile || \"—\"}
    \r\n
    Phone
    \r\n
    {requester?.phone || \"—\"}
    \r\n
    \r\n\r\n \r\n Bill to\r\n (\r\n \r\n {lookups?.customerInfos.map((ci) => (\r\n \r\n {ci.companyName}\r\n \r\n ))}\r\n \r\n )}\r\n control={control}\r\n defaultValue=\"\"\r\n />\r\n {errors.simProID && (\r\n \r\n {errors.simProID.message}\r\n \r\n )}\r\n \r\n {watchSimProID && (\r\n
    \r\n
    Billing Address
    \r\n
    \r\n
    \r\n {selectedCustomerInfo?.streetAddress}\r\n
    \r\n {selectedCustomerInfo?.suburb}\r\n
    \r\n {selectedCustomerInfo?.city}   \r\n {selectedCustomerInfo?.postCode}\r\n
    \r\n {selectedCustomerInfo?.country}\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    Work Site Details

    \r\n
    \r\n\r\n \r\n <>\r\n {/*
    {serviceRequest.simProSiteID}
    */}\r\n {/*
    {watchSimProID}
    */}\r\n\r\n \r\n {/* Site */}\r\n {true && (\r\n (\r\n \r\n \r\n <>\r\n {lookups?.siteInfos[watchSimProID] &&\r\n lookups.siteInfos[watchSimProID].map(\r\n (ci) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n )}\r\n />\r\n )}\r\n {errors.simProSiteID && (\r\n \r\n {errors.simProSiteID.message}\r\n \r\n )}\r\n \r\n {selectedSiteInfo && (\r\n <>\r\n
    \r\n
    Physical worksite address
    \r\n
    \r\n
    \r\n {selectedSiteInfo.streetAddress}\r\n
    \r\n {selectedSiteInfo.suburb}\r\n
    \r\n {selectedSiteInfo.city}   \r\n {selectedSiteInfo.postCode}\r\n
    \r\n {selectedSiteInfo.country}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setUseCustomWorkSiteContact(e.target.checked)\r\n }\r\n type=\"checkbox\"\r\n id=\"test\"\r\n label=\"Use custom contact details\"\r\n />\r\n
    \r\n {!useCustomWorkSiteContact && (\r\n <>\r\n
    Worksite contact
    \r\n
    \r\n {selectedSiteInfo.primaryContactFirstName}{\" \"}\r\n {selectedSiteInfo.primaryContactLastName}\r\n
    \r\n
    Worksite contact email
    \r\n
    {selectedSiteInfo.primaryContactEmail}
    \r\n
    Worksite contact phone
    \r\n
    \r\n {selectedSiteInfo.primaryContactWorkPhone}\r\n
    \r\n
    Worksite contact mobile
    \r\n
    \r\n {selectedSiteInfo.primaryContactMobilePhone}\r\n
    \r\n \r\n )}\r\n
    \r\n {useCustomWorkSiteContact && (\r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    Request Details

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n \r\n Date Due\r\n (\r\n \r\n )}\r\n control={control}\r\n />\r\n {errors.dueDate && (\r\n \r\n {errors.dueDate.message}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {permissions.canUploadQuoteCustomerFiles && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {/*
    {JSON.stringify(props.formConfig, null, 2)}
    ` */}\r\n\r\n {/* {lookups?.formConfig.showTechConnect && (\r\n \r\n )}\r\n \r\n {lookups?.formConfig.showCostCenter && (\r\n \r\n )} */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {/* Quote: {JSON.stringify(quote)} {quote ? \"✔\" : \"✖\"} */}\r\n \r\n {/* {serviceRequestID} */}\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useState, useEffect } from \"react\";\r\nimport { Route } from \"react-router\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Layout from \"./components/Layout\";\r\n//import { Home } from \"./components/Home\";\r\n//import { FetchData } from \"./components/FetchData\";\r\n//import { Counter } from \"./components/Counter\";\r\nimport { Alert } from \"react-bootstrap\";\r\n//import { Auth } from 'aws-amplify';\r\nimport {\r\n AmplifyAuthenticator,\r\n AmplifySignIn,\r\n AmplifyForgotPassword,\r\n} from \"@aws-amplify/ui-react\";\r\nimport { AuthState, AuthStateHandler, onAuthUIStateChange } from \"@aws-amplify/ui-components\";\r\n\r\nimport SRListMain from \"./components/SRListMain\";\r\nimport Admin from \"./components/admin/Admin\";\r\nimport ServiceRequestView from \"./components/ServiceRequestView\";\r\n//import MySignIn from './MySignIn';\r\nimport UserProfile from \"./components/UserProfile\";\r\nimport { QuotationView } from \"./components/QuotationView\";\r\nimport { QuotationList } from \"./components/QuotationList\";\r\n\r\nimport \"./custom.css\";\r\nimport { QueryClientProvider, QueryClient } from \"react-query\";\r\nimport { NewServiceRequest } from \"./components/NewServiceRequest\";\r\nimport { EditServiceRequest } from \"./components/EditServiceRequest\";\r\nimport { NewQuotationRequest } from \"./components/NewQuotationRequest\";\r\nimport { EditQuotationRequest } from \"./components/EditQuotationRequest\";\r\n\r\nconst queryClient = new QueryClient();\r\n\r\nconst App = () => {\r\n const [authState, setAuthState] = useState();\r\n const [user, setUser] = useState();\r\n const [showAlert, setShowAlert] = useState(true);\r\n\r\n const isAdmin = () =>\r\n user.signInUserSession.accessToken.payload[\"cognito:groups\"] &&\r\n user.signInUserSession.accessToken.payload[\"cognito:groups\"].includes(\r\n \"teltrac-level1\"\r\n );\r\n\r\n const authStateHandler: AuthStateHandler = (nextAuthState, authData) => {\r\n setAuthState(nextAuthState);\r\n setUser(authData);\r\n };\r\n\r\n useEffect(() => {\r\n onAuthUIStateChange(authStateHandler);\r\n }, []);\r\n\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n console.log(\"signout effect!\");\r\n console.log(authState);\r\n if (authState === \"signedout\") {\r\n queryClient.clear();\r\n history.push(\"/\");\r\n }\r\n }, [authState]);\r\n\r\n console.log(\"authState:\", authState);\r\n return authState === AuthState.SignedIn && user ? (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isAdmin() && (\r\n } />\r\n )}\r\n {\r\n // } />\r\n //\r\n //\r\n //\r\n }\r\n \r\n \r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n {authState !== undefined && (\r\n \r\n \r\n

    \r\n Welcome to the Teltrac Service Request Portal.\r\n

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

    \r\n We have recently upgraded to a new platform. If you have any\r\n questions, please contact Teltrac on 0800 TELTRAC or email{\" \"}\r\n sales@teltrac.co.nz.\r\n

    \r\n

    Kind Regards, the Teltrac Team.

    \r\n
    \r\n
    \r\n {/*\r\n setShowAlert(false)}\r\n dismissible\r\n >\r\n \r\n There is a once-only process to set up your new User Account and\r\n to reset your password.\r\n \r\n

    \r\n Enter the email address that you use for your current SR login.\r\n Enter anything in the Password field (not your current password\r\n but it must be at least 1 character).\r\n

    \r\n

    \r\n Click the orange SIGN IN button, then continue to follow the\r\n prompts.{\" \"}\r\n

    \r\n

    \r\n Our SR portal will continue to have new features added over the\r\n coming days and weeks as we complete the transition to our new\r\n platform.\r\n

    \r\n \r\n\r\n */}\r\n
    \r\n )}\r\n \r\n \r\n setEmail(evt.target.value?.toLowerCase())\r\n },\r\n ]}\r\n >\r\n
    \r\n \r\n setEmail(evt.target.value.toLowerCase())\r\n },\r\n {\r\n type: \"password\",\r\n required: true,\r\n },\r\n ]}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (\r\n process.env.NODE_ENV === \"production\" &&\r\n \"serviceWorker\" in navigator\r\n ) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log(\"New content is available; please refresh.\");\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get(\"content-type\").indexOf(\"javascript\") === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","/* eslint-disable */\r\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\r\n\r\nconst awsmobile = {\r\n \"aws_project_region\": \"ap-southeast-2\",\r\n \"aws_cognito_identity_pool_id\": \"ap-southeast-2:dd8b0f61-88c4-4fdb-bc70-f944c1af9662\",\r\n \"aws_cognito_region\": \"ap-southeast-2\",\r\n \"aws_user_pools_id\": \"ap-southeast-2_zoGSOvT8A\",\r\n \"aws_user_pools_web_client_id\": \"6n2k83dv9icru9tn3ightl7qic\",\r\n \"oauth\": {}\r\n};\r\n\r\n\r\nexport default awsmobile;\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\n//import registerServiceWorker from './registerServiceWorker';\r\nimport { unregister } from './registerServiceWorker';\r\nimport Amplify, { Auth } from 'aws-amplify';\r\nimport awsconfig from './aws-exports';\r\n\r\n\r\n\r\nAmplify.configure({\r\n Auth: {\r\n //authenticationFlowType: 'USER_PASSWORD_AUTH'\r\n },\r\n API: {\r\n endpoints: [\r\n {\r\n name: \"TeltracSRPortal\",\r\n endpoint: \"/api\",\r\n custom_header: async () => {\r\n //return { Authorization: 'token' }\r\n // Alternatively, with Cognito User Pools use this:\r\n //console.log((await Auth.currentSession()).getIdToken().getJwtToken());\r\n return { Authorization: `Bearer ${(await Auth.currentSession()).getIdToken().getJwtToken()}` }\r\n }\r\n }\r\n ]\r\n },\r\n ...awsconfig\r\n});\r\n\r\n\r\n\r\n//const baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n rootElement);\r\n\r\n//registerServiceWorker();\r\nunregister();\r\n"],"sourceRoot":""}