{"version":3,"sources":["assets/JDElogo.png","assets/dispatchSuccess.png","assets/maintenance.png","assets/openfolder.png","assets/clipboard.png","assets/fountainPen.png","assets/key.png","assets/question.png","assets/OpenStatement.png","assets/coins.png","assets/stop.png","assets/elearning.png","assets/agenda.png","store/actions/auth/authActions.ts","graphql/client/client.ts","store/actions/userList/userListActions.ts","store/actions/customerList/customerListActions.ts","store/actions/customerParentList/customerParentListActions.ts","store/actions/purchaseOrder/purchaseOrderActions.ts","store/actions/bol/bolActions.ts","store/reducers/purchaseOrder/purchaseOrderReducer.ts","store/reducers/bol/bolReducer.ts","store/actions/invoice/invoiceActions.ts","store/actions/report/reportActions.ts","store/reducers/invoice/invoiceReducer.ts","utils/store/combineReducers.ts","types/SearchTypeEnum.ts","store/reducers/report/reportReducer.ts","utils/store/configureStore.ts","store/reducers/auth/authReducer.ts","store/reducers/customerList/customerListReducer.ts","store/reducers/customerParentList/customerParentListReducer.ts","store/reducers/userList/userListReducer.ts","utils/Routes.ts","components/App/StoreProvider/StoreProvider.tsx","components/SearchBar/SearchBar.tsx","components/Users/interface.ts","components/_common/InputTitleEnum/InputTitleEnum.tsx","graphql/client/queries/getAllCustomersList.ts","graphql/client/queries/getRoles.ts","graphql/client/queries/getB2CUserFiltered.ts","graphql/client/queries/getUsersCheckEmail.ts","graphql/client/queries/getUsersAudit.ts","graphql/client/queries/getAllBolList.ts","graphql/client/queries/getAllPurchaseOrderList.ts","graphql/client/queries/getAllInvoiceList.ts","graphql/client/queries/getAllOpenInvoiceList.ts","graphql/client/queries/getOpenInvoiceAge.ts","graphql/client/queries/getAllBolPickUpLocatonList.ts","graphql/client/queries/getAllPurchaseOrderProductList.ts","graphql/client/queries/getAllPurchaseOrderPickupLocation.ts","graphql/client/queries/checkBolFileExists.ts","graphql/client/queries/getReport.ts","graphql/client/queries/getReportPickupLoction.ts","graphql/client/queries/getReportProductList.ts","graphql/client/queries/getAllPurchaseOrderItemsList.ts","graphql/client/queries/getPurchaseOrderLineItemDeliveryInformation.ts","graphql/client/queries/getAllPurchaseOrderFilterShipTo.ts","graphql/client/queries/getAllPurchaseOrderFilterStatus.ts","graphql/client/queries/getCustomersContact.ts","components/_common/Error/Error.tsx","components/_common/Loading/Loading.tsx","components/_common/CustomButton/CustomButton.tsx","components/_common/EditLoadErrors/EditLoadErrors.tsx","components/_common/Textfield/Textfield.tsx","components/Users/UserItem/UserItem.tsx","components/Users/UserList.tsx","components/_common/LazyLoading/useLazyLoading.tsx","graphql/client/mutations/saveB2CUser.ts","graphql/client/mutations/deleteB2CUser.ts","graphql/client/mutations/RegisterUser.ts","graphql/client/mutations/contactInfo.ts","components/_common/SearchableDropdown/SearchableDropdown.tsx","components/Users/AddEditUserModal/AddEditUserModal.tsx","types/PermissionEnum.ts","components/Auth/AuthProvider/AuthProvider.tsx","components/Users/ComfirmModal/DispatchModal.tsx","components/_common/Error/ForbiddenError.tsx","components/Users/Users.tsx","components/Header/BillsLadingHeader/BillsLadingHeader.tsx","components/Auth/PrivateRoute/PrivateRoute.tsx","components/Auth/SilentRenew/SilentRenew.tsx","components/Header/CustomerDropDown/CustomerDropDown.tsx","components/Header/InvoicesHeader/InvoicesHeader.tsx","components/Filter/BillsLadingFilter.tsx","components/BillsLading/BillsLading.tsx","components/Header/PurchaseOrdersHeader/PurchaseOrdersHeader.tsx","components/Filter/InvoicesFilter.tsx","components/Invoices/Invoices.tsx","components/Header/ReportsHeader/ReportsHeader.tsx","components/Filter/PurchaseOrdersFilter.tsx","components/PurchaseOrders/PurchaseOrders.tsx","components/Filter/ReportsFilter.tsx","components/Reports/Reports.tsx","components/Contact/Contact.tsx","components/Header/OpenOrders/OpenOrdersHeader.tsx","components/Maintenance/Maintenance.tsx","components/Header/OpenStatementAcctHeaders/OpenStatementAcctHeader.tsx","components/Filter/OpenOrdersFilter.tsx","components/OpenOrders/OpenOrders.tsx","components/OpenOrders/LineItemDeliveryInformationModal/LineItemDeliveryInformationModal.tsx","components/OpenOrders/OpdenOrdersDetail.tsx","components/Filter/OpenStatementAcctFilter.tsx","components/OpenStatementAcct/OpenStatementAcct.tsx","components/Dashboard/DashboardHeader.tsx","components/Dashboard/DashboardDetails.tsx","components/Dashboard/DashboardOpenInvoices.tsx","components/Dashboard/DashboardPurchaseOrders.tsx","components/Dashboard/DashboardBOLs.tsx","components/Dashboard/DashboardMyInvoices.tsx","components/Dashboard/DashboardLinks.tsx","components/Dashboard/Dashboard.tsx","components/App/Frame/Content/Content.tsx","components/App/Frame/NavBar/NavBarItemWithOverlay.tsx","components/App/Frame/NavBar/NavBarItem.tsx","components/App/Frame/NavBar/NavBarDropdown.tsx","components/App/Frame/NavBar/NavBar.tsx","components/Auth/Callback/Callback.tsx","components/Auth/Register/RegisterModal.tsx","components/Auth/Login/Login.tsx","components/Auth/AuthContent/AuthContent.tsx","components/App/Frame/Frame.tsx","components/App/App.tsx","index.tsx"],"names":["module","exports","Actions","cache","InMemoryCache","errorLink","onError","graphQLErrors","map","message","console","log","httpLink","HttpLink","uri","process","authLink","setContext","_","headers","token","sessionStorage","getItem","authorization","client","ApolloClient","link","ApolloLink","from","userLoaded","user","type","USER_LOADED","payload","error","setCustomerList","customerList","UPDATE_CUSTOMER_LIST","setCustomerID","customerId","UPDATE_CUSTOMER_ID","setCustomerSelect","custometId","FILTER_CUSTOMER_SELECT","currentDate","Date","toDate","setDate","getDate","fromDate","fromDateStr","moment","format","toDateStr","initialPurchaseOrderState","searchPhrase","customer","product","pickupLocation","poNumber","orderStatus","shipTo","resetFilters","state","setFilterValue","value","actionName","initialBolState","bolNumber","invoiceNo","region","wellName","scaleTicket","poNo","relatedBol","initialInvoiceState","searchString","invoiceNumber","addressNumber","invoiceStatus","reducers","SearchTypeEnum","initialState","auth","isUserLoading","customerParentList","userList","purchaseOrder","bol","invoice","report","rootReducer","action","newState","USER_LOADING","setUserLoading","USER_UNLOADED","USER_SIGNED_OUT","ACCESS_TOKEN_EXPIRED","SILENT_RENEW_ERROR","UPDATE_SEARCH_PHRASE","search","setSearchPhrase","setCustomerId","UPDATE_CUSTOMER_SELECTION","setCustomerSelection","Number","setCustomer","FILTER_FROMDATE_SELECT","setFromDate","FILTER_TODATE_SELECT","setToDate","FILTER_PRODUCT_SELECT","setProduct","FILTER_PICKUPLOCATION_SELECT","setPickupLocation","FILTER_PO","setPO","FILTER_ACTION_APPLYFILTER","filters","filter_poNumber","filter_fromDate","filter_toDate","filter_pickupLocation","filter_product","filter_searchPhrase","filter_Status","filter_ShipTo","applyFilters","FILTER_ACTION_RESETFILTER","CustomerAction","FILTER_SEARCHSTRING","FILTER_BOLNUMBER","FILTER_REGION","FILTER_PICKUPLOCATION","FILTER_WELLNAME","FILTER_ALTBOL","FILTER_PONO","FILTER_INVOICE","BOL_ONCLICK_RELATEDBOL","BOL_FILTER_ACTION_APPLYFILTER","BOL_FILTER_ACTION_RESETFILTER","FILTER_PONUMBER","FILTER_INVOICESTATUS_SELECT","FILTER_ADDRESSNUMBER","FILTER_INVOICE_ACTION_APPLYFILTER","FILTER_INVOICE_ACTION_RESETFILTER","FILTER_SEARCH_STRING","hasChanged","Object","keys","reduce","result","key","Routes","HOME","title","route","PURCHASE_ORDERS","BILLS_LADING","INVOICES","REPORTS","OPEN_STATEMENT_ACCT","CONTACT","JOB_MANAGEMENT","JOB_PROFILE_WITH_ID","REPORTING","DRIVER_REPORT","POWER_BI_REPORT","SYSTEM_ADMIN","SYSTEM_ADMIN_USERS","SYSTEM_ADMIN_PERMISSIONS","SYSTEM_ADMIN_LOFAS","SYSTEM_ADMIN_CREWS","SYSTEM_ADMIN_CUSTOMERS","SYSTEM_ADMIN_CUSTOMER_PARENTS","SYSTEM_ADMIN_PROPANTS","SYSTEM_ADMIN_DRIVERS","SYSTEM_ADMIN_CARRIERS","SYSTEM_ADMIN_SETTINGS","PROFILE","CALLBACK","SILENT_RENEW","JOB_PROFILE","JOB_LOADS","JOB_LOADS_WITH_ID","LOAD_PROFILE","LOAD_PROFILE_WITH_ID","CHANGE_PASSWORD","LOAD_HISTORY","LOAD_HISTORY_WITH_ID","JOB_ACTIVITY","JOB_ACTIVITY_WITH_ID","MAINTENANCE","OPEN_ORDERS","ORDERS_DETAILS","ORDERS_DETAILS_BYORDERNO","StoreContext","React","createContext","StoreProvider","props","Provider","store","children","useStoreContext","useContext","ModalForm","SearchBar","Unknown","onChange","dispatch","createRef","updateSearchPhrase","e","preventDefault","current","User","UserListActions","Customer","CustomerListActions","CustomerParent","CustomerParentListActions","className","id","placeholder","target","ref","defaultValue","onKeyDown","autoComplete","InputTitleEnum","gql","Error","history","useHistory","indexOf","push","toaster","notify","Comp","Alert","variant","onClose","displayName","renderToast","duration","Loading","role","CustomButton","isBordered","isDisabled","onClick","additionalStyle","disabled","EditActions","Textfield","label","name","required","mask","onBlur","inputTitle","helperText","endIcon","thousandSeparator","maxLength","useState","toString","inputValue","setInputValue","validation","errorMessage","STAGE_TIME","toInteger","STAGE_TIME_ERROR","MILES_FROM_WELL","isFinite","MILES_FROM_WELL_ERROR","commonProps","event","cleanValue","replace","useEffect","textfieldErrors","Form","Control","Feedback","aria-invalid","componentProps","returnComponent","onSubmit","InputGroup","Label","Prepend","Text","Append","returnThousandSeparatorComponent","inputMaskComponents","alwaysShowMask","maskPlaceholder","UsersItem","options","cpOptions","index","onEditClick","canEditUsers","onDelete","firstName","lastName","emailAddress","roleId","roleName","isActive","customerParentId","containerStyle","filteredRole","filter","numId","parseInt","filteredCustomerParent","item","getCustomerParentName","jdeId","getCustomerParentJdeId","UserList","users","isLoading","isEndOfResults","refetched","setRefetched","refetch","onLoadMore","handleScroll","tableId","isScrollUpPagination","scrollPos","setScrollPos","doc","document","getElementById","scrollHeight","scrollBottom","clientHeight","scrollTop","isScrolledToTop","Math","ceil","isScrolledToBottom","useLazyLoading","onScroll","userId","renderAutoCompleteInputComponent","inputProps","SearchableDropdown","autoCompleteEnabled","dropdownOptions","hasError","onSelect","selectedValue","setSelectedValue","single","setState","suggestions","setSuggestions","handleOnSelect","eventKey","HTMLAnchorElement","HTMLInputElement","textContent","getSuggestionsCollection","length","d","autosuggestProps","onSuggestionsFetchRequested","deburr","trim","toLowerCase","inputLength","suggestionsList","suggestion","slice","getSuggestions","onSuggestionsClearRequested","getSuggestionValue","renderSuggestion","query","isHighlighted","matches","match","parts","parse","Dropdown","Item","selected","component","part","i","style","fontWeight","highlight","text","alwaysRenderSuggestions","newValue","selectedSuggestion","s","renderSuggestionsContainer","containerProps","theme","container","flexGrow","position","suggestionsContainerOpen","backgroundColor","border","maxHeight","left","marginTop","overflowY","right","width","zIndex","display","margin","padding","listStyleType","input","flexWrap","fontSize","height","dropdownMenuItems","option","undefined","DropdownButton","PermissionEnum","AddEditUserModal","show","onClickHide","onUserSaved","checkIfPassword","setIsResetPassword","modalForm","selectedUser","setErrorMessage","inputVariables","selectedUserId","setSelectedUserId","selectedFirstName","setSelectedFirstName","selectedLastName","setSelectedLastName","selectedEmailAddress","setSelectedEmailAddress","selectedCustomerParent","setSelectedCustomerParent","selectedRole","setSelectedRole","isSelectedRoleCustomer","setIsSelectedRoleCustomer","selectedStatus","setSelectedStatus","enableResetPassword","setEnableResetPassword","isUssilicaUser","setIsUssilicaUser","isEditForm","EDIT_USER","emailExists","setEmailExists","emailErrorMessage","setEmailErrorMessage","userAuditHistory","extUserOptions","searchIcon","icon","prefix","iconName","includes","useQuery","GET_USERS_CHECK_EMAIL","variables","fetchPolicy","onCompleted","data","getUsersCheckEmail","checkEmailExists","GET_USERAUDIT","userAuditReferenceData","userAuditLoading","loading","getUsersAudit","forEach","element","auditUserName","auditDate","nameBefore","valuesBefore","nameAfter","valuesAfter","isActiveBefore","isActiveAfter","emailAddressBefore","emailAddressAfter","roleIdBefore","roleIdAfter","clearState","useMutation","SAVE_B2C_USER","saveB2CUser","saveUserErrors","errors","refetchQueries","GET_B2C_USER_FILTERED","saveB2CUserLoading","handleOnSave","email","status","resetPassword","onCancel","setSaveButtonStatus","isNameValid","isLastNameValid","isEmailValid","test","isRoleValid","customerName","filteredCustomerName","getAuditRoleName","changeRole","changeStatus","boolValue","JSON","Modal","onHide","size","Header","Title","Body","changeFirstName","changeLastName","currentTarget","isUssilicaMail","checkExternalUser","changeEmail","getRoleName","Col","md","changeCustomerParent","checked","userAudit","Footer","config","userStore","WebStorageStateStore","window","authority","client_id","redirect_uri","automaticSilentRenew","monitorSession","silent_redirect_uri","post_logout_redirect_uri","response_type","scope","_userManager","UserManager","AuthContext","userManager","userHasPermission","permissionType","AuthConsumer","Consumer","useAuthContext","AuthProvider","loadUser","getUser","then","AuthActions","onUserLoaded","setItem","access_token","onSilentRenewError","onAccessTokenExpired","removeUser","onUserUnloaded","removeItem","onUserSignedOut","location","href","origin","events","addUserLoaded","addSilentRenewError","addAccessTokenExpired","addUserUnloaded","addUserSignedOut","removeUserLoaded","removeSilentRenewError","removeAccessTokenExpired","removeUserUnloaded","removeUserSignedOut","hasPermission","profile","ConfirmDispatchModal","isResetPassword","backdrop","src","dispatchIcon","alt","ForbiddenError","SortOrder","toasterOptions","Messages","delete","userAdded","userEdited","ErrorMessages","Users","showAddUserModal","setShowAddUserModal","EMPTY","setModalForm","setIsEndOfResults","selectedCustomerId","setSelectedCustomerId","showDispatchModal","setDispatchModal","isAdmin","Admin","isCustomerService","CustomerService","handleClickHide","handleOnHide","DELETE_B2C_USER","deleteUser","useCallback","record","customerParentData","GET_ALL_CUSTOMERSLIST","getAllCustomerList","rolesData","GET_ROLES","getRoles","inputVariable","fetchMore","getB2CUserFiltered","offset","customerUsers","onSelectCustomer","ADD_USER","updateQuery","prev","fetchMoreResult","assign","PrivateRoute","rest","render","expired","createElement","clearStaleState","to","pathname","SilentRenew","signinSilentCallback","catch","err","Fragment","CustomerDropDown","authContext","opsCustomer","selectedCustomer","userProfile","skip","customerusersData","BillsLadingHeader","onDownloadBols","onPrintBols","onDownloadInvoices","htmlFor","queryparams","open","BillsLadingFilters","abortRequest","onFilterToggle","searchBOL","searchPO","searchWellName","searchAltBOL","searchInvoice","filter_bolNumber","setBOLNumber","filter_region","setRegion","filter_wellName","setWellName","filter_scaleTicket","setScaleTicket","filter_poNo","setPoNo","filter_invoiceNo","setInvoiceNo","isApplyFilterClicked","setIsApplyFilterClicked","onFromDateChange","onToDateChange","isOpen","setIsOpen","body","classList","toggle","Button","onSearchPhraseChange","onPOChange","updateSearchPO","onBOLChange","updateSearchBOL","onInvoiceChange","updateSearchInvoice","color","onRegionChanges","GET_ALL_BOL_PICKUPLOCATION_LIST","bolPickUpLocationList","getBolPickUpLocationList","onPickupLocationChanges","prd","pickUpLocationNumber","pickUpLocation","onWellNameChange","updateSearchWellName","onScaleTicketChange","updateSearchAltBol","BOLActions","classes","tableStriped","StyledTable","styled","Table","alpha","TableComponent","BillsLading","screen","setListHeight","abortController","AbortController","currentOffSet","columns","columnOrder","setColumnOrder","columnName","defaultColumnWidths","currentPage","setCurrentPage","pageSize","setPageSize","pageSizes","currentFilters","useRef","bolListData","selection","setSelection","direction","sorting","setSorting","abort","setListContainerHeight","filterDiv","listDiv","filterHeight","setTimeout","min","offSet","sortParam","sortDirection","onDownloadBol","bolNos","bolNo","onPrintBol","onDownloadInvoice","onPageNumberChanges","count","onPageChanges","GET_ALL_BOL_LIST","bolList","totalRowsCount","getBolList","totalRecordsCount","Paper","rows","onSelectionChange","defaultSorting","onSortingChange","onCurrentPageChange","onPageSizeChange","totalCount","tableComponent","showSortingControls","order","onOrderChange","showSelectAll","InvoicesHeader","onPrintInvoices","InvoicesFilters","filter_searchString","setSearchString","filter_invoiceStatus","setInvoiceStatus","setPONumber","filter_invoiceNumber","setinvoiceNumber","onSearchChange","onInvoiceStatusChanges","InvoiceActions","Invoices","invoiceData","invoiceNos","onPrintInvoice","Cell","column","row","tablerow","grossAmount","toFixed","openAmount","taxAmount","GET_ALL_INVOICE_LIST","invoiceList","getInvoiceList","cellComponent","PurchaseOrdersHeader","onLoadRelatedBols","PurchaseOrderFilters","setStatus","setShipTo","GET_ALL_PURCHASEORDER_FILTERSHIPTO","purchaseOrderFilterShipTo","getPurchaseOrderFilterShipTo","onShipToChange","shipToId","shipToName","GET_ALL_PURCHASEORDER_PICKUPLOCATION_LIST","purchaseOrderPickupLocationList","getPurchaseOrderPickupLocation","onPickUpLocationChanges","pickUpLocationId","PurchaseOrders","selectedpo","colSpan","radioGroup","onRadioChange","textAlign","paddingRight","paddingLeft","openOrderDetails","orderNo","newTab","URL","po","customerPONumber","GET_ALL_PURCHASEORDER_LIST","purchaseOrderList","getPurchaseOrderList","ReportsHeader","ReportsFilters","filter_pickUpLocation","GET_ALL_REPORT_PRODUCT","reportProductList","getReportProductList","onProductChanges","productNumber","productName","GET_ALL_REPORT_PICKUPLOCATION","reportPickupLocation","getReportPickupLoction","ReportAction","rproduct","rdate","rtotal","Reports","GET_ALL_REPORT","getReport","Contact","fileObj","setFileObj","selectedTitleRole","setSelectedTitleRole","selectedReason","setSelectedReason","selectedTelephone","setSelectedTelephone","selectedComments","setSelectedComments","selectedEntity","setSelectedEntity","selectedEntityEmail","setSelectedEntityEmail","phoneNumberError","setPhoneNumberError","fileErrorMessage","setFileErrorMessage","reasonErrorMessage","setReasonFileErrorMessage","setCount","reasonTypeoptions","entityTypeoptions","validateEmail","entity","entityEmail","reason","titleRole","telephone","comments","contactFileInput","ContactMethod","contactInfo","emailSent","reload","getEntityName","getReasonName","filteredReason","emailStatus","contactLoading","reader","FileReader","file","onload","fileName","imageData","split","readAsDataURL","withFile","isRoleTitleValid","isTelephoneVaid","isEntityValid","isReasonValid","Row","changeReason","changeRoleTitle","changeTelephone","validatePhoneNumber","changeComments","files","handleLoadFileChange","Maintenance","isMaintenance","MaintenanceImg","OpenOrdersHeader","showRelatedBOL","OpenOrdersFilter","OpenOrders","LineItemDeliveryInformationModal","lineItemDeliveryInformation","lineNo","GET_PURCHASEORDER_LINEITEM_DELIVERYINFORMATION","lineItemDeliveryInformationData","getPurchaseOrderLineItemDeliveryInformation","city","country","carrierName","equipmentType","deliveryTerms","incoterms","loadingPort","destinationPort","bookingNumber","vesselName","voyageNumber","numberContainers","lastLoadDate","sailDate","etaDate","totalNetWeight","totalGrossWeight","routingNotes","OpenOrdersDetails","selectedPO","setSelectedPO","showDeliveryInformationModal","setShowDeliveryInformationModal","setLineNo","params","purchaseOrderDetailsByOrderNo","purchaseOrderDetails","enteredDate","dateEntered","formattedenteredDate","formatEnteredData","GET_ALL_PURCHASEORDER_LINEITEMS","pollInterval","purchaseOrderLineItemsData","purchaseOrderLineItems","getAllPurchaseOrderItems","openDeliveryInformation","selectedPo","URLSearchParams","get","soldToName","soldTo","salesPerson","notes","Tabs","Tab","lineNumber","OpenStatementAcctFilters","OpenStatementAcctHeader","onDownloadOpenInvoices","onPrintOpenInvoices","OpenStatementAcct","onDownloadOpenInvoice","onPrintOpenInvoice","GET_ALL_OPEN_INVOICE_LIST","getAllOpenInvoiceList","DashboardHeader","customerkey","admin","customerService","DashboardDetails","GET_CUSTOMERS_CONTACT","getCustomersContact","address","postalCode","county","electronicDetails","info","emailType","paymentTerms","contactDetails","salesRepName","salesRepEmail","salesRepPhoneNumber","custServiceName","custServiceEmail","custServicePhoneNumber","creditAnalystName","creditAnalystEmail","creditAnalystPhoneNumber","DashboardOpenInvoices","GET_OPEN_INVOICE_AGE","getOpenInvoiceAge","OpenAmount","overSixty","Range","thirtyOneSixty","sixteenThirty","oneFifteen","ResponsiveContainer","BarChart","layout","top","bottom","Bar","dataKey","fill","CartesianGrid","horizontal","XAxis","textAnchor","interval","domain","angle","dx","dy","ticks","tickFormatter","tickValue","formatXAxis","tickCount","YAxis","Tooltip","DashboardPurchaseOrders","openPurchaseOrders","openfolder","poValue","customerPODate","uom","quantityonPO","quantityShipped","DashboardBOLs","openBols","clipboard","shipDate","DashboardMyInvoices","openInvoices","fountainPen","invoiceType","invoiceDate","netDueDate","DashboardLinks","openContactPage","Inquiry","openStatement","payment","dispute","customerInquiry","Dashboard","Content","exact","path","NavBarItemWithOverlay","tooltip","OverlayTrigger","placement","delay","hide","overlay","NavBarItem","linkContainer","Nav","Link","NavBarDropdown","header","routes","NavDropdown","rel","signoutRedirect","Divider","NavBar","selectedTab","setSelectedTab","isSystemAdminActive","isProfileActive","profileHeader","Navbar","expand","Brand","JDELogo","Toggle","aria-controls","Collapse","Callback","signinRedirectCallback","RegisterModal","selectedAccountType","setselectedAccountType","setselectedEntity","setselectedEntityEmail","setselectedTitleRole","setselectedTelephone","accountTypeoptions","REGISTER_USER","registerUser","RegisterUser","registerUserLoading","accountType","isAccountTypeValid","Login","showRegisterModal","setShowRegisterModal","setEmail","searchEmail","setSearchEmail","isEmailExists","setIsEmailExists","isEmailCheckCompleted","setIsEmailCheckCompleted","onRegistered","onsubmitRegister","delayDebounceFn","clearTimeout","signinRedirect","login_hint","prompt","onsubmitLogin","autoFocus","AuthContent","strict","Frame","tz","setDefault","App","useReducer","ReactDOM"],"mappings":"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","file":"static/js/main.b7678eff.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhIAAABICAYAAACjtxwHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMC1jMDAwIDc5LjE3MWMyN2ZhYiwgMjAyMi8wOC8xNi0yMjozNTo0MSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMDc3OWE0Mi0wMWI1LTQ4MGYtYWE0NC0yNjc3YmZiNzYwZTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjYxMTM5ODQ2Q0VGMTFFRDgyQTg5NTI4RTc1QzlDQ0IiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjYxMTM5ODM2Q0VGMTFFRDgyQTg5NTI4RTc1QzlDQ0IiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDc3OWE0Mi0wMWI1LTQ4MGYtYWE0NC0yNjc3YmZiNzYwZTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDA3NzlhNDItMDFiNS00ODBmLWFhNDQtMjY3N2JmYjc2MGU1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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/maintenance.dc352fe2.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/fountainPen.f1e27de6.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAHLpJREFUeJzt3Xv07Xdd3/nnyRUIEIRwkRDkfhMFQhiLCAgFKTpcRFKVUqm2tTqOg9PRZTuopeNYQS2jXdOpKJ3qQkdE0UFAbXEoUBTkjkpCuIvcA5FwSyAkmT8+5ywScnJyfmfv3/589/49Hmu9VrLQ3/f33t+98/t89uf7uRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAJh2YXwHSnVLetzqnOqs78ipxWnXGUn/ti9bnq6upT1aXVxdUnq0uqjx0OAAukA3Aw3Ly6x+Hc+/A/71Kd3Wj8T9qn33t59dfV3xz+5zurt1cXVu+vrtqn3wvADdAB2D1nVQ+szq0ecPjf7zK1oqP7fHVB9YZr5MLqyplFARwUOgDb7+zq4dXDDufec8tZyWer11X/tXpl9frqSzMLAoClOL16VPWc6qLGM/hdzWeqP6z+h+qO67h5ALBNbl49tfr9RqM4u2GelbdW/3t1/9VuJwAs102qv1+9qLqs+Y3v0nJB9ZPV3U70BgPAkpxX/XJjWd3sRnZb8trq+zr6ckUAWKybVf9jY4h7dmO6zbm0+g+N1Q8AsFhfXT2zsXHO7MZz1/Ka6vzq5ON9MwBgv51XvbC6ovkN5a7nHdU/q250XO8MAOyD+zUa/qua3zAetHys+vHqxjf4LgHAmjyoelnzG0GpDzbmW5x+zHcMAFZwTvXcxva2sxs+uXY+UH1PdsMEYI1uUf1c4zCc2Q2dHDuvrb7x6G8jAByfQ9XTGs+bZzdscvy5qvrN6nbXfUsB4NjuUb28+Y2ZnHg+VT09SwcBOA43qp5VfbH5DZisJ2/MeQMAHMP9snvfruaKRsfutADgsFMba8p969/9vC1bCwPQeNb/5uY3TLK5XF79cJYMAhxY5zcmis1ukGROXlzdKgAOjDOqX2t+AyTz84HqIQGw885pzAqf3fDIcnJFYw4IADvqYdnUR64/z8/hQgA754dzXK/ccP6s+uoA2HqHqmc3v2GR7ckHG3tCALClTq9e0PwGRbYvl1QPD4Ctc6vGcO7shkS2N5dX3xnAFnDoyXDb6k+q82YXwlY7pfqO6pPV6yfXAnBMOgBjAtefVF83uxB2wqHqsdWnq9dNrgXgeh30DsCdq1c1tveFdTlUPab6QvWaybUAHNVB7gCc02j87zS5DnbXo9IJABbqoHYAblO9orrb7ELYeY+qPlu9dnYhANd0EDsAZzUa//vMLoQD49HVR6o3zS4E4IiD1gG4afXy6v6zC+FAOVR9a/WO6u2TawGo6qTZBWzQydVvZKkfc5zcODvgkbMLAaiD1QH4peoJs4vgQDut+p3qXrMLATgo/mXzd4kTOZL3NjafApjm0OwCNuAJ1e91sEY7WL7XVo9oLBME2LhdnwR4r+plObOd5TmnunX10tmFAAfTLncAvqqx3O/2swuB63FelgcCk+zqI4BDjW9W3zq7ELgBX2gcI/znswsBDpZdfS7+o2n82Q6nN1YG3HJ2IcDBsouPAB7UWO+/i6+N3XRmdddGRwBgI3atkTyzcbTvWbMLgT26T/Wh6s2zCwEOhl2bA/D86qmzi4AT9Pnq3Oqi2YUAu2+XOgCPr148uwhY0euqb6qunF0IsNt25RHAWdUfNg77gW12h+rTOT4Y2Ge7MgLw29Xfn10ErMll1QPyKADYR7uwDPBxafzZLTeuntfudNCBBdr2RwA3rv6gsesf7JI7Vu+v3jq5DmBHbfsIwE9Ud5ldBOyTX6huNbsIYDdt8wjAvRrL/rb5NcCx3KS6WeNAK4C12uZnjC/Ldr/svqsahwa9ZXYhwG7Z1kcAj0jjz8FwUvWc2UUAu2cbh89Pqn63+urZhcCG3KmxQdB7JtcB7JBtHAH4nsZ2qXCQPLvt/O8VWKhtGwE4rXpRdYvZhcCG3a4xAvAXswsBdsO2faP43uprZhcBk/xUdcrsIoDdsE0jAKdWL8imPxxct2xsD/yXswsBtt82jQB8b3Xn2UXAZD/Rdv13CyzUtowAnNw48Me3fw66W1dvry6YXQiw3bblm8S3Z8tfOOJfzC4A2H7b0gH457MLgAU5t/rG2UUA220bOgAPqh48uwhYmKfPLgDYbtvQAfDtH67rSdU5s4sAttfSJwGeVf1q1j7DVzqpuqx6xexCgO209BGAp1Wnzy4CFuppLb8TDyzU0jsA3ze7AFiws6tvmV0EsJ2W3AF4SHWf2UXAwukkAydkyR2Ap84uALbA4xubAwHsyaHZBVyPU6oP5w8bAKu5svp09fHqI9X7qgurv6peX31yXmlzLbUD8PeqP5pdBAA77erGttqvqF5Svar64tSKNmipHYBfa8xwBoBNubR6YfXr1Z9OrmXfLbEDcGpjqOYWswsB4MB6W/WcxjH0OzkqsMRJgA9N4w/AXPdrjAS8u/r+dnBDuiV2AL5tdgEAcNg51XOrN1cPm1zLWi3xEcBF1T1mFzHJJxrDThc27sPFjWdSl1ZnVGc2RkfuWt2rum919ymVAhw8VzdGBX6k8Xd5qy2tA3D36p2zi9igq6tXN2af/kn1F4f/t724ffWo6jHVExodBQD2zwcaE9VfObmOlSytA/AD1X+YXcQGfKwxpPTr1XvXeN2bVedXP1idt8brAnBtV1bPqH6uvX9x4yhe0LiRu5oPNYaObrKuG3YMj63+bMOvT0TkoOW3qxu1hZY2AvChxpD2rvlS9X9VP1F9ZsO/+3GHf/cdNvx7AQ6KVzUewW7VvIAldQDu1Zj8tmv+snGuwV9MrOEW1f9R/aOJNQDssjc15mN9anYhx2tJywAfOruAffB/V9/Q3Ma/xgfyew/n85NrAdhFD6z+uLr57EKO15I6AA+cXcAaXVX9cPWPq8sm13JNv9Y4Zvmjk+sA2EXfUP1uY0fbxVtSB2BXZq1f0Rjy/z9nF3I93toYbXnf7EIAdtCjW+7f/2tZyhyA0xvHNZ42u5AVXVl9Z/Wi2YUchzs0VgmcM7sQgB30T6vnzS7iWJYyAvB1bX/jX2PYfxsa/6oPNo5dvmR2IQA76N812rbFWlIHYNs9p+3bxOiC6smNkQsA1ufG1fNb8HyAk2cXcNhTGpPTttUbqn/Qdjak7290BL95bhkAO+d2jaOEXz27kKNZyhyAP2hsWLONPts4NnKdW/pu2smNPa2/aXIdALvmC9V9WmAbsZRHAPeeXcAKfroFvrF7dGX1zxorGABYn9OrZ88u4miWMAJwevW5lvM4Yi8uqO7f7jScv1D9L7OLANhBD65eN7uIa1pCB+Cu1btnF3GCnlT9/j5c9+bVt1XnNpbrnd3Yze+vG/fqJe3PqMOZh3/HmftwbYCD7KVt76PuffPw5p/mdCK5oPU/QnlQYz7E5cfx+9/c2Nt/3TX87HH8bhER2VuuaswXW4wlzAHY1lPqfr7xhq7DbarfrP680UM8/Th+5gHVf2ocQLHOFRS/2Ji0AsD6HKp+aHYR17SEDsA27kT3uep31nSt+zYa/qd0Yo9k7t+Ywb+uD9bHqpet6VoAfNl3t6DDgpbQAbj97AJOwIsay/9W9eDGdrx3WvE6pzT2nv7JVQs67Plrug4AX3bT6jtmF3HEEjoAt5xdwAl4wRqucfvGKMLN1nCtI/519V1ruM4fVp9Zw3UAuLbzZxdwxBI6AF81u4A9uqL6byte46TGKMLZq5dzLYcah0/cfcXrfLHVXyMA1/WoFvIYYAkdgG0bAXhDqw//f1f1d9ZQy9GcUf3MGq7zyjVcA4BrO7Wx+m26JXQAbjG7gD1adSOHU6r/bR2FHMOTq/NWvMafraMQAK7jUbMLqGV0ALZt05mLVvz5hzc2P9pPhxp7BKxi1dcJwNHt1wjwniyhA3Da7AL2aNWG8QlrqeKGPbHVdnr8RHXJmmoB4Mu+vgUcE7yEDsD0m7BHf7Piz29q6Ofs6l4rXuMD6ygEgGu5UXWP2UUsoQOwbSMAqy6Pu+NaqtjM77IUEGB/3GV2AUvoAJwyu4A9WmUFwM0bs/Q3ZdVNlnQAAPaHDkDLOJFwL1Y5+vfGa6tiM79vV445Blia284uYAkdgMtnF7BHq3yDv7j60roKOQ4fWfHn17lLIQBfNn0PnCV0AD4/u4A9WmUHp6uqj6+rkOPw4RV//qZrqQKArzR9N8AldAAum13AHt1qxZ9/41qquGFfqC5Y8Rq3XkchAFzH9PZ3egFtXwdg1aUbL15LFTfs5a02ie/0NrtiAeAgmT7/bQkdgG17BHDPFX/+pY1v5/vt91b8+btVJ6+jEACuY3rbt4QOwLbtNne/FX/+49Uvr6OQY3hf9ZsrXmPV1wnA9fv07AKW0AH4xOwC9uhhrT508zPt75v/vzaO9F3FI9ZRCABHNf3Lrw7A3t26uu+K17i4+r7q6tXLuY4XVb+9hus8cg3XAODo/np2AToAJ+bxa7jGi6pnreE61/S26mmt3rH42hawSxXADtMBaDs7AP9wTdd5RvWvW89IwGurx1SfW8O1nrqGawBw/VZdpr2yJXQAPjS7gBNwz+ob1nCdq6tnNr61n+gZA1dXz2s8s//YGmo6qXrKGq4DwNF9tPX8vV7JEjoA04dBTtCPrPFaz6/uXP279rZV8Buqh1f/tPUtLXxy1v8D7Kc3zS6gFrARQWNnvW18DHBlde/qXWu+7h2qJx3OA7v2drxfrN5T/UFjDsEbW/9EwjdV5675mgB82Y9VvzC7iCV0AGrsWLeN+87/evWP9vl3fFV1dmPJyEcb5wnsl29v9Q2EADi281rAKMBSOgBvr+4zu4gTcHX1kMYEvG1348b7cOfZhQDssA9V57Q/y8D3ZAlzAGr9w+ibcqj699UpswtZg3+Zxh9gv/2/LaDxr+V0AN4+u4AVPKD6qdlFrOjvVP9idhEAB8ALZhdwxFI6ANPXQ67oGdWjZxdxgm5R/T/VqbMLAdhx76j+dHYRRyylA7DNIwA17uPzq7vOLmSPTq1+K0P/AJvw3BYy/F/LmQR4o8ZGONt+/Ox7G5MCPzq7kONwqPqP1ffOLgTgAPjb6msaq94WYSkjAJc3hka23V2qP6xuM7uQG3Co+sU0/gCb8u9bUONfy+kAVL1+dgFr8oDGssClPg44pbF18P80uxCAA+IVjWPgF0UHYH/cpXp143HAkty6+qPGUcQA7K+rqn9bfVtjpHtRdAD2z+2rV1Y/2jLmWnxT9ZbqUbMLATgAXtnYzv1HW2DjX8tomI44tbq0sSPdrnl19YPNWe548+qnqx9q+ydZAizdexp7/f/+7EJuyJJGAK6oXje7iH3ysOqt1c81huE34ZTGOQUXNp73a/zZBVe0e6OFq/pI48sTc13aaPjv0xY0/kv0E401krucz1Y/3zj1bz/cuPonjV7o7Ncqss58oXFg1emN1Taz61lC/rb6+sbk448toJ6DmC9Vv9zmvtztrAc3/83cVK6s/nP1lMZufKs4pfrmxuz+Sxfw2kTWncsaE6mOuFH1XxZQ1+x78vBr3JN7VO9fQF0HKS+vvq4ttaQ5ADUaskuqm80uZMOurN5Y/X/V2xrD9hdVXzzK/++hxmYS96ru23i88M0dvHvGwfH56omNP7bXdJPqpdUjNl7RfFdV31n97lf873dodIzuvfGKDpZ3Nib3vWR2IbvmJc3v1S0llzR2F3xz4wP38UanYHZdIpvKZxod3OtzRmOS7ew6N50fOsY9OasxT2J2jbuYS6r/OWen7JsfaP6bLCLzc0ON/xFnVK9aQL2byk8f5z056I9I1pkrGvv4L32X1613+8bw1uw3XETm5W8bx1Qfr5s3VhHNrnu/8/yO/9Ht6dXvLKDmbc9WP+ffRm9o/psuInNySfWg9u7Mdnvo+6WNeVJ7cXJjcvDs2rcxF1Xn7/F+swY/2fw3X0Q2n481lrWdqFs0JtTOfh3rzp83hvVPxKHG0uPZr2Fbckn149VpJ3KzWd3XNv9DICKbzYdbz+z1W1d/uYDXs668ozGxb1XPWMBrWXK+2Dgl9ZYneoNZn7c2/wMhIpvJB6q7tz63qf5qAa9r1XyoutMa78sPNJYdz35dS8vLG188WYgfa/6HQkT2P+9vf47Pvm3j/I3Zr+9Ec2l1/7XflfquLCc+kgu79gZTLMTtG1sszv6AiMj+5X3Vnds/Z1fvXsDr3Gu+UD16H+7HEX+3scxy9uuclU9WT2/vkyrZoD9p/gdFRPYnFzY6+vvtjo2OxuzXe7y5ss3MPn9IY7nl7Ne7yXyh+oVW336dDfju5n9gRGT9uaDNNP5HbFMn4On7dA+O5msb8wxmv+ZN5OWNk/rYEqdVH23+B0dE1pe3tJ5Z7Xt1t+qDJ1DvJvMz+/bqr9+dq3edYL3bkAuqx67tbrFRP9v8D5CIrCdvrG7VPHdvud94f6N5B7TdrnEQ2ex7sM58ojGacvIa7xMbducsWxHZhfxpY7e+2e7T2HBo9v24Zl7W/ANmbtlubKd8efXsxvbQ7IAXN/9DJbKUfKo6r+06AOeV1U1bjq+rLm7+fbm60eie6C5/63bTxrPy2ffkRPO71V3WfleY6hua/8ESWUqOnAZ3qPr+6tMLqOlYeWXLavyPuF9jmHjmvXlXyzth7rTqhc3/3Owlb6oevh83g2V4TfM/ZCKz89nGVrfX9DUt9+jXP6pu3HLdv7EmfMa9+XDr3eVvnU6ufqX5n5/juYffn+f8O+/xzf+wiczOs7t+5zevMTtaXlrd6Bj1LsW5jQNgNnlvLq0esIkXt4JDjc/b7M/R0fKF6pfynP/AONRuHfAhstd8rrG97bHcoTGhbHatL2z+pLa9eEib2xnv8uqRm3lZa/Hj1VXN/0xdfbiOFzRGvThgntT8D6DIrOxljfj5zZvk9ltt5xarm+gEXFX9w029oDV6WnVFcz//b6weut8vlOU61DgXe/YfYpFN5+L2voTuto1Z0Zus8zfazsb/iIc25lns1/35kc29lLV7YnVZm//sf6jxnP+k/X+JLN1jm//HWGTTWaXhOL/6+AZq/JV244/0o9ufhu5nN/ki9skj29yqk89Xz6putpFXxtZ4dfP/IItsKu+rTm81t248O92vGn+pebvY7YdvbUw0W9f9+fV25/48uP2dbHpVYyTpnE29ILbLudkdUA5Ovrv1eWL1kTXX93NrrG9JHl99sdXvzx+1XRMij8d9G0vw1v1Zf21j3xc4puc1/w+zyH7nv7X+b463qJ67pvqetebalubbW60T8IaWuQnSOtypemfr+Rx9MM/52YPbNLZEnf0HWmS/ckX19e2fv1d9YIX6/tU+1rYkT+7EZsC/uxtetrntble9tRP/DH2u0Ync1U4S++ifN/+PtMh+5TntvzOrX23v67x/bAO1LclTqy91/PfnQx2cPem/qnHQ014+P1c25kWcPaFedsQpjT2gZ/+hFll3Ptxmdzl7VGOy4Q3VdXn1fRusa0ke19jB74bu0UUdnMb/iDM6/vMDXlM9aE6Z7Jpzm79Bhci686Q274zGsP7RDsi5onEq59dOqGtJzmksdzzaXgEfrZ5Z3WRWcQvwHY0Ne472mf7zw//3XVkNsfV25Y34+epHZxcBa/LC6jsn/v5TGjOx79GYvf7hxh/viyfWtDSnN77F3rExnP3e6s2H/52xVe/9Gmv4L23ME/jg1Iq4jl3pANyk8R/fPWcXAiv6RONb9sdnFwLstl1ZcvH56imNYUrYZj+cxh/YgF06Q/kjh//5iKlVwIn77cYzZIB9tyuPAI44ubFN8DfOLgT26P2N8+E/NbkO4IDYlUcAR1xZfVfjOSpsiy9V/yCNP7BBu9YBqPqbRifAbFy2xTOrP5tdBHCw7NIcgGt6X+O1PXx2IXAD/rj6wcY6aYCN2bU5ANd0UvWyxn7nsETvbawlv2R2IcDBs8sdgBpbqf5p4+hKWJLLqm9q7F8BsHG7OAfgmj5dPSGTAlmef5zGH5ho1zsANYZZn9Q40xuW4Ker35pdBMBB8cT2dpynyH7kt9r9R2/AFtjVVQBH847GFqv//exCOLBe3TgN7UuzCwE4SB2A+vIxlbYLZtP+qvqW6nOzCwGog9cBqHpVddNsF8zmvLt6ZCajAgtyEDsAVS+vTqseOrsQdt4HG43/38wuBOCaDmoHoOoV6QSwvy6u/m71rtmFAHylg9wBKJ0A9s9HGt/8L5xdCMDRHPQOQI1OwCXVY7I8i/X4QKPxv2h2IQDXRwdgeH1jw6DH5Z6wmvc1hv3fM7sQAI7ftza2D569WYxsZ95SfXUAbKX7Nr7FzW5MZLvy8urMANhqZzV2bZvdqMh25D9VpwbATrhR9R+b37jIcnNl9YwA2Enf09i+dXZjI8vKpY0DpgDYYec2VgnMbnRkGXl7dY8AOBBuXj2/+Y2PzM1vVjcLgAPnydUnm98QyWbz+erpAXCgfU31X5rfKMlm8pbqngHAYec3jnid3UDJ/uSK6lnV6QHAV7h99XvNb6xkvXlbY/InABzTY6t3Nr/hktVyWfVTjVMiAeC4nN7YGMa+AduZl1R3uc67CgDH6fbVrzSeIc9u1OSG857q8Ud9JwHgBNyzemF1VfMbObluPln9eGPbZwBYu/+uemk6AkvJ56p/k9P7ANiQB1YvTkdgVj5T/Xx12xt6owBgP9yn+tXGjPPZjeJByKWNb/xnHc+bAwD77TbVM6sPN7+R3MW8q7F9782P8/0AgI06tXpS9ceNM+ZnN5zbnCur/1w9rjppL28CAMx05+pfVRc1vzHdprz/8H27457vOAAszIOqX6w+2PwGdom5uHpu9ch82wdgBx1qLCX82erC5je8M/OR6nnVY6pTVrmpAAfZodkFcELuVj26+pbqEe32evYrqzdXLzucNzU6AgCsQAdg+51SnVc9pHpo9Y3VradWtJovVW+pXl29snpN9amZBQHsIh2A3XSPxlG2968ecPift5la0dFd0ThB8S3VG6o3Hv73y2YWBXAQ6AAcHGc1ziY4krtWZzdmzd+u/ZtE98XqA41Z+n9dva96R/X2xiE8V+zT7wXgGHQAqPEY4XaNTsKtrvHPmzX2KLhpdVp1xlf83OWNb+ufOvzvn6s+cZR4Zg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcSP8/p6sG++y5+bsAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/question.edd794c5.png\";","module.exports = __webpack_public_path__ + \"static/media/OpenStatement.6196f4ed.png\";","module.exports = __webpack_public_path__ + \"static/media/coins.056372aa.png\";","module.exports = __webpack_public_path__ + \"static/media/stop.fb497581.png\";","module.exports = __webpack_public_path__ + \"static/media/elearning.403410b0.png\";","module.exports = __webpack_public_path__ + \"static/media/agenda.8e77aa79.png\";","import { Action } from '../../types';\nimport { User } from 'oidc-client';\n\nexport enum Actions {\n USER_LOADING = 'AUTH_USER_LOADING',\n USER_LOADED = 'AUTH_USER_LOADED',\n USER_UNLOADED = 'AUTH_USER_UNLOADED',\n USER_SIGNED_OUT = 'AUTH_USER_SIGNED_OUT',\n SILENT_RENEW_ERROR = 'AUTH_SILENT_RENEW_ERROR',\n ACCESS_TOKEN_EXPIRED = 'AUTH_ACCESS_TOKEN_EXPIRED',\n}\n\nexport const userLoading = (isLoading: boolean): Action => {\n return {\n type: Actions.USER_LOADING,\n payload: isLoading,\n error: null,\n };\n};\n\nexport const userLoaded = (user: User): Action => {\n return {\n type: Actions.USER_LOADED,\n payload: user,\n error: null,\n };\n};\n\nexport const userUnloaded = (): Action => {\n return {\n type: Actions.USER_UNLOADED,\n payload: null,\n error: null,\n };\n};\n\nexport const userSignedOut = (): Action => {\n return {\n type: Actions.USER_SIGNED_OUT,\n payload: null,\n error: null,\n };\n};\n\nexport const silentRenewError = (error: string): Action => {\n return {\n type: Actions.SILENT_RENEW_ERROR,\n payload: null,\n error: error,\n };\n};\n\nexport const accessTokenExpired = (): Action => {\n return {\n type: Actions.ACCESS_TOKEN_EXPIRED,\n payload: null,\n error: null,\n };\n};\n","// import ApolloClient from 'apollo-client';\nimport { setContext } from 'apollo-link-context';\nimport { InMemoryCache } from 'apollo-cache-inmemory';\nimport { HttpLink } from 'apollo-link-http';\nimport { ApolloClient, ApolloLink } from 'apollo-boost';\nimport { onError } from 'apollo-link-error';\n\nconst cache = new InMemoryCache();\n\nconst errorLink = onError(({ graphQLErrors }) => {\n if (graphQLErrors) graphQLErrors.map(({ message }) => console.log(message));\n});\n\nconst httpLink = new HttpLink({\n uri: process.env.REACT_APP_GRAPHQL + '/api/graphqlEndpoint',\n});\n\nconst authLink = setContext((_, { headers }) => {\n const token = sessionStorage.getItem('accessToken');\n return {\n headers: {\n ...headers,\n authorization: token ? `Bearer ${token}` : '',\n },\n };\n});\n\nconst client = new ApolloClient({\n link: ApolloLink.from([errorLink, authLink, httpLink]),\n cache,\n});\n\nexport default client;\n","import { Action } from '../../types';\n\nexport enum Actions {\n UPDATE_SEARCH_PHRASE = 'USER_LIST_UPDATE_SEARCH_PHRASE',\n UPDATE_CUSTOMER_SELECTION = 'USER_LIST_UPDATE_CUSTOMER_SELECTION',\n}\n\nexport const setSearchPhrase = (searchPhrase: string): Action => {\n return {\n type: Actions.UPDATE_SEARCH_PHRASE,\n payload: searchPhrase,\n error: null,\n };\n};\n\nexport const setCustomerSelection = (customerId): Action => {\n return {\n type: Actions.UPDATE_CUSTOMER_SELECTION,\n payload: customerId,\n error: null,\n };\n};\n","import { Action } from '../../types';\n\nexport enum Actions {\n UPDATE_SEARCH_PHRASE = 'CUSTOMER_LIST_UPDATE_SEARCH_PHRASE',\n UPDATE_CUSTOMER_LIST = 'UPDATE_CUSTOMER_LIST',\n UPDATE_CUSTOMER_ID = 'UPDATE_CUSTOMER_ID',\n}\n\nexport const setSearchPhrase = (searchPhrase: string): Action => {\n console.log('searchPhrase', searchPhrase);\n return {\n type: Actions.UPDATE_SEARCH_PHRASE,\n payload: searchPhrase,\n error: null,\n };\n};\n\nexport const setCustomerList = (customerList): Action => {\n return {\n type: Actions.UPDATE_CUSTOMER_LIST,\n payload: customerList,\n error: null,\n };\n};\n\nexport const setCustomerID = (customerId): Action => {\n return {\n type: Actions.UPDATE_CUSTOMER_ID,\n payload: customerId,\n error: null,\n };\n};\n","import { Action } from '../../types';\n\nexport enum Actions {\n UPDATE_SEARCH_PHRASE = 'CUSTOMER_PARENT_LIST_UPDATE_SEARCH_PHRASE',\n}\n\nexport const setSearchPhrase = (searchPhrase: string): Action => {\n return {\n type: Actions.UPDATE_SEARCH_PHRASE,\n payload: searchPhrase,\n error: null,\n };\n};\n","import { Action } from '../../types';\n\nexport enum Actions {\n UPDATE_SEARCH_PHRASE = 'PURCHASEORDER_UPDATE_SEARCH_PHRASE',\n FILTER_CUSTOMER_SELECT = 'PURCHASEORDER_FILTER_CUSTOMER_SELECT',\n FILTER_FROMDATE_SELECT = 'PURCHASEORDER_FILTER_FROMDATE_SELECT',\n FILTER_TODATE_SELECT = 'PURCHASEORDER_FILTER_TODATE_SELECT',\n FILTER_PRODUCT_SELECT = 'PURCHASEORDER_FILTER_PRODUCT_SELECT',\n FILTER_PICKUPLOCATION_SELECT = 'PURCHASEORDER_FILTER_PICKUPLOCATION_SELECT',\n FILTER_PO = 'PURCHASEORDER_FILTER_PO',\n FILTER_ACTION_APPLYFILTER = 'PURCHASEORDER_FILTER_ACTION_APPLYFILTER',\n FILTER_ACTION_RESETFILTER = 'PURCHASEORDER_FILTER_ACTION_RESETFILTER',\n}\n\nexport const setSearchPhrase = (searchPhrase: string): Action => {\n console.log('purchaseOrderAction - setSearchPhrase', searchPhrase);\n return {\n type: Actions.UPDATE_SEARCH_PHRASE,\n payload: searchPhrase,\n error: null,\n };\n};\n\nexport const setSearchPO = (poNo: string): Action => {\n console.log('purchaseOrderAction - setSearchPO', poNo);\n return {\n type: Actions.FILTER_PO,\n payload: poNo,\n error: null,\n };\n};\n\nexport const setFromDate = (fromDate: string): Action => {\n console.log('purchaseOrderAction - setFromDate', fromDate);\n return {\n type: Actions.FILTER_FROMDATE_SELECT,\n payload: fromDate,\n error: null,\n };\n};\n\nexport const setToDate = (toDate: string): Action => {\n console.log('purchaseOrderAction - setToDate', toDate);\n return {\n type: Actions.FILTER_TODATE_SELECT,\n payload: toDate,\n error: null,\n };\n};\n\nexport const setProduct = (productNo: string): Action => {\n console.log('purchaseOrderAction - setProduct', productNo);\n return {\n type: Actions.FILTER_PRODUCT_SELECT,\n payload: productNo,\n error: null,\n };\n};\n\nexport const setpickupLocation = (pickupLocation: string): Action => {\n console.log('purchaseOrderAction - setpickupLocation', pickupLocation);\n return {\n type: Actions.FILTER_PICKUPLOCATION_SELECT,\n payload: pickupLocation,\n error: null,\n };\n};\n\nexport const setCustomerSelect = (custometId: number): Action => {\n console.log('purchaseOrderAction - setCustomerSelect', setCustomerSelect);\n return {\n type: Actions.FILTER_CUSTOMER_SELECT,\n payload: custometId,\n error: null,\n };\n};\n\nexport const applyFilters = (filter): Action => {\n console.log('purchaseOrderAction - applyFilters', setCustomerSelect);\n return {\n type: Actions.FILTER_ACTION_APPLYFILTER,\n payload: filter,\n error: null,\n };\n};\n\nexport const resetFilters = (): Action => {\n console.log('purchaseOrderAction - setCustomerSelect', setCustomerSelect);\n return {\n type: Actions.FILTER_ACTION_RESETFILTER,\n payload: '',\n error: null,\n };\n};\n","import { Action } from '../../types';\n\nexport enum Actions {\n FILTER_SEARCHSTRING = 'BOL_FILTER_SEARCHSTRING',\n FILTER_CUSTOMER_SELECT = 'BOL_FILTER_CUSTOMER_SELECT',\n FILTER_FROMDATE_SELECT = 'BOL_FILTER_FROMDATE_SELECT',\n FILTER_TODATE_SELECT = 'BOL_FILTER_TODATE_SELECT',\n FILTER_BOLNUMBER = 'BOL_FILTER_BOLNUMBER',\n FILTER_REGION = 'BOL_FILTER_REGION',\n FILTER_PICKUPLOCATION = 'BOL_FILTER_PICKUPLOCATION',\n FILTER_WELLNAME = 'BOL_FILTER_WELLNAME',\n FILTER_PONO = 'BOL_FILTER_PONO',\n FILTER_ALTBOL = 'BOL_FILTER_ALTBOL',\n FILTER_INVOICE = 'BOL_FILTER_INVOICE',\n BOL_ONCLICK_RELATEDBOL = 'BOL_ONCLICK_RELATEDBOL',\n BOL_FILTER_ACTION_APPLYFILTER = 'BOL_FILTER_ACTION_APPLYFILTER',\n BOL_FILTER_ACTION_RESETFILTER = 'BOL_FILTER_ACTION_RESETFILTER',\n}\n\nexport const setFilterValue = (value: any, actionName: any): Action => {\n console.log('setFilterValue - Value , ActionANme', value, actionName);\n return {\n type: actionName,\n payload: value,\n error: null,\n };\n};\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/purchaseOrder';\nimport { Actions as CustomerAction } from '../../actions/customerList';\nimport { Action, PurchaseOrderState } from '../../types';\nimport moment from 'moment';\n\nconst currentDate = new Date();\nconst toDate = new Date(new Date().setDate(currentDate.getDate() + 90));\nconst fromDate = new Date(new Date().setDate(currentDate.getDate() - 90));\nconst fromDateStr = moment(fromDate).format('YYYY-MM-DD');\nconst toDateStr = moment(toDate).format('YYYY-MM-DD');\n\nconst initialPurchaseOrderState: PurchaseOrderState = {\n searchPhrase: '',\n customer: 0,\n fromDate: fromDateStr,\n toDate: toDateStr,\n product: '',\n pickupLocation: '',\n poNumber: '',\n orderStatus: '',\n shipTo: '',\n};\n\nconst setSearchPhrase = (search: string, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - setSearchPhrase', search);\n return {\n ...state,\n searchPhrase: search,\n };\n};\n\nconst setCustomer = (customer: number, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - setSearchPhrase', customer);\n return {\n ...state,\n customer: Number(customer),\n product: '',\n };\n};\n\nconst setFromDate = (fromDate: string, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - setFromDate', fromDate);\n return {\n ...state,\n fromDate: fromDate,\n };\n};\n\nconst setToDate = (toDate: string, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - setToDate', toDate);\n return {\n ...state,\n toDate: toDate,\n };\n};\n\nconst setProduct = (product: string, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - setProduct', product);\n return {\n ...state,\n product: product,\n };\n};\n\nconst setPickupLocation = (pickupLocation: string, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - setProduct', pickupLocation);\n return {\n ...state,\n pickupLocation: pickupLocation,\n };\n};\n\nconst setPO = (poNo: string, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - setPO', poNo);\n return {\n ...state,\n poNumber: poNo,\n };\n};\n\nconst applyFilters = (filters: any, state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - applyFilters', filters);\n return {\n ...state,\n poNumber: filters.filter_poNumber,\n fromDate: filters.filter_fromDate,\n toDate: filters.filter_toDate,\n pickupLocation: filters.filter_pickupLocation,\n product: filters.filter_product,\n searchPhrase: filters.filter_searchPhrase,\n orderStatus: filters.filter_Status,\n shipTo: filters.filter_ShipTo,\n };\n};\n\nconst resetFilters = (state: PurchaseOrderState): PurchaseOrderState => {\n console.log('PurchaseOrderState - resetFilters');\n return {\n ...state,\n searchPhrase: '',\n fromDate: fromDateStr,\n toDate: toDateStr,\n product: '',\n pickupLocation: '',\n poNumber: '',\n orderStatus: '',\n shipTo: '',\n };\n};\n\nconst purchaseOrderReducer: Reducer = (state, action): PurchaseOrderState => {\n console.log('purchaseOrderReducer - purchaseOrderReducer', action);\n let newState = { ...state };\n\n switch (action.type) {\n case Actions.UPDATE_SEARCH_PHRASE:\n newState = setSearchPhrase(action.payload, state);\n break;\n case Actions.FILTER_CUSTOMER_SELECT:\n newState = setCustomer(action.payload, state);\n break;\n case Actions.FILTER_FROMDATE_SELECT:\n newState = setFromDate(action.payload, state);\n break;\n case Actions.FILTER_TODATE_SELECT:\n newState = setToDate(action.payload, state);\n break;\n case Actions.FILTER_PRODUCT_SELECT:\n newState = setProduct(action.payload, state);\n break;\n case Actions.FILTER_PICKUPLOCATION_SELECT:\n newState = setPickupLocation(action.payload, state);\n break;\n case Actions.FILTER_PO:\n newState = setPO(action.payload, state);\n break;\n case Actions.FILTER_ACTION_APPLYFILTER:\n newState = applyFilters(action.payload, state);\n break;\n case Actions.FILTER_ACTION_RESETFILTER:\n newState = resetFilters(state);\n break;\n case CustomerAction.UPDATE_CUSTOMER_ID:\n newState = resetFilters(state);\n break;\n }\n\n return newState;\n};\n\nexport { initialPurchaseOrderState, purchaseOrderReducer };\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/bol';\nimport { Action } from '../../types';\nimport { BolState } from '../../types/bolState';\nimport { Actions as CustomerAction } from '../../actions/customerList';\nimport moment from 'moment';\n\nconst currentDate = new Date();\nconst toDate = new Date(new Date().setDate(currentDate.getDate()));\nconst fromDate = new Date(new Date().setDate(currentDate.getDate() - 90));\nconst fromDateStr = moment(fromDate).format('YYYY-MM-DD');\nconst toDateStr = moment(toDate).format('YYYY-MM-DD');\n\nconsole.log('fromDateStr', fromDateStr, 'toDateStr', toDateStr);\n\nconst initialBolState: BolState = {\n searchPhrase: '',\n customer: 0,\n fromDate: fromDateStr,\n toDate: toDateStr,\n bolNumber: '',\n invoiceNo: '',\n region: '0',\n pickupLocation: 0,\n wellName: '',\n scaleTicket: '',\n poNo: '',\n relatedBol: 0,\n};\n\nconst bolReducer: Reducer = (state, action): BolState => {\n console.log('bolReducer - purchaseOrderReducer', action);\n let newState = { ...state };\n\n switch (action.type) {\n case Actions.FILTER_SEARCHSTRING:\n newState = { ...state, searchPhrase: action.payload };\n break;\n case Actions.FILTER_CUSTOMER_SELECT:\n newState = { ...state, customer: Number(action.payload) };\n break;\n case Actions.FILTER_FROMDATE_SELECT:\n newState = { ...state, fromDate: action.payload };\n break;\n case Actions.FILTER_TODATE_SELECT:\n newState = { ...state, toDate: action.payload };\n break;\n case Actions.FILTER_BOLNUMBER:\n newState = { ...state, bolNumber: action.payload };\n break;\n case Actions.FILTER_REGION:\n newState = { ...state, region: action.payload };\n break;\n case Actions.FILTER_PICKUPLOCATION:\n newState = { ...state, pickupLocation: Number(action.payload) };\n break;\n case Actions.FILTER_WELLNAME:\n newState = { ...state, wellName: action.payload };\n break;\n case Actions.FILTER_ALTBOL:\n newState = { ...state, scaleTicket: action.payload };\n break;\n case Actions.FILTER_PONO:\n newState = { ...state, poNo: action.payload };\n break;\n case Actions.FILTER_INVOICE:\n newState = { ...state, invoiceNo: action.payload };\n break;\n case Actions.BOL_ONCLICK_RELATEDBOL:\n newState = { ...state, relatedBol: action.payload };\n break;\n case Actions.BOL_FILTER_ACTION_APPLYFILTER:\n newState = {\n ...state,\n searchPhrase: action.payload.searchPhrase,\n fromDate: action.payload.fromDate,\n toDate: action.payload.toDate,\n bolNumber: action.payload.bolNumber,\n invoiceNo: action.payload.invoiceNo,\n region: action.payload.region,\n pickupLocation: action.payload.pickupLocation,\n wellName: action.payload.wellName,\n scaleTicket: action.payload.scaleTicket,\n poNo: action.payload.poNo,\n };\n break;\n case Actions.BOL_FILTER_ACTION_RESETFILTER:\n newState = {\n ...state,\n searchPhrase: '',\n fromDate: fromDateStr,\n toDate: toDateStr,\n bolNumber: '',\n invoiceNo: '',\n region: '0',\n pickupLocation: 0,\n wellName: '',\n scaleTicket: '',\n poNo: '',\n };\n break;\n case CustomerAction.UPDATE_CUSTOMER_ID:\n newState = {\n ...state,\n searchPhrase: '',\n fromDate: fromDateStr,\n toDate: toDateStr,\n bolNumber: '',\n invoiceNo: '',\n region: '0',\n pickupLocation: 0,\n wellName: '',\n scaleTicket: '',\n poNo: '',\n };\n break;\n }\n\n return newState;\n};\n\nexport { initialBolState, bolReducer };\n","import { Action } from '../../types';\n\nexport enum Actions {\n FILTER_SEARCHSTRING = 'INVOICE_FILTER_SEARCHSTRING',\n FILTER_CUSTOMER_SELECT = 'INVOICE_FILTER_CUSTOMER_SELECT',\n FILTER_INVOICESTATUS_SELECT = 'INVOICE_FILTER_STATUS_SELECT',\n FILTER_FROMDATE_SELECT = 'INVOICE_FILTER_FROMDATE_SELECT',\n FILTER_TODATE_SELECT = 'INVOICE_FILTER_TODATE_SELECT',\n FILTER_PONUMBER = 'INVOICE_FILTER_PONUMBER',\n FILTER_ADDRESSNUMBER = 'INVOICE_FILTER_ADDRESSNUMBER',\n FILTER_INVOICE = 'INVOICE_FILTER_INVOICE',\n FILTER_INVOICE_ACTION_APPLYFILTER = 'INVOICE_ACTION_APPLYFILTER',\n FILTER_INVOICE_ACTION_RESETFILTER = 'INVOICE_ACTION_RESETFILTER',\n}\n\nexport const setFilterValue = (value: any, actionName: any): Action => {\n console.log('setFilterValue - Value , ActionANme', value, actionName);\n return {\n type: actionName,\n payload: value,\n error: null,\n };\n};\n","import { Action } from '../../types';\n\nexport enum Actions {\n FILTER_SEARCH_STRING = 'REPORT_FILTER_SEARCH_STRING',\n FILTER_CUSTOMER_SELECT = 'REPORT_FILTER_CUSTOMER_SELECT',\n FILTER_FROMDATE_SELECT = 'REPORT_FILTER_FROMDATE_SELECT',\n FILTER_TODATE_SELECT = 'REPORT_FILTER_TODATE_SELECT',\n FILTER_PRODUCT_SELECT = 'REPORT_FILTER_PRODUCT_SELECT',\n FILTER_PICKUPLOCATION_SELECT = 'REPORT_FILTER_PICKUPLOCATION_SELECT',\n FILTER_PO = 'REPORT_FILTER_PO',\n FILTER_ACTION_APPLYFILTER = 'REPORT_FILTER_ACTION_APPLYFILTER',\n FILTER_ACTION_RESETFILTER = 'REPORT_FILTER_ACTION_RESETFILTER',\n}\n\nexport const setFilterValue = (value: any, actionName: any): Action => {\n console.log('setFilterValue - Value , ActionANme', value, actionName);\n return {\n type: actionName,\n payload: value,\n error: null,\n };\n};\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/invoice';\nimport { Action } from '../../types';\nimport { InvoiceState } from '../../types/invoiceState';\nimport { Actions as CustomerAction } from '../../actions/customerList';\nimport moment from 'moment';\n\nconst currentDate = new Date();\nconst toDate = new Date(new Date().setDate(currentDate.getDate()));\nconst fromDate = new Date(new Date().setDate(currentDate.getDate() - 90));\nconst fromDateStr = moment(fromDate).format('YYYY-MM-DD');\nconst toDateStr = moment(toDate).format('YYYY-MM-DD');\n\nconst initialInvoiceState: InvoiceState = {\n searchString: '',\n customer: 0,\n fromDate: fromDateStr,\n toDate: toDateStr,\n poNumber: '',\n invoiceNumber: '',\n addressNumber: 0,\n invoiceStatus: 0,\n};\n\nconst invoiceReducer: Reducer = (state, action): InvoiceState => {\n console.log('bolReducer - purchaseOrderReducer', action);\n let newState = { ...state };\n\n switch (action.type) {\n case Actions.FILTER_SEARCHSTRING:\n newState = { ...state, searchString: action.payload };\n break;\n case Actions.FILTER_CUSTOMER_SELECT:\n newState = { ...state, customer: Number(action.payload) };\n break;\n case Actions.FILTER_FROMDATE_SELECT:\n newState = { ...state, fromDate: action.payload };\n break;\n case Actions.FILTER_TODATE_SELECT:\n newState = { ...state, toDate: action.payload };\n break;\n case Actions.FILTER_PONUMBER:\n newState = { ...state, poNumber: action.payload };\n break;\n case Actions.FILTER_INVOICESTATUS_SELECT:\n newState = { ...state, invoiceStatus: Number(action.payload) };\n break;\n case Actions.FILTER_ADDRESSNUMBER:\n newState = { ...state, addressNumber: Number(action.payload) };\n break;\n case Actions.FILTER_INVOICE:\n newState = { ...state, invoiceNumber: action.payload };\n break;\n case Actions.FILTER_INVOICE_ACTION_APPLYFILTER:\n newState = {\n ...state,\n searchString: action.payload.searchString,\n fromDate: action.payload.fromDate,\n toDate: action.payload.toDate,\n poNumber: action.payload.poNumber,\n invoiceNumber: action.payload.invoiceNumber,\n invoiceStatus: action.payload.invoiceStatus,\n };\n break;\n case Actions.FILTER_INVOICE_ACTION_RESETFILTER:\n newState = {\n ...state,\n searchString: '',\n fromDate: fromDateStr,\n toDate: toDateStr,\n poNumber: '',\n invoiceNumber: '',\n addressNumber: 0,\n invoiceStatus: 0,\n };\n break;\n case CustomerAction.UPDATE_CUSTOMER_ID:\n newState = {\n ...state,\n searchString: '',\n fromDate: fromDateStr,\n toDate: toDateStr,\n poNumber: '',\n invoiceNumber: '',\n addressNumber: 0,\n invoiceStatus: 0,\n };\n break;\n }\n\n return newState;\n};\n\nexport { initialInvoiceState, invoiceReducer };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * A size-optimized refactor of Redux's combineReducers.\n * All safeguards removed. Use at your own risk.\n * https://github.com/reduxjs/redux/blob/master/src/combineReducers.js\n */\nexport const combineReducers = (reducers: any): any => (state: any, action: any): any => {\n let hasChanged = false;\n const initialState = {};\n\n const newState = Object.keys(reducers).reduce((result: any, key: any): any => {\n result[key] = reducers[key](state[key], action);\n hasChanged = hasChanged || result[key] !== state[key];\n return result;\n }, initialState);\n\n return hasChanged ? newState : state;\n};\n","export enum SearchTypeEnum {\n Unknown = 0,\n Job = 1,\n Load = 2,\n User = 3,\n LoadManagement = 4,\n Customer = 5,\n Lofa = 6,\n Crew = 7,\n Carrier = 8,\n MessagePreview = 9,\n MessageConversation = 10,\n MessageDriverConversation = 11,\n CustomerParent = 12,\n}\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/report';\nimport { Action } from '../../types';\nimport { Actions as CustomerAction } from '../../actions/customerList';\nimport moment from 'moment';\nimport { ReportState } from '../../types/reportState';\n\nconst currentDate = new Date();\nconst toDate = new Date(new Date().setDate(currentDate.getDate() + 180));\nconst fromDate = new Date(new Date().setDate(currentDate.getDate() - 30));\nconst fromDateStr = moment(fromDate).format('YYYY-MM-DD');\nconst toDateStr = moment(toDate).format('YYYY-MM-DD');\n\nconst initialReportState: ReportState = {\n searchString: '',\n customer: 0,\n fromDate: fromDateStr,\n toDate: toDateStr,\n poNumber: '',\n pickupLocation: '',\n product: '',\n};\n\nconst reportReducer: Reducer = (state, action): ReportState => {\n console.log('bolReducer - purchaseOrderReducer', action);\n let newState = { ...state };\n\n switch (action.type) {\n case Actions.FILTER_SEARCH_STRING:\n newState = { ...state, searchString: action.payload };\n break;\n case Actions.FILTER_CUSTOMER_SELECT:\n newState = { ...state, customer: Number(action.payload) };\n break;\n case Actions.FILTER_FROMDATE_SELECT:\n newState = { ...state, fromDate: action.payload };\n break;\n case Actions.FILTER_TODATE_SELECT:\n newState = { ...state, toDate: action.payload };\n break;\n case Actions.FILTER_PO:\n newState = { ...state, poNumber: action.payload };\n break;\n\n case Actions.FILTER_ACTION_APPLYFILTER:\n newState = {\n ...state,\n searchString: action.payload.searchString,\n fromDate: action.payload.fromDate,\n toDate: action.payload.toDate,\n poNumber: action.payload.poNumber,\n pickupLocation: action.payload.pickupLocation,\n product: action.payload.product,\n };\n break;\n case Actions.FILTER_ACTION_RESETFILTER:\n newState = {\n ...state,\n searchString: '',\n fromDate: fromDateStr,\n toDate: toDateStr,\n poNumber: '',\n pickupLocation: '',\n product: '',\n };\n break;\n case CustomerAction.UPDATE_CUSTOMER_ID:\n newState = {\n ...state,\n searchString: '',\n fromDate: fromDateStr,\n toDate: toDateStr,\n poNumber: '',\n pickupLocation: '',\n product: '',\n };\n break;\n }\n\n return newState;\n};\n\nexport { initialReportState, reportReducer };\n","import { combineReducers } from './combineReducers';\nimport { authReducer, initialAuthState } from '../../store/reducers/auth';\nimport { useReducer } from 'react';\nimport { State } from '../../store/types';\nimport { userListReducer, initialUserListState } from '../../store/reducers/userList/userListReducer';\nimport { customerListReducer, initialCustomerListState } from '../../store/reducers/customerList/customerListReducer';\nimport {\n customerParentListReducer,\n initialCustomerParentListState,\n} from '../../store/reducers/customerParentList/customerParentListReducer';\nimport {\n purchaseOrderReducer,\n initialPurchaseOrderState,\n} from '../../store/reducers/purchaseOrder/purchaseOrderReducer';\nimport { bolReducer, initialBolState } from '../../store/reducers/bol/bolReducer';\nimport { invoiceReducer, initialInvoiceState } from '../../store/reducers/invoice/invoiceReducer';\nimport { reportReducer, initialReportState } from '../../store/reducers/report/reportReducer';\n\nconst initialState: State = {\n auth: initialAuthState,\n customerList: initialCustomerListState,\n customerParentList: initialCustomerParentListState,\n userList: initialUserListState,\n purchaseOrder: initialPurchaseOrderState,\n bol: initialBolState,\n invoice: initialInvoiceState,\n report: initialReportState,\n};\n\nconst rootReducer = combineReducers({\n auth: authReducer,\n customerList: customerListReducer,\n customerParentList: customerParentListReducer,\n userList: userListReducer,\n purchaseOrder: purchaseOrderReducer,\n bol: bolReducer,\n invoice: invoiceReducer,\n report: reportReducer,\n});\n\n// Custom hook to apply Store to top-level component.\n// Used by StoreContext to inject context to all components (8/4/19) - BS\nconst useStore = (): [State, React.Dispatch] => {\n const store = useReducer(rootReducer, initialState) as [State, React.Dispatch];\n\n return store;\n};\n\nexport { useStore, initialState };\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/auth';\nimport { Action, AuthState } from '../../types';\nimport { User } from 'oidc-client';\n\nconst initialAuthState: AuthState = {\n user: null,\n isUserLoading: true,\n};\n\nconst setUserLoading = (payload: boolean, state: AuthState): AuthState => {\n return {\n ...state,\n isUserLoading: payload,\n };\n};\n\nconst setUser = (payload: User): AuthState => {\n return {\n user: payload,\n isUserLoading: false,\n };\n};\n\nconst removeUser = (): AuthState => {\n return {\n user: null,\n isUserLoading: false,\n };\n};\n\nconst authReducer: Reducer = (state, action): AuthState => {\n let newState = { ...state };\n\n switch (action.type) {\n case Actions.USER_LOADING:\n newState = setUserLoading(action.payload, state);\n break;\n case Actions.USER_LOADED:\n newState = setUser(action.payload);\n break;\n case Actions.USER_UNLOADED:\n newState = removeUser();\n break;\n case Actions.USER_SIGNED_OUT:\n newState = removeUser();\n break;\n case Actions.ACCESS_TOKEN_EXPIRED:\n newState = removeUser();\n break;\n case Actions.SILENT_RENEW_ERROR:\n // Silent Renew Errors occur when the tab is not focused.\n // We should keep the user around in this case, but we\n // could add logic to show an activity modal. - (12/2/19) BS\n // newState = removeUser();\n break;\n }\n\n return newState;\n};\n\nexport { initialAuthState, authReducer };\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/customerList';\nimport { Action, CustomerListState } from '../../types';\n\nconst initialCustomerListState: CustomerListState = {\n searchPhrase: '',\n customer: 0,\n customerList: [],\n};\n\nconst setSearchPhrase = (search: string, state: CustomerListState): CustomerListState => {\n return {\n ...state,\n searchPhrase: search,\n };\n};\n\nconst setCustomerList = (customerList, state: CustomerListState): CustomerListState => {\n return {\n ...state,\n customerList: customerList,\n };\n};\n\nconst setCustomerId = (customerId, state: CustomerListState): CustomerListState => {\n return {\n ...state,\n customer: customerId,\n };\n};\n\nconst customerListReducer: Reducer = (state, action): CustomerListState => {\n let newState = { ...state };\n console.log('customerListReducer - Tet');\n switch (action.type) {\n case Actions.UPDATE_SEARCH_PHRASE:\n newState = setSearchPhrase(action.payload, state);\n break;\n case Actions.UPDATE_CUSTOMER_LIST:\n newState = setCustomerList(action.payload, state);\n break;\n case Actions.UPDATE_CUSTOMER_ID:\n newState = setCustomerId(action.payload, state);\n break;\n }\n\n return newState;\n};\n\nexport { initialCustomerListState, customerListReducer };\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/customerParentList';\nimport { Action, CustomerParentListState } from '../../types';\n\nconst initialCustomerParentListState: CustomerParentListState = {\n searchPhrase: '',\n};\n\nconst setSearchPhrase = (search: string, state: CustomerParentListState): CustomerParentListState => {\n return {\n ...state,\n searchPhrase: search,\n };\n};\n\nconst customerParentListReducer: Reducer = (\n state,\n action,\n): CustomerParentListState => {\n let newState = { ...state };\n\n switch (action.type) {\n case Actions.UPDATE_SEARCH_PHRASE:\n newState = setSearchPhrase(action.payload, state);\n break;\n }\n\n return newState;\n};\n\nexport { initialCustomerParentListState, customerParentListReducer };\n","import { Reducer } from 'react';\nimport { Actions } from '../../actions/userList';\nimport { Action, UserListState } from '../../types';\n\nconst initialUserListState: UserListState = {\n searchPhrase: '',\n customerId: 0,\n};\n\nconst setSearchPhrase = (search: string, state: UserListState): UserListState => {\n return {\n ...state,\n searchPhrase: search,\n };\n};\n\nconst setCustomerSelection = (customerId, state: UserListState): UserListState => {\n return {\n ...state,\n customerId: customerId,\n };\n};\n\nconst userListReducer: Reducer = (state, action): UserListState => {\n let newState = { ...state };\n\n switch (action.type) {\n case Actions.UPDATE_SEARCH_PHRASE:\n newState = setSearchPhrase(action.payload, state);\n break;\n case Actions.UPDATE_CUSTOMER_SELECTION:\n newState = setCustomerSelection(action.payload, state);\n break;\n }\n\n return newState;\n};\n\nexport { initialUserListState, userListReducer };\n","export interface RoutesObject {\n title: string;\n route: string;\n type?: string;\n}\n\nexport interface RoutesInterface {\n HOME: RoutesObject;\n PURCHASE_ORDERS: RoutesObject;\n BILLS_LADING: RoutesObject;\n INVOICES: RoutesObject;\n REPORTS: RoutesObject;\n OPEN_STATEMENT_ACCT: RoutesObject;\n CONTACT: RoutesObject;\n JOB_MANAGEMENT: RoutesObject;\n JOB_PROFILE_WITH_ID: RoutesObject;\n REPORTING: RoutesObject;\n DRIVER_REPORT: RoutesObject;\n POWER_BI_REPORT: RoutesObject;\n SYSTEM_ADMIN_USERS: RoutesObject;\n SYSTEM_ADMIN_PERMISSIONS: RoutesObject;\n SYSTEM_ADMIN_LOFAS: RoutesObject;\n SYSTEM_ADMIN_CREWS: RoutesObject;\n SYSTEM_ADMIN_CUSTOMERS: RoutesObject;\n SYSTEM_ADMIN_CUSTOMER_PARENTS: RoutesObject;\n SYSTEM_ADMIN_PROPANTS: RoutesObject;\n SYSTEM_ADMIN_DRIVERS: RoutesObject;\n SYSTEM_ADMIN_CARRIERS: RoutesObject;\n SYSTEM_ADMIN: RoutesObject;\n SYSTEM_ADMIN_SETTINGS: RoutesObject;\n PROFILE: RoutesObject;\n CALLBACK: RoutesObject;\n SILENT_RENEW: RoutesObject;\n JOB_PROFILE: RoutesObject;\n JOB_LOADS: RoutesObject;\n JOB_LOADS_WITH_ID: RoutesObject;\n LOAD_PROFILE: RoutesObject;\n LOAD_PROFILE_WITH_ID: RoutesObject;\n CHANGE_PASSWORD: RoutesObject;\n LOAD_HISTORY: RoutesObject;\n LOAD_HISTORY_WITH_ID: RoutesObject;\n JOB_ACTIVITY: RoutesObject;\n JOB_ACTIVITY_WITH_ID: RoutesObject;\n // JOB_MAP: RoutesObject;\n // JOB_MAP_WITH_ID: RoutesObject;\n // MESSAGES: RoutesObject;\n // MESSAGES_WITH_ID: RoutesObject;\n // MESSAGES_WITH_DRIVER_ID: RoutesObject;\n // MESSAGES_CREATE: RoutesObject;\n\n MAINTENANCE: RoutesObject;\n OPEN_ORDERS: RoutesObject;\n ORDERS_DETAILS: RoutesObject;\n ORDERS_DETAILS_BYORDERNO: RoutesObject;\n}\n\nexport const Routes: RoutesInterface = {\n HOME: {\n title: 'Home',\n route: '/',\n },\n PURCHASE_ORDERS: {\n title: 'Purchase Orders',\n route: '/purchase_orders',\n },\n BILLS_LADING: {\n title: 'Bills of Lading',\n route: '/bills_lading',\n },\n INVOICES: {\n title: 'My Invoices',\n route: '/invoices',\n },\n REPORTS: {\n title: 'My Reports',\n route: '/reports',\n },\n OPEN_STATEMENT_ACCT: {\n title: 'Open Statement Account',\n route: '/OpenStatementAcct',\n },\n CONTACT: {\n title: 'Contact',\n route: '/contact',\n },\n JOB_MANAGEMENT: {\n title: 'Job Management',\n route: '/job',\n },\n JOB_PROFILE_WITH_ID: {\n title: 'Job Profile',\n route: '/job_profile/:jobId',\n },\n REPORTING: {\n title: 'Reporting',\n route: '/reporting',\n },\n DRIVER_REPORT: {\n title: 'Driver Report',\n route: '/driver_report',\n },\n POWER_BI_REPORT: {\n title: 'Load Report',\n route: '/sandbox_bi',\n },\n SYSTEM_ADMIN: {\n title: 'System Admin',\n route: '/system_admin',\n },\n SYSTEM_ADMIN_USERS: {\n title: 'Users',\n route: '/system_admin_users',\n },\n SYSTEM_ADMIN_PERMISSIONS: {\n title: 'Permissions',\n route: '/system_admin_permissions',\n },\n SYSTEM_ADMIN_LOFAS: {\n title: 'Lofas',\n route: '/system_admin_lofas',\n },\n SYSTEM_ADMIN_CREWS: {\n title: 'Crews',\n route: '/system_admin_crews',\n },\n SYSTEM_ADMIN_CUSTOMERS: {\n title: 'Customers',\n route: '/system_admin_customers',\n },\n SYSTEM_ADMIN_CUSTOMER_PARENTS: {\n title: 'Customer Parents',\n route: '/system_admin_customerparents',\n },\n SYSTEM_ADMIN_PROPANTS: {\n title: 'Proppants',\n route: '/system_admin_proppants',\n },\n SYSTEM_ADMIN_DRIVERS: {\n title: 'Drivers',\n route: '/system_admin_drivers',\n },\n SYSTEM_ADMIN_CARRIERS: {\n title: 'Carriers',\n route: '/system_admin_carriers',\n },\n SYSTEM_ADMIN_SETTINGS: {\n title: 'Settings',\n route: '/system_admin_settings',\n },\n PROFILE: {\n title: 'View Profile',\n route: '/profile',\n },\n CALLBACK: {\n title: 'Callback',\n route: '/callback',\n },\n SILENT_RENEW: {\n title: 'Silent Renew',\n route: '/silent-renew',\n },\n JOB_PROFILE: {\n title: 'Job Profile',\n route: '/job_profile/',\n },\n\n JOB_LOADS: {\n title: 'Job Loads',\n route: '/job_loads/',\n },\n JOB_LOADS_WITH_ID: {\n title: '',\n route: '/job_loads/:jobId',\n },\n LOAD_PROFILE: {\n title: 'Load Profile',\n route: '/load_profile/',\n },\n LOAD_PROFILE_WITH_ID: {\n title: '',\n route: '/load_profile/:loadId',\n },\n CHANGE_PASSWORD: {\n title: 'Change Password',\n route: '/change_password',\n },\n LOAD_HISTORY: {\n title: 'Load History',\n route: '/load_history/',\n },\n LOAD_HISTORY_WITH_ID: {\n title: '',\n route: '/load_history/:loadId',\n },\n JOB_ACTIVITY: {\n title: '',\n route: '/job_activity/',\n },\n JOB_ACTIVITY_WITH_ID: {\n title: '',\n route: '/job_activity/:jobId',\n },\n MAINTENANCE: {\n title: '',\n route: '/maintenance',\n },\n OPEN_ORDERS: {\n title: '',\n route: '/openorders',\n },\n ORDERS_DETAILS: {\n title: '',\n route: '/order/details/',\n },\n ORDERS_DETAILS_BYORDERNO: {\n title: '',\n route: '/order/details/:orderNo',\n },\n};\n","import React, { useContext } from 'react';\nimport { State } from '../../../store/types';\n\ninterface StoreProviderProps {\n store: [State, React.Dispatch];\n children: JSX.Element;\n}\n\nconst StoreContext: React.Context = React.createContext({});\n\nconst StoreProvider = (props: StoreProviderProps): JSX.Element => {\n return {props.children};\n};\n\nconst useStoreContext = (): [State, React.Dispatch] => {\n const context = useContext(StoreContext);\n\n return context;\n};\n\nexport { useStoreContext, StoreProvider };\n","import './SearchBar.css';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport React from 'react';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as UserListActions from '../../store/actions/userList';\nimport * as CustomerListActions from '../../store/actions/customerList';\nimport * as CustomerParentListActions from '../../store/actions/customerParentList';\nimport { SearchTypeEnum } from '../../types/SearchTypeEnum';\n\ninterface SearchBarProps {\n type?: SearchTypeEnum;\n onChange?: (text: string) => void;\n}\n\nconst SearchBar = ({ type = SearchTypeEnum.Unknown, onChange }: SearchBarProps): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const search: React.Ref = React.createRef();\n\n const updateSearchPhrase = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const searchPhrase = search && search.current ? search.current.value : '';\n if (type == SearchTypeEnum.User) dispatch(UserListActions.setSearchPhrase(searchPhrase));\n if (type == SearchTypeEnum.Customer) dispatch(CustomerListActions.setSearchPhrase(searchPhrase));\n if (type == SearchTypeEnum.CustomerParent)\n dispatch(CustomerParentListActions.setSearchPhrase(searchPhrase));\n }\n };\n\n let searchValue = '';\n\n if (type == SearchTypeEnum.User) searchValue = state.userList.searchPhrase;\n if (type == SearchTypeEnum.Customer) searchValue = state.customerList.searchPhrase;\n if (type == SearchTypeEnum.CustomerParent) searchValue = state.customerParentList.searchPhrase;\n return (\n
\n search\n onChange && onChange(e.target.value)}\n className=\"SearchBar-Input\"\n ref={search}\n defaultValue=\"\"\n title=\"Search By Name, Email & Role\"\n // value={state.messageList.searchPhrase}\n onKeyDown={(e): void => updateSearchPhrase(e)}\n autoComplete=\"off\"\n />\n
\n );\n};\n\nexport default SearchBar;\n","//TODO: Remove the unused interfaces after hooking up with backend data\n\nenum ModalForm {\n ADD_USER = 'addUser',\n EDIT_USER = 'editUser',\n EMPTY = '',\n}\n\nexport interface Option {\n id: number | string;\n name: string | number;\n disabled?: boolean;\n}\n\nexport interface CPOption {\n id: number | string;\n name: string | number;\n jdeId: string;\n}\n\nexport { ModalForm };\n","export enum InputTitleEnum {\n PROPPANT_ID = 'proppantId',\n PROPPANT_NAME = 'proppantName',\n VOLUME = 'totalVolume',\n LOFA_VOLUME = 'lofaVolume',\n MILES_FROM_WELL = 'milesFromWell',\n VOLUME_PER_BOX = 'volumePerBox',\n SAND_PO = 'sandPo',\n TRANSPORTATION_PO = 'transportationPo',\n WELL_NAME = 'wellName',\n STAGES = 'stages',\n STAGE_TIME = 'stageTime',\n TOTAL_VOLUME = 'totalVolume',\n MAX_VOL_BOX = 'volumePerBox', // TODO jsiegel -- revisit GQL to fix naming.\n}\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetAllCustomerList($input: CustomerListInput) {\n getAllCustomerList(input: $input) {\n id\n customerName\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetRoles {\n getRoles {\n roleId\n roleName\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetB2CUserFiltered($input: getB2CUserFilteredInput) {\n getB2CUserFiltered(input: $input) {\n userId\n firstName\n lastName\n emailAddress\n roleName\n roleId\n customerParentId\n isActive\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetUsersCheckEmail($input: CheckEmailInput) {\n getUsersCheckEmail(input: $input) {\n emailExists\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetUsersAudit($userId: Int) {\n getUsersAudit(userId: $userId) {\n id\n userId\n auditDate\n auditUserName\n valuesBefore {\n name\n emailAddress\n isActive\n isDeleted\n roleId\n }\n valuesAfter {\n name\n emailAddress\n isActive\n isDeleted\n roleId\n }\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetBolList($input: GetAllBOLInput) {\n getBolList(input: $input) {\n bolNo\n alternateBOLNumber\n pickUpLocation\n parentName\n quantityShipped\n uom\n product\n poNo\n shipDate\n invoiceNo\n invoiceType\n vehicleNo\n wellName\n scaleTicket\n coa\n totalRecordsCount\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetPurchaseOrderList($input: GetAllPurchaseOrderInput) {\n getPurchaseOrderList(input: $input) {\n customerPONumber\n orderNo\n dateEntered\n shipTo\n shipToName\n status\n customerPODate\n pickUpLocationNumber\n pickUpLocation\n customerNumber\n customer\n productNumber\n productName\n quantityonPO\n quantityShipped\n uom\n quantityRemaining\n totalRecordsCount\n poValue\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetInvoiceList($input: GetAllInvoiceInput) {\n getInvoiceList(input: $input) {\n invoiceNo\n parentCustomer\n documentCompany\n shipName\n shipCity\n invoiceDate\n netDueDate\n closedDate\n pastDueDays\n grossAmount\n openAmount\n invoiceType\n poNumber\n invoiceStatus\n taxAmount\n salesDocumentNumber\n salesDocumentType\n totalRecordsCount\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetAllOpenInvoiceList($input: GetAllOpenInvoiceInput) {\n getAllOpenInvoiceList(input: $input) {\n invoiceNo\n parentCustomer\n documentCompany\n shipName\n shipCity\n invoiceDate\n netDueDate\n closedDate\n pastDueDays\n grossAmount\n openAmount\n invoiceType\n poNumber\n invoiceStatus\n taxAmount\n remarks\n salesDocumentNumber\n salesDocumentType\n totalRecordsCount\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetOpenInvoiceAge($input: GetAllOpenInvoiceInput) {\n getOpenInvoiceAge(input: $input) {\n current\n oneFifteen\n sixteenThirty\n thirtyOneSixty\n overSixty\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetBolPickUpLocationList($input: GetAllBOLPickUpLocationInput) {\n getBolPickUpLocationList(input: $input) {\n pickUpLocationNumber\n pickUpLocation\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetPurchaseOrderProductList($input: GetAllPurchaseOrderProductInput) {\n getPurchaseOrderProductList(input: $input) {\n productNumber\n productName\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetPurchaseOrderPickupLocation($input: GetAllPurchaseOrderPickupLocationInput) {\n getPurchaseOrderPickupLocation(input: $input) {\n pickUpLocationId\n pickUpLocation\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query CheckBolFileExists($input: String) {\n checkBolFileExists(input: $input) {\n fileExists\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetReport($input: GetReportInput) {\n getReport(input: $input) {\n shipToName\n poNumber\n pickupLocation\n bolNumber\n shipToNumber\n shipToName\n alternateBOLNumber\n invoiceNumber\n vehicleNumber\n wellName\n quantityLoaded\n quantityRemaining\n transactionUOM\n grossWeight\n tareWeight\n netWeight\n totalRecordsCount\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetReportPickupLoction($input: GetReportInput) {\n getReportPickupLoction(input: $input) {\n pickUpLocationId\n pickUpLocation\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetReportProductList($input: GetReportInput) {\n getReportProductList(input: $input) {\n productNumber\n productName\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetAllPurchaseOrderItems($input: GetAllPurchaseOrderItemInput) {\n getAllPurchaseOrderItems(input: $input) {\n lineNumber\n delNo\n productNumber\n product\n standardName\n scheduledPickup\n requestedShipDate\n expectedShipDate\n quantity\n uom\n equipmentNo\n sealNo\n actualShipDate\n status\n soldTo\n soldToName\n shipToName\n salesPerson\n originationSite\n notes\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetPurchaseOrderLineItemDeliveryInformation($input: GetPurchaseOrderLineItemDeliveryInformationInput) {\n getPurchaseOrderLineItemDeliveryInformation(input: $input) {\n customerNo\n customerName\n orderNo\n lineNo\n customerPO\n city\n state\n country\n carrierName\n equipmentType\n deliveryTerms\n incoterms\n shipmentNumber\n loadingPort\n destinationPort\n bookingNumber\n vesselName\n numberContainers\n lastLoadDate\n sailDate\n etaDate\n totalNetWeight\n totalGrossWeight\n voyageNumber\n routingNotes\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetPurchaseOrderFilterShipTo($input: GetAllPurchaseOrderFilterShipToInput) {\n getPurchaseOrderFilterShipTo(input: $input) {\n shipToId\n shipToName\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetPurchaseOrderFilterStatus($input: GetAllPurchaseOrderFilterStatusInput) {\n getPurchaseOrderFilterStatus(input: $input) {\n statusId\n status\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n query GetCustomersContact($input: CustomerContactInput) {\n getCustomersContact(input: $input) {\n address\n city\n state\n postalCode\n country\n county\n electronicDetails {\n emailType\n emailAddress\n }\n paymentTerms\n contactDetails {\n creditAnalystName\n creditAnalystEmail\n creditAnalystPhoneNumber\n salesRepName\n salesRepEmail\n salesRepPhoneNumber\n custServiceName\n custServiceEmail\n custServicePhoneNumber\n }\n }\n }\n`;\n","import React from 'react';\nimport './Error.css';\nimport { useHistory } from 'react-router';\nimport { Alert } from 'react-bootstrap';\nimport toaster from 'toasted-notes';\n\ninterface ErrorProps {\n error: {\n message: string;\n };\n}\n\nexport const Error = (props: ErrorProps): JSX.Element => {\n const { message } = props.error;\n const toasterOptions = { duration: 2500 };\n\n const history = useHistory();\n const navigateToMaintainence = () => {\n history.push(`/maintenance`);\n };\n\n const renderToast = (message, type = 'info') => {\n interface ToastProps {\n onClose?: () => void;\n }\n const Comp = (props: ToastProps) => {\n return (\n \n {message}\n \n );\n };\n\n Comp.displayName = 'toast';\n return Comp;\n };\n\n // navigateToMaintainence();\n\n if (message.indexOf('connect ECONNREFUSED') > -1) {\n navigateToMaintainence();\n } else {\n toaster.notify(\n renderToast('There is an error while loading the data, please try again', 'danger'),\n toasterOptions,\n );\n }\n return
;\n};\n","import React from 'react';\nimport './Loading.scss';\n\nexport const Loading = (): JSX.Element => {\n return (\n
\n
\n Loading...\n
\n
\n );\n};\n","import React from 'react';\nimport './CustomButton.scss';\n\ninterface CustomButtonProps {\n additionalStyle?: string | null;\n isDisabled?: boolean;\n isBordered?: boolean;\n title?: string;\n onClick: () => void;\n children?: JSX.Element;\n}\n\nexport const CustomButton = ({\n title,\n isBordered = false,\n isDisabled = false,\n onClick,\n additionalStyle,\n children,\n}: CustomButtonProps): JSX.Element => {\n return (\n \n {title || children}\n \n );\n};\n","export enum EditActions {\n MAX_VOL_BOX_ERROR = 'The value must be greater than 1,000 and less than 56,000',\n MILES_FROM_WELL_ERROR = 'The value must be greater than 0',\n PROPPANT_LOADS_COUNT_ERROR_MESSAGE = 'This proppant has already created loads.',\n PROPPANT_TOTAL_VOLUME_DELETE_ERROR_MESSAGE = 'Deleting this proppant will cause the LOFA Schedule to go negative.',\n PROPPANT_TOTAL_VOLUME_EXCEED_ERROR_MESSAGE = 'This Proppant edit will cause the LOFA Schedule to go negative.',\n STAGE_TIME_ERROR = 'The value must be greater than 0 and less than 999',\n TOTAL_VOLUME_ERROR = 'The value must be greater than 0 and less than 999999999',\n VOLUME_PER_BOX_ERROR = 'The value must be greater than 1,000 and less than 56000',\n WELLHEAD_DELETE_ERROR_MESSAGE = 'Deleting this well will cause the LOFA Schedule to go negative.',\n WELLHEAD_DUPLICATE_ERROR_MESSAGE = 'This wellhead name you have selected is already in use for this job.',\n WELLHEAD_PROPPANT_LOADS_COUNT_ERROR_MESSAGE = 'This wellhead includes one or more proppants that already have created loads.',\n WELLHEAD_PROPPANT_LOFA_COUNT_ERROR_MESSAGE = 'This wellhead includes one or more proppants that already have created lofas.',\n}\n","import React, { useState, useEffect } from 'react';\nimport { InputTitleEnum } from '../InputTitleEnum/InputTitleEnum';\nimport InputMask from 'react-input-mask';\nimport { isFinite, toInteger, toString } from 'lodash';\nimport { EditActions } from '../../../components/_common/EditLoadErrors/EditLoadErrors';\nimport { InputGroup, Form } from 'react-bootstrap';\nimport './Textfield.scss';\nimport NumberFormat from 'react-number-format';\n\ninterface CommonPropsType {\n disabled?: boolean;\n onBlur?: () => void;\n onChange?: (event: any) => void;\n}\n\ninterface TextfieldProps {\n label: string;\n helperText?: string;\n select?: boolean;\n required?: boolean;\n type?: string;\n min?: string;\n max?: string;\n step?: string;\n maxLength?: number;\n multiline?: boolean;\n rows?: number;\n error?: boolean;\n id?: string;\n mask?: string | (string | RegExp)[];\n name?: string;\n onChange?:\n | ((event: React.ChangeEvent) => void)\n | undefined;\n value?: string | number | null;\n inputTitle?: string | null;\n onBlur?: (value: string | number | null | undefined) => void;\n disabled?: boolean;\n inputProps?: () => void;\n endIcon?: JSX.Element;\n thousandSeparator?: boolean;\n}\n\nexport const Textfield = ({\n label,\n name,\n onChange,\n required,\n mask,\n error,\n value,\n onBlur,\n inputTitle,\n disabled,\n helperText,\n endIcon,\n thousandSeparator,\n maxLength,\n}: TextfieldProps): JSX.Element => {\n const [inputValue, setInputValue] = useState(toString(value));\n let validation = false;\n let errorMessage = '';\n if (inputTitle === InputTitleEnum.STAGE_TIME) {\n if (value !== null) {\n validation = value && toInteger(value) > 0 && toInteger(value) < 999 ? false : true;\n errorMessage = EditActions.STAGE_TIME_ERROR;\n }\n }\n if (inputTitle === InputTitleEnum.MILES_FROM_WELL) {\n if ((value && isFinite(value)) || value === null || value === '') {\n validation = false;\n errorMessage = '';\n } else {\n validation = value && toInteger(value) > 0 ? false : true;\n errorMessage = EditActions.MILES_FROM_WELL_ERROR;\n }\n }\n\n const commonProps: CommonPropsType = {\n onBlur: (): void => {\n if (onBlur) {\n onBlur(inputValue);\n }\n },\n onChange: (event: any): void => {\n const cleanValue = mask ? event.target.value.replace(/_+/, '') : event.target.value;\n setInputValue(cleanValue);\n if (!validation && onChange) {\n onChange(event);\n }\n },\n };\n\n if (!validation) {\n commonProps.disabled = disabled;\n }\n\n useEffect(() => {\n setInputValue(toString(value));\n }, [value]);\n const textfieldErrors =\n error || validation ? (\n
\n \n {helperText || errorMessage || 'This field is required'}\n \n
\n ) : (\n
\n \n {error}\n {helperText}\n \n
\n );\n\n const componentProps = !mask ? commonProps : {};\n const returnComponent = (\n
\n
e.preventDefault()}>\n \n \n \n \n {required ? `*${label}` : label}\n \n \n \n
\n \n {endIcon && (\n \n {endIcon}\n \n )}\n
\n {textfieldErrors}\n
\n
\n
\n );\n\n const returnThousandSeparatorComponent = (\n
\n \n \n \n \n {required ? `*${label}` : label}\n \n \n \n
\n {\n const cleanValue = event.target.value.replace(/,/g, '');\n setInputValue(cleanValue);\n if (onChange) {\n onChange(event.target.value.replace(/,/g, ''));\n }\n }}\n defaultValue={inputValue || ''}\n thousandSeparator\n maxLength={maxLength}\n disabled={disabled}\n />\n
\n {textfieldErrors}\n
\n
\n );\n\n const inputMaskComponents = mask ? commonProps : {};\n if (thousandSeparator) {\n return returnThousandSeparatorComponent;\n } else {\n return mask ? (\n \n {returnComponent}\n \n ) : (\n returnComponent\n );\n }\n};\n\nexport default Textfield;\n","import React, { useState } from 'react';\nimport { GetB2CUserFiltered_getB2CUserFiltered as B2CUser } from '../../../types/schemaTypes';\nimport './UserItem.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { CPOption, Option } from '../interface';\n\ninterface UserItemProps {\n user: B2CUser;\n options: Option[];\n cpOptions: CPOption[];\n index: number;\n canEditUsers: boolean;\n onEditClick: (user: B2CUser) => void;\n onDelete?: (record: any) => void;\n}\n\nconst UsersItem = ({\n user,\n options,\n cpOptions,\n index,\n onEditClick,\n onDelete,\n canEditUsers,\n}: UserItemProps): JSX.Element => {\n /* eslint-disable prefer-const */\n let { firstName, lastName, emailAddress, roleId, roleName, isActive, customerParentId } = user;\n const [deleteConfirm, setDeleteConfirm] = useState(false);\n const handleDelete = () => {\n onDelete && onDelete(user);\n setDeleteConfirm(false);\n };\n\n const getCustomerParentName = (): string | number | null => {\n const id = customerParentId ? customerParentId.toString() : '';\n if (id == '') return null;\n const numId = parseInt(id);\n const filteredCustomerParent = cpOptions.filter((item: CPOption) => item.id === numId);\n // const role = filteredCustomerParent[0].name;\n const role = filteredCustomerParent[0] ? filteredCustomerParent[0].name : '';\n return role;\n };\n\n const getCustomerParentJdeId = (): string | number | null => {\n const id = customerParentId ? customerParentId.toString() : '';\n if (id == '') return null;\n const numId = parseInt(id);\n const filteredCustomerParent = cpOptions.filter((item: CPOption) => item.id === numId);\n // const jdeId = filteredCustomerParent[0].jdeId;\n const jdeId = filteredCustomerParent[0] ? filteredCustomerParent[0].jdeId : '';\n return jdeId;\n };\n\n const isOdd = index % 2 == 1;\n const containerStyle = `UsersItem-Bottom-Container ${!isOdd && 'UsersItem-Bottom-Container-With-Background'}`;\n\n //const option = cpOptions.find(element => element.id == roleId);\n\n //const role: Option = option ? option : { id: 0, name: '' };\n\n if (roleName === '') {\n const filteredRole = options.filter((role: Option) => role.id === roleId);\n roleName = filteredRole[0].name ? filteredRole[0].name.toString() : '';\n user.roleName = roleName;\n }\n\n return (\n
\n
\n {firstName} {lastName}\n
\n
{emailAddress}
\n
{roleName}
\n
{getCustomerParentName()}
\n
{getCustomerParentJdeId()}
\n
{isActive ? 'Active' : 'Inactive'}
\n\n {!canEditUsers &&
}\n {canEditUsers && (\n
\n {canEditUsers && (\n onEditClick(user)}\n >\n edit\n Edit\n
\n )}\n {/*  | \n {canEditUsers && onDelete && (\n
setDeleteConfirm(true)} className={` ${'GridViewItem-Edit-Container'}`}>\n delete\n Delete\n
\n )} */}\n
\n )}\n \n );\n};\n\nexport default UsersItem;\n","import React, { FC } from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { GetB2CUserFiltered_getB2CUserFiltered as B2CUser } from '../../types/schemaTypes';\nimport { useLazyLoading } from '../_common';\nimport { CPOption, Option } from './interface';\nimport UserItem from './UserItem';\nimport './Users.scss';\n\ninterface UserListProps {\n users: B2CUser[];\n cpOptions: CPOption[];\n options: Option[];\n isLoading: boolean;\n canEditUsers: boolean;\n isEndOfResults: boolean;\n refetched: boolean;\n setRefetched: React.Dispatch>;\n refetch: () => void;\n onLoadMore: () => void;\n onEditClick: (user: B2CUser) => void;\n onDelete: (user: B2CUser) => void;\n}\n\nconst UserList: FC = ({\n users,\n cpOptions,\n options,\n isLoading,\n isEndOfResults,\n refetched,\n setRefetched,\n refetch,\n onLoadMore,\n onEditClick,\n onDelete,\n canEditUsers,\n}: UserListProps): JSX.Element => {\n const { handleScroll } = useLazyLoading('userList', isLoading, isEndOfResults, onLoadMore);\n\n if (refetched && refetch) {\n refetch();\n setRefetched(false);\n }\n\n return (\n
\n {users.map((user, index) => (\n \n ))}\n
\n );\n};\n\nexport default UserList;\n","import { useState } from 'react';\n\nexport const useLazyLoading = (\n tableId: string,\n isLoading: boolean,\n isEndOfResults: boolean,\n onLoadMore: any,\n isScrollUpPagination = false,\n): any => {\n const [scrollPos, setScrollPos] = useState(0);\n const handleScroll = (): void => {\n const doc: HTMLElement | null = document.getElementById(tableId);\n const scrollHeight = doc ? doc.scrollHeight : 0;\n if (isScrollUpPagination) {\n const scrollBottom = doc ? doc.clientHeight - doc.scrollTop : 0;\n const isScrolledToTop = Math.ceil(scrollBottom) >= scrollHeight;\n if (doc && isScrolledToTop && !isLoading && !isEndOfResults) {\n onLoadMore();\n setScrollPos(scrollBottom);\n }\n } else {\n const scrollTop = doc ? doc.scrollTop : 0;\n const clientHeight = doc ? doc.clientHeight : 0;\n const isScrolledToBottom = Math.ceil(scrollTop + clientHeight) >= scrollHeight;\n if (doc && isScrolledToBottom && !isLoading && !isEndOfResults) {\n onLoadMore();\n setScrollPos(scrollTop);\n }\n }\n };\n return {\n handleScroll,\n scrollPos,\n setScrollPos,\n };\n};\n","import gql from 'graphql-tag';\n\nexport default gql`\n mutation SaveB2CUser($input: SaveB2CUserInput) {\n saveB2CUser(input: $input) {\n errors\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n mutation DeleteB2CUser($input: DeleteB2CUserInput) {\n deleteB2CUser(input: $input) {\n errors\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n mutation RegisterUser($input: RegisterUserInput) {\n registerUser(input: $input) {\n emailSent\n errors\n }\n }\n`;\n","import gql from 'graphql-tag';\n\nexport default gql`\n mutation ContactInfo($input: ContactInput) {\n contactInfo(input: $input) {\n emailSent\n errors\n }\n }\n`;\n","import match from 'autosuggest-highlight/match';\nimport parse from 'autosuggest-highlight/parse';\nimport deburr from 'lodash/deburr';\nimport Autosuggest from 'react-autosuggest';\nimport React, { useState, useEffect } from 'react';\nimport Dropdown from 'react-bootstrap/Dropdown';\nimport DropdownButton from 'react-bootstrap/DropdownButton';\nimport Textfield from '../../_common/Textfield/Textfield';\nimport './SearchableDropdown.scss';\n\ninterface SearchableDropdownProps {\n autoCompleteEnabled?: boolean;\n dropdownOptions?: (DropdownOption | null)[];\n hasError?: boolean;\n errorMessage?: string;\n id: string;\n label: string;\n onSelect: (eventKey: string | null, e: React.SyntheticEvent) => void;\n required?: boolean;\n disabled?: boolean;\n value?: string | number | null | undefined;\n endIcon?: JSX.Element;\n}\n\nexport interface DropdownOption {\n id: number | string;\n name: string | number;\n}\n\nconst renderAutoCompleteInputComponent = (inputProps: any): any => {\n const { placeholder, required, endIcon } = inputProps;\n return ;\n};\n\nexport const SearchableDropdown = ({\n autoCompleteEnabled = false,\n disabled,\n dropdownOptions,\n errorMessage,\n hasError,\n id,\n label,\n onSelect,\n required,\n value,\n endIcon,\n}: SearchableDropdownProps): JSX.Element => {\n const [selectedValue, setSelectedValue] = useState(value);\n const [state, setState] = React.useState({ single: '' });\n const [suggestions, setSuggestions] = React.useState([]);\n\n useEffect(() => {\n setSelectedValue(value ? value : '');\n }, [value]);\n\n const handleOnSelect = (eventKey: string | null, e: React.SyntheticEvent): void => {\n const target = e.target;\n if (target instanceof HTMLAnchorElement || target instanceof HTMLInputElement) {\n setSelectedValue(target.textContent);\n }\n onSelect(eventKey, e);\n };\n\n if (autoCompleteEnabled) {\n const getSuggestionValue = (suggestion: DropdownOption): string => {\n return `${suggestion.name}`;\n };\n\n const renderSuggestion = (\n suggestion: DropdownOption,\n { query, isHighlighted }: Autosuggest.RenderSuggestionParams,\n ): any => {\n const matches = match(`${suggestion.name}`, query);\n const parts = parse(`${suggestion.name}`, matches);\n\n return (\n \n
\n {parts.map((part, i) => (\n \n {part.text}\n \n ))}\n
\n
\n );\n };\n\n const getSuggestions = (value: string, suggestions: DropdownOption[]): DropdownOption[] => {\n const inputValue = deburr(value.trim()).toLowerCase();\n const inputLength = inputValue.length;\n\n const suggestionsList: DropdownOption[] = suggestions.filter(suggestion => {\n return (\n suggestion.name\n .toString()\n .slice(0, inputLength)\n .toLowerCase() === inputValue\n );\n });\n\n if (suggestionsList.length === 1 && suggestionsList[0].name === value) {\n return [];\n }\n\n return suggestionsList;\n };\n\n const getSuggestionsCollection = (dropdownOptions: (DropdownOption | null)[]): DropdownOption[] => {\n return dropdownOptions.length > 0 ? (dropdownOptions.filter(d => d !== null) as DropdownOption[]) : [];\n };\n\n const handleSuggestionsFetchRequested = ({ value }: { value: string }): void => {\n setSuggestions(\n getSuggestions(\n value,\n getSuggestionsCollection(dropdownOptions ? getSuggestionsCollection(dropdownOptions) : []),\n ),\n );\n };\n\n const handleSuggestionsClearRequested = (): void => {\n setSuggestions([]);\n };\n\n const handleChange = (name: keyof typeof state): any => (\n event: React.ChangeEvent,\n { newValue }: Autosuggest.ChangeEvent,\n ) => {\n const selectedSuggestion =\n dropdownOptions && dropdownOptions.length > 0\n ? dropdownOptions.filter((s: DropdownOption | null) =>\n s !== null && s.name !== null ? s.name === newValue : false,\n )[0]\n : null;\n if (selectedSuggestion) {\n handleOnSelect(`${selectedSuggestion.id}`, event);\n } else {\n const defaultSuggestion: DropdownOption = {\n id: 0,\n name: newValue,\n };\n handleOnSelect(`${defaultSuggestion.id}`, event);\n }\n\n setState({\n ...state,\n [name]: newValue,\n });\n };\n\n const autosuggestProps = {\n renderAutoCompleteInputComponent,\n suggestions,\n onSuggestionsFetchRequested: handleSuggestionsFetchRequested,\n onSuggestionsClearRequested: handleSuggestionsClearRequested,\n getSuggestionValue,\n renderSuggestion,\n };\n\n return (\n
\n \n \n (\n
{options.children}
\n )}\n theme={{\n container: {\n flexGrow: 1,\n position: 'relative',\n },\n suggestionsContainerOpen: {\n backgroundColor: 'white',\n border: '1px solid #0000008a',\n maxHeight: '200px',\n left: 0,\n marginTop: '2px',\n overflowY: 'auto',\n position: 'absolute',\n right: 0,\n width: 'fit-content',\n zIndex: 1,\n },\n suggestion: {\n display: 'block',\n },\n suggestionsList: {\n margin: 0,\n padding: 0,\n listStyleType: 'none',\n },\n input: {\n flexWrap: 'wrap',\n fontSize: '16px',\n fontWeight: 'normal',\n height: '35px',\n width: '100%',\n },\n }}\n />\n {endIcon &&
{endIcon}
}\n
\n {hasError && }\n \n );\n }\n\n const dropdownMenuItems =\n dropdownOptions &&\n dropdownOptions.length > 0 &&\n dropdownOptions.map(option => {\n return option && option.id && option.name ? (\n \n {option.name}\n \n ) : (\n undefined\n );\n });\n\n return (\n
\n \n \n \n {dropdownMenuItems}\n \n \n {hasError && }\n
\n );\n};\n\nexport default SearchableDropdown;\n","import { useQuery } from '@apollo/react-hooks';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport React, { useEffect, useState } from 'react';\nimport Modal from 'react-bootstrap/Modal';\nimport { GET_USERS_CHECK_EMAIL, GET_USERAUDIT, GET_B2C_USER_FILTERED } from '../../../graphql/client/queries';\nimport { useMutation } from 'react-apollo';\nimport { SAVE_B2C_USER } from '../../../graphql/client/mutations';\nimport {\n GetUsersCheckEmail,\n GetB2CUsers_getB2CUsers as B2CUser,\n GetUsersAudit_getUsersAudit as UserAuditType,\n SaveB2CUser,\n} from '../../../types/schemaTypes';\nimport { CustomButton, Loading } from '../../_common';\nimport SearchableDropdown from '../../_common/SearchableDropdown/SearchableDropdown';\nimport { Textfield } from '../../_common/Textfield/Textfield';\nimport { ModalForm } from '../interface';\nimport './AddEditUserModal.scss';\nimport moment from 'moment';\nimport { Col } from 'react-bootstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\ninterface Option {\n id: number | string;\n name: string | number;\n}\n\ninterface UserAudits {\n id: number;\n userId: number | null;\n auditDate: string | null;\n auditUserName: string | null;\n nameBefore: string | null | undefined;\n emailAddressBefore: string | null | undefined;\n isActiveBefore: boolean | null | undefined;\n roleIdBefore: number | null | undefined;\n nameAfter: string | null | undefined;\n emailAddressAfter: string | null | undefined;\n isActiveAfter: boolean | null | undefined;\n roleIdAfter: number | null | undefined;\n}\n// interface UserData {\n// name: string | null;\n// emailAddress: string | null;\n// isActive: boolean | null;\n// isDeleted: boolean | null;\n// roleId: number | null;\n// }\ninterface AddEditUserModalProps {\n modalForm: ModalForm;\n cpOptions: Option[];\n options: Option[];\n selectedUser?: B2CUser;\n onClickHide: () => void;\n onUserSaved: () => void;\n checkIfPassword: () => void;\n setIsResetPassword: React.Dispatch>;\n show: boolean;\n userId: number;\n errorMessage?: string;\n setErrorMessage: React.Dispatch>;\n inputVariables: any;\n}\n\nconst AddEditUserModal = ({\n show,\n options,\n cpOptions,\n onClickHide,\n onUserSaved,\n checkIfPassword,\n setIsResetPassword,\n modalForm,\n selectedUser,\n userId,\n errorMessage,\n setErrorMessage,\n inputVariables,\n}: AddEditUserModalProps): JSX.Element => {\n const [selectedUserId, setSelectedUserId] = useState(0);\n const [selectedFirstName, setSelectedFirstName] = useState('');\n const [selectedLastName, setSelectedLastName] = useState('');\n const [selectedEmailAddress, setSelectedEmailAddress] = useState('');\n const [selectedCustomerParent, setSelectedCustomerParent] = useState(0);\n const [selectedRole, setSelectedRole] = useState(0);\n const [isSelectedRoleCustomer, setIsSelectedRoleCustomer] = useState(false);\n const [selectedStatus, setSelectedStatus] = useState(true);\n const [enableResetPassword, setEnableResetPassword] = useState(false);\n const [isUssilicaUser, setIsUssilicaUser] = useState(false);\n\n const isEditForm = modalForm === ModalForm.EDIT_USER;\n\n const [emailExists, setEmailExists] = useState(false);\n const [emailErrorMessage, setEmailErrorMessage] = useState('');\n const userAuditHistory: UserAudits[] = [];\n const extUserOptions = options.slice(1, -1);\n\n const searchIcon = ;\n\n useEffect(() => {\n if (selectedUser) {\n setSelectedUserId(selectedUser.userId ? selectedUser.userId : 0);\n setSelectedFirstName(selectedUser.firstName ? selectedUser.firstName : ' ');\n setSelectedLastName(selectedUser.lastName ? selectedUser.lastName : ' ');\n setSelectedEmailAddress(selectedUser.emailAddress ? selectedUser.emailAddress : ' ');\n setSelectedRole(selectedUser.roleId ? selectedUser.roleId : 0);\n setIsSelectedRoleCustomer(selectedUser.roleName?.trim().toLowerCase() === 'customer' ? true : false);\n setSelectedCustomerParent(selectedUser.customerParentId ? selectedUser.customerParentId : 0);\n setSelectedStatus(selectedUser.isActive ? true : false);\n setEnableResetPassword(selectedUser.emailAddress?.includes('@ussilica.com') ? false : true);\n setIsUssilicaUser(selectedUser.emailAddress?.includes('@ussilica.com') ? true : false);\n }\n }, [selectedUser]);\n\n useQuery(GET_USERS_CHECK_EMAIL, {\n variables: { input: { emailAddress: selectedEmailAddress } },\n fetchPolicy: 'no-cache',\n onCompleted(data) {\n const emailExists =\n data!.getUsersCheckEmail!.emailExists == null ? false : data!.getUsersCheckEmail!.emailExists;\n\n const checkEmailExists =\n (isEditForm && selectedEmailAddress == selectedUser?.emailAddress) || selectedEmailAddress.length == 0\n ? false\n : emailExists;\n\n setEmailExists(checkEmailExists);\n\n if (checkEmailExists) setEmailErrorMessage('This email address is already in use');\n else setEmailErrorMessage('');\n },\n });\n const variables = {\n userId,\n };\n\n const { data: userAuditReferenceData, loading: userAuditLoading, error: userAuditError } = useQuery(GET_USERAUDIT, {\n variables,\n fetchPolicy: 'network-only',\n });\n\n if (userAuditReferenceData && userAuditReferenceData.getUsersAudit) {\n userAuditReferenceData.getUsersAudit.forEach((element: UserAuditType) => {\n if (element.userId !== null) {\n userAuditHistory.push({\n id: element.id,\n userId: element.userId,\n auditUserName: element.auditUserName,\n auditDate: element.auditDate,\n nameBefore: element.valuesBefore?.name,\n nameAfter: element.valuesAfter?.name,\n isActiveBefore: element.valuesBefore?.isActive,\n isActiveAfter: element.valuesAfter?.isActive,\n emailAddressBefore: element.valuesBefore?.emailAddress,\n emailAddressAfter: element.valuesAfter?.emailAddress,\n roleIdBefore: element.valuesBefore?.roleId,\n roleIdAfter: element.valuesAfter?.roleId,\n });\n }\n });\n }\n const clearState = (): void => {\n setSelectedUserId(0);\n setSelectedFirstName('');\n setSelectedLastName('');\n setSelectedEmailAddress('');\n setSelectedRole(0);\n setIsSelectedRoleCustomer(false);\n setSelectedCustomerParent(0);\n setSelectedStatus(true);\n setEmailExists(false);\n setIsUssilicaUser(false);\n setEnableResetPassword(false);\n };\n\n const onCompletedSaveUser = (data: SaveB2CUser): void => {\n checkIfPassword();\n if (data.saveB2CUser === null) return;\n const saveUserErrors = data.saveB2CUser.errors;\n if (saveUserErrors && saveUserErrors.length > 0) {\n if (\n saveUserErrors[0]?.includes(\n 'Another object with the same value for property userPrincipalName already exists',\n )\n ) {\n setEmailExists(true);\n setEmailErrorMessage('This email address is already in use');\n } else if (\n saveUserErrors[0]?.includes(\n 'does not exist or one of its queried reference-property objects are not present',\n )\n ) {\n setEmailExists(true);\n setEmailErrorMessage('This account does not exist');\n } else {\n setErrorMessage(saveUserErrors[0] || '');\n }\n } else {\n clearState();\n onUserSaved();\n }\n };\n\n const [saveB2CUser, { loading: saveB2CUserLoading }] = useMutation(SAVE_B2C_USER, {\n onCompleted: onCompletedSaveUser,\n refetchQueries: () => {\n return [\n {\n query: GET_B2C_USER_FILTERED,\n variables: { input: inputVariables },\n },\n ];\n },\n });\n\n const handleOnSave = async (\n userId: number,\n firstName: string,\n lastName: string,\n email: string,\n roleId: number,\n customerParentId: number,\n status: boolean,\n resetPassword: boolean,\n ): Promise => {\n if (selectedUser) {\n selectedUser.userId = userId;\n selectedUser.firstName = firstName;\n selectedUser.lastName = lastName;\n selectedUser.emailAddress = email;\n selectedUser.roleId = roleId;\n selectedUser.roleName = '';\n selectedUser.customerParentId = customerParentId;\n selectedUser.isActive = status;\n }\n\n const variables = {\n input: {\n userId,\n firstName,\n lastName,\n emailAddress: email,\n roleId,\n customerParentId,\n isActive: status,\n resetPassword,\n },\n };\n if (variables.input.resetPassword == true) {\n setIsResetPassword(true);\n }\n await saveB2CUser({ variables });\n };\n\n const onClickSave = (): void => {\n if (!emailExists) {\n handleOnSave(\n selectedUserId,\n selectedFirstName,\n selectedLastName,\n selectedEmailAddress,\n selectedRole,\n selectedCustomerParent,\n selectedStatus,\n false,\n );\n }\n };\n\n const onReset = (): void => {\n if (!emailExists) {\n handleOnSave(\n selectedUserId,\n selectedFirstName,\n selectedLastName,\n selectedEmailAddress,\n selectedRole,\n selectedCustomerParent,\n selectedStatus,\n true,\n );\n }\n };\n\n const onCancel = (): void => {\n clearState();\n onClickHide();\n };\n\n const validateEmail = (email: string): boolean => {\n const emailRegex = /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]+$/;\n //const emailRegex = /\\S+@\\ussilica|sandboxlogistics+\\.\\S+/;\n const isEmailValid = emailRegex.test(email.toString());\n return isEmailValid;\n };\n\n const setSaveButtonStatus = (): boolean => {\n if (emailExists) return true;\n\n const isNameValid = selectedFirstName.trim().length > 0 ? true : false;\n const isLastNameValid = selectedLastName.trim().length > 0 ? true : false;\n const isEmailValid = validateEmail(selectedEmailAddress);\n const isRoleValid = selectedRole != 0 ? true : false;\n const customerName = getCustomerParentName();\n const isCustomerParentValid =\n selectedCustomerParent != 0 && customerName !== '' ? true : !isSelectedRoleCustomer ? true : false;\n const isStatusValid = true;\n const isFormValid =\n isNameValid && isLastNameValid && isEmailValid && isRoleValid && isCustomerParentValid && isStatusValid;\n\n return !isFormValid;\n };\n\n const changeFirstName = (event: any): void => {\n setSelectedFirstName(event.target.value);\n };\n\n const changeLastName = (event: any): void => {\n setSelectedLastName(event.target.value);\n };\n\n const changeEmail = (value: any): void => {\n if (errorMessage) {\n setErrorMessage('');\n }\n const emailAddress = value ? value : '';\n setSelectedEmailAddress(emailAddress.trim());\n };\n\n const checkExternalUser = (value: any): void => {\n const emailRegex = /\\S+@\\ussilica+\\.\\S+/;\n const isUssilicaMail = emailRegex.test(value.toString());\n setIsUssilicaUser(isUssilicaMail);\n };\n\n const getCustomerParentName = (): string | number | null => {\n // const selectedCustomerParent1 = selectedCustomerParent;\n const id = selectedUser && selectedUser.customerParentId ? selectedCustomerParent.toString() : '';\n if (id == '') return null;\n const numId = parseInt(id);\n const filteredCustomerName = cpOptions.filter((item: Option) => item.id === numId);\n const role = filteredCustomerName && filteredCustomerName.length > 0 ? filteredCustomerName[0].name : '';\n return role;\n };\n const getAuditRoleName = (roleId: number): string | number | null => {\n const filteredRole = options.filter((item: Option) => item.id === roleId);\n const role = filteredRole[0].name;\n return role;\n };\n\n const changeCustomerParent = (value: any): void => {\n const id = parseInt(value);\n setSelectedCustomerParent(id);\n };\n\n const changeRole = (value: any): void => {\n const id = parseInt(value);\n setSelectedRole(id);\n const roleName = getAuditRoleName(id);\n if (\n roleName\n ?.toString()\n .trim()\n .toLowerCase() == 'customer'\n ) {\n setIsSelectedRoleCustomer(true);\n } else {\n setSelectedCustomerParent(0);\n setIsSelectedRoleCustomer(false);\n }\n };\n\n const changeStatus = (event: any): void => {\n const boolValue = JSON.parse(event.target.value);\n setSelectedStatus(boolValue);\n };\n\n const getRoleName = (): string | number | null => {\n const roleId = selectedRole;\n if (roleId === 0) return null;\n\n if (!isUssilicaUser) {\n const filteredRole = options.filter(\n (item: Option) =>\n item.name\n .toString()\n .trim()\n .toLowerCase() === 'customer',\n );\n roleId !== filteredRole[0].id && changeRole(filteredRole[0].id);\n const role = filteredRole[0].name ? filteredRole[0].name : '';\n return role;\n }\n\n const filteredRole = options.filter((item: Option) => item.id === roleId);\n const role = filteredRole[0].name ? filteredRole[0].name : '';\n return role;\n };\n\n return (\n \n \n \n \n
{isEditForm ? 'Edit User' : 'Create New User'}
\n
{errorMessage}
\n
\n
\n\n \n {saveB2CUserLoading && (\n
\n \n
\n )}\n
\n
\n changeFirstName(event)}\n maxLength={64}\n />\n
\n
\n changeLastName(event)}\n maxLength={64}\n />\n
\n
\n
\n
\n {\n const value = event.currentTarget.value;\n if (value) checkExternalUser(value);\n changeEmail(value);\n }}\n maxLength={64}\n />\n
\n
\n {\n changeRole(eventKey);\n }}\n value={getRoleName()}\n />\n
\n
\n \n {isSelectedRoleCustomer && (\n {\n changeCustomerParent(eventKey);\n }}\n value={getCustomerParentName()}\n endIcon={searchIcon}\n />\n )}\n \n\n
\n
Has access to Customer Portal?
\n
\n
\n changeStatus(event)}\n />\n Yes\n
\n
\n changeStatus(event)}\n />\n No\n
\n
\n
\n\n {selectedUser && (\n
\n
User Audit History
\n
\n {userAuditLoading && (\n
\n \n
\n )}\n {userAuditHistory && userAuditHistory.length > 0 ? (\n
\n
Audit Date
\n
Audit User
\n
Name
\n
Email
\n
HasAccess
\n
Role
\n
\n ) : (\n !userAuditLoading && (\n
\n
No Audit History Found
\n
\n )\n )}\n\n {userAuditHistory &&\n userAuditHistory.map((userAudit: UserAudits): JSX.Element | undefined => {\n if (\n userAudit !== null &&\n (userAudit.nameBefore !== userAudit.nameAfter ||\n userAudit.emailAddressBefore !== userAudit.emailAddressAfter ||\n userAudit.isActiveBefore !== userAudit.isActiveAfter ||\n userAudit.roleIdBefore !== userAudit.roleIdAfter)\n ) {\n return (\n
\n
\n {moment(userAudit.auditDate!).format('YYYY-MM-DD')}\n
\n
\n {userAudit.auditUserName}\n
\n {userAudit.nameBefore !== userAudit.nameAfter && (\n
\n {userAudit.nameBefore}\n
\n )}\n {userAudit.nameBefore === userAudit.nameAfter && (\n
-
\n )}\n {userAudit.emailAddressBefore !== userAudit.emailAddressAfter && (\n
\n {userAudit.emailAddressBefore}\n
\n )}\n {userAudit.emailAddressBefore === userAudit.emailAddressAfter && (\n
\n -\n
\n )}\n {userAudit.isActiveBefore !== userAudit.isActiveAfter && (\n
\n {userAudit.isActiveBefore ? 'Active' : 'Inactive'}\n
\n )}\n {userAudit.isActiveBefore === userAudit.isActiveAfter && (\n
-
\n )}\n {userAudit.roleIdBefore !== userAudit.roleIdAfter && (\n
\n {getAuditRoleName(userAudit.roleIdBefore!)}\n
\n )}\n {userAudit.roleIdBefore === userAudit.roleIdAfter && (\n
-
\n )}\n
\n );\n }\n return undefined;\n })}\n
\n
\n )}\n
\n\n \n \n \n {enableResetPassword && (\n \n )}\n \n
\n );\n};\n\nexport default AddEditUserModal;\n","export enum PermissionEnum {\n Admin = 'Admin',\n Customer = 'Customer',\n CustomerService = 'Customer Service',\n}\n","/* eslint-disable */\nimport React, { FC, useContext, useEffect } from 'react';\nimport { UserManager, UserManagerSettings, WebStorageStateStore, User } from 'oidc-client';\nimport * as AuthActions from '../../../store/actions/auth';\nimport { useStoreContext } from '../../App/StoreProvider';\nimport { PermissionEnum } from '../../../types/PermissionEnum';\n\nconst config: UserManagerSettings = {\n userStore: new WebStorageStateStore({ store: window.sessionStorage }),\n authority: process.env.REACT_APP_AUTHORITY_URL,\n client_id: process.env.REACT_APP_CLIENT_ID,\n redirect_uri: process.env.REACT_APP_REDIRECT_URL,\n automaticSilentRenew: true,\n monitorSession: true,\n silent_redirect_uri: process.env.REACT_APP_SILENT_REDIRECT_URL,\n post_logout_redirect_uri: process.env.REACT_APP_POST_LOGOUT_URL,\n response_type: 'id_token token',\n scope: 'openid profile OperationsPortal.API OperationsPortal.User'\n};\n\nconst _userManager = new UserManager(config);\n\nconst AuthContext = React.createContext({\n userManager: _userManager,\n userHasPermission: (permissionType: PermissionEnum): boolean => false,\n});\n\nconst AuthConsumer = AuthContext.Consumer;\n\nconst useAuthContext = (): {\n userManager: UserManager;\n userHasPermission: (permissionType: PermissionEnum) => boolean;\n} => useContext(AuthContext);\n\ninterface AuthProviderProps {\n children: JSX.Element;\n}\n\nconst AuthProvider: FC = (props: AuthProviderProps): JSX.Element => {\n const { children } = props;\n const userManager = _userManager;\n const [{ auth }, dispatch] = useStoreContext();\n\n const userHasPermission = (permissionType: PermissionEnum): boolean => {\n let hasPermission;\n\n try {\n if (auth.user) {\n var opsPersm = auth!.user!.profile!.role;\n // var perms = JSON.parse(auth!.user!.profile!.permissions);\n hasPermission = opsPersm.includes(permissionType.toString());\n }\n } catch (e) {\n // console.log(e.message);\n }\n\n return hasPermission;\n };\n\n const loadUser = () => {\n userManager.getUser().then(user => {\n console.log('load user', user);\n if (user) {\n dispatch(AuthActions.userLoaded(user as User));\n } else {\n dispatch(AuthActions.userLoading(false)); \n }\n });\n };\n\n const onUserLoaded = (user: User): void => {\n console.log('onUserLoaded', user);\n // console.log('onUserLoaded - role', JSON.parse(user));\n // console.log('onUserLoaded - role', user.role);\n dispatch(AuthActions.userLoaded(user));\n sessionStorage.setItem('accessToken', user.access_token);\n };\n\n const onSilentRenewError = (e: any): void => {\n dispatch(AuthActions.silentRenewError(e));\n };\n\n const onAccessTokenExpired = (): void => {\n dispatch(AuthActions.accessTokenExpired());\n userManager.removeUser();\n };\n\n const onUserUnloaded = (): void => {\n dispatch(AuthActions.userUnloaded());\n sessionStorage.removeItem('accessToken');\n };\n\n const onUserSignedOut = (): void => {\n dispatch(AuthActions.userSignedOut());\n userManager.removeUser();\n sessionStorage.removeItem('accessToken');\n window.location.href = window.location.origin;\n };\n\n useEffect(() => {\n loadUser();\n userManager.events.addUserLoaded(onUserLoaded);\n userManager.events.addSilentRenewError(onSilentRenewError);\n userManager.events.addAccessTokenExpired(onAccessTokenExpired);\n userManager.events.addUserUnloaded(onUserUnloaded);\n userManager.events.addUserSignedOut(onUserSignedOut);\n\n return () => {\n userManager.events.removeUserLoaded(onUserLoaded);\n userManager.events.removeSilentRenewError(onSilentRenewError);\n userManager.events.removeAccessTokenExpired(onAccessTokenExpired);\n userManager.events.removeUserUnloaded(onUserUnloaded);\n userManager.events.removeUserSignedOut(onUserSignedOut);\n };\n }, []);\n\n return {children};\n};\n\nexport { AuthConsumer, useAuthContext, AuthProvider };\n","import React from 'react';\nimport './DispatchModal.scss';\nimport Modal from 'react-bootstrap/Modal';\nimport { CustomButton } from '../../_common';\nimport dispatchIcon from '../../../assets/dispatchSuccess.png';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Row } from 'react-bootstrap';\n\ninterface ConfirmDispatchModalProps {\n onClickHide: () => void;\n show: boolean;\n isResetPassword: boolean;\n}\n\nconst ConfirmDispatchModal = ({ show, onClickHide, isResetPassword }: ConfirmDispatchModalProps): JSX.Element => {\n const resetPwdMessage = 'Reset password link successfully sent to your email.';\n\n return (\n \n \n \n \n close\n \n \"dispatch\n \n \n \n {isResetPassword ? (\n
{resetPwdMessage}
\n ) : (\n
\n )}\n
\n \n \n \n
\n );\n};\n\nexport default ConfirmDispatchModal;\n","import React from 'react';\n\nconst ForbiddenError = (): JSX.Element => {\n return (\n
\n
Unauthorized
\n
You do not have permission to view this screen
\n
\n );\n};\n\nexport default ForbiddenError;\n","import React, { useCallback, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport SearchBar from '../SearchBar';\nimport { SearchTypeEnum } from '../../types/SearchTypeEnum';\nimport { ModalForm, Option, CPOption } from './interface';\nimport { Alert } from 'react-bootstrap';\nimport { GET_B2C_USER_FILTERED, GET_ROLES, GET_ALL_CUSTOMERSLIST } from '../../graphql/client/queries';\nimport {\n GetRoles_getRoles as Role,\n GetAllCustomerList_getAllCustomerList as CustomerParent,\n GetAllCustomerList_getAllCustomerList as Customer,\n GetB2CUserFiltered_getB2CUserFiltered as B2CUser,\n GetB2CUserFiltered,\n GetAllCustomerList,\n} from '../../types/schemaTypes';\nimport UserList from './UserList';\nimport { Error, Loading } from '../_common';\nimport AddUserModal from './AddEditUserModal/AddEditUserModal';\nimport './Users.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { useQuery } from '@apollo/react-hooks';\n\nimport { useStoreContext } from '../App/StoreProvider';\nimport { useAuthContext } from '../Auth/AuthProvider';\nimport { PermissionEnum } from '../../types/PermissionEnum';\nimport { useMutation } from '@apollo/react-hooks';\nimport { DELETE_B2C_USER } from '../../graphql/client/mutations';\nimport toaster from 'toasted-notes';\nimport ConfirmDispatchModal from './ComfirmModal/DispatchModal';\nimport ForbiddenError from '../_common/Error/ForbiddenError';\nimport * as UserListActions from '../../store/actions/userList';\n\nconst toasterOptions = { duration: 2500 };\nconst Messages = {\n delete: 'User deleted successfully',\n userAdded: 'User added successfully',\n userEdited: 'User details saved successfully',\n};\nconst ErrorMessages = {\n delete: 'Failed to delete User',\n};\nlet selectedUser: B2CUser | undefined;\n\nconst PAGE_SIZE = 50;\n\nconst Users = (): JSX.Element => {\n const [showAddUserModal, setShowAddUserModal] = useState(false);\n const [modalForm, setModalForm] = useState(ModalForm.EMPTY);\n const [isEndOfResults, setIsEndOfResults] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const [selectedCustomerId, setSelectedCustomerId] = useState(0);\n const [tabTitle, setTabTitle] = useState(document.title);\n const [isResetPassword, setIsResetPassword] = useState(false);\n const [showDispatchModal, setDispatchModal] = useState(false);\n document.title = 'Users';\n const isAdmin = useAuthContext().userHasPermission(PermissionEnum.Admin);\n const isCustomerService = useAuthContext().userHasPermission(PermissionEnum.CustomerService);\n const canEditUsers = isAdmin || isCustomerService;\n const [refetched, setRefetched] = useState(false);\n const [state, dispatch] = useStoreContext();\n\n const {\n userList: { searchPhrase, customerId },\n } = state;\n\n const variables = {\n input: {\n searchString: searchPhrase,\n customerId: selectedCustomerId,\n },\n };\n\n const renderToast = (message, type = 'info') => {\n interface ToastProps {\n onClose?: () => void;\n }\n const Comp = (props: ToastProps) => {\n return (\n \n {message}\n \n );\n };\n\n Comp.displayName = 'toast';\n return Comp;\n };\n\n const onCompleted = action => {\n toaster.notify(renderToast(Messages[action], 'success'), toasterOptions);\n };\n\n const onActionError = action => {\n toaster.notify(renderToast(ErrorMessages[action], 'danger'), toasterOptions);\n };\n\n const checkIfPassword = () => {\n if (isResetPassword) {\n setDispatchModal(true);\n }\n };\n\n const handleClickHide = (): void => {\n setDispatchModal(false);\n setIsResetPassword(false);\n };\n\n const handleOnHide = (): void => {\n selectedUser = undefined;\n setErrorMessage('');\n setShowAddUserModal(false);\n };\n\n const onUserSaved = () => {\n !isResetPassword && onCompleted(selectedUser ? 'userEdited' : 'userAdded');\n selectedUser = undefined;\n setErrorMessage('');\n setShowAddUserModal(false);\n setRefetched(true);\n };\n\n const [deleteUser] = useMutation(DELETE_B2C_USER, {\n onCompleted: () => {\n onCompleted('delete');\n setRefetched(true);\n },\n onError: () => onActionError('delete'),\n refetchQueries: () => {\n return [\n {\n query: GET_B2C_USER_FILTERED,\n variables: { variables },\n },\n ];\n },\n });\n\n const onDelete = useCallback(async (record: any) => {\n const variables = { input: { userId: record.userId } };\n await deleteUser({ variables });\n }, []);\n\n const input = {\n search: '',\n customerId: 0,\n };\n const { data: customerParentData } = useQuery(GET_ALL_CUSTOMERSLIST, { variables: { input } });\n const cpOptions: CPOption[] = [];\n if (customerParentData && customerParentData.getAllCustomerList) {\n customerParentData.getAllCustomerList.forEach((element: CustomerParent) => {\n if (element.id !== null) {\n const id = element.id;\n const displayName = element && element.customerName ? element.customerName : '';\n const jdeId = element && element.id ? element.id.toString() : '';\n cpOptions.push({\n id: id,\n name: displayName,\n jdeId: jdeId,\n });\n }\n });\n }\n\n const { data: rolesData } = useQuery(GET_ROLES);\n\n const options: Option[] = [];\n\n if (rolesData && rolesData.getRoles) {\n rolesData.getRoles.forEach((element: Role) => {\n if (element.roleId !== null) {\n const id = element.roleId;\n const displayName = element && element.roleName ? element.roleName : '';\n\n options.push({\n id: id,\n name: displayName,\n });\n }\n });\n }\n document.title = 'Users';\n\n if (!canEditUsers && !isCustomerService) {\n return ;\n }\n\n const inputCustomerList = {\n search: '',\n customerId: 0,\n };\n\n const inputVariable = {\n input: inputCustomerList,\n };\n\n const onSelectCustomer = e => {\n setSelectedCustomerId(Number(e.target.value));\n };\n\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n if (error) {\n return ;\n }\n\n const users: B2CUser[] = [];\n\n if (data && data.getB2CUserFiltered && data.getB2CUserFiltered.length !== 0) {\n data.getB2CUserFiltered.forEach((element: B2CUser | null): void => {\n if (element !== null) {\n users.push(element);\n }\n });\n }\n\n const offset = data && data.getB2CUserFiltered ? data.getB2CUserFiltered.length / PAGE_SIZE : 0;\n\n if (\n offset % 1 !== 0 ||\n (!isEndOfResults && data && data.getB2CUserFiltered && data.getB2CUserFiltered.length < PAGE_SIZE)\n ) {\n // If offset is not a whole number, the end of the results has been reached. (8/22/19) - BS\n setIsEndOfResults(true);\n }\n\n return (\n
\n
\n
\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n if (error) {\n return ;\n } else {\n const customerUsers: Customer[] = [];\n\n if (\n data &&\n data.getAllCustomerList &&\n data.getAllCustomerList.length !== 0\n ) {\n data.getAllCustomerList.forEach((element: Customer | null): void => {\n if (element !== null) {\n customerUsers.push(element);\n }\n });\n }\n return (\n
\n onSelectCustomer(e)}\n value={selectedCustomerId}\n >\n \n {customerUsers.map((customer: any, index) => (\n \n {customer.customerName}\n \n ))}\n \n
\n );\n }\n }}\n \n \n
\n
\n {canEditUsers && (\n {\n setShowAddUserModal(true);\n errorMessage && setErrorMessage('');\n setModalForm(ModalForm.ADD_USER);\n }}\n >\n add_circle\n Create New User\n
\n )}\n
\n
\n
\n
\n
Name
\n
Email
\n
Role
\n
Customer Parent
\n
Customer Parent JDE ID
\n
Status
\n
Actions
\n
\n {loading && (\n
\n \n
\n )}\n\n {users.length > 0 && (\n {\n console.log('on edit user', user);\n setShowAddUserModal(true);\n errorMessage && setErrorMessage('');\n setModalForm(ModalForm.EDIT_USER);\n selectedUser = user;\n }}\n onDelete={onDelete}\n onLoadMore={() =>\n fetchMore({\n variables: {\n offset,\n },\n updateQuery: (prev, { fetchMoreResult }) => {\n if (\n prev &&\n fetchMoreResult &&\n prev.getB2CUserFiltered &&\n fetchMoreResult.getB2CUserFiltered\n ) {\n return Object.assign({}, prev, {\n getB2CUserFiltered: [\n ...prev.getB2CUserFiltered,\n ...fetchMoreResult.getB2CUserFiltered,\n ],\n });\n } else {\n return prev;\n }\n },\n })\n }\n />\n )}\n \n \n
\n \n );\n }}\n
\n );\n};\n\nexport default Users;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport './BillsLadingHeader.scss';\n\nimport { useStoreContext } from '../../App/StoreProvider';\nimport CustomerDropDown from '../CustomerDropDown';\n\nexport enum SortOrder {\n ASCENDING = 'ASCENDING',\n DESCENDING = 'DESCENDING',\n}\n\nconst BillsLadingHeader = ({ onDownloadBols, onPrintBols, onDownloadInvoices }: any): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n bol: { searchPhrase, fromDate, toDate, bolNumber, pickupLocation, region, wellName, scaleTicket },\n customerList: { customer },\n } = state;\n\n const onDownloadExcel = (e): void => {\n console.log('onDownloadExcel');\n console.log(\n 'BillsLadingHeader - customer',\n customer,\n 'process.env.REACT_APP_API_URL,',\n process.env.REACT_APP_API_URL,\n 'process.env.REACT_APP_AUTHORITY_URL',\n process.env.REACT_APP_AUTHORITY_URL,\n );\n const queryparams = `?Customer=${customer}&SearchString=${searchPhrase}&FromDate=${\n fromDate ? fromDate : ''\n }&Todate=${toDate ? toDate : ''}&PageSize=0&bolNumber=${bolNumber}&pickupLocation=${pickupLocation}\n ®ion=${region}&wellName=${wellName}&scaleTicket=${scaleTicket}`;\n window.open(`${process.env.REACT_APP_API_URL}BOL/ExportBol${queryparams}`, '_blank');\n };\n\n return (\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n );\n};\n\nexport default BillsLadingHeader;\n","import React, { FC, createElement } from 'react';\nimport { useAuthContext } from '../AuthProvider';\nimport { Route, Redirect } from 'react-router-dom';\nimport { Loading } from '../../_common';\nimport { useStoreContext } from '../../App/StoreProvider';\n\ninterface PrivateRouteProps {\n component: FC;\n path: string;\n exact: boolean;\n}\n\nconst PrivateRoute: FC = ({ component, ...rest }: PrivateRouteProps): JSX.Element => {\n const { userManager } = useAuthContext();\n const [{ auth }] = useStoreContext();\n\n const routeComponent = (props: any): JSX.Element => {\n if (auth.user && !auth.user.expired) {\n return createElement(component, props);\n } else {\n userManager.removeUser();\n userManager.clearStaleState();\n\n return (\n \n );\n }\n };\n\n return !auth.isUserLoading ? : ;\n};\n\nexport default PrivateRoute;\n","import React, { FC } from 'react';\nimport * as AuthActions from '../../../store/actions/auth';\nimport { useAuthContext } from '../AuthProvider';\nimport { useStoreContext } from '../../App/StoreProvider';\n\nconst SilentRenew: FC = () => {\n const { userManager } = useAuthContext();\n const [, dispatch] = useStoreContext();\n userManager\n .signinSilentCallback()\n .then(user => {\n if (user) dispatch(AuthActions.userLoaded(user));\n })\n .catch((err): void => {\n console.log(err);\n });\n return ;\n};\n\nexport default SilentRenew;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { useAuthContext } from '../../Auth/AuthProvider';\nimport { PermissionEnum } from '../../../types/PermissionEnum';\n\nimport { GET_ALL_CUSTOMERSLIST } from '../../../graphql/client/queries';\nimport { useQuery } from 'react-apollo';\nimport { Error } from '../../_common';\nimport { useStoreContext } from '../../App/StoreProvider';\nimport * as CustomerListActions from '../../../store/actions/customerList';\nimport { Alert } from 'react-bootstrap';\nimport { useHistory } from 'react-router';\n\nconst toasterOptions = { duration: 2500 };\n\nconst CustomerDropDown = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const authContext = useAuthContext();\n const {\n auth: { user },\n customerList: { customerList, customer },\n } = state;\n const opsCustomer = authContext.userHasPermission(PermissionEnum.Customer);\n let selectedCustomer = 0;\n const userProfile = user.profile;\n if (opsCustomer && customer === 0 && userProfile && userProfile.role === 'Customer') {\n console.log('CustomerDropDown - opsCustomer', opsCustomer, user);\n const userProfile = user.profile;\n const customerId = userProfile.Customer;\n selectedCustomer = Number(customerId);\n dispatch(CustomerListActions.setCustomerID(selectedCustomer));\n }\n\n const onSelectCustomer = (e): any => {\n console.log('onSelectCustomer', e);\n dispatch(CustomerListActions.setCustomerID(Number(e.target.value)));\n };\n\n const input = {\n search: '',\n customerId: opsCustomer ? selectedCustomer : 0,\n };\n\n const history = useHistory();\n const navigateToMaintainence = () => {\n history.push(`/maintenance`);\n };\n\n const renderToast = (message, type = 'info') => {\n interface ToastProps {\n onClose?: () => void;\n }\n const Comp = (props: ToastProps) => {\n return (\n \n {message}\n \n );\n };\n\n Comp.displayName = 'toast';\n return Comp;\n };\n\n const { data, loading, error } = useQuery(GET_ALL_CUSTOMERSLIST, {\n variables: { input },\n skip:\n customerList.length > 0 ||\n (opsCustomer && customer === 0 && userProfile && userProfile.role === 'Customer'),\n });\n\n if (customerList.length === 0 && data && data.getAllCustomerList && data.getAllCustomerList.length !== 0) {\n const customerusersData = data.getAllCustomerList;\n dispatch(CustomerListActions.setCustomerList(customerusersData));\n }\n\n if (error) {\n console.log('erroe', error);\n return (\n
\n \n onSelectCustomer(e)}\n disabled={opsCustomer && userProfile && userProfile.role === 'Customer'}\n value={customer}\n >\n \n {customerList.map((customer: any, index) => (\n \n ))}\n \n
\n );\n } else {\n if (data && data.getAllCustomerList && data.getAllCustomerList.length !== 0) {\n return (\n onSelectCustomer(e)}\n disabled={opsCustomer && userProfile && userProfile.role === 'Customer'}\n value={customer}\n >\n \n {data.getAllCustomerList.map((customer, index) => (\n \n ))}\n \n );\n } else {\n return (\n onSelectCustomer(e)}\n disabled={opsCustomer && userProfile && userProfile.role === 'Customer'}\n value={customer}\n >\n \n {customerList.map((customer: any, index) => (\n \n ))}\n \n );\n }\n }\n};\n\nexport default CustomerDropDown;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport './InvoicesHeader.scss';\n\nimport { useStoreContext } from '../../App/StoreProvider';\nimport CustomerDropDown from '../CustomerDropDown';\n\nexport enum SortOrder {\n ASCENDING = 'ASCENDING',\n DESCENDING = 'DESCENDING',\n}\n\nconst InvoicesHeader = ({ onDownloadInvoices, onPrintInvoices }: any): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n invoice: { searchString, fromDate, toDate, addressNumber, invoiceStatus, poNumber },\n customerList: { customer },\n } = state;\n\n const onDownloadExcel = (e): void => {\n console.log('onDownloadExcel');\n console.log(\n 'PurchaseOrdersHeader - customer',\n customer,\n 'process.env.REACT_APP_API_URL,',\n process.env.REACT_APP_API_URL,\n 'process.env.REACT_APP_AUTHORITY_URL',\n process.env.REACT_APP_AUTHORITY_URL,\n );\n const queryparams = `?Customer=${customer}&SearchString=${searchString}&FromDate=${\n fromDate ? fromDate : ''\n }&Todate=${toDate ? toDate : ''}&PageSize=0&poNumber=${poNumber}&invoiceStatus=${invoiceStatus}`;\n window.open(`${process.env.REACT_APP_API_URL}Invoice/ExportInvoice${queryparams}`, '_blank');\n };\n\n return (\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n );\n};\n\nexport default InvoicesHeader;\n","import './Filter.scss';\nimport React, { useEffect, useState } from 'react';\nimport Button from 'react-bootstrap/Button';\nimport { Error, Loading } from '../_common';\nimport { Query, QueryResult } from 'react-apollo';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as BOLActions from '../../store/actions/bol';\nimport {\n GetBolPickUpLocationList_getBolPickUpLocationList as BolPickUpLocation,\n GetBolPickUpLocationList,\n} from '../../types/schemaTypes';\nimport { GET_ALL_BOL_PICKUPLOCATION_LIST } from '../../graphql/client/queries';\n\ninterface JobFiltersProps {\n abortRequest: () => void;\n onFilterToggle: () => void;\n}\n\nexport const BillsLadingFilters = ({ abortRequest, onFilterToggle }: JobFiltersProps): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n bol: {\n searchPhrase,\n fromDate,\n toDate,\n bolNumber,\n region,\n wellName,\n scaleTicket,\n poNo,\n invoiceNo,\n pickupLocation,\n },\n customerList: { customer },\n } = state;\n const search: React.Ref = React.createRef();\n const searchBOL: React.Ref = React.createRef();\n const searchPO: React.Ref = React.createRef();\n const searchWellName: React.Ref = React.createRef();\n const searchAltBOL: React.Ref = React.createRef();\n const searchInvoice: React.Ref = React.createRef();\n\n const [filter_searchPhrase, setSearchPhrase] = useState(searchPhrase);\n const [filter_fromDate, setFromDate] = useState(fromDate);\n const [filter_toDate, setToDate] = useState(toDate);\n const [filter_bolNumber, setBOLNumber] = useState(bolNumber);\n const [filter_region, setRegion] = useState(region);\n const [filter_wellName, setWellName] = useState(wellName);\n const [filter_scaleTicket, setScaleTicket] = useState(scaleTicket);\n const [filter_poNo, setPoNo] = useState(poNo);\n const [filter_invoiceNo, setInvoiceNo] = useState(invoiceNo);\n const [filter_pickupLocation, setPickupLocation] = useState(pickupLocation);\n const [isApplyFilterClicked, setIsApplyFilterClicked] = useState(false);\n\n // useEffect(() => {\n // setSearchPhrase('');\n // setFromDate(null);\n // setToDate(null);\n // setBOLNumber('');\n // setRegion('0');\n // setWellName('');\n // setScaleTicket('');\n // setPoNo('');\n // setInvoiceNo('');\n // setPickupLocation(0);\n // // resetFilters();\n // }, []);\n\n useEffect(() => {\n setSearchPhrase('');\n // setFromDate(null);\n // setToDate(null);\n setBOLNumber('');\n setRegion('0');\n setWellName('');\n setScaleTicket('');\n setPoNo('');\n setInvoiceNo('');\n setPickupLocation(0);\n }, [customer]);\n\n useEffect(() => {\n setPoNo(poNo);\n }, [poNo]);\n\n useEffect(() => {\n setFromDate(fromDate);\n }, [fromDate]);\n\n useEffect(() => {\n setToDate(toDate);\n }, [toDate]);\n\n useEffect(() => {\n setBOLNumber(bolNumber);\n }, [bolNumber]);\n\n const updateSearchPhrase = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const searchPhrase = search && search.current ? search.current.value : '';\n // dispatch(BOLActions.setFilterValue(searchPhrase, BOLActions.Actions.FILTER_SEARCHSTRING));\n }\n };\n\n const onSearchPhraseChange = (e): void => {\n console.log('onSearchPhraseChange', e.target.value);\n setSearchPhrase(e.target.value);\n };\n\n const updateSearchBOL = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchBOL && searchBOL.current ? searchBOL.current.value : '';\n // dispatch(BOLActions.setFilterValue(search, BOLActions.Actions.FILTER_BOLNUMBER));\n }\n };\n\n const onBOLChange = (e): void => {\n console.log('onBOLChange', e.target.value);\n setBOLNumber(e.target.value);\n };\n\n const updateSearchInvoice = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchInvoice && searchInvoice.current ? searchInvoice.current.value : '';\n // dispatch(BOLActions.setFilterValue(search, BOLActions.Actions.FILTER_INVOICE));\n }\n };\n\n const onInvoiceChange = (e): void => {\n console.log('onInvoiceChange', e.target.value);\n setInvoiceNo(e.target.value);\n };\n\n const updateSearchPO = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchPO && searchPO.current ? searchPO.current.value : '';\n // dispatch(BOLActions.setFilterValue(search, BOLActions.Actions.FILTER_PONO));\n }\n };\n\n const onPOChange = (e): void => {\n console.log('onPOChange', e.target.value);\n setPoNo(e.target.value);\n };\n\n const updateSearchWellName = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchWellName && searchWellName.current ? searchWellName.current.value : '';\n // dispatch(BOLActions.setFilterValue(search, BOLActions.Actions.FILTER_WELLNAME));\n }\n };\n\n const onWellNameChange = (e): void => {\n console.log('onWellNameChange', e.target.value);\n setWellName(e.target.value);\n };\n\n const updateSearchAltBol = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchAltBOL && searchAltBOL.current ? searchAltBOL.current.value : '';\n // dispatch(BOLActions.setFilterValue(search, BOLActions.Actions.FILTER_ALTBOL));\n }\n };\n\n const onScaleTicketChange = (e): void => {\n console.log('onScaleTicketChange', e.target.value);\n setScaleTicket(e.target.value);\n };\n\n const onChange = (e): void => {\n console.log('onChange', e.target.value);\n };\n\n const onFromDateChange = (e): void => {\n console.log('onFromDateChange', e.target.value);\n // if (e.target.value !== '') {\n setFromDate(e.target.value);\n // dispatch(BOLActions.setFilterValue(e.target.value, BOLActions.Actions.FILTER_FROMDATE_SELECT));\n // }\n };\n\n const onToDateChange = (e): void => {\n console.log('onToDateChange', e.target.value);\n // if (e.target.value !== '') {\n setToDate(e.target.value);\n // dispatch(BOLActions.setFilterValue(e.target.value, BOLActions.Actions.FILTER_TODATE_SELECT));\n // }\n };\n\n const [activeKey, setActiveKey] = useState('0');\n\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n document.body.classList.toggle('hide-sidebar', isOpen);\n }, [isOpen]);\n\n const onRegionChanges = (e): void => {\n console.log('onRegionChanges', e.target.value);\n setRegion(e.target.value);\n // dispatch(BOLActions.setFilterValue(e.target.value, BOLActions.Actions.FILTER_REGION));\n };\n\n const onPickupLocationChanges = (e): void => {\n console.log('onPickupLocationChanges', e.target.value);\n setPickupLocation(e.target.value);\n // dispatch(BOLActions.setFilterValue(e.target.value, BOLActions.Actions.FILTER_PICKUPLOCATION));\n };\n\n const applyFilters = () => {\n setIsApplyFilterClicked(true);\n if (filter_fromDate && filter_toDate) {\n dispatch(\n BOLActions.setFilterValue(\n {\n searchPhrase: filter_searchPhrase,\n fromDate: filter_fromDate,\n toDate: filter_toDate,\n bolNumber: filter_bolNumber,\n invoiceNo: filter_invoiceNo,\n region: filter_region,\n pickupLocation: Number(filter_pickupLocation),\n wellName: filter_wellName,\n scaleTicket: filter_scaleTicket,\n poNo: filter_poNo,\n },\n BOLActions.Actions.BOL_FILTER_ACTION_APPLYFILTER,\n ),\n );\n }\n };\n\n const resetFilters = () => {\n setIsApplyFilterClicked(false);\n setSearchPhrase('');\n setFromDate(null);\n setToDate(null);\n setBOLNumber('');\n setRegion('0');\n setWellName('');\n setScaleTicket('');\n setPoNo('');\n setInvoiceNo('');\n setPickupLocation(0);\n //dispatch(BOLActions.setFilterValue('', BOLActions.Actions.BOL_FILTER_ACTION_RESETFILTER));\n };\n\n const variables = {\n input: {\n searchString: searchPhrase,\n customer,\n fromDate,\n toDate,\n bolNumber,\n pickupLocation: 0,\n region,\n wellName,\n },\n };\n\n return (\n
\n
\n {/*\n \n */}\n\n
\n
\n
\n
\n
\n

Bills of Lading Inquiry

\n setIsOpen(!isOpen)}\n >\n swap_horiz\n \n
\n
\n
\n
\n
\n
\n search\n onSearchPhraseChange(e)}\n onKeyDown={(e): void => updateSearchPhrase(e)}\n />\n
\n
\n
\n
\n \n onPOChange(e)}\n onKeyDown={(e): void => updateSearchPO(e)}\n />\n
\n
\n
\n
\n
\n
\n \n onBOLChange(e)}\n onKeyDown={(e): void => updateSearchBOL(e)}\n />\n
\n
\n
\n
\n \n onInvoiceChange(e)}\n onKeyDown={(e): void => updateSearchInvoice(e)}\n />\n
\n
\n
\n
\n
\n
\n \n onFromDateChange && onFromDateChange(e)}\n />\n {isApplyFilterClicked && !filter_fromDate && (\n \n )}\n
\n
\n
\n
\n \n onToDateChange && onToDateChange(e)}\n />\n {isApplyFilterClicked && !filter_toDate && (\n \n )}\n
\n
\n
\n\n
\n
\n
\n \n onRegionChanges(e)}\n >\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n {customer !== 0 ? (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult<\n GetBolPickUpLocationList | undefined\n >): JSX.Element | null => {\n const bolPickUpLocationList: BolPickUpLocation[] = [];\n // if (error) {\n // return ;\n // } else {\n\n if (\n data &&\n data.getBolPickUpLocationList &&\n data.getBolPickUpLocationList.length !== 0\n ) {\n data.getBolPickUpLocationList.forEach(\n (element: BolPickUpLocation | null): void => {\n if (element !== null) {\n bolPickUpLocationList.push(element);\n }\n },\n );\n // console.log('bolPickUpLocationList', bolPickUpLocationList);\n }\n // }\n return (\n onPickupLocationChanges(e)}\n value={filter_pickupLocation}\n >\n \n {bolPickUpLocationList.map((prd, index) => (\n \n {prd.pickUpLocation}\n \n ))}\n \n );\n }}\n \n ) : (\n \n )}\n
\n
\n
\n
\n
\n
\n \n onWellNameChange(e)}\n onKeyDown={(e): void => updateSearchWellName(e)}\n />\n
\n
\n
\n
\n \n onScaleTicketChange(e)}\n onKeyDown={(e): void => updateSearchAltBol(e)}\n />\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport { Query, QueryResult, useQuery, useLazyQuery } from 'react-apollo';\nimport './BillsLading.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Error, Loading } from '../_common';\nimport BillsLadingHeader from '../Header/BillsLadingHeader';\nimport { Routes } from '../../utils';\nimport { BillsLadingFilters } from '../Filter/BillsLadingFilter';\nimport { useStoreContext } from '../App/StoreProvider';\n\nimport Paper from '@mui/material/Paper';\nimport {\n SortingState,\n IntegratedSorting,\n SelectionState,\n IntegratedSelection,\n PagingState,\n IntegratedPaging,\n CustomPaging,\n} from '@devexpress/dx-react-grid';\nimport {\n Grid,\n DragDropProvider,\n Table,\n TableHeaderRow,\n TableColumnReordering,\n TableSelection,\n PagingPanel,\n TableColumnResizing,\n ColumnChooser,\n Toolbar,\n TableColumnVisibility,\n} from '@devexpress/dx-react-grid-material-ui';\nimport { alpha, styled } from '@mui/material';\n\nimport { GetBolList_getBolList as Bol, GetBolList } from '../../types/schemaTypes';\nimport { GET_ALL_BOL_LIST, CHECK_BOL_FILE_EXISTS } from '../../graphql/client/queries';\nimport * as BOLActions from '../../store/actions/bol';\n\nconst PREFIX = 'BL';\n\nconst classes = {\n tableStriped: `${PREFIX}-tableStriped`,\n};\nconst $grey = '#333';\nconst StyledTable = styled(Table.Table)(({ theme }) => ({\n [`&.${classes.tableStriped}`]: {\n '& tbody tr:nth-of-type(odd)': {\n backgroundColor: alpha($grey, 0.015),\n },\n },\n}));\n\nconst TableComponent = props => ;\n\nconst BillsLading: FC = (): JSX.Element => {\n // TODO: Move local state to jobListReducer\n const [state, dispatch] = useStoreContext();\n const {\n bol: {\n searchPhrase,\n fromDate,\n toDate,\n bolNumber,\n pickupLocation,\n region,\n wellName,\n scaleTicket,\n poNo,\n invoiceNo,\n },\n customerList: { customer },\n } = state;\n const [listHeight, setListHeight] = useState(window.screen.height);\n const abortController = new AbortController();\n let currentOffSet = 0;\n\n const [columns] = useState([\n { name: 'bolNo', title: 'BOL#' },\n { name: 'alternateBOLNumber', title: 'Alt BOL#' },\n { name: 'pickUpLocation', title: 'Pick Up Location' },\n // { name: 'parentName', title: 'Customer' },\n { name: 'quantityShipped', title: 'Quantity Shipped' },\n { name: 'uom', title: 'UoM' },\n { name: 'product', title: 'Product' },\n { name: 'poNo', title: 'PO#' },\n { name: 'shipDate', title: 'Ship Date' },\n { name: 'invoiceNo', title: 'Invoice#' },\n //{ name: 'invoiceType', title: 'Invoice Type' },\n { name: 'vehicleNo', title: 'Rail or Vehicle#' },\n { name: 'wellName', title: 'Well Name' },\n { name: 'scaleTicket', title: 'Scale Ticket#' },\n { name: 'coa', title: 'COA' },\n ]);\n\n const [columnOrder, setColumnOrder] = useState([\n 'bolNo',\n 'alternateBOLNumber',\n 'invoiceNo',\n 'pickUpLocation',\n 'quantityShipped',\n 'uom',\n 'product',\n 'poNo',\n 'shipDate',\n 'vehicleNo',\n 'wellName',\n 'scaleTicket',\n 'coa',\n ]);\n\n const [defaultColumnWidths] = useState([\n { columnName: 'bolNo', width: 100 },\n { columnName: 'alternateBOLNumber', width: 100 },\n { columnName: 'pickUpLocation', width: 100 },\n // { columnName: 'parentName', width: 180 },\n { columnName: 'quantityShipped', width: 100 },\n { columnName: 'uom', width: 100 },\n { columnName: 'product', width: 100 },\n { columnName: 'poNo', width: 100 },\n { columnName: 'shipDate', width: 100 },\n { columnName: 'invoiceNo', width: 100 },\n //{ columnName: 'invoiceType', width: 100 },\n { columnName: 'vehicleNo', width: 100 },\n { columnName: 'wellName', width: 100 },\n { columnName: 'scaleTicket', width: 100 },\n { columnName: 'coa', width: 100 },\n ]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [pageSizes] = useState([10, 20, 30, 50]);\n const currentFilters = useRef({});\n const bolListData = useRef({});\n const [selection, setSelection] = React.useState>([]);\n const [sorting, setSorting] = useState([{ columnName: 'shipDate', direction: 'desc' }]);\n const [isLoadData, setIsLoadData] = useState(false);\n\n const abortRequest = (): void => {\n abortController.abort();\n };\n\n const setListContainerHeight = (): void => {\n const filterDiv = document.getElementById('jobsFilterContainer');\n const listDiv = document.getElementById('jobsListContainer');\n\n let filterHeight = 0;\n // setTimeout in place to avoid animation miscalculations\n setTimeout(() => {\n if (filterDiv) {\n filterHeight = filterDiv.scrollHeight;\n }\n if (listDiv) {\n setListHeight(Math.min(filterHeight));\n }\n }, 100);\n };\n document.title = 'Bills of Lading Inquiry';\n\n currentOffSet = currentPage;\n if (\n currentFilters &&\n (currentFilters.current['searchPhrase'] !== searchPhrase ||\n currentFilters.current['fromDate'] !== fromDate ||\n currentFilters.current['toDate'] !== toDate ||\n currentFilters.current['customer'] !== customer ||\n currentFilters.current['bolNumber'] !== bolNumber ||\n currentFilters.current['pickupLocation'] !== pickupLocation ||\n currentFilters.current['region'] !== region ||\n currentFilters.current['wellName'] !== wellName ||\n currentFilters.current['scaleTicket'] !== scaleTicket ||\n currentFilters.current['poNo'] !== poNo ||\n currentFilters.current['invoiceNo'] !== invoiceNo)\n ) {\n currentOffSet = 0;\n setCurrentPage(0);\n setSelection([]);\n }\n\n // useEffect(() => {\n // dispatch(BOLActions.setFilterValue('', BOLActions.Actions.BOL_FILTER_ACTION_RESETFILTER));\n // setIsLoadData(true);\n // }, []);\n\n const variables = {\n input: {\n searchString: searchPhrase,\n customer,\n fromDate,\n toDate,\n bolNumber,\n pickupLocation,\n region,\n wellName,\n scaleTicket,\n pageSize,\n offSet: currentOffSet,\n sortParam: sorting[0].columnName,\n sortDirection: sorting[0].direction,\n poNo,\n invoiceNumber: invoiceNo,\n },\n };\n\n // console.log('BillsLading variables', variables);\n currentFilters.current = {\n searchPhrase,\n customer,\n fromDate,\n toDate,\n bolNumber,\n pickupLocation,\n region,\n wellName,\n scaleTicket,\n poNo,\n invoiceNo,\n };\n\n // const [checkIsBolFileExistsInBE, { loading, error, data }] = useLazyQuery(CHECK_BOL_FILE_EXISTS);\n // const { data, loading, error } = useQuery(CHECK_BOL_FILE_EXISTS, { variables: { selectedValue } });\n\n const onDownloadBol = () => {\n console.log('onDownloadBol - selection', selection);\n if (selection.length > 0) {\n let bolNos = '';\n selection.forEach(element => {\n bolNos =\n bolNos === ''\n ? bolListData.current[element].bolNo\n : bolNos + ',' + bolListData.current[element].bolNo;\n });\n console.log('onDownloadBol - bolNos', bolNos);\n console.log(\n 'BillsLadingHeader - customer',\n customer,\n 'process.env.REACT_APP_API_URL,',\n process.env.REACT_APP_API_URL,\n 'process.env.REACT_APP_AUTHORITY_URL',\n process.env.REACT_APP_AUTHORITY_URL,\n );\n const queryparams = `?bolNo=${bolNos}`;\n window.open(`${process.env.REACT_APP_API_URL}BOL/DownloadBol${queryparams}`, '_blank');\n }\n };\n\n const onPrintBol = () => {\n if (selection.length > 0) {\n let bolNos = '';\n selection.forEach(element => {\n bolNos =\n bolNos === ''\n ? bolListData.current[element].bolNo\n : bolNos + ',' + bolListData.current[element].bolNo;\n });\n const queryparams = `?bolNo=${bolNos}`;\n window.open(`${process.env.REACT_APP_API_URL}BOL/PrintBol${queryparams}`, '_blank');\n }\n };\n\n const onDownloadInvoice = () => {\n if (selection.length > 0) {\n let invoiceNo = '';\n selection.forEach(element => {\n invoiceNo =\n invoiceNo === ''\n ? bolListData.current[element].invoiceNo\n : invoiceNo + ',' + bolListData.current[element].invoiceNo;\n });\n const queryparams = `?invoiceNo=${invoiceNo}`;\n window.open(`${process.env.REACT_APP_API_URL}Invoice/DownloadInvoice${queryparams}`, '_blank');\n }\n };\n\n const onPageNumberChanges = count => {\n setSelection([]);\n setCurrentPage(0);\n setPageSize(count);\n console.log('onPageNumberChanges', count);\n };\n\n const onPageChanges = count => {\n setSelection([]);\n setCurrentPage(count);\n console.log('onPageChanges', count);\n };\n\n if (customer) {\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n const bolList: Bol[] = [];\n let totalRowsCount = 0;\n // if (error) {\n // return ;\n // } else {\n\n if (data && data.getBolList && data.getBolList.length !== 0) {\n // totalRowsCount = data.getBolList[0].totalRecordsCount;\n data.getBolList.forEach((element: Bol | null): void => {\n if (element !== null) {\n totalRowsCount = Number(element.totalRecordsCount);\n bolList.push(element);\n }\n });\n // console.log('bolList', bolList);\n bolListData.current = bolList;\n }\n // }\n\n return (\n
\n {error && }\n \n
\n \n
\n
\n
\n {loading && (\n
\n \n
\n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }}\n \n );\n } else {\n return (\n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n};\n\nexport default BillsLading;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport './PurchaseOrdersHeader.scss';\n\nimport { useStoreContext } from '../../App/StoreProvider';\nimport CustomerDropDown from '../CustomerDropDown/CustomerDropDown';\n\nexport enum SortOrder {\n ASCENDING = 'ASCENDING',\n DESCENDING = 'DESCENDING',\n}\n\nconst PurchaseOrdersHeader = ({ onLoadRelatedBols }: any): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n purchaseOrder: { searchPhrase, fromDate, toDate, product },\n customerList: { customer },\n } = state;\n const variables = {\n input: '',\n };\n\n // const onLoadRelatedBols = (e) => {\n // console.log('onLoadRelatedBols');\n // // state.history.push('/some/path')\n // // return ();\n // // \n // }\n\n const onDownloadExcel = (e): void => {\n console.log('onDownloadExcel');\n console.log(\n 'PurchaseOrdersHeader - customer',\n customer,\n 'process.env.REACT_APP_API_URL,',\n process.env.REACT_APP_API_URL,\n 'process.env.REACT_APP_AUTHORITY_URL',\n process.env.REACT_APP_AUTHORITY_URL,\n );\n const queryparams = `?Customer=${customer}&SearchString=${searchPhrase}&FromDate=${\n fromDate ? fromDate : ''\n }&Todate=${toDate ? toDate : ''}&PageSize=0&Product=${product}`;\n window.open(`${process.env.REACT_APP_API_URL}PurchaseOrder/ExportPurchaseOrder${queryparams}`, '_blank');\n };\n\n return (\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n );\n};\n\nexport default PurchaseOrdersHeader;\n","import './Filter.scss';\nimport React, { useEffect, useState } from 'react';\nimport Button from 'react-bootstrap/Button';\nimport { Error, Loading } from '../_common';\nimport { Query, QueryResult } from 'react-apollo';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as InvoiceActions from '../../store/actions/invoice';\n\ninterface JobFiltersProps {\n abortRequest: () => void;\n onFilterToggle: () => void;\n}\n\nexport const InvoicesFilters = ({ abortRequest, onFilterToggle }: JobFiltersProps): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n invoice: { searchString, fromDate, toDate, invoiceStatus, poNumber, invoiceNumber },\n customerList: { customer },\n } = state;\n const search: React.Ref = React.createRef();\n const searchPO: React.Ref = React.createRef();\n const searchInvoice: React.Ref = React.createRef();\n\n const [filter_searchString, setSearchString] = useState(searchString);\n const [filter_invoiceStatus, setInvoiceStatus] = useState(invoiceStatus);\n const [filter_poNumber, setPONumber] = useState(poNumber);\n const [filter_fromDate, setFromDate] = useState(fromDate);\n const [filter_toDate, setToDate] = useState(toDate);\n const [filter_invoiceNumber, setinvoiceNumber] = useState(invoiceNumber);\n const [isApplyFilterClicked, setIsApplyFilterClicked] = useState(false);\n\n useEffect(() => {\n console.log('useEffect - customer', customer);\n setSearchString('');\n setInvoiceStatus(0);\n setPONumber('');\n // setFromDate(null);\n // setToDate(null);\n setinvoiceNumber('');\n }, [customer]);\n\n useEffect(() => {\n setSearchString(searchString);\n }, [searchString]);\n\n useEffect(() => {\n setInvoiceStatus(invoiceStatus);\n }, [invoiceStatus]);\n\n useEffect(() => {\n setPONumber(poNumber);\n }, [poNumber]);\n\n useEffect(() => {\n setFromDate(fromDate);\n }, [fromDate]);\n\n useEffect(() => {\n setToDate(toDate);\n }, [toDate]);\n\n useEffect(() => {\n setinvoiceNumber(invoiceNumber);\n }, [invoiceNumber]);\n\n const updateSearchPhrase = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const searchPhrase = search && search.current ? search.current.value : '';\n // dispatch(InvoiceActions.setFilterValue(searchPhrase, InvoiceActions.Actions.FILTER_SEARCHSTRING));\n }\n };\n\n const onSearchChange = (e): void => {\n console.log('onSearchChange', e.target.value);\n setSearchString(e.target.value);\n };\n\n const updateSearchPO = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchPO && searchPO.current ? searchPO.current.value : '';\n // dispatch(InvoiceActions.setFilterValue(search, InvoiceActions.Actions.FILTER_PONUMBER));\n }\n };\n\n const onPOChange = (e): void => {\n console.log('onPOChange', e.target.value);\n setPONumber(e.target.value);\n };\n\n const updateSearchInvoice = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchInvoice && searchInvoice.current ? searchInvoice.current.value : '';\n // dispatch(InvoiceActions.setFilterValue(search, InvoiceActions.Actions.FILTER_INVOICE));\n }\n };\n\n const onInvoiceChange = (e): void => {\n console.log('onInvoiceChange', e.target.value);\n setinvoiceNumber(e.target.value);\n };\n\n const onChange = (e): void => {\n console.log('onChange', e.target.value);\n };\n\n const onFromDateChange = (e): void => {\n console.log('onFromDateChange', e.target.value);\n // if (e.target.value !== '') {\n setFromDate(e.target.value);\n // dispatch(InvoiceActions.setFilterValue(e.target.value, InvoiceActions.Actions.FILTER_FROMDATE_SELECT));\n // }\n };\n\n const onToDateChange = (e): void => {\n console.log('onToDateChange', e.target.value);\n // if (e.target.value !== '') {\n setToDate(e.target.value);\n // dispatch(InvoiceActions.setFilterValue(e.target.value, InvoiceActions.Actions.FILTER_TODATE_SELECT));\n // }\n };\n\n const [activeKey, setActiveKey] = useState('0');\n\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n document.body.classList.toggle('hide-sidebar', isOpen);\n }, [isOpen]);\n\n const onInvoiceStatusChanges = (e): void => {\n console.log('onInvoiceStatusChanges', e.target.value);\n setInvoiceStatus(Number(e.target.value));\n // dispatch(InvoiceActions.setFilterValue(e.target.value, InvoiceActions.Actions.FILTER_INVOICESTATUS_SELECT));\n };\n\n const applyFilters = () => {\n setIsApplyFilterClicked(true);\n if (filter_fromDate && filter_toDate) {\n dispatch(\n InvoiceActions.setFilterValue(\n {\n searchString: filter_searchString,\n fromDate: filter_fromDate,\n toDate: filter_toDate,\n poNumber: filter_poNumber,\n invoiceNumber: filter_invoiceNumber,\n invoiceStatus: Number(filter_invoiceStatus),\n },\n InvoiceActions.Actions.FILTER_INVOICE_ACTION_APPLYFILTER,\n ),\n );\n }\n };\n\n const resetFilters = () => {\n setIsApplyFilterClicked(false);\n setSearchString('');\n setInvoiceStatus(0);\n setPONumber('');\n setFromDate(null);\n setToDate(null);\n setinvoiceNumber('');\n // dispatch(InvoiceActions.setFilterValue('', InvoiceActions.Actions.FILTER_INVOICE_ACTION_RESETFILTER));\n };\n\n return (\n
\n
\n
\n
\n
\n
\n
\n

Invoice Inquiry

\n setIsOpen(!isOpen)}\n >\n swap_horiz\n \n
\n
\n
\n
\n
\n
\n search\n onSearchChange(e)}\n onKeyDown={(e): void => updateSearchPhrase(e)}\n />\n
\n
\n
\n
\n \n onInvoiceStatusChanges(e)}\n >\n \n \n \n \n
\n
\n
\n
\n
\n
\n \n onPOChange(e)}\n onKeyDown={(e): void => updateSearchPO(e)}\n />\n
\n
\n {/*
\n
\n \n \n
\n
*/}\n
\n
\n
\n
\n \n onInvoiceChange(e)}\n onKeyDown={(e): void => updateSearchInvoice(e)}\n />\n
\n
\n
\n
\n
\n
\n \n onFromDateChange(e)}\n />\n {isApplyFilterClicked && !filter_fromDate && (\n \n )}\n
\n
\n
\n
\n \n onToDateChange(e)}\n />\n {isApplyFilterClicked && !filter_toDate && (\n \n )}\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport './Invoices.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Error, Loading } from '../_common';\nimport InvoicesHeader from '../Header/InvoicesHeader';\nimport { Routes } from '../../utils';\nimport { InvoicesFilters } from '../Filter/InvoicesFilter';\nimport { useStoreContext } from '../App/StoreProvider';\n\nimport Paper from '@mui/material/Paper';\nimport {\n SortingState,\n IntegratedSorting,\n SelectionState,\n IntegratedSelection,\n PagingState,\n IntegratedPaging,\n CustomPaging,\n} from '@devexpress/dx-react-grid';\nimport {\n Grid,\n DragDropProvider,\n Table,\n TableHeaderRow,\n TableColumnReordering,\n TableSelection,\n PagingPanel,\n TableColumnResizing,\n ColumnChooser,\n Toolbar,\n TableColumnVisibility,\n} from '@devexpress/dx-react-grid-material-ui';\nimport { alpha, styled } from '@mui/material';\nimport { GetInvoiceList_getInvoiceList as Invoice, GetInvoiceList } from '../../types/schemaTypes';\nimport { GET_ALL_INVOICE_LIST } from '../../graphql/client/queries';\n\nconst PAGE_SIZE = 50;\n\nconst PREFIX = 'Demo';\n\nconst classes = {\n tableStriped: `${PREFIX}-tableStriped`,\n};\nconst $grey = '#333';\nconst StyledTable = styled(Table.Table)(({ theme }) => ({\n [`&.${classes.tableStriped}`]: {\n '& tbody tr:nth-of-type(odd)': {\n backgroundColor: alpha($grey, 0.015),\n },\n },\n}));\n\nconst TableComponent = props => ;\nconst Invoices: FC = (): JSX.Element => {\n // TODO: Move local state to jobListReducer\n const [state, dispatch] = useStoreContext();\n const {\n invoice: { searchString, fromDate, toDate, addressNumber, invoiceStatus, poNumber, invoiceNumber },\n customerList: { customer },\n } = state;\n const [listHeight, setListHeight] = useState(window.screen.height);\n const abortController = new AbortController();\n let currentOffSet = 0;\n\n const [columns] = useState([\n { name: 'invoiceNo', title: 'Invoice Number' },\n { name: 'poNumber', title: 'PO Number' },\n { name: 'shipName', title: 'Ship Name' },\n { name: 'shipCity', title: 'Ship City' },\n { name: 'invoiceDate', title: 'Invoice Date' },\n { name: 'netDueDate', title: 'Net Due Date' },\n { name: 'closedDate', title: 'Closed Date' },\n { name: 'pastDueDays', title: 'Past Due Days' },\n { name: 'grossAmount', title: 'Gross Amount' },\n { name: 'openAmount', title: 'Open Amount' },\n { name: 'invoiceType', title: 'Invoice Type' },\n { name: 'taxAmount', title: 'Tax' },\n ]);\n\n const [columnOrder, setColumnOrder] = useState([\n 'invoiceType',\n 'invoiceDate',\n 'netDueDate',\n 'closedDate',\n 'pastDueDays',\n 'invoiceNo',\n 'poNumber',\n 'shipName',\n 'shipCity',\n 'taxAmount',\n 'grossAmount',\n 'openAmount',\n ]);\n const [defaultColumnWidths] = useState([\n { columnName: 'invoiceNo', width: 180 },\n { columnName: 'poNumber', width: 180 },\n { columnName: 'shipName', width: 180 },\n { columnName: 'shipCity', width: 180 },\n { columnName: 'invoiceDate', width: 180 },\n { columnName: 'netDueDate', width: 180 },\n { columnName: 'closedDate', width: 180 },\n { columnName: 'pastDueDays', width: 180 },\n { columnName: 'grossAmount', width: 180 },\n { columnName: 'openAmount', width: 180 },\n { columnName: 'invoiceType', width: 180 },\n { columnName: 'taxAmount', width: 180 },\n ]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [pageSizes] = useState([10, 20, 30, 50]);\n const currentFilters = useRef({});\n const invoiceData = useRef({});\n const [selection, setSelection] = React.useState>([]);\n const [sorting, setSorting] = useState([{ columnName: 'invoiceDate', direction: 'desc' }]);\n const abortRequest = (): void => {\n abortController.abort();\n };\n\n const setListContainerHeight = (): void => {\n const filterDiv = document.getElementById('InvoicesContainer');\n const listDiv = document.getElementById('InvoicesContainer');\n\n let filterHeight = 0;\n // setTimeout in place to avoid animation miscalculations\n setTimeout(() => {\n if (filterDiv) {\n filterHeight = filterDiv.scrollHeight;\n }\n if (listDiv) {\n setListHeight(Math.min(filterHeight));\n }\n }, 100);\n };\n currentOffSet = currentPage;\n if (\n currentFilters &&\n (currentFilters.current['searchString'] !== searchString ||\n currentFilters.current['fromDate'] !== fromDate ||\n currentFilters.current['toDate'] !== toDate ||\n currentFilters.current['customer'] !== customer ||\n currentFilters.current['addressNumber'] !== addressNumber ||\n currentFilters.current['invoiceStatus'] !== invoiceStatus ||\n currentFilters.current['poNumber'] !== poNumber ||\n currentFilters.current['invoiceNumber'] !== invoiceNumber)\n ) {\n currentOffSet = 0;\n setCurrentPage(0);\n setSelection([]);\n }\n\n document.title = 'My Invoices';\n const variables = {\n input: {\n searchString,\n customer,\n fromDate,\n toDate,\n addressNumber,\n invoiceStatus,\n pageSize,\n offSet: currentOffSet,\n sortParam: sorting[0].columnName,\n sortDirection: sorting[0].direction,\n invoiceNumber,\n poNumber,\n },\n };\n\n currentFilters.current = {\n searchString,\n customer,\n fromDate,\n toDate,\n addressNumber,\n invoiceStatus,\n invoiceNumber,\n poNumber,\n };\n console.log('variables', variables, 'currentPage', currentPage, 'pageSize', pageSize);\n\n const onDownloadInvoice = () => {\n console.log('onDownloadBol - selection', selection);\n if (selection.length > 0) {\n let invoiceNos = '';\n selection.forEach(element => {\n invoiceNos =\n invoiceNos === ''\n ? invoiceData.current[element].invoiceNo\n : invoiceNos + ',' + invoiceData.current[element].invoiceNo;\n });\n console.log('onDownloadBol - invoiceNos', invoiceNos);\n const queryparams = `?invoiceNo=${invoiceNos}`;\n window.open(`${process.env.REACT_APP_API_URL}Invoice/DownloadInvoice${queryparams}`, '_blank');\n }\n };\n\n const onPrintInvoice = () => {\n console.log('onPrintBol - selection', selection);\n console.log('onDownloadBol - selection', selection);\n if (selection.length > 0) {\n let invoiceNos = '';\n selection.forEach(element => {\n invoiceNos =\n invoiceNos === ''\n ? invoiceData.current[element].invoiceNo\n : invoiceNos + ',' + invoiceData.current[element].invoiceNo;\n });\n console.log('onDownloadBol - invoiceNos', invoiceNos);\n const queryparams = `?invoiceNo=${invoiceNos}`;\n window.open(`${process.env.REACT_APP_API_URL}Invoice/PrintInvoice${queryparams}`, '_blank');\n }\n };\n\n const onPageNumberChanges = count => {\n setSelection([]);\n setCurrentPage(0);\n setPageSize(count);\n console.log('onPageNumberChanges', count);\n };\n\n const onPageChanges = count => {\n setSelection([]);\n setCurrentPage(count);\n console.log('onPageChanges', count);\n };\n\n const Cell = (props: any) => {\n const { column, row, tablerow }: any = props;\n if (column.name === 'grossAmount') {\n const value = row.grossAmount.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n return (\n
\n );\n }\n if (column.name === 'openAmount') {\n const value = row.openAmount.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n return (\n \n );\n }\n if (column.name === 'taxAmount') {\n const value = row.taxAmount.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n return (\n \n );\n }\n return ;\n };\n\n if (customer && customer !== 0) {\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n const invoiceList: Invoice[] = [];\n let totalRowsCount = 0;\n // if (error) {\n // return ;\n // } else {\n\n if (data && data.getInvoiceList && data.getInvoiceList.length !== 0) {\n data.getInvoiceList.forEach((element: Invoice | null): void => {\n if (element !== null) {\n totalRowsCount = Number(element.totalRecordsCount);\n invoiceList.push(element);\n }\n });\n console.log('invoiceList', invoiceList);\n invoiceData.current = invoiceList;\n }\n // }\n\n return (\n
\n {error && }\n \n
\n \n
\n
\n
\n {loading && (\n
\n \n
\n )}\n \n \n \n \n \n \n \n \n
\n ${value}\n \n ${value}\n \n ${value}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }}\n \n );\n } else {\n return (\n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n};\n\nexport default Invoices;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport SearchBar from '../../SearchBar/SearchBar';\nimport './ReportsHeader.scss';\nimport { SearchTypeEnum } from '../../../types/SearchTypeEnum';\nimport { useAuthContext } from '../../Auth/AuthProvider';\nimport { PermissionEnum } from '../../../types/PermissionEnum';\nimport CustomerDropDown from '../CustomerDropDown';\nimport { useStoreContext } from '../../App/StoreProvider';\n\nexport enum SortOrder {\n ASCENDING = 'ASCENDING',\n DESCENDING = 'DESCENDING',\n}\n\nconst ReportsHeader = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n report: { searchString, fromDate, toDate, product, pickupLocation, poNumber },\n customerList: { customer },\n } = state;\n const variables = {\n input: '',\n };\n\n const onDownloadExcel = (e): void => {\n // console.log('onDownloadExcel');\n // console.log('ReportsHeader - customer', customer, 'process.env.REACT_APP_API_URL,', process.env.REACT_APP_API_URL, 'process.env.REACT_APP_AUTHORITY_URL', process.env.REACT_APP_AUTHORITY_URL);\n const queryparams = `?Customer=${customer}&SearchString=${searchString}&FromDate=${\n fromDate ? fromDate : ''\n }&Todate=${\n toDate ? toDate : ''\n }&PageSize=0&Product=${product}&PickupLocation=${pickupLocation}&PONumber=${poNumber}`;\n window.open(`${process.env.REACT_APP_API_URL}Reports/ExportReport${queryparams}`, '_blank');\n };\n\n return (\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n );\n};\n\nexport default ReportsHeader;\n","import './Filter.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport Button from 'react-bootstrap/Button';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as PurchaseOrderActions from '../../store/actions/purchaseOrder';\n\nimport {\n GetPurchaseOrderPickupLocation,\n GetPurchaseOrderPickupLocation_getPurchaseOrderPickupLocation as PurchaseOrderPickupLocation,\n GetPurchaseOrderFilterShipTo,\n GetPurchaseOrderFilterShipTo_getPurchaseOrderFilterShipTo as POFilterShipTo,\n} from '../../types/schemaTypes';\nimport {\n GET_ALL_PURCHASEORDER_PICKUPLOCATION_LIST,\n GET_ALL_PURCHASEORDER_FILTERSHIPTO,\n} from '../../graphql/client/queries';\n\ninterface JobFiltersProps {\n abortRequest: () => void;\n onFilterToggle: () => void;\n}\n\nexport const PurchaseOrderFilters = ({ abortRequest, onFilterToggle }: JobFiltersProps): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n // const { purchaseOrder: { searchPhrase, fromDate, toDate }, customerList: { customer } } = state;\n const {\n purchaseOrder: { searchPhrase, fromDate, toDate, pickupLocation, poNumber, product, orderStatus, shipTo },\n customerList: { customer },\n } = state;\n const search: React.Ref = React.createRef();\n const searchPO: React.Ref = React.createRef();\n\n const [filter_searchPhrase, setSearchPhrase] = useState(searchPhrase);\n const [filter_pickupLocation, setPickupLocation] = useState(pickupLocation);\n const [filter_poNumber, setPONumber] = useState(poNumber);\n const [filter_fromDate, setFromDate] = useState(fromDate);\n const [filter_toDate, setToDate] = useState(toDate);\n const [filter_product, setProduct] = useState(product);\n const [filter_Status, setStatus] = useState(orderStatus);\n const [filter_ShipTo, setShipTo] = useState(shipTo);\n const [isApplyFilterClicked, setIsApplyFilterClicked] = useState(false);\n\n console.log(\n 'purchaseOrder: { searchPhrase, fromDate, toDate, pickupLocation, poNumber, product }',\n searchPhrase,\n fromDate,\n toDate,\n pickupLocation,\n poNumber,\n product,\n );\n\n useEffect(() => {\n console.log('useEffect - customer', customer);\n setSearchPhrase('');\n setPONumber('');\n // setFromDate(null);\n // setToDate(null);\n setProduct('');\n setPickupLocation('');\n setStatus('');\n }, [customer]);\n\n useEffect(() => {\n setPONumber(poNumber);\n }, [poNumber]);\n\n useEffect(() => {\n setFromDate(fromDate);\n }, [fromDate]);\n\n useEffect(() => {\n setToDate(toDate);\n }, [toDate]);\n\n useEffect(() => {\n setProduct(product);\n }, [product]);\n\n useEffect(() => {\n setPickupLocation(pickupLocation);\n }, [pickupLocation]);\n\n useEffect(() => {\n setStatus(orderStatus);\n }, [orderStatus]);\n\n useEffect(() => {\n setShipTo(shipTo);\n }, [shipTo]);\n\n const updateSearchPhrase = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const searchPhrase = search && search.current ? search.current.value : '';\n // setSearchPhrase(searchPhrase);\n // dispatch(PurchaseOrderActions.setSearchPhrase(searchPhrase));\n }\n };\n\n const updateSearchPO = (e: React.KeyboardEvent): any => {\n console.log('updateSearchPO', searchPO);\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchPO && searchPO.current ? searchPO.current.value : '';\n console.log('updateSearchPO', search);\n // setPONumber(search);\n // dispatch(PurchaseOrderActions.setSearchPO(search));\n }\n };\n\n const onChange = (e): void => {\n console.log('onChange', e.target.value);\n };\n\n const onPOChange = (e): void => {\n console.log('filter_searchPhrase', e.target.value);\n setPONumber(e.target.value);\n };\n\n const onSearchChange = (e): void => {\n console.log('onChange', e.target.value);\n setSearchPhrase(e.target.value);\n };\n\n const onFromDateChange = (e): void => {\n console.log('onFromDateChange', e.target.value);\n // setIsApplyFilterClicked(false);\n // if (e.target.value !== '') {\n setFromDate(e.target.value);\n // dispatch(PurchaseOrderActions.setFromDate(e.target.value));\n // }\n };\n\n const onToDateChange = (e): void => {\n console.log('onToDateChange', e.target.value);\n // setIsApplyFilterClicked(false);\n // if (e.target.value !== '') {\n setToDate(e.target.value);\n // dispatch(PurchaseOrderActions.setToDate(e.target.value));\n // }\n };\n\n const [activeKey, setActiveKey] = useState('0');\n\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n document.body.classList.toggle('hide-sidebar', isOpen);\n }, [isOpen]);\n\n const onProductChanges = (e): void => {\n console.log('onProductChanges', e.target.value);\n setProduct(e.target.value);\n // dispatch(PurchaseOrderActions.setProduct(e.target.value));\n };\n\n const onPickUpLocationChanges = (e): void => {\n console.log('onPickUpLocationChanges', e.target.value);\n setPickupLocation(e.target.value);\n // dispatch(PurchaseOrderActions.setpickupLocation(e.target.value));\n };\n\n const onStatusChanges = (e): void => {\n console.log('onStatusChanges', e.target.value);\n setStatus(e.target.value);\n };\n\n const onShipToChange = (e): void => {\n console.log('onShipToChange', e.target.value);\n setShipTo(e.target.value);\n };\n\n const applyFilters = () => {\n console.log(\n 'filter_searchPhrase, filter_pickupLocation, filter_product, filter_fromDate, filter_toDate, filter_poNumber filter_Status',\n filter_searchPhrase,\n filter_pickupLocation,\n filter_product,\n filter_fromDate,\n filter_toDate,\n filter_poNumber,\n filter_Status,\n filter_ShipTo,\n );\n setIsApplyFilterClicked(true);\n if (filter_fromDate && filter_toDate) {\n dispatch(\n PurchaseOrderActions.applyFilters({\n filter_searchPhrase,\n filter_pickupLocation,\n filter_product,\n filter_fromDate,\n filter_toDate,\n filter_poNumber,\n filter_Status,\n filter_ShipTo,\n }),\n );\n }\n };\n\n const resetFilters = () => {\n setIsApplyFilterClicked(false);\n setSearchPhrase('');\n setPONumber('');\n setFromDate(null);\n setToDate(null);\n setProduct('');\n setPickupLocation('');\n setStatus('');\n setShipTo('');\n };\n\n const variables = {\n input: {\n searchString: searchPhrase,\n customer,\n fromDate,\n toDate,\n },\n };\n\n return (\n
\n
\n
\n
\n
\n
\n
\n

Purchase Order Inquiry

\n setIsOpen(!isOpen)}\n >\n swap_horiz\n \n
\n
\n
\n
\n
\n
\n search\n onSearchChange && onSearchChange(e)}\n className=\"SearchBar-Input\"\n ref={search}\n value={filter_searchPhrase}\n // value={state.messageList.searchPhrase}\n onKeyDown={(e): void => updateSearchPhrase(e)}\n autoComplete=\"off\"\n />\n
\n
\n
\n
\n \n {customer !== 0 ? (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult<\n GetPurchaseOrderFilterShipTo | undefined\n >): JSX.Element | null => {\n const purchaseOrderFilterShipTo: POFilterShipTo[] = [];\n console.log(\n 'data-GET_ALL_PURCHASEORDER_FILTERSHIPTO',\n data,\n );\n\n if (\n data &&\n data.getPurchaseOrderFilterShipTo &&\n data.getPurchaseOrderFilterShipTo.length !== 0\n ) {\n data.getPurchaseOrderFilterShipTo.forEach(\n (element: POFilterShipTo | null): void => {\n if (element !== null) {\n // totalRowsCount = Number(element.totalRecordsCount);\n purchaseOrderFilterShipTo.push(element);\n }\n },\n );\n console.log(\n 'purchaseOrderFilterShipTo',\n purchaseOrderFilterShipTo,\n );\n }\n // }\n return (\n onShipToChange(e)}\n >\n \n {purchaseOrderFilterShipTo.map((prd, index) => (\n \n {prd.shipToId} {prd.shipToName}\n \n ))}\n \n );\n }}\n \n ) : (\n \n )}\n
\n
\n
\n
\n
\n
\n \n onPOChange && onPOChange(e)}\n onKeyDown={(e): void => updateSearchPO(e)}\n />\n
\n
\n
\n
\n
\n
\n \n onFromDateChange && onFromDateChange(e)}\n />\n {isApplyFilterClicked && !filter_fromDate && (\n \n )}\n
\n
\n
\n
\n \n onToDateChange && onToDateChange(e)}\n />\n {isApplyFilterClicked && !filter_toDate && (\n \n )}\n
\n
\n
\n
\n
\n
\n \n {customer !== 0 ? (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult<\n GetPurchaseOrderPickupLocation | undefined\n >): JSX.Element | null => {\n const purchaseOrderPickupLocationList: PurchaseOrderPickupLocation[] = [];\n console.log(\n 'data-GET_ALL_PURCHASEORDER_PICKUPLOCATION_LIST',\n data,\n );\n const totalRowsCount = 0;\n // if (error) {\n // return ;\n // } else {\n\n if (\n data &&\n data.getPurchaseOrderPickupLocation &&\n data.getPurchaseOrderPickupLocation.length !== 0\n ) {\n data.getPurchaseOrderPickupLocation.forEach(\n (\n element: PurchaseOrderPickupLocation | null,\n ): void => {\n if (element !== null) {\n // totalRowsCount = Number(element.totalRecordsCount);\n purchaseOrderPickupLocationList.push(\n element,\n );\n }\n },\n );\n console.log(\n 'purchaseOrderPickupLocationList',\n purchaseOrderPickupLocationList,\n );\n }\n // }\n return (\n onPickUpLocationChanges(e)}\n >\n \n {purchaseOrderPickupLocationList.map(\n (prd, index) => (\n \n {prd.pickUpLocation}\n \n ),\n )}\n \n );\n }}\n \n ) : (\n \n )}\n
\n
\n
\n {/*
\n
\n
\n \n {customer !== 0 ? (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult<\n GetPurchaseOrderProductList | undefined\n >): JSX.Element | null => {\n const purchaseOrderProductList: PurchaseOrderProduct[] = [];\n const totalRowsCount = 0;\n // if (error) {\n // return ;\n // }\n if (\n data &&\n data.getPurchaseOrderProductList &&\n data.getPurchaseOrderProductList.length !== 0\n ) {\n data.getPurchaseOrderProductList.forEach(\n (element: PurchaseOrderProduct | null): void => {\n if (element !== null) {\n // totalRowsCount = Number(element.totalRecordsCount);\n purchaseOrderProductList.push(element);\n }\n },\n );\n console.log(\n 'purchaseOrderProductList',\n purchaseOrderProductList,\n );\n }\n return (\n onProductChanges(e)}\n >\n \n {purchaseOrderProductList.map((prd, index) => (\n \n {prd.productName}\n \n ))}\n \n );\n }}\n \n ) : (\n \n )}\n
\n
\n
*/}\n\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport './PurchaseOrders.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Error, Loading } from '../_common';\nimport PurchaseOrdersHeader from '../Header/PurchaseOrdersHeader';\nimport { Routes } from '../../utils';\nimport { PurchaseOrderFilters } from '../Filter/PurchaseOrdersFilter';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as BOLActions from '../../store/actions/bol';\nimport { useHistory, withRouter } from 'react-router';\n\nimport Paper from '@mui/material/Paper';\nimport {\n SortingState,\n IntegratedSorting,\n SelectionState,\n IntegratedSelection,\n PagingState,\n IntegratedPaging,\n CustomPaging,\n} from '@devexpress/dx-react-grid';\nimport {\n Grid,\n DragDropProvider,\n Table,\n TableHeaderRow,\n TableColumnReordering,\n TableSelection,\n PagingPanel,\n TableColumnResizing,\n ColumnChooser,\n Toolbar,\n TableColumnVisibility,\n VirtualTable,\n} from '@devexpress/dx-react-grid-material-ui';\nimport { alpha, styled } from '@mui/material';\n\nimport {\n GetPurchaseOrderList_getPurchaseOrderList as PurchaseOrder,\n GetPurchaseOrderList,\n} from '../../types/schemaTypes';\nimport { GET_ALL_PURCHASEORDER_LIST } from '../../graphql/client/queries';\nimport { Route } from 'react-router-dom';\n// const [state] = useStoreContext();\n\nconst PREFIX = 'PO';\n\nconst classes = {\n tableStriped: `${PREFIX}-tableStriped`,\n};\nconst $grey = '#333';\nconst StyledTable = styled(Table.Table)(({ theme }) => ({\n [`&.${classes.tableStriped}`]: {\n '& tbody tr:nth-of-type(odd)': {\n backgroundColor: alpha($grey, 0.015),\n },\n },\n}));\n\nconst TableComponent = props => ;\n\nconst columns = [\n { name: 'selection', title: ' ' },\n { name: 'orderNo', title: 'Order No' },\n { name: 'customerPONumber', title: 'Customer PO' },\n { name: 'customerPODate', title: 'Customer PO Date' },\n { name: 'dateEntered', title: 'Date Entered' },\n { name: 'pickUpLocation', title: 'Pickup Location' },\n { name: 'shipTo', title: 'Ship To' },\n { name: 'shipToName', title: 'Ship To Name' },\n { name: 'productName', title: 'Product' },\n { name: 'uom', title: 'UoM' },\n { name: 'quantityonPO', title: 'Quantity on PO' },\n { name: 'quantityShipped', title: 'Quantity Shipped' },\n { name: 'quantityRemaining', title: 'Quantity Remaining' },\n];\n\nconst PurchaseOrders = (): JSX.Element => {\n const [activeKey, setActiveKey] = useState('0');\n\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n\n // TODO: Move local state to jobListReducer\n const [state, dispatch] = useStoreContext();\n const {\n purchaseOrder: { searchPhrase, fromDate, toDate, product, poNumber, pickupLocation, orderStatus, shipTo },\n customerList: { customer },\n bol: { relatedBol },\n } = state;\n const [listHeight, setListHeight] = useState(window.screen.height);\n const [selectedPO, setSelectedPO] = useState(undefined);\n const abortController = new AbortController();\n let currentOffSet = 0;\n\n console.log('customerList: { customer }', customer);\n\n const [columnOrder, setColumnOrder] = useState([\n 'selection',\n 'orderNo',\n 'customerPONumber',\n 'customerPODate',\n 'dateEntered',\n 'pickUpLocation',\n 'shipTo',\n 'shipToName',\n 'productName',\n 'uom',\n 'quantityonPO',\n 'quantityShipped',\n 'quantityRemaining',\n ]);\n const [defaultColumnWidths] = useState([\n { columnName: 'selection', width: 50 },\n { columnName: 'orderNo', width: 180 },\n { columnName: 'customerPONumber', width: 180 },\n { columnName: 'customerPODate', width: 180 },\n { columnName: 'dateEntered', width: 240 },\n { columnName: 'pickUpLocation', width: 180 },\n { columnName: 'shipTo', width: 180 },\n { columnName: 'shipToName', width: 180 },\n { columnName: 'productName', width: 180 },\n { columnName: 'uom', width: 180 },\n { columnName: 'quantityonPO', width: 180 },\n { columnName: 'quantityShipped', width: 180 },\n { columnName: 'quantityRemaining', width: 180 },\n ]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [pageSizes] = useState([10, 20, 30, 50]);\n const currentFilters = useRef({});\n const selectedpo = useRef({});\n const [selection, setSelection] = React.useState>([]);\n const [sorting, setSorting] = useState([{ columnName: 'orderNo', direction: 'asc' }]);\n const abortRequest = (): void => {\n abortController.abort();\n };\n let totalRowsCount = 0;\n // const [selectedpo, setselectedPo] = useState('');\n\n const setListContainerHeight = (): void => {\n const filterDiv = document.getElementById('jobsFilterContainer');\n const listDiv = document.getElementById('PurchaseOrdersContainer');\n\n let filterHeight = 0;\n // setTimeout in place to avoid animation miscalculations\n setTimeout(() => {\n if (filterDiv) {\n filterHeight = filterDiv.scrollHeight;\n }\n if (listDiv) {\n setListHeight(Math.min(filterHeight));\n }\n }, 100);\n };\n document.title = 'Purchase Orders';\n console.log('currentFilters', currentFilters);\n\n console.log('state - purchaseOrder', searchPhrase);\n currentOffSet = currentPage;\n if (\n currentFilters &&\n (currentFilters.current['searchPhrase'] !== searchPhrase ||\n currentFilters.current['fromDate'] !== fromDate ||\n currentFilters.current['toDate'] !== toDate ||\n currentFilters.current['customer'] !== customer ||\n currentFilters.current['product'] !== product ||\n currentFilters.current['poNumber'] !== poNumber ||\n currentFilters.current['pickupLocation'] !== pickupLocation ||\n currentFilters.current['orderStatus'] !== orderStatus ||\n currentFilters.current['shipTo'] !== shipTo)\n ) {\n currentOffSet = 0;\n setCurrentPage(0);\n setSelection([]);\n }\n\n const variables = {\n input: {\n searchString: searchPhrase,\n customer,\n fromDate,\n toDate,\n pageSize,\n offSet: currentOffSet,\n sortParam: sorting[0].columnName,\n sortDirection: sorting[0].direction,\n product,\n poNumber,\n pickupLocation,\n status: orderStatus,\n shipTo,\n },\n };\n\n console.log('variables', variables);\n\n const Cell = (props: any) => {\n const { column, row, tablerow }: any = props;\n if (column.name === 'selection' && column.title === ' ') {\n return (\n
\n );\n }\n if (column.name === 'orderNo') {\n return (\n \n );\n }\n return ;\n };\n\n const openOrderDetails = (orderNo: string): void => {\n const URL = `${window.location.origin}${Routes.ORDERS_DETAILS.route}`;\n let newTab;\n if (selectedpo.current['po']) {\n newTab = window.open(`${URL}${orderNo}?selectedPO=${selectedpo.current['po']}`, '_blank');\n } else {\n newTab = window.open(`${URL}${orderNo}`, '_blank');\n }\n setTimeout(function(): void {\n if (newTab) {\n newTab.document.title = orderNo;\n }\n }, 100);\n };\n\n const history = useHistory();\n const onRadioChange = (e, row) => {\n console.log('onRadioChange', e, row);\n selectedpo.current = { po: row.customerPONumber };\n // setSelectedPO(row.poNumber);\n // setselectedPo(row.poNumber);\n // dispatch(BOLActions.setFilterValue(row.poNumber, BOLActions.Actions.FILTER_PONO));\n // history.push(`/bills_lading`);\n };\n\n const onLoadRelatedBols = () => {\n console.log('relatedBol', relatedBol);\n console.log('onLoadRelatedBols - selectedpo', selectedpo);\n if (selectedpo.current['po']) {\n dispatch(BOLActions.setFilterValue(selectedpo.current['po'], BOLActions.Actions.FILTER_PONO));\n dispatch(BOLActions.setFilterValue(relatedBol + 1, BOLActions.Actions.BOL_ONCLICK_RELATEDBOL));\n history.push(`/bills_lading`);\n }\n };\n\n const onPageNumberChanges = count => {\n setSelection([]);\n setCurrentPage(0);\n setPageSize(count);\n console.log('onPageNumberChanges', count);\n };\n\n const onPageChanges = count => {\n setSelection([]);\n setCurrentPage(count);\n console.log('onPageChanges', count);\n };\n\n currentFilters.current = {\n searchPhrase,\n customer,\n fromDate,\n toDate,\n product,\n poNumber,\n pickupLocation,\n orderStatus,\n shipTo,\n };\n console.log('variables', variables, 'currentPage', currentPage, 'pageSize', pageSize);\n if (customer && customer !== 0) {\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n const purchaseOrderList: PurchaseOrder[] = [];\n\n // if (error) {\n\n // }\n\n if (data && data.getPurchaseOrderList && data.getPurchaseOrderList.length !== 0) {\n data.getPurchaseOrderList.forEach((element: PurchaseOrder | null): void => {\n if (element !== null) {\n totalRowsCount = Number(element.totalRecordsCount);\n purchaseOrderList.push(element);\n }\n });\n console.log('purchaseOrderList', purchaseOrderList);\n }\n\n return (\n
\n {error && }\n \n
\n \n
\n
\n
\n {loading && (\n
\n \n
\n )}\n \n \n \n {/* */}\n {/* */}\n \n \n \n \n
\n onRadioChange(event, row)}\n >\n \n openOrderDetails(row.orderNo)}>\n {row.orderNo}\n \n
\n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n );\n }}\n \n );\n } else {\n return (\n
\n \n
\n \n
\n
\n
\n \n \n \n \n {/* */}\n {/* */}\n \n \n \n \n
\n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n );\n }\n};\n\nexport default PurchaseOrders;\n","import './Filter.scss';\nimport React, { useEffect, useState } from 'react';\nimport Button from 'react-bootstrap/Button';\n\nimport * as ReportAction from '../../store/actions/report';\nimport { useStoreContext } from '../App/StoreProvider';\nimport {\n GetReportPickupLoction_getReportPickupLoction as ReportPickupLocation,\n GetReportPickupLoction,\n GetReportProductList,\n GetReportProductList_getReportProductList as ReportProduct,\n} from '../../types/schemaTypes';\nimport { GET_ALL_REPORT_PRODUCT, GET_ALL_REPORT_PICKUPLOCATION } from '../../graphql/client/queries';\nimport { Query, QueryResult } from 'react-apollo';\n\ninterface JobFiltersProps {\n abortRequest: () => void;\n onFilterToggle: () => void;\n}\n\nexport const ReportsFilters = ({ abortRequest, onFilterToggle }: JobFiltersProps): JSX.Element => {\n const [activeKey, setActiveKey] = useState('0');\n const [state, dispatch] = useStoreContext();\n const search: React.Ref = React.createRef();\n const searchPO: React.Ref = React.createRef();\n const {\n report: { fromDate, toDate, poNumber, product, pickupLocation },\n customerList: { customer },\n } = state;\n const [filter_searchString, setSearchString] = useState('');\n // const [filter_invoiceStatus, setInvoiceStatus] = useState(invoiceStatus);\n const [filter_poNumber, setPONumber] = useState(poNumber);\n const [filter_fromDate, setFromDate] = useState(fromDate);\n const [filter_toDate, setToDate] = useState(toDate);\n const [filter_product, setProduct] = useState(product);\n const [filter_pickUpLocation, setPickupLocation] = useState(pickupLocation);\n // const [filter_invoiceNumber, setinvoiceNumber] = useState(invoiceNumber);\n const [isApplyFilterClicked, setIsApplyFilterClicked] = useState(false);\n\n useEffect(() => {\n console.log('useEffect - customer', customer);\n setSearchString('');\n setProduct('');\n setPickupLocation('');\n }, [customer]);\n\n // useEffect(() => {\n // setSearchString(searchString);\n // }, [searchString]);\n\n useEffect(() => {\n setProduct(product);\n }, [product]);\n\n useEffect(() => {\n setPONumber(poNumber);\n }, [poNumber]);\n\n useEffect(() => {\n setFromDate(fromDate);\n }, [fromDate]);\n\n useEffect(() => {\n setToDate(toDate);\n }, [toDate]);\n\n useEffect(() => {\n setPickupLocation(pickupLocation);\n }, [pickupLocation]);\n\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n document.body.classList.toggle('hide-sidebar', isOpen);\n }, [isOpen]);\n\n const onInvoiceStatusChanges = (e): void => {\n console.log('onInvoiceStatusChanges', e.target.value);\n // setInvoiceStatus(Number(e.target.value));\n // dispatch(InvoiceActions.setFilterValue(e.target.value, InvoiceActions.Actions.FILTER_INVOICESTATUS_SELECT));\n };\n\n const applyFilters = () => {\n setIsApplyFilterClicked(true);\n if (filter_fromDate && filter_toDate) {\n dispatch(\n ReportAction.setFilterValue(\n {\n searchString: filter_searchString,\n fromDate: filter_fromDate,\n toDate: filter_toDate,\n poNumber: filter_poNumber,\n product: filter_product,\n pickupLocation: filter_pickUpLocation,\n // invoiceNumber: filter_invoiceNumber,\n // invoiceStatus: Number(filter_invoiceStatus)\n },\n ReportAction.Actions.FILTER_ACTION_APPLYFILTER,\n ),\n );\n }\n };\n\n const resetFilters = () => {\n setIsApplyFilterClicked(false);\n setSearchString('');\n setProduct('');\n setPickupLocation('');\n setPONumber('');\n setFromDate(null);\n setToDate(null);\n };\n\n const onFromDateChange = (e): void => {\n console.log('onFromDateChange', e.target.value);\n // if (e.target.value !== '') {\n setFromDate(e.target.value);\n // dispatch(InvoiceActions.setFilterValue(e.target.value, InvoiceActions.Actions.FILTER_FROMDATE_SELECT));\n // }\n };\n\n const onToDateChange = (e): void => {\n console.log('onToDateChange', e.target.value);\n // if (e.target.value !== '') {\n setToDate(e.target.value);\n // dispatch(InvoiceActions.setFilterValue(e.target.value, InvoiceActions.Actions.FILTER_TODATE_SELECT));\n // }\n };\n\n const variables = {\n input: {\n // searchString,\n customer,\n fromDate,\n toDate,\n },\n };\n\n const onPOChange = (e): void => {\n console.log('filter_searchPhrase', e.target.value);\n setPONumber(e.target.value);\n };\n\n const onProductChanges = (e): void => {\n console.log('onProductChanges', e.target.value);\n setProduct(e.target.value);\n // dispatch(PurchaseOrderActions.setProduct(e.target.value));\n };\n\n const onPickUpLocationChanges = (e): void => {\n console.log('onPickUpLocationChanges', e.target.value);\n setPickupLocation(e.target.value);\n // dispatch(PurchaseOrderActions.setpickupLocation(e.target.value));\n };\n\n const onSearchChange = (e): void => {\n console.log('onSearchChange', e.target.value);\n setSearchString(e.target.value);\n };\n\n return (\n
\n
\n {/*\n \n */}\n\n
\n
\n
\n
\n
\n

Reports Inquiry

\n setIsOpen(!isOpen)}\n >\n swap_horiz\n \n
\n
\n
\n
\n
\n
\n search\n onSearchChange(e)}\n />\n
\n
\n\n
\n
\n
\n \n onPOChange && onPOChange(e)}\n />\n
\n
\n
\n
\n
\n
\n \n {customer !== 0 ? (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult<\n GetReportProductList | undefined\n >): JSX.Element | null => {\n const reportProductList: ReportProduct[] = [];\n const totalRowsCount = 0;\n // if (error) {\n // return ;\n // }\n if (\n data &&\n data.getReportProductList &&\n data.getReportProductList.length !== 0\n ) {\n data.getReportProductList.forEach(\n (element: ReportProduct | null): void => {\n if (element !== null) {\n // totalRowsCount = Number(element.totalRecordsCount);\n reportProductList.push(element);\n }\n },\n );\n console.log('reportProductList', reportProductList);\n }\n return (\n onProductChanges(e)}\n >\n \n {reportProductList.map((prd, index) => (\n \n {prd.productName}\n \n ))}\n \n );\n }}\n \n ) : (\n \n )}\n
\n
\n
\n
\n \n {customer !== 0 ? (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult<\n GetReportPickupLoction | undefined\n >): JSX.Element | null => {\n const reportPickupLocation: ReportPickupLocation[] = [];\n const totalRowsCount = 0;\n // if (error) {\n // return ;\n // }\n if (\n data &&\n data.getReportPickupLoction &&\n data.getReportPickupLoction.length !== 0\n ) {\n data.getReportPickupLoction.forEach(\n (element: ReportPickupLocation | null): void => {\n if (element !== null) {\n // totalRowsCount = Number(element.totalRecordsCount);\n reportPickupLocation.push(element);\n }\n },\n );\n console.log(\n 'reportPickupLocation',\n reportPickupLocation,\n );\n }\n return (\n onPickUpLocationChanges(e)}\n >\n \n {reportPickupLocation.map((prd, index) => (\n \n {prd.pickUpLocation}\n \n ))}\n \n );\n }}\n \n ) : (\n \n )}\n
\n
\n
\n
\n
\n
\n \n onFromDateChange(e)}\n />\n {isApplyFilterClicked && !filter_fromDate && (\n \n )}\n
\n
\n
\n
\n \n onToDateChange(e)}\n />\n {isApplyFilterClicked && !filter_toDate && (\n \n )}\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport './Reports.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Error, Loading } from '../_common';\nimport ReportsHeader from '../Header/ReportsHeader';\nimport { Routes } from '../../utils';\nimport { ReportsFilters } from '../Filter/ReportsFilter';\nimport { useStoreContext } from '../App/StoreProvider';\nimport Paper from '@mui/material/Paper';\nimport {\n SortingState,\n IntegratedSorting,\n SelectionState,\n IntegratedSelection,\n PagingState,\n IntegratedPaging,\n CustomPaging,\n} from '@devexpress/dx-react-grid';\nimport {\n Grid,\n DragDropProvider,\n Table,\n TableHeaderRow,\n TableColumnReordering,\n TableSelection,\n PagingPanel,\n TableColumnResizing,\n ColumnChooser,\n Toolbar,\n TableColumnVisibility,\n} from '@devexpress/dx-react-grid-material-ui';\nimport { alpha, styled } from '@mui/material';\n\nimport { GetReport_getReport as Report, GetReport } from '../../types/schemaTypes';\nimport { GET_ALL_REPORT } from '../../graphql/client/queries';\nimport moment from 'moment';\n\nconst PREFIX = 'Demo';\n\nconst classes = {\n tableStriped: `${PREFIX}-tableStriped`,\n};\nconst $grey = '#333';\nconst StyledTable = styled(Table.Table)(({ theme }) => ({\n [`&.${classes.tableStriped}`]: {\n '& tbody tr:nth-of-type(odd)': {\n backgroundColor: alpha($grey, 0.015),\n },\n },\n}));\n\nconst TableComponent = props => ;\n\nconst columns = [\n { name: 'requestedDate', title: 'Requested Date' },\n { name: 'poNumber', title: 'PO Number' },\n { name: 'pickupLocation', title: 'Pickup Location' },\n { name: 'bolNumber', title: 'BOL Number' },\n { name: 'shipToNumber', title: 'ShipToNumber' },\n { name: 'shipToName', title: 'ShipToName' },\n { name: 'alternateBOLNumber', title: 'Alternate BOL Number' },\n { name: 'invoiceNumber', title: 'Invoice Number' },\n { name: 'vehicleNumber', title: 'Vehicle Number' },\n { name: 'wellName', title: 'Well Name' },\n { name: 'quantityLoaded', title: 'Quantity Loaded' },\n { name: 'quantityRemaining', title: 'Quantity Remaining' },\n { name: 'transactionUOM', title: 'Transaction UOM' },\n { name: 'grossWeight', title: 'Gross Weight' },\n { name: 'tareWeight', title: 'Tare Weight' },\n { name: 'netWeight', title: 'Net Weight' },\n];\n\nconst rows = [\n {\n rproduct: 'Min-US-Sil 30',\n rdate: '181.50',\n rtotal: '181.50',\n },\n];\n\nconst Reports: FC = (): JSX.Element => {\n // TODO: Move local state to jobListReducer\n const [state, dispatch] = useStoreContext();\n const [listHeight, setListHeight] = useState(window.screen.height);\n const abortController = new AbortController();\n const [columnOrder, setColumnOrder] = useState(['rproduct', 'rdate', 'rtotal']);\n let currentOffSet = 0;\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [pageSizes] = useState([10, 20, 30, 50]);\n const [selection, setSelection] = React.useState>([]);\n // const [columns, setColumns] = useState>([]);\n const {\n report: { searchString, fromDate, toDate, product, poNumber, pickupLocation },\n customerList: { customer },\n } = state;\n const currentFilters = useRef({});\n const [sorting, setSorting] = useState([{ columnName: 'requestedDate', direction: 'asc' }]);\n let totalRowsCount = 0;\n const [defaultColumnWidths] = useState([\n { columnName: 'requestedDate', width: 180 },\n { columnName: 'poNumber', width: 180 },\n { columnName: 'pickupLocation', width: 180 },\n { columnName: 'bolNumber', width: 180 },\n { columnName: 'shipToNumber', width: 180 },\n { columnName: 'shipToName', width: 180 },\n { columnName: 'alternateBOLNumber', width: 180 },\n { columnName: 'invoiceNumber', width: 180 },\n { columnName: 'vehicleNumber', width: 180 },\n { columnName: 'wellName', width: 180 },\n { columnName: 'quantityLoaded', width: 180 },\n { columnName: 'quantityRemaining', width: 180 },\n { columnName: 'transactionUOM', width: 180 },\n { columnName: 'grossWeight', width: 180 },\n { columnName: 'tareWeight', width: 180 },\n { columnName: 'netWeight', width: 180 },\n ]);\n\n const abortRequest = (): void => {\n abortController.abort();\n };\n\n const setListContainerHeight = (): void => {\n const filterDiv = document.getElementById('jobsFilterContainer');\n const listDiv = document.getElementById('jobsListContainer');\n\n let filterHeight = 0;\n // setTimeout in place to avoid animation miscalculations\n setTimeout(() => {\n if (filterDiv) {\n filterHeight = filterDiv.scrollHeight;\n }\n if (listDiv) {\n setListHeight(Math.min(filterHeight));\n }\n }, 100);\n };\n document.title = 'My Reports';\n\n currentOffSet = currentPage;\n if (\n currentFilters &&\n (currentFilters.current['searchString'] !== searchString ||\n currentFilters.current['fromDate'] !== fromDate ||\n currentFilters.current['toDate'] !== toDate ||\n currentFilters.current['customer'] !== customer ||\n currentFilters.current['product'] !== product ||\n currentFilters.current['poNumber'] !== poNumber ||\n currentFilters.current['pickupLocation'] !== pickupLocation)\n ) {\n currentOffSet = 0;\n // setSelection([]);\n }\n\n const variables = {\n input: {\n searchString,\n customer,\n fromDate,\n toDate,\n pageSize,\n offSet: currentOffSet,\n sortParam: sorting[0].columnName,\n sortDirection: sorting[0].direction,\n product,\n poNumber,\n pickupLocation,\n },\n };\n\n currentFilters.current = { searchString, customer, fromDate, toDate, product, poNumber, pickupLocation };\n\n console.log('variables', variables);\n\n const onPageNumberChanges = count => {\n setSelection([]);\n setCurrentPage(0);\n setPageSize(count);\n console.log('onPageNumberChanges', count);\n };\n\n const onPageChanges = count => {\n setSelection([]);\n setCurrentPage(count);\n console.log('onPageChanges', count);\n };\n\n if (customer && customer !== 0) {\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n const report: Report[] = [];\n\n console.log('report', data);\n // let colList: any[] = [];\n if (data && data.getReport && data.getReport.length !== 0) {\n data.getReport.forEach((element: Report | null): void => {\n if (element !== null) {\n totalRowsCount = Number(element.totalRecordsCount);\n report.push(element);\n }\n });\n console.log('report', report);\n }\n\n return (\n
\n {error && }\n \n
\n \n
\n
\n
\n {loading && (\n
\n \n
\n )}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }}\n \n );\n } else {\n return (\n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n\n return (\n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Reports;\n","import React, { FC, useEffect, useState } from 'react';\nimport { Query, QueryResult, useMutation } from 'react-apollo';\nimport './Contact.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Loading, Textfield } from '../_common';\nimport SearchableDropdown from '../_common/SearchableDropdown/SearchableDropdown';\nimport { Row, Col } from 'react-bootstrap';\nimport { CONTACT } from '../../graphql/client/mutations';\nimport toaster from 'toasted-notes';\nimport { Alert } from 'react-bootstrap';\nimport { ContactFileInput, ContactInfo } from '../../types/schemaTypes';\nimport { Console } from 'console';\n\ninterface Option {\n id: number | string;\n name: string | number;\n}\n\nconst toasterOptions = { duration: 2500 };\n\nconst Contact: FC = (): JSX.Element => {\n document.title = 'Contact';\n const maxFileSize = 5 * 1024 * 1024;\n const [imageData, setImageData] = useState('');\n const [fileObj, setFileObj] = useState('');\n const [fileUploaded, setFileUploaded] = useState(false);\n const [selectedTitleRole, setSelectedTitleRole] = useState('');\n const [selectedReason, setSelectedReason] = useState('');\n const [selectedReasonEmail, setSelectedReasonEmail] = useState('');\n const [selectedFirstName, setSelectedFirstName] = useState('');\n const [selectedLastName, setSelectedLastName] = useState('');\n const [selectedEmailAddress, setSelectedEmailAddress] = useState('');\n const [selectedTelephone, setSelectedTelephone] = useState('');\n const [selectedComments, setSelectedComments] = useState('');\n const [selectedEntity, setSelectedEntity] = useState('');\n const [selectedEntityEmail, setSelectedEntityEmail] = useState('');\n const [phoneNumberError, setPhoneNumberError] = useState('');\n const [emailErrorMessage, setEmailErrorMessage] = useState('');\n const [fileErrorMessage, setFileErrorMessage] = useState('');\n const [reasonErrorMessage, setReasonFileErrorMessage] = useState('');\n const [count, setCount] = React.useState(1000);\n\n const reasonTypeoptions: Option[] = [];\n const entityTypeoptions: Option[] = [];\n\n entityTypeoptions.push({\n id: 'ogcredit@ussilica.com',\n name: 'USS Energy Co',\n });\n entityTypeoptions.push({\n id: 'Customerservice@epminerals.com,ar@epminerals.com',\n name: 'EP MINERALS – North America',\n });\n entityTypeoptions.push({\n id: 'Exportcustomerservice@epminerals.com',\n name: 'EP MINERALS – Outside North America',\n });\n entityTypeoptions.push({\n id: 'customerservice@epengineeredclays.com',\n name: 'EP ENGINEERED CLAYS CORP',\n });\n\n reasonTypeoptions.push({\n name: 'New Customer Application',\n id: 'usscredit@ussilica.com',\n });\n\n reasonTypeoptions.push({\n name: 'Support for New Customer Application',\n id: 'usscredit@ussilica.com',\n });\n reasonTypeoptions.push({\n name: 'Change of Address Information',\n id: 'ogcustomermaster@ussilica.com',\n });\n reasonTypeoptions.push({\n name: 'Order Management Inquiry',\n id: 'ogservice@ussilica.com',\n });\n reasonTypeoptions.push({\n name: 'Request for Open Statement of Account',\n id: 'usscredit@ussilica.com',\n });\n reasonTypeoptions.push({\n name: 'Payment or Remittance Inquiry',\n id: 'credit@ussilica.com',\n });\n reasonTypeoptions.push({\n name: 'Dispute an Invoice',\n id: 'ogservice@ussilica.com,usscredit@ussilica.com',\n });\n reasonTypeoptions.push({\n name: 'Customer portal inquiry',\n id: 'ogservice@ussilica.com',\n });\n reasonTypeoptions.push({\n name: 'Other',\n id: 'ogservice@ussilica.com',\n });\n\n const setEntityStatus = (): boolean => {\n const isNameValid = selectedEntity.trim().length > 0 ? true : false;\n const isFormValid = isNameValid;\n return !isFormValid;\n };\n\n const setSaveButtonStatus = (): boolean => {\n const isNameValid = selectedFirstName.trim().length > 0 ? true : false;\n const isLastNameValid = selectedLastName.trim().length > 0 ? true : false;\n const isEmailValid = validateEmail(selectedEmailAddress);\n const isRoleTitleValid = selectedTitleRole.trim().length > 0 ? true : false;\n const isTelephoneVaid = selectedTelephone.trim().length > 0 ? true : false;\n const isEntityValid = selectedEntity.trim().length > 0 ? true : false;\n const isReasonValid = selectedReason.trim().length > 0 ? true : false;\n\n const isFormValid =\n isNameValid &&\n isLastNameValid &&\n isEmailValid &&\n isRoleTitleValid &&\n isTelephoneVaid &&\n isEntityValid &&\n isReasonValid;\n\n return !isFormValid;\n };\n\n const onCancel = (): void => {\n //setMutationError('');\n window.history.back();\n };\n\n const validateEmail = (email: string): boolean => {\n const emailRegex = /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]+$/;\n //const emailRegex = /\\S+@\\ussilica|sandboxlogistics+\\.\\S+/;\n const isEmailValid = emailRegex.test(email.toString());\n return isEmailValid;\n };\n\n const changeReason = (value): void => {\n if (value !== '' && value !== 0) {\n const reason = getReasonName(value).toString();\n if (reason == '') {\n setReasonFileErrorMessage('Select Reason from Dropdown');\n } else {\n setReasonFileErrorMessage('');\n }\n setSelectedReason(reason);\n // if (selectedEntity == 'USS Energy Co') {\n // setSelectedEntityEmail(value);\n // }\n }\n };\n\n const changeFirstName = (event: any): void => {\n setSelectedFirstName(event.target.value);\n };\n\n const changeLastName = (event: any): void => {\n setSelectedLastName(event.target.value);\n };\n\n const changeRoleTitle = (event: any): void => {\n setSelectedTitleRole(event.target.value);\n };\n\n const validatePhoneNumber = (value: any): void => {\n let phoneNumberError = '';\n if (value && !/^\\d+$/.test(value)) {\n phoneNumberError = 'This field should only contain numeric values.';\n } else if (value && value.length > 10) {\n phoneNumberError = 'The number of characters must not exceed 10 digits.';\n }\n setPhoneNumberError(phoneNumberError);\n };\n\n const changeTelephone = (event: any): void => {\n setSelectedTelephone(event.target.value);\n };\n\n const changeEmail = (value: any): void => {\n const emailAddress = value ? value : '';\n setSelectedEmailAddress(emailAddress.trim());\n };\n\n const changeComments = (event: any): void => {\n setSelectedComments(event.target.value);\n setCount(1000 - event.target.value.length);\n };\n\n const onSelectEntity = (event: any): void => {\n setSelectedEntity(getEntityName(event.target.value).toString());\n setSelectedEntityEmail(event.target.value);\n };\n\n const handleOnSave = async (\n entity: string,\n entityEmail: string,\n reason: string,\n firstName: string,\n lastName: string,\n emailAddress: string,\n titleRole: string,\n telephone: string,\n comments: string,\n contactFileInput: ContactFileInput,\n ): Promise => {\n const variables = {\n input: {\n entity,\n entityEmail,\n reason,\n firstName,\n lastName,\n emailAddress,\n titleRole,\n telephone,\n comments,\n contactFileInput,\n },\n };\n await ContactMethod({ variables }).then(data => {\n if (data.data?.contactInfo?.emailSent) {\n setTimeout(function() {\n window.location.reload();\n }, 1500);\n }\n });\n };\n\n const withFile = (): void => {\n const reader = new FileReader();\n const file = fileObj;\n reader.onload = async () => {\n const fileName = file.name;\n const imageData = reader.result ? reader.result.toString() : '';\n const contactFileInput: ContactFileInput = {\n fileName: fileName,\n imageData: imageData.split(',')[1],\n };\n handleOnSave(\n selectedEntity,\n selectedEntityEmail,\n selectedReason,\n selectedFirstName,\n selectedLastName,\n selectedEmailAddress,\n selectedTitleRole,\n selectedTelephone,\n selectedComments,\n contactFileInput,\n );\n };\n reader.readAsDataURL(file);\n };\n\n const withOutFile = (): void => {\n const contactFileInput: ContactFileInput = {};\n handleOnSave(\n selectedEntity,\n selectedEntityEmail,\n selectedReason,\n selectedFirstName,\n selectedLastName,\n selectedEmailAddress,\n selectedTitleRole,\n selectedTelephone,\n selectedComments,\n contactFileInput,\n );\n };\n\n const onClickSubmit = (): void => {\n if (fileObj == '' || fileObj == null) {\n withOutFile();\n } else {\n withFile();\n }\n };\n\n const getEntityName = (id: string | number): string | number => {\n const filteredEntity = entityTypeoptions.filter((item: Option) => item.id === id);\n const entity = filteredEntity[0].name;\n return entity;\n };\n\n const getReasonName = (id: string | number): string | number => {\n const filteredReason = reasonTypeoptions.filter((item: Option) => item.id === id);\n if (filteredReason.length > 0) {\n const reason = filteredReason[0].name;\n return reason;\n } else return '';\n };\n\n const renderToast = (message, type = 'info') => {\n interface ToastProps {\n onClose?: () => void;\n }\n const Comp = (props: ToastProps) => {\n return (\n \n {message}\n \n );\n };\n\n Comp.displayName = 'toast';\n return Comp;\n };\n\n const handleLoadFileChange = (event: React.ChangeEvent): void => {\n if (!event || !event.target || !event.target.files) return;\n const file = event.target.files[0];\n setFileObj(file);\n if (file.size > maxFileSize) {\n setFileErrorMessage('File size exceeds the limit of 5 MB');\n setFileObj('');\n }\n event.target.value = '';\n };\n\n const onCompletedContacting = (data: ContactInfo): void => {\n if (data.contactInfo === null) return;\n const saveUserErrors = data.contactInfo.errors;\n const emailStatus = data.contactInfo.emailSent;\n if (emailStatus) {\n toaster.notify(renderToast('Email sent Succesfully', 'success'), toasterOptions);\n } else if (!emailStatus && saveUserErrors && saveUserErrors.length > 0) {\n setEmailErrorMessage('Unable to Register: ' + saveUserErrors[0]);\n toaster.notify(renderToast('Email not sent Succesful, Please try again', 'danger'), toasterOptions);\n }\n // onCancel();\n };\n\n const [ContactMethod, { loading: contactLoading }] = useMutation(CONTACT, {\n onCompleted: onCompletedContacting,\n });\n\n return (\n
\n {contactLoading && (\n
\n \n
\n )}\n
\n
\n
\n
\n
\n
\n \n
\n
\n onSelectEntity(e)}\n value={selectedEntityEmail}\n >\n \n {entityTypeoptions.map((customer: any, index) => (\n \n ))}\n \n
\n
\n
\n
\n
\n \n Submit\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n \n \n {\n changeReason(eventKey);\n }}\n value={''}\n required\n />\n \n \n \n \n changeFirstName(event)}\n maxLength={64}\n required\n />\n \n \n changeLastName(event)}\n maxLength={64}\n required\n />\n \n \n \n \n changeRoleTitle(event)}\n maxLength={64}\n required\n />\n \n \n {\n changeTelephone(event);\n validatePhoneNumber(event.target.value);\n }}\n error={phoneNumberError !== ''}\n helperText={phoneNumberError}\n maxLength={10}\n required\n />\n \n \n \n \n {\n const value = event.currentTarget.value;\n changeEmail(value);\n }}\n maxLength={64}\n required\n />\n \n \n {\n changeComments(event);\n }}\n maxLength={1000}\n />\n

\n {'Characters left: '}\n {count}\n

\n \n \n \n
\n \n \n
\n
\n\n \n \n \n \n );\n};\n\nexport default Contact;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport './OpenOrdersHeader.scss';\n\nimport { useStoreContext } from '../../App/StoreProvider';\n\nexport enum SortOrder {\n ASCENDING = 'ASCENDING',\n DESCENDING = 'DESCENDING',\n}\n\nconst OpenOrdersHeader = ({ onLoadRelatedBols, showRelatedBOL, shipToName }: any): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n purchaseOrder: { searchPhrase, fromDate, toDate, product },\n customerList: { customer },\n } = state;\n const variables = {\n input: '',\n };\n\n // const onLoadRelatedBols = (e) => {\n // console.log('onLoadRelatedBols');\n // // state.history.push('/some/path')\n // // return ();\n // // \n // }\n\n return (\n
\n
\n
\n
\n
\n {/*
\n
\n
\n \n
\n
\n \n
\n
\n
*/}\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n {showRelatedBOL && (\n \n \n \n \n )}\n
\n
\n
\n
\n
\n );\n};\n\nexport default OpenOrdersHeader;\n","import React, { FC, useEffect, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport './Maintenance.scss';\nimport MaintenanceImg from '../../assets/maintenance.png';\nimport { Routes } from '../../utils';\nimport { useStoreContext } from '../App/StoreProvider';\n\nconst Maintenance: FC = (): JSX.Element => {\n document.title = 'Maintenance';\n\n const [isMaintenance] = useState(true);\n useEffect(() => {\n document.body.classList.toggle('under-maintenance', isMaintenance);\n }, [isMaintenance]);\n\n return (\n
\n
\n
\n \n

Site is Under Maintenance

\n

\n We are currently undergoing scheduled maintenance, but will return shortly.\n

\n

Thank you for your patience.

\n
\n
\n
\n );\n};\n\nexport default Maintenance;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport './OpenStatementAcctHeader.scss';\n\nimport { useStoreContext } from '../../App/StoreProvider';\nimport CustomerDropDown from '../CustomerDropDown';\n\nexport enum SortOrder {\n ASCENDING = 'ASCENDING',\n DESCENDING = 'DESCENDING',\n}\n\nconst OpenStatementAcctHeader = ({ onDownloadOpenInvoices, onPrintOpenInvoices }: any): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n invoice: { searchString, fromDate, toDate, addressNumber, invoiceStatus, poNumber },\n customerList: { customer },\n } = state;\n\n const onDownloadExcel = (e): void => {\n const queryparams = `?Customer=${customer}&SearchString=${searchString}&FromDate=${\n fromDate ? fromDate : ''\n }&Todate=${toDate ? toDate : ''}&PageSize=0&poNumber=${poNumber}&invoiceStatus=${invoiceStatus}`;\n window.open(`${process.env.REACT_APP_API_URL}OpenStatementAcct/ExportOpenInvoice${queryparams}`, '_blank');\n };\n\n return (\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n {/* */}\n
\n
\n
\n
\n
\n );\n};\n\nexport default OpenStatementAcctHeader;\n","import './Filter.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport Button from 'react-bootstrap/Button';\nimport { Error, Loading } from '../_common';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as PurchaseOrderActions from '../../store/actions/purchaseOrder';\n\ninterface JobFiltersProps {\n abortRequest: () => void;\n onFilterToggle: () => void;\n}\n\nexport const OpenOrdersFilter = ({ abortRequest, onFilterToggle }: JobFiltersProps): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n purchaseOrder: { searchPhrase, fromDate, toDate, pickupLocation, poNumber, product },\n customerList: { customer },\n } = state;\n const search: React.Ref = React.createRef();\n const searchPO: React.Ref = React.createRef();\n\n const [filter_searchPhrase, setSearchPhrase] = useState(searchPhrase);\n const [filter_pickupLocation, setPickupLocation] = useState(pickupLocation);\n const [filter_poNumber, setPONumber] = useState(poNumber);\n const [filter_fromDate, setFromDate] = useState(fromDate);\n const [filter_toDate, setToDate] = useState(toDate);\n const [filter_product, setProduct] = useState(product);\n const [isApplyFilterClicked, setIsApplyFilterClicked] = useState(false);\n\n useEffect(() => {\n console.log('useEffect - customer', customer);\n setSearchPhrase('');\n setPONumber('');\n // setFromDate(null);\n // setToDate(null);\n setProduct('');\n setPickupLocation('');\n }, [customer]);\n\n useEffect(() => {\n setPONumber(poNumber);\n }, [poNumber]);\n\n useEffect(() => {\n setFromDate(fromDate);\n }, [fromDate]);\n\n useEffect(() => {\n setToDate(toDate);\n }, [toDate]);\n\n useEffect(() => {\n setProduct(product);\n }, [product]);\n\n useEffect(() => {\n setPickupLocation(pickupLocation);\n }, [pickupLocation]);\n\n const updateSearchPhrase = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const searchPhrase = search && search.current ? search.current.value : '';\n // setSearchPhrase(searchPhrase);\n // dispatch(PurchaseOrderActions.setSearchPhrase(searchPhrase));\n }\n };\n\n const onSearchChange = (e): void => {\n console.log('onChange', e.target.value);\n setSearchPhrase(e.target.value);\n };\n\n const onFromDateChange = (e): void => {\n console.log('onFromDateChange', e.target.value);\n // setIsApplyFilterClicked(false);\n // if (e.target.value !== '') {\n setFromDate(e.target.value);\n // dispatch(PurchaseOrderActions.setFromDate(e.target.value));\n // }\n };\n\n const onToDateChange = (e): void => {\n console.log('onToDateChange', e.target.value);\n // setIsApplyFilterClicked(false);\n // if (e.target.value !== '') {\n setToDate(e.target.value);\n // dispatch(PurchaseOrderActions.setToDate(e.target.value));\n // }\n };\n\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n document.body.classList.toggle('hide-sidebar', isOpen);\n }, [isOpen]);\n\n return (\n
\n
\n
\n
\n
\n
\n
\n

Orders Inquiry

\n setIsOpen(!isOpen)}\n >\n swap_horiz\n \n
\n
\n
\n
\n
\n
\n search\n onSearchChange && onSearchChange(e)}\n className=\"SearchBar-Input\"\n ref={search}\n value={filter_searchPhrase}\n // value={state.messageList.searchPhrase}\n onKeyDown={(e): void => updateSearchPhrase(e)}\n autoComplete=\"off\"\n />\n
\n
\n
\n
\n \n onFromDateChange && onFromDateChange(e)}\n />\n {isApplyFilterClicked && !filter_fromDate && (\n \n )}\n
\n
\n
\n
\n \n onToDateChange && onToDateChange(e)}\n />\n {isApplyFilterClicked && !filter_toDate && (\n \n )}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport './OpenOrders.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Error, Loading } from '../_common';\nimport OpenOrdersHeader from '../Header/OpenOrders';\nimport { Routes } from '../../utils';\nimport { OpenOrdersFilter } from '../Filter/OpenOrdersFilter';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as BOLActions from '../../store/actions/bol';\nimport { useHistory, withRouter } from 'react-router';\n\nimport Paper from '@mui/material/Paper';\nimport {\n SortingState,\n IntegratedSorting,\n SelectionState,\n IntegratedSelection,\n PagingState,\n IntegratedPaging,\n CustomPaging,\n} from '@devexpress/dx-react-grid';\nimport {\n Grid,\n DragDropProvider,\n Table,\n TableHeaderRow,\n TableColumnReordering,\n TableSelection,\n PagingPanel,\n TableColumnResizing,\n ColumnChooser,\n Toolbar,\n TableColumnVisibility,\n VirtualTable,\n} from '@devexpress/dx-react-grid-material-ui';\nimport { alpha, styled } from '@mui/material';\n\nconst PREFIX = 'PO';\n\nconst classes = {\n tableStriped: `${PREFIX}-tableStriped`,\n};\nconst $grey = '#333';\nconst StyledTable = styled(Table.Table)(({ theme }) => ({\n [`&.${classes.tableStriped}`]: {\n '& tbody tr:nth-of-type(odd)': {\n backgroundColor: alpha($grey, 0.015),\n },\n },\n}));\n\nconst TableComponent = props => ;\n\nconst columns = [\n { name: 'orderNo', title: 'Order No' },\n { name: 'customPoNo', title: 'Customer PO No' },\n { name: 'shipTo', title: 'Ship To' },\n { name: 'ShipToName', title: 'Ship To Name' },\n { name: 'originationSite', title: 'Origination Site' },\n { name: 'dateEntered', title: 'Date Entered' },\n { name: 'requestShipDate', title: 'Request Ship Date' },\n { name: 'expectedDateShip', title: 'Expected Date Ship' },\n { name: 'status', title: 'Status' },\n];\n\nconst OpenOrders = (): JSX.Element => {\n const [activeKey, setActiveKey] = useState('0');\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n // TODO: Move local state to jobListReducer\n const [state, dispatch] = useStoreContext();\n const {\n purchaseOrder: { searchPhrase, fromDate, toDate, product, poNumber, pickupLocation },\n customerList: { customer },\n bol: { relatedBol },\n } = state;\n const [listHeight, setListHeight] = useState(window.screen.height);\n const [selectedPO, setSelectedPO] = useState(undefined);\n const abortController = new AbortController();\n let currentOffSet = 0;\n const [columnOrder, setColumnOrder] = useState([\n 'orderNo',\n 'customPoNo',\n 'shipTo',\n 'ShipToName',\n 'originationSite',\n 'dateEntered',\n 'requestShipDate',\n 'expectedDateShip',\n 'status',\n ]);\n const [defaultColumnWidths] = useState([]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [pageSizes] = useState([10, 20, 30, 50]);\n const currentFilters = useRef({});\n const selectedpo = useRef({});\n const [selection, setSelection] = React.useState>([]);\n const [sorting, setSorting] = useState([{ columnName: 'ponumber', direction: 'asc' }]);\n const abortRequest = (): void => {\n abortController.abort();\n };\n const totalRowsCount = 0;\n // const [selectedpo, setselectedPo] = useState('');\n\n const setListContainerHeight = (): void => {\n const filterDiv = document.getElementById('jobsFilterContainer');\n const listDiv = document.getElementById('PurchaseOrdersContainer');\n\n let filterHeight = 0;\n // setTimeout in place to avoid animation miscalculations\n setTimeout(() => {\n if (filterDiv) {\n filterHeight = filterDiv.scrollHeight;\n }\n if (listDiv) {\n setListHeight(Math.min(filterHeight));\n }\n }, 100);\n };\n document.title = 'Open Orders';\n\n currentOffSet = currentPage;\n if (\n currentFilters &&\n (currentFilters.current['searchPhrase'] !== searchPhrase ||\n currentFilters.current['fromDate'] !== fromDate ||\n currentFilters.current['toDate'] !== toDate ||\n currentFilters.current['customer'] !== customer ||\n currentFilters.current['product'] !== product ||\n currentFilters.current['poNumber'] !== poNumber ||\n currentFilters.current['pickupLocation'] !== pickupLocation)\n ) {\n currentOffSet = 0;\n setCurrentPage(0);\n setSelection([]);\n }\n\n const variables = {\n input: {\n searchString: searchPhrase,\n customer,\n fromDate,\n toDate,\n pageSize,\n offSet: currentOffSet,\n sortParam: sorting[0].columnName,\n sortDirection: sorting[0].direction,\n product,\n poNumber,\n pickupLocation,\n },\n };\n\n const Cell = (props: any) => {\n const { column, row, tablerow } = props;\n // console.log('Cell - column', column, props);\n if (column.name === 'selection' && column.title === ' ') {\n return (\n
\n );\n // return ;\n }\n return ;\n };\n\n const history = useHistory();\n const onRadioChange = (e, row) => {\n console.log('onRadioChange', e, row);\n selectedpo.current = { po: row.poNumber };\n // setSelectedPO(row.poNumber);\n // setselectedPo(row.poNumber);\n // dispatch(BOLActions.setFilterValue(row.poNumber, BOLActions.Actions.FILTER_PONO));\n // history.push(`/bills_lading`);\n };\n\n const onLoadRelatedBols = () => {\n console.log('onLoadRelatedBols - selectedpo', selectedpo);\n if (selectedpo.current['po']) {\n dispatch(BOLActions.setFilterValue(selectedpo.current['po'], BOLActions.Actions.FILTER_PONO));\n dispatch(BOLActions.setFilterValue(relatedBol + 1, BOLActions.Actions.BOL_ONCLICK_RELATEDBOL));\n history.push(`/bills_lading`);\n }\n };\n\n const onPageNumberChanges = count => {\n setSelection([]);\n setCurrentPage(0);\n setPageSize(count);\n console.log('onPageNumberChanges', count);\n };\n\n const onPageChanges = count => {\n setSelection([]);\n setCurrentPage(count);\n console.log('onPageChanges', count);\n };\n\n currentFilters.current = { searchPhrase, customer, fromDate, toDate, product, poNumber, pickupLocation };\n return (\n
\n \n
\n \n
\n
\n
\n \n \n \n \n {/* */}\n {/* */}\n \n \n \n \n
\n onRadioChange(event, row)}\n >\n
\n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default OpenOrders;\n","import { useQuery } from '@apollo/react-hooks';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport React, { useEffect, useState } from 'react';\nimport Modal from 'react-bootstrap/Modal';\nimport { GET_PURCHASEORDER_LINEITEM_DELIVERYINFORMATION } from '../../../graphql/client/queries';\nimport './LineItemDeliveryInformationModal.scss';\n\ninterface LineItemDeliveryInformationModalProps {\n orderNo: number;\n lineNo: number;\n onClickHide: () => void;\n show: boolean;\n}\n\nconst LineItemDeliveryInformationModal = ({\n orderNo,\n lineNo,\n onClickHide,\n show,\n}: LineItemDeliveryInformationModalProps): JSX.Element => {\n const variables = {\n orderNo,\n lineNo,\n };\n\n const { data: lineItemDeliveryInformationData, loading: userAuditLoading, error: userAuditError } = useQuery(\n GET_PURCHASEORDER_LINEITEM_DELIVERYINFORMATION,\n {\n variables: {\n input: {\n orderNo,\n lineNo,\n },\n },\n fetchPolicy: 'network-only',\n },\n );\n\n console.log('lineItemDeliveryInformationData', lineItemDeliveryInformationData);\n\n let lineItemDeliveryInformation: any;\n if (\n lineItemDeliveryInformationData &&\n lineItemDeliveryInformationData.getPurchaseOrderLineItemDeliveryInformation\n ) {\n lineItemDeliveryInformation = lineItemDeliveryInformationData.getPurchaseOrderLineItemDeliveryInformation;\n }\n\n return (\n \n \n \n {/* Line #{lineNo} */}\n
\n {' '}\n Delivery Information\n \n close\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
City / State:
\n
\n \n
\n
\n
\n
\n
\n
Country:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Carrier Name:
\n
\n \n
\n
\n
\n
\n
\n
Equipment Type:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Delivery Terms:
\n
\n \n
\n
\n
\n
\n
\n
Incoterms:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Loading Port:
\n
\n \n
\n
\n
\n
\n
\n
Destination Port:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Booking No:
\n
\n \n
\n
\n
\n
\n
\n
Vessel Name:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Voyage No:
\n
\n \n
\n
\n
\n
\n
\n
No of Containers:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Last Load Date:
\n
\n \n
\n
\n
\n
\n
\n
Sail Date:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
ETA Date:
\n
\n \n
\n
\n
\n
\n
\n
Total Net Weight:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Total Gross Weight:
\n
\n \n
\n
\n
\n
\n
\n
Routing Notes:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default LineItemDeliveryInformationModal;\n","import React, { useRef, useState, useEffect } from 'react';\nimport { useQuery } from 'react-apollo';\nimport './OpenOrders.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Error, Loading } from '../_common';\nimport OpenOrdersHeader from '../Header/OpenOrders';\nimport { OpenOrdersFilter } from '../Filter/OpenOrdersFilter';\nimport { useStoreContext } from '../App/StoreProvider';\nimport {\n GetAllPurchaseOrderItems_getAllPurchaseOrderItems as PurchaseOrderLineItem,\n GetAllPurchaseOrderItems,\n GetPurchaseOrderList_getPurchaseOrderList as PurchaseOrder,\n GetPurchaseOrderList,\n} from '../../types/schemaTypes';\nimport { GET_ALL_PURCHASEORDER_LINEITEMS, GET_ALL_PURCHASEORDER_LIST } from '../../graphql/client/queries';\n\nimport Paper from '@mui/material/Paper';\nimport {\n SortingState,\n IntegratedSorting,\n SelectionState,\n PagingState,\n IntegratedPaging,\n} from '@devexpress/dx-react-grid';\nimport {\n Grid,\n DragDropProvider,\n Table,\n TableHeaderRow,\n TableColumnReordering,\n TableColumnResizing,\n TableColumnVisibility,\n} from '@devexpress/dx-react-grid-material-ui';\nimport { alpha, styled } from '@mui/material';\nimport { Tab, Tabs } from 'react-bootstrap';\nimport moment from 'moment';\nimport LineItemDeliveryInformationModal from './LineItemDeliveryInformationModal/LineItemDeliveryInformationModal';\nimport * as BOLActions from '../../store/actions/bol';\nimport { useHistory } from 'react-router';\n\nconst PREFIX = 'PO';\n\nconst classes = {\n tableStriped: `${PREFIX}-tableStriped`,\n};\nconst $grey = '#333';\nconst StyledTable = styled(Table.Table)(({ theme }) => ({\n [`&.${classes.tableStriped}`]: {\n '& tbody tr:nth-of-type(odd)': {\n backgroundColor: alpha($grey, 0.015),\n },\n },\n}));\n\nconst TableComponent = props => ;\n\nconst columns = [\n { name: 'lineNumber', title: 'Line No' },\n { name: 'delNo', title: 'Del No' },\n { name: 'productNumber', title: 'Product' },\n { name: 'product', title: 'Product Description' },\n { name: 'standardName', title: 'Standard Name' },\n { name: 'scheduledPickup', title: 'Scheduled Pick Date' },\n { name: 'requestedShipDate', title: 'Requested Ship Date' },\n { name: 'expectedShipDate', title: 'Expected Ship Date' },\n { name: 'quantity', title: 'Quantity' },\n { name: 'uom', title: 'UOM' },\n { name: 'equipmentNo', title: 'Equipment No' },\n { name: 'sealNo', title: 'Seal No' },\n { name: 'actualShipDate', title: 'Actual Ship Date' },\n { name: 'status', title: 'Status' },\n];\n\nconst OpenOrdersDetails = ({ match }: any): JSX.Element => {\n const [activeKey, setActiveKey] = useState('0');\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n\n // TODO: Move local state to jobListReducer\n const [state, dispatch] = useStoreContext();\n const [listHeight, setListHeight] = useState(window.screen.height);\n const [selectedPO, setSelectedPO] = useState(undefined);\n const abortController = new AbortController();\n const currentOffSet = 0;\n const [columnOrder, setColumnOrder] = useState([\n 'lineNumber',\n 'delNo',\n 'productNumber',\n 'product',\n 'standardName',\n 'scheduledPickup',\n 'requestedShipDate',\n 'expectedShipDate',\n 'quantity',\n 'uom',\n 'equipmentNo',\n 'sealNo',\n 'actualShipDate',\n 'status',\n ]);\n\n const [defaultColumnWidths] = useState([\n { columnName: 'lineNumber', width: 100 },\n { columnName: 'delNo', width: 100 },\n { columnName: 'productNumber', width: 100 },\n { columnName: 'product', width: 100 },\n { columnName: 'standardName', width: 100 },\n { columnName: 'scheduledPickup', width: 150 },\n { columnName: 'requestedShipDate', width: 150 },\n { columnName: 'expectedShipDate', width: 150 },\n { columnName: 'quantity', width: 100 },\n { columnName: 'uom', width: 100 },\n { columnName: 'equipmentNo', width: 100 },\n { columnName: 'sealNo', width: 100 },\n { columnName: 'actualShipDate', width: 150 },\n { columnName: 'status', width: 100 },\n ]);\n\n const {\n purchaseOrder: { searchPhrase, fromDate, toDate, product, poNumber, pickupLocation },\n customerList: { customer },\n bol: { relatedBol },\n } = state;\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [pageSizes] = useState([10, 20, 30, 50]);\n const currentFilters = useRef({});\n const selectedpo = useRef({});\n const [selection, setSelection] = React.useState>([]);\n const [sorting, setSorting] = useState([{ columnName: 'ponumber', direction: 'asc' }]);\n const abortRequest = (): void => {\n abortController.abort();\n };\n const totalRowsCount = 0;\n const [orderDetails, setOrderDetails] = useState(null);\n const [showDeliveryInformationModal, setShowDeliveryInformationModal] = useState(false);\n const [lineNo, setLineNo] = useState(0);\n const [orderNo, setOrderNo] = useState(parseInt(match.params.orderNo));\n\n const setListContainerHeight = (): void => {\n const filterDiv = document.getElementById('jobsFilterContainer');\n const listDiv = document.getElementById('PurchaseOrdersContainer');\n\n let filterHeight = 0;\n // setTimeout in place to avoid animation miscalculations\n setTimeout(() => {\n if (filterDiv) {\n filterHeight = filterDiv.scrollHeight;\n }\n if (listDiv) {\n setListHeight(Math.min(filterHeight));\n }\n }, 100);\n };\n const history = useHistory();\n\n document.title = 'Order Details';\n\n const { loading: purchaseOrderDetailsLoading, error: purchaseOrderError, data: purchaseOrderDetails } = useQuery(\n GET_ALL_PURCHASEORDER_LIST,\n {\n variables: {\n input: {\n orderNo: parseInt(match.params.orderNo),\n },\n },\n fetchPolicy: 'network-only',\n },\n );\n\n let purchaseOrderDetailsByOrderNo: any;\n if (\n purchaseOrderDetails &&\n purchaseOrderDetails.getPurchaseOrderList &&\n purchaseOrderDetails.getPurchaseOrderList.length !== 0\n ) {\n purchaseOrderDetails.getPurchaseOrderList.forEach((element: PurchaseOrder | null): void => {\n if (element !== null) {\n purchaseOrderDetailsByOrderNo = element;\n }\n });\n }\n\n if (purchaseOrderDetailsByOrderNo && purchaseOrderDetailsByOrderNo !== null) {\n const enteredDate = purchaseOrderDetailsByOrderNo.dateEntered;\n const formattedenteredDate = moment(new Date(enteredDate)).format('yyyy-MM-DD');\n purchaseOrderDetailsByOrderNo.formatEnteredData = formattedenteredDate;\n }\n\n const { loading: purchaseOrderLineItemsLoading, error, data: purchaseOrderLineItemsData } = useQuery(\n GET_ALL_PURCHASEORDER_LINEITEMS,\n {\n variables: {\n input: {\n orderNo: parseInt(match.params.orderNo),\n },\n },\n fetchPolicy: 'network-only',\n pollInterval: 120000,\n },\n );\n\n const purchaseOrderLineItems: PurchaseOrderLineItem[] = [];\n if (\n purchaseOrderLineItemsData &&\n purchaseOrderLineItemsData.getAllPurchaseOrderItems &&\n purchaseOrderLineItemsData.getAllPurchaseOrderItems.length !== 0\n ) {\n purchaseOrderLineItemsData.getAllPurchaseOrderItems.forEach((element: PurchaseOrderLineItem | null): void => {\n if (element !== null) {\n purchaseOrderLineItems.push(element);\n }\n });\n }\n console.log('purchaseOrderLineItemsData', purchaseOrderLineItemsData);\n const Cell = (props: any) => {\n const { column, row, tablerow } = props;\n if (column.name === 'lineNumber') {\n return (\n
\n );\n }\n return ;\n };\n\n const openDeliveryInformation = (lineNo: number): void => {\n console.log('orderNo', orderNo, 'lineNo', lineNo);\n setLineNo(lineNo);\n setShowDeliveryInformationModal(true);\n };\n\n const handleOnHide = (): void => {\n setShowDeliveryInformationModal(false);\n };\n\n const onLoadRelatedBols = () => {\n if (selectedPO) {\n dispatch(BOLActions.setFilterValue(selectedPO, BOLActions.Actions.FILTER_PONO));\n dispatch(BOLActions.setFilterValue(relatedBol + 1, BOLActions.Actions.BOL_ONCLICK_RELATEDBOL));\n history.push(`/bills_lading`);\n }\n };\n\n React.useEffect(() => {\n const queryParam = new URLSearchParams(window.location.search);\n const selectedPo: any = queryParam.get('selectedPO');\n if (purchaseOrderDetailsByOrderNo && purchaseOrderDetailsByOrderNo.customerPONumber === selectedPo) {\n setSelectedPO(selectedPo);\n }\n }, [purchaseOrderDetailsByOrderNo]);\n\n return (\n
\n 0 ? purchaseOrderLineItems[0].soldToName?.toString() : ''}\n />\n
\n {/* */}\n
\n
\n
\n
\n
\n
\n
\n
\n
Ship To:
\n
\n \n
\n
\n
\n
\n
\n
Ship To Name:
\n
\n 0\n ? purchaseOrderLineItems[0].shipToName?.toString()\n : ''\n }\n />\n
\n
\n
\n
\n
\n
Order No:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Sold To:
\n
\n 0\n ? purchaseOrderLineItems[0].soldTo?.toString()\n : ''\n }\n />\n
\n
\n
\n
\n
\n
Sold To Name:
\n
\n 0\n ? purchaseOrderLineItems[0].soldToName?.toString()\n : ''\n }\n />\n
\n
\n
\n
\n
\n
Customer PO No:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Date Entered:
\n
\n \n
\n
\n
\n
\n
\n
Sales Person:
\n
\n 0\n ? purchaseOrderLineItems[0].salesPerson?.toString()\n : ''\n }\n />\n
\n
\n
\n
\n
\n
Origination Site:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
Status:
\n
\n 0\n ? purchaseOrderLineItems[0].status?.toString()\n : ''\n }\n />\n
\n
\n
\n
\n
\n
Notes:
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n {/* */}\n \n {/* */}\n {/* */}\n \n \n {/* */}\n {/* */}\n {/*
\n openDeliveryInformation(parseInt(row.lineNumber))}\n >\n {row.lineNumber}\n \n
*/}\n
\n \n \n {/* */}\n {/* */}\n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n\n \n \n );\n};\n\nexport default OpenOrdersDetails;\n","import './Filter.scss';\nimport React, { useEffect, useState } from 'react';\nimport Button from 'react-bootstrap/Button';\nimport { Error, Loading } from '../_common';\nimport { Query, QueryResult } from 'react-apollo';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as InvoiceActions from '../../store/actions/invoice';\n\ninterface JobFiltersProps {\n abortRequest: () => void;\n onFilterToggle: () => void;\n}\n\nexport const OpenStatementAcctFilters = ({ abortRequest, onFilterToggle }: JobFiltersProps): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n invoice: { searchString, invoiceStatus, poNumber, invoiceNumber },\n customerList: { customer },\n } = state;\n const search: React.Ref = React.createRef();\n const searchPO: React.Ref = React.createRef();\n const searchInvoice: React.Ref = React.createRef();\n\n const [filter_searchString, setSearchString] = useState(searchString);\n const [filter_poNumber, setPONumber] = useState(poNumber);\n const [filter_invoiceNumber, setinvoiceNumber] = useState(invoiceNumber);\n const [isApplyFilterClicked, setIsApplyFilterClicked] = useState(false);\n\n useEffect(() => {\n console.log('useEffect - customer', customer);\n setSearchString('');\n setPONumber('');\n }, [customer]);\n\n useEffect(() => {\n setSearchString(searchString);\n }, [searchString]);\n\n useEffect(() => {\n setPONumber(poNumber);\n }, [poNumber]);\n\n const updateSearchPhrase = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const searchPhrase = search && search.current ? search.current.value : '';\n // dispatch(InvoiceActions.setFilterValue(searchPhrase, InvoiceActions.Actions.FILTER_SEARCHSTRING));\n }\n };\n\n const onSearchChange = (e): void => {\n console.log('onSearchChange', e.target.value);\n setSearchString(e.target.value);\n };\n\n const updateSearchPO = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchPO && searchPO.current ? searchPO.current.value : '';\n // dispatch(InvoiceActions.setFilterValue(search, InvoiceActions.Actions.FILTER_PONUMBER));\n }\n };\n\n const onPOChange = (e): void => {\n console.log('onPOChange', e.target.value);\n setPONumber(e.target.value);\n };\n\n const updateSearchInvoice = (e: React.KeyboardEvent): any => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const search = searchInvoice && searchInvoice.current ? searchInvoice.current.value : '';\n // dispatch(InvoiceActions.setFilterValue(search, InvoiceActions.Actions.FILTER_INVOICE));\n }\n };\n\n const onInvoiceChange = (e): void => {\n console.log('onInvoiceChange', e.target.value);\n setinvoiceNumber(e.target.value);\n };\n\n const onChange = (e): void => {\n console.log('onChange', e.target.value);\n };\n\n const [activeKey, setActiveKey] = useState('0');\n\n const onSelectAll = (): void => {\n setActiveKey(activeKey === '0' ? '1' : '0');\n };\n\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n document.body.classList.toggle('hide-sidebar', isOpen);\n }, [isOpen]);\n\n const applyFilters = () => {\n setIsApplyFilterClicked(true);\n dispatch(\n InvoiceActions.setFilterValue(\n {\n searchString: filter_searchString,\n poNumber: filter_poNumber,\n invoiceNumber: filter_invoiceNumber,\n invoiceStatus: 1,\n },\n InvoiceActions.Actions.FILTER_INVOICE_ACTION_APPLYFILTER,\n ),\n );\n };\n\n const resetFilters = () => {\n setIsApplyFilterClicked(false);\n setSearchString('');\n setPONumber('');\n // dispatch(InvoiceActions.setFilterValue('', InvoiceActions.Actions.FILTER_INVOICE_ACTION_RESETFILTER));\n };\n\n return (\n
\n
\n
\n
\n
\n
\n
\n

Invoice Inquiry

\n setIsOpen(!isOpen)}\n >\n swap_horiz\n \n
\n
\n
\n
\n
\n
\n search\n onSearchChange(e)}\n onKeyDown={(e): void => updateSearchPhrase(e)}\n />\n
\n
\n
\n
\n \n onPOChange(e)}\n onKeyDown={(e): void => updateSearchPO(e)}\n />\n
\n
\n {/*
\n
\n \n \n
\n
*/}\n
\n
\n
\n
\n \n onInvoiceChange(e)}\n onKeyDown={(e): void => updateSearchInvoice(e)}\n />\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport { Query, QueryResult } from 'react-apollo';\nimport './OpenStatementAcct.scss';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { Error, Loading } from '../_common';\nimport { OpenStatementAcctFilters } from '../Filter/OpenStatementAcctFilter';\nimport { useStoreContext } from '../App/StoreProvider';\n\nimport Paper from '@mui/material/Paper';\nimport {\n SortingState,\n IntegratedSorting,\n SelectionState,\n IntegratedSelection,\n PagingState,\n IntegratedPaging,\n CustomPaging,\n} from '@devexpress/dx-react-grid';\nimport {\n Grid,\n DragDropProvider,\n Table,\n TableHeaderRow,\n TableColumnReordering,\n TableSelection,\n PagingPanel,\n TableColumnResizing,\n ColumnChooser,\n Toolbar,\n TableColumnVisibility,\n} from '@devexpress/dx-react-grid-material-ui';\nimport { alpha, styled } from '@mui/material';\nimport { GetAllOpenInvoiceList_getAllOpenInvoiceList as Invoice, GetAllOpenInvoiceList } from '../../types/schemaTypes';\nimport { GET_ALL_OPEN_INVOICE_LIST } from '../../graphql/client/queries';\nimport OpenStatementAcctHeader from '../Header/OpenStatementAcctHeaders';\n\nconst PAGE_SIZE = 50;\n\nconst PREFIX = 'Demo';\n\nconst classes = {\n tableStriped: `${PREFIX}-tableStriped`,\n};\nconst $grey = '#333';\nconst StyledTable = styled(Table.Table)(({ theme }) => ({\n [`&.${classes.tableStriped}`]: {\n '& tbody tr:nth-of-type(odd)': {\n backgroundColor: alpha($grey, 0.015),\n },\n },\n}));\n\nconst TableComponent = props => ;\nconst OpenStatementAcct: FC = (): JSX.Element => {\n // TODO: Move local state to jobListReducer\n const [state, dispatch] = useStoreContext();\n const {\n invoice: { searchString, addressNumber, invoiceStatus, poNumber, invoiceNumber },\n customerList: { customer },\n } = state;\n const [listHeight, setListHeight] = useState(window.screen.height);\n const abortController = new AbortController();\n let currentOffSet = 0;\n\n const [columns] = useState([\n { name: 'invoiceNo', title: 'Invoice Number' },\n { name: 'poNumber', title: 'PO Number' },\n { name: 'shipName', title: 'Ship Name' },\n { name: 'shipCity', title: 'Ship City' },\n { name: 'invoiceDate', title: 'Invoice Date' },\n { name: 'netDueDate', title: 'Net Due Date' },\n { name: 'closedDate', title: 'Closed Date' },\n { name: 'pastDueDays', title: 'Past Due Days' },\n { name: 'remarks', title: 'Remarks' },\n { name: 'grossAmount', title: 'Gross Amount' },\n { name: 'openAmount', title: 'Open Amount' },\n { name: 'invoiceType', title: 'Invoice Type' },\n { name: 'taxAmount', title: 'Tax' },\n ]);\n\n const [columnOrder, setColumnOrder] = useState([\n 'invoiceType',\n 'invoiceDate',\n 'netDueDate',\n 'closedDate',\n 'pastDueDays',\n 'invoiceNo',\n 'poNumber',\n 'shipName',\n 'shipCity',\n 'taxAmount',\n 'grossAmount',\n 'openAmount',\n 'remarks',\n ]);\n const [defaultColumnWidths] = useState([\n { columnName: 'invoiceNo', width: 180 },\n { columnName: 'poNumber', width: 180 },\n { columnName: 'shipName', width: 180 },\n { columnName: 'shipCity', width: 180 },\n { columnName: 'invoiceDate', width: 180 },\n { columnName: 'netDueDate', width: 180 },\n { columnName: 'closedDate', width: 180 },\n { columnName: 'pastDueDays', width: 180 },\n { columnName: 'grossAmount', width: 180 },\n { columnName: 'openAmount', width: 180 },\n { columnName: 'invoiceType', width: 180 },\n { columnName: 'taxAmount', width: 180 },\n { columnName: 'remarks', width: 180 },\n ]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [pageSizes] = useState([10, 20, 30, 50]);\n const currentFilters = useRef({});\n const invoiceData = useRef({});\n const [selection, setSelection] = React.useState>([]);\n const [sorting, setSorting] = useState([{ columnName: 'invoiceDate', direction: 'desc' }]);\n const abortRequest = (): void => {\n abortController.abort();\n };\n\n const setListContainerHeight = (): void => {\n const filterDiv = document.getElementById('InvoicesContainer');\n const listDiv = document.getElementById('InvoicesContainer');\n\n let filterHeight = 0;\n // setTimeout in place to avoid animation miscalculations\n setTimeout(() => {\n if (filterDiv) {\n filterHeight = filterDiv.scrollHeight;\n }\n if (listDiv) {\n setListHeight(Math.min(filterHeight));\n }\n }, 100);\n };\n currentOffSet = currentPage;\n if (\n currentFilters &&\n (currentFilters.current['searchString'] !== searchString ||\n currentFilters.current['customer'] !== customer ||\n currentFilters.current['addressNumber'] !== addressNumber ||\n currentFilters.current['invoiceStatus'] !== invoiceStatus ||\n currentFilters.current['poNumber'] !== poNumber ||\n currentFilters.current['invoiceNumber'] !== invoiceNumber)\n ) {\n currentOffSet = 0;\n setCurrentPage(0);\n setSelection([]);\n }\n\n document.title = 'Open Statement of Account';\n const variables = {\n input: {\n searchString,\n customer,\n addressNumber,\n invoiceStatus,\n pageSize,\n offSet: currentOffSet,\n sortParam: sorting[0].columnName,\n sortDirection: sorting[0].direction,\n invoiceNumber,\n poNumber,\n },\n };\n\n currentFilters.current = {\n searchString,\n customer,\n addressNumber,\n invoiceStatus,\n invoiceNumber,\n poNumber,\n };\n console.log('variables', variables, 'currentPage', currentPage, 'pageSize', pageSize);\n\n const onDownloadOpenInvoice = () => {\n console.log('onDownloadBol - selection', selection);\n if (selection.length > 0) {\n let invoiceNos = '';\n selection.forEach(element => {\n invoiceNos =\n invoiceNos === ''\n ? invoiceData.current[element].invoiceNo\n : invoiceNos + ',' + invoiceData.current[element].invoiceNo;\n });\n console.log('onDownloadBol - invoiceNos', invoiceNos);\n const queryparams = `?invoiceNo=${invoiceNos}`;\n window.open(\n `${process.env.REACT_APP_API_URL}OpenStatementAcct/DownloadOpenInvoice${queryparams}`,\n '_blank',\n );\n }\n };\n\n const onPrintOpenInvoice = () => {\n console.log('onPrintBol - selection', selection);\n console.log('onDownloadBol - selection', selection);\n if (selection.length > 0) {\n let invoiceNos = '';\n selection.forEach(element => {\n invoiceNos =\n invoiceNos === ''\n ? invoiceData.current[element].invoiceNo\n : invoiceNos + ',' + invoiceData.current[element].invoiceNo;\n });\n console.log('onDownloadBol - invoiceNos', invoiceNos);\n const queryparams = `?invoiceNo=${invoiceNos}`;\n window.open(`${process.env.REACT_APP_API_URL}OpenStatementAcct/PrintOpenInvoice${queryparams}`, '_blank');\n }\n };\n\n const onPageNumberChanges = count => {\n setSelection([]);\n setCurrentPage(0);\n setPageSize(count);\n console.log('onPageNumberChanges', count);\n };\n\n const onPageChanges = count => {\n setSelection([]);\n setCurrentPage(count);\n console.log('onPageChanges', count);\n };\n\n const Cell = (props: any) => {\n const { column, row, tablerow }: any = props;\n if (column.name === 'grossAmount') {\n const value = row.grossAmount.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n return (\n
\n );\n }\n if (column.name === 'openAmount') {\n const value = row.openAmount.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n return (\n \n );\n }\n if (column.name === 'taxAmount') {\n const value = row.taxAmount.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n return (\n \n );\n }\n return ;\n };\n\n if (customer && customer !== 0) {\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n const invoiceList: Invoice[] = [];\n let totalRowsCount = 0;\n // if (error) {\n // return ;\n // } else {\n\n if (data && data.getAllOpenInvoiceList && data.getAllOpenInvoiceList.length !== 0) {\n data.getAllOpenInvoiceList.forEach((element: Invoice | null): void => {\n if (element !== null) {\n totalRowsCount = Number(element.totalRecordsCount);\n invoiceList.push(element);\n }\n });\n invoiceData.current = invoiceList;\n }\n // }\n\n return (\n
\n {error && }\n \n
\n \n
\n
\n
\n {loading && (\n
\n \n
\n )}\n \n \n \n \n \n \n \n \n
\n ${value}\n \n ${value}\n \n ${value}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }}\n \n );\n } else {\n return (\n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n};\n\nexport default OpenStatementAcct;\n","import React from 'react';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport { useAuthContext } from '../Auth/AuthProvider';\nimport { PermissionEnum } from '../../types/PermissionEnum';\n\nimport { GET_ALL_CUSTOMERSLIST } from '../../graphql/client/queries';\nimport { useQuery } from 'react-apollo';\nimport { Error } from '../_common';\nimport { useStoreContext } from '../App/StoreProvider';\nimport * as CustomerListActions from '../../store/actions/customerList';\nimport './DashboardHeader.scss';\n\nconst DashboardHeader = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const authContext = useAuthContext();\n const {\n auth: { user },\n customerList: { customerList, customer },\n } = state;\n const customerkey = customer;\n\n const opsCustomer = authContext.userHasPermission(PermissionEnum.Customer);\n const admin = authContext.userHasPermission(PermissionEnum.Admin);\n const customerService = authContext.userHasPermission(PermissionEnum.CustomerService);\n let selectedCustomer = 0;\n const userProfile = user.profile;\n if (opsCustomer && customer === 0 && userProfile && userProfile.role === 'Customer') {\n const userProfile = user.profile;\n const customerId = userProfile.Customer;\n selectedCustomer = Number(customerId);\n dispatch(CustomerListActions.setCustomerID(selectedCustomer));\n }\n const onSelectCustomer = (e): any => {\n dispatch(CustomerListActions.setCustomerID(Number(e.target.value)));\n };\n\n const input = {\n search: '',\n customerId: opsCustomer ? selectedCustomer : 0,\n };\n\n const { data, error } = useQuery(GET_ALL_CUSTOMERSLIST, {\n variables: { input },\n skip:\n customerList.length > 0 ||\n (opsCustomer && customer === 0 && userProfile && userProfile.role === 'Customer'),\n });\n\n if (customerList.length === 0 && data && data.getAllCustomerList && data.getAllCustomerList.length !== 0) {\n const customerusersData = data.getAllCustomerList;\n dispatch(CustomerListActions.setCustomerList(customerusersData));\n }\n\n if (error) {\n return (\n
\n
\n
\n {opsCustomer && userProfile && userProfile.role === 'Customer' && (\n
\n \n {customerList.map(\n (customer: any) =>\n customerkey == customer.id?.toString() && (\n \n ),\n )}\n
\n )}\n {(admin || customerService) && (\n
\n \n
\n )}\n
\n
\n
\n
\n );\n } else {\n if (data && data.getAllCustomerList && data.getAllCustomerList.length !== 0) {\n return (\n
\n
\n
\n {opsCustomer && userProfile && userProfile.role === 'Customer' && (\n
\n {data.getAllCustomerList.map(\n (customer: any) =>\n customerkey == customer.id?.toString() && (\n \n ),\n )}\n
\n )}\n {(admin || customerService) && (\n
\n onSelectCustomer(e)}\n value={customer}\n >\n \n {data.getAllCustomerList.map((customer, index) => (\n \n ))}\n \n
\n )}\n
\n
\n
\n
\n );\n } else {\n return (\n
\n
\n
\n {opsCustomer && userProfile && userProfile.role === 'Customer' && (\n
\n {customerList.map(\n (customer: any) =>\n customerkey == customer.id?.toString() && (\n
\n \n
\n ),\n )}\n
\n )}\n {(admin || customerService) && (\n
\n onSelectCustomer(e)}\n value={customer}\n >\n \n {customerList.map((customer: any, index) => (\n \n ))}\n \n
\n )}\n
\n
\n
\n );\n }\n }\n};\n\nexport default DashboardHeader;\n","import React from 'react';\nimport './DashboardDetails.scss';\nimport { Query, QueryResult, useQuery } from 'react-apollo';\nimport { GET_ALL_CUSTOMERSLIST, GET_ALL_PURCHASEORDER_LIST, GET_CUSTOMERS_CONTACT } from '../../graphql/client/queries';\nimport { PermissionEnum } from '../../types/PermissionEnum';\nimport * as CustomerListActions from '../../store/actions/customerList';\nimport { useStoreContext } from '../App/StoreProvider';\nimport { useAuthContext } from '../Auth/AuthProvider';\nimport {\n GetCustomersContact,\n GetCustomersContact_getCustomersContact as CustomerContact,\n GetCustomersContact_getCustomersContact_electronicDetails as ElectronicAddress,\n} from '../../types/schemaTypes';\nimport { Error, Loading } from '../_common';\n\nconst DashboardDetails = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const authContext = useAuthContext();\n const {\n auth: { user },\n customerList: { customerList, customer },\n } = state;\n\n const opsCustomer = authContext.userHasPermission(PermissionEnum.Customer);\n let selectedCustomer = 0;\n const userProfile = user.profile;\n if (opsCustomer && customer === 0 && userProfile && userProfile.role === 'Customer') {\n const userProfile = user.profile;\n const customerId = userProfile.Customer;\n selectedCustomer = Number(customerId);\n dispatch(CustomerListActions.setCustomerID(selectedCustomer));\n }\n\n const input = {\n search: '',\n customerId: opsCustomer ? selectedCustomer : 0,\n };\n\n const { data } = useQuery(GET_ALL_CUSTOMERSLIST, {\n variables: { input },\n skip:\n customerList.length > 0 ||\n (opsCustomer && customer === 0 && userProfile && userProfile.role === 'Customer'),\n });\n\n if (customerList.length === 0 && data && data.getAllCustomerList && data.getAllCustomerList.length !== 0) {\n const customerusersData = data.getAllCustomerList;\n dispatch(CustomerListActions.setCustomerList(customerusersData));\n }\n\n const variables = {\n input: {\n customerId: customer,\n },\n };\n return (\n \n {({ error, data, loading }: QueryResult): JSX.Element | null => {\n return (\n
\n {customer != 0 &&
{loading && }
}\n {!loading && (\n
\n
\n \n
\n
Parent Number
\n
{customer}
\n
Address
\n
{data?.getCustomersContact?.address}
\n
City, State & Zip
\n
\n {data?.getCustomersContact?.city}\n {data?.getCustomersContact?.state\n ? `, ${data.getCustomersContact.state}`\n : ''}\n {data?.getCustomersContact?.postalCode\n ? ` & ${data.getCustomersContact.postalCode}`\n : ''}\n
\n
Country & County
\n
\n {data?.getCustomersContact?.country}\n {data?.getCustomersContact?.county\n ? `, ${data?.getCustomersContact?.county}`\n : ''}\n
\n
Electronic Addresses
\n
\n {data?.getCustomersContact?.electronicDetails?.map(info => (\n \n ))}\n
\n
Payment Terms
\n
\n {data?.getCustomersContact?.paymentTerms\n ? `Net ${data.getCustomersContact.paymentTerms} Days`\n : ''}\n
\n
\n
\n
\n
\n \n
\n
Sales Representative
\n
\n {data?.getCustomersContact?.contactDetails?.salesRepName}\n

\n   \n {data?.getCustomersContact?.contactDetails?.salesRepEmail}\n

\n   \n {data?.getCustomersContact?.contactDetails?.salesRepPhoneNumber}\n
\n\n
Customer Service
\n
\n {data?.getCustomersContact?.contactDetails?.custServiceName}\n

\n   \n {data?.getCustomersContact?.contactDetails?.custServiceEmail}\n

\n   \n {data?.getCustomersContact?.contactDetails?.custServicePhoneNumber}\n
\n
Credit Analyst
\n
\n {data?.getCustomersContact?.contactDetails?.creditAnalystName}\n

\n   \n {data?.getCustomersContact?.contactDetails?.creditAnalystEmail}\n

\n   \n {data?.getCustomersContact?.contactDetails?.creditAnalystPhoneNumber}\n
\n
\n
\n
\n )}\n
\n );\n }}\n
\n );\n};\n\nexport default DashboardDetails;\n","import React from 'react';\nimport './DashboardOpenInvoices.scss';\nimport { Bar, BarChart, CartesianGrid, Legend, Rectangle, ResponsiveContainer, Tooltip, XAxis, YAxis } from 'recharts';\nimport { Query, QueryResult } from 'react-apollo';\nimport { GET_OPEN_INVOICE_AGE } from '../../graphql/client/queries';\nimport { useStoreContext } from '../App/StoreProvider';\nimport { GetOpenInvoiceAge } from '../../types/schemaTypes';\nimport { GetOpenInvoiceAge_getOpenInvoiceAge as OpenInvoice } from '../../types/schemaTypes';\nimport { Loading } from '../_common';\n\nconst DashboardOpenInvoices = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n customerList: { customer },\n } = state;\n\n const variables = {\n input: {\n searchString: '',\n customer,\n addressNumber: 0,\n invoiceStatus: 1,\n pageSize: 0,\n offSet: 0,\n sortParam: 'invoiceDate',\n sortDirection: 'desc',\n invoiceNumber: '',\n poNumber: '',\n },\n };\n\n const formatXAxis = tickValue => {\n if (tickValue == 8500000) {\n return `>$${tickValue}`;\n } else {\n return `$${tickValue}`;\n }\n };\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n const invoiceList: any[] = [];\n //console.log('sundeep' + JSON.stringify(data));\n if (data && data.getOpenInvoiceAge) {\n invoiceList.push({\n OpenAmount: data.getOpenInvoiceAge.overSixty,\n Range: 'Over 60',\n });\n invoiceList.push({\n OpenAmount: data.getOpenInvoiceAge.thirtyOneSixty,\n Range: '31 to 60',\n });\n invoiceList.push({\n OpenAmount: data.getOpenInvoiceAge.sixteenThirty,\n Range: '16 to 30',\n });\n invoiceList.push({\n OpenAmount: data.getOpenInvoiceAge.oneFifteen,\n Range: '1 to 15',\n });\n invoiceList.push({\n OpenAmount: data.getOpenInvoiceAge.current,\n Range: 'Current',\n });\n }\n\n return (\n
\n
\n \n
\n {customer != 0 &&
{loading && }
}\n \n \n \n \n \n formatXAxis(tickValue).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')\n }\n tickCount={8}\n />\n \n \n \n \n \n \n
\n
\n
\n );\n }}\n
\n );\n};\n\nexport default DashboardOpenInvoices;\n","import React from 'react';\nimport './DashboardPurchaseOrders.scss';\nimport { Query, QueryResult } from 'react-apollo';\nimport { GET_ALL_PURCHASEORDER_LIST } from '../../graphql/client/queries';\nimport { useStoreContext } from '../App/StoreProvider';\nimport { Error, Loading } from '../_common';\nimport {\n GetPurchaseOrderList_getPurchaseOrderList as PurchaseOrder,\n GetPurchaseOrderList,\n} from '../../types/schemaTypes';\nimport openfolder from '../../assets/openfolder.png';\nimport Table from 'react-bootstrap/Table';\nimport { Routes } from '../../utils/Routes';\nimport moment from 'moment';\n\nconst DashboardPurchaseOrders = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n customerList: { customer },\n } = state;\n\n const openPurchaseOrders = (): void => {\n const URL = `${window.location.origin}${Routes.PURCHASE_ORDERS.route}`;\n window.location.replace(URL);\n };\n\n const variables = {\n input: {\n searchString: '',\n customer,\n fromDate: null,\n toDate: null,\n pageSize: 10,\n offSet: 0,\n sortParam: 'customerPODate',\n sortDirection: 'desc',\n product: '',\n poNumber: '',\n pickupLocation: '',\n status: '1',\n shipTo: '',\n },\n };\n return (\n \n {({ error, data, loading }: QueryResult): JSX.Element | null => {\n const purchaseOrderList: PurchaseOrder[] = [];\n if (data && data.getPurchaseOrderList && data.getPurchaseOrderList.length !== 0) {\n data.getPurchaseOrderList.forEach((element: PurchaseOrder | null): void => {\n if (element !== null) {\n purchaseOrderList.push(element);\n }\n });\n }\n\n return (\n
\n {customer != 0 && error && }\n
\n \n   \n \"\"\n
\n \n
\n {customer != 0 &&
{loading && }
}\n
\n \n \n \n \n \n \n \n \n \n \n \n {purchaseOrderList.map((info, index) => (\n \n \n \n \n \n \n \n \n ))}\n \n
PO NumberPO ValueDateUoMPO Qty.Qty. shipped
{info.customerPONumber}{`$${info.poValue}`}{info.customerPODate}{info.uom}{info.quantityonPO}{info.quantityShipped}
\n
\n
\n \n
\n
\n );\n }}\n \n );\n};\n\nexport default DashboardPurchaseOrders;\n","import React from 'react';\nimport './DashboardBOLs.scss';\nimport { Query, QueryResult } from 'react-apollo';\nimport { GET_ALL_BOL_LIST } from '../../graphql/client/queries';\nimport { useStoreContext } from '../App/StoreProvider';\nimport { Error, Loading } from '../_common';\nimport clipboard from '../../assets/clipboard.png';\n\nimport { GetBolList_getBolList as Bol, GetBolList } from '../../types/schemaTypes';\nimport { Routes } from '../../utils/Routes';\nimport moment from 'moment';\n\nconst DashboardBOLs = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n customerList: { customer },\n } = state;\n\n const openBols = (): void => {\n const URL = `${window.location.origin}${Routes.BILLS_LADING.route}`;\n window.location.replace(URL);\n };\n\n const variables = {\n input: {\n searchString: '',\n customer,\n fromDate: null,\n toDate: null,\n bolNumber: '',\n pickupLocation: 0,\n region: '',\n wellName: '',\n scaleTicket: '',\n pageSize: 10,\n offSet: 0,\n sortParam: 'shipDate',\n sortDirection: 'desc',\n poNo: '',\n invoiceNumber: '',\n },\n };\n return (\n \n {({ error, data, loading }: QueryResult): JSX.Element | null => {\n const bolList: Bol[] = [];\n if (data && data.getBolList && data.getBolList.length !== 0) {\n // totalRowsCount = data.getBolList[0].totalRecordsCount;\n data.getBolList.forEach((element: Bol | null): void => {\n if (element !== null) {\n bolList.push(element);\n }\n });\n }\n\n return (\n
\n {customer != 0 && error && }\n
\n \n   \n \"\"\n
\n \n
\n {customer != 0 &&
{loading && }
}\n \n \n \n \n \n \n \n \n \n \n \n \n {bolList.map((info, index) => (\n \n \n \n \n \n \n \n \n ))}\n \n
BOL NumberLocationQty. shippedUoMProductShip Date
{info.bolNo}{info.pickUpLocation}{info.quantityShipped}{info.uom}{info.product}{info.shipDate}
\n
\n
\n \n
\n
\n );\n }}\n
\n );\n};\n\nexport default DashboardBOLs;\n","import React from 'react';\nimport './DashboardMyInvoices.scss';\nimport { Query, QueryResult } from 'react-apollo';\nimport { GET_ALL_INVOICE_LIST, GET_ALL_PURCHASEORDER_LIST } from '../../graphql/client/queries';\nimport { useStoreContext } from '../App/StoreProvider';\nimport { Error, Loading } from '../_common';\nimport { GetInvoiceList, GetInvoiceList_getInvoiceList as Invoice } from '../../types/schemaTypes';\nimport fountainPen from '../../assets/fountainPen.png';\nimport Table from 'react-bootstrap/Table';\nimport { Routes } from '../../utils/Routes';\nimport moment from 'moment';\n\nconst DashboardMyInvoices = (): JSX.Element => {\n const [state, dispatch] = useStoreContext();\n const {\n customerList: { customer },\n } = state;\n\n const openInvoices = (): void => {\n const URL = `${window.location.origin}${Routes.INVOICES.route}`;\n window.location.replace(URL);\n };\n\n const variables = {\n input: {\n searchString: '',\n customer,\n fromDate: null,\n toDate: null,\n addressNumber: 0,\n invoiceStatus: 1,\n pageSize: 10,\n offSet: 0,\n sortParam: 'invoiceDate',\n sortDirection: 'desc',\n invoiceNumber: '',\n poNumber: '',\n },\n };\n return (\n \n {({\n error,\n data,\n loading,\n refetch,\n fetchMore,\n }: QueryResult): JSX.Element | null => {\n const invoiceList: any[] = [];\n if (data && data.getInvoiceList && data.getInvoiceList.length !== 0) {\n data.getInvoiceList.forEach((element: Invoice | null): void => {\n if (element !== null) {\n invoiceList.push(element);\n }\n });\n }\n return (\n
\n {customer != 0 && error && }\n
\n \n   \n \"\"\n
\n \n
\n {customer != 0 &&
{loading && }
}\n \n \n \n \n \n \n \n \n \n \n \n {invoiceList.map((info, index) => (\n \n \n \n \n \n \n \n ))}\n \n
Invoice TypeInvoice No.Invoice DateDue DateOpen Amount
{info.invoiceType}{info.invoiceNo}{info.invoiceDate}{info.netDueDate}{`$${info.openAmount}`}
\n
\n
\n \n
\n
\n );\n }}\n
\n );\n};\n\nexport default DashboardMyInvoices;\n","import React from 'react';\nimport key from '../../assets/key.png';\nimport Inquiry from '../../assets/question.png';\nimport openStatement from '../../assets/OpenStatement.png';\nimport payment from '../../assets/coins.png';\nimport dispute from '../../assets/stop.png';\nimport customerInquiry from '../../assets/elearning.png';\nimport contactInfo from '../../assets/agenda.png';\nimport './DashboardLinks.scss';\nimport { Routes } from '../../utils/Routes';\n\nconst DashboardLinks = (): JSX.Element => {\n const openPurchaseOrders = (): void => {\n const URL = `${window.location.origin}${Routes.PURCHASE_ORDERS.route}`;\n window.location.replace(URL);\n };\n\n const openContactPage = (): void => {\n const URL = `${window.location.origin}${Routes.CONTACT.route}`;\n window.location.replace(URL);\n };\n\n const openStatementPage = (): void => {\n const URL = `${window.location.origin}${Routes.OPEN_STATEMENT_ACCT.route}`;\n window.location.replace(URL);\n };\n\n return (\n
\n
\n \n   \n \"\"\n
\n \n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n );\n};\n\nexport default DashboardLinks;\n","import React from 'react';\nimport './Dashboard.scss';\nimport DashboardHeader from './DashboardHeader';\nimport DashboardDetails from './DashboardDetails';\nimport DashboardOpenInvoices from './DashboardOpenInvoices';\nimport DashboardPurchaseOrders from './DashboardPurchaseOrders';\nimport DashboardBOLs from './DashboardBOLs';\nimport DashboardMyInvoices from './DashboardMyInvoices';\nimport DashboardLinks from './DashboardLinks';\n\nconst Dashboard = (): JSX.Element => {\n return (\n
\n \n
\n \n       \n \n
\n

\n
\n \n       \n \n       \n \n
\n

\n
\n
\n \n
\n
\n
\n );\n};\n\nexport default Dashboard;\n","import React from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport Users from '../../../Users';\nimport './Content.css';\nimport PrivateRoute from '../../../Auth/PrivateRoute';\nimport { Routes } from '../../../../utils';\nimport SilentRenew from '../../../Auth/SilentRenew';\nimport BillsLading from '../../../BillsLading';\nimport Invoices from '../../../Invoices';\nimport PurchaseOrders from '../../../PurchaseOrders';\nimport Reports from '../../../Reports';\nimport Contact from '../../../Contact';\nimport Maintenance from '../../../Maintenance';\nimport OpenOrders from '../../../OpenOrders';\nimport OpenOrdersDetails from '../../../OpenOrders/OpdenOrdersDetail';\nimport OpenStatementAcct from '../../../OpenStatementAcct';\nimport Dashboard from '../../../Dashboard/Dashboard';\n\nexport const Content = (): JSX.Element => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Content;\n","import OverlayTrigger from 'react-bootstrap/OverlayTrigger';\nimport React from 'react';\nimport './NavBar.scss';\n\ninterface NavBarItemProps {\n children: JSX.Element;\n}\n\nconst NavBarItemWithOverlay = ({ children }: NavBarItemProps): JSX.Element => {\n const tooltip =
Page not available
;\n return (\n \n
{children}
\n
\n );\n};\n\nexport default NavBarItemWithOverlay;\n","import Nav from 'react-bootstrap/Nav';\nimport React from 'react';\nimport { LinkContainer } from 'react-router-bootstrap';\nimport './NavBar.scss';\nimport NavBarItemWithOverlay from './NavBarItemWithOverlay';\n\ninterface NavBarItemProps {\n href: string;\n title: string;\n isActive: boolean;\n isDisabled?: boolean;\n}\n\nconst NavBarItem = ({ href, title, isActive, isDisabled }: NavBarItemProps): JSX.Element => {\n const linkContainer = `NavBar-TabIndicator ${\n isActive ? 'NavBar-ActiveTabIndicator' : 'NavBar-HiddenTabIndicator'\n } ${isDisabled && 'pointerEvents: none'}`;\n return (\n \n {isDisabled ? (\n \n \n \n {title}\n \n \n \n ) : (\n \n (document.title = 'JDE Customer Portal')} className={linkContainer}>\n {title}\n \n \n )}\n \n );\n};\n\nexport default NavBarItem;\n","import Nav from 'react-bootstrap/Nav';\nimport React from 'react';\nimport { LinkContainer } from 'react-router-bootstrap';\nimport './NavBar.scss';\nimport NavBarItemWithOverlay from './NavBarItemWithOverlay';\nimport NavDropdown from 'react-bootstrap/NavDropdown';\nimport { RoutesObject } from '../../../../utils/Routes';\nimport { CustomButton } from '../../../_common';\nimport { useAuthContext } from '../../../Auth/AuthProvider';\nimport { PermissionEnum } from '../../../../types/PermissionEnum';\nimport { Routes } from '../../../../utils';\n\ninterface NavBarDropdownProps {\n header?: JSX.Element;\n title?: string;\n isActive: boolean;\n isDisabled?: boolean;\n routes: RoutesObject[];\n}\n\nconst NavBarDropdown = ({ header, title, isActive, isDisabled, routes }: NavBarDropdownProps): JSX.Element => {\n const linkContainer = `NavBar-TabIndicator ${\n isActive ? 'NavBar-ActiveTabIndicator' : 'NavBar-HiddenTabIndicator'\n } ${isDisabled && 'pointerEvents: none'}`;\n const authContext = useAuthContext();\n const opsAdmin = authContext.userHasPermission(PermissionEnum.Admin);\n const opsCustomer = authContext.userHasPermission(PermissionEnum.Customer);\n const opsCustomerService = authContext.userHasPermission(PermissionEnum.CustomerService);\n\n // const canViewUsers = authContext.userHasPermission(PermissionEnum.ViewUsers);\n // const canViewPermissions = authContext.userHasPermission(PermissionEnum.ViewPermissions);\n // const canViewLofas = authContext.userHasPermission(PermissionEnum.ViewLOFA);\n // const canViewCustomers = authContext.userHasPermission(PermissionEnum.ViewCustomer);\n // const canViewCustomerParents = authContext.userHasPermission(PermissionEnum.ViewCustomerParent);\n // const canViewDrivers = authContext.userHasPermission(PermissionEnum.ViewDriver);\n // const canViewCrews = authContext.userHasPermission(PermissionEnum.ViewCrew);\n // const canViewProppants = authContext.userHasPermission(PermissionEnum.ViewProppant);\n // const canViewCarriers = authContext.userHasPermission(PermissionEnum.ViewDriverCompany);\n\n // TODO: This is a temporary fix, need to add the isDisable in the Routes object - GB\n // return isDisabled || (!canViewUsers && !canViewPermissions && title === Routes.SYSTEM_ADMIN.title) ? (\n // \n // \n // {title}\n // \n // \n // ) :\n return (\n \n {routes.map((route: RoutesObject, index: number) => {\n if (route.type === 'external') {\n return (\n \n
{route.title}
\n \n );\n } else {\n // const isTabDisabled = route.title === Routes.SYSTEM_ADMIN_USERS.title && (opsCustomer || opsCustomerService);\n return (\n \n \n
\n {route.title === Routes.HOME.title ? (\n {\n authContext.userManager.signoutRedirect();\n }}\n />\n ) : (\n route.title\n )}\n
\n {/* Code to put divider under dropdown menu item ....*/}\n {index < routes.length - 1 && }\n
\n
\n );\n }\n })}\n
\n );\n};\n\nexport default NavBarDropdown;\n","import React, { useEffect, useState } from 'react';\nimport Navbar from 'react-bootstrap/Navbar';\nimport Nav from 'react-bootstrap/Nav';\nimport { Routes } from '../../../../utils';\nimport NavBarItem from './NavBarItem';\nimport NavBarItemWithOverlay from './NavBarItemWithOverlay';\nimport NavBarDropdown from './NavBarDropdown';\nimport JDELogo from '../../../../assets/JDElogo.png';\nimport { useAuthContext } from '../../../Auth/AuthProvider';\nimport { PermissionEnum } from '../../../../types/PermissionEnum';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport './NavBar.scss';\nimport { useStoreContext } from '../../StoreProvider';\n\nexport const NavBar = (): JSX.Element => {\n const [selectedTab, setSelectedTab] = useState(window.location.pathname);\n const [state, dispatch] = useStoreContext();\n const {\n bol: { relatedBol },\n } = state;\n\n const isSystemAdminActive: boolean =\n selectedTab === `${Routes.SYSTEM_ADMIN_USERS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_PERMISSIONS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_CUSTOMERS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_CUSTOMER_PARENTS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_CREWS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_LOFAS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_PROPANTS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_DRIVERS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_CARRIERS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_PROPANTS.route}` ||\n selectedTab === `${Routes.SYSTEM_ADMIN_SETTINGS.route}`;\n const isProfileActive: boolean =\n selectedTab === `${Routes.PROFILE.route}` || selectedTab === `${Routes.CHANGE_PASSWORD.route}`;\n const profileHeader = (\n
\n person\n
\n );\n const authContext = useAuthContext();\n const opsAdmin = authContext.userHasPermission(PermissionEnum.Admin);\n const opsCustomerService = authContext.userHasPermission(PermissionEnum.CustomerService);\n\n const isAdmin = opsAdmin;\n const isCustomerService = opsCustomerService;\n\n // console.log('NavBar - relatedBol', selectedTab, relatedBol);\n // if (selectedTab !== Routes.BILLS_LADING.route && relatedBol > 0) {\n // setSelectedTab(Routes.BILLS_LADING.route);\n // }\n\n useEffect(() => {\n if (selectedTab !== Routes.BILLS_LADING.route && relatedBol > 0) {\n setSelectedTab(Routes.BILLS_LADING.route);\n }\n }, [relatedBol]);\n // const canViewJob = authContext.userHasPermission(PermissionEnum.ViewJob);\n // const canEditJob = authContext.userHasPermission(PermissionEnum.EditJob);\n // const canViewMessages = authContext.userHasPermission(PermissionEnum.ViewMessages);\n\n return (\n {\n setSelectedTab(eventKey);\n }}\n >\n \n \"\"\n \n \n \n \n \n \n \n );\n};\n\nexport default NavBar;\n","import React, { FC } from 'react';\nimport { useAuthContext } from '../AuthProvider';\nimport { Loading } from '../../_common';\nimport { Routes } from '../../../utils';\nimport './Callback.scss';\n\nconst Callback: FC = (): JSX.Element => {\n const { userManager } = useAuthContext();\n\n userManager.signinRedirectCallback().then(user => {\n if (user) window.location.href = `${window.location.origin}${Routes.HOME.route}`;\n else window.location.href = window.location.origin;\n });\n\n return (\n \n \n \n );\n};\n\nexport default Callback;\n","import 'material-design-icons/iconfont/material-icons.css';\nimport React, { useState } from 'react';\nimport Modal from 'react-bootstrap/Modal';\nimport { useMutation } from 'react-apollo';\nimport { REGISTER_USER } from '../../../graphql/client/mutations';\nimport { RegisterUser } from '../../../types/schemaTypes';\nimport { CustomButton, Loading } from '../../_common';\nimport SearchableDropdown from '../../_common/SearchableDropdown/SearchableDropdown';\nimport { Textfield } from '../../_common/Textfield/Textfield';\nimport './RegisterModal.scss';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport toaster from 'toasted-notes';\nimport { Alert } from 'react-bootstrap';\n\ninterface Option {\n id: number | string;\n name: string | number;\n}\n\ninterface RegisterModalProps {\n onClickHide: () => void;\n onUserSaved: () => void;\n show: boolean;\n errorMessage?: string;\n setErrorMessage: React.Dispatch>;\n}\n\nconst toasterOptions = { duration: 2500 };\nconst RegisterModal = ({\n show,\n onClickHide,\n onUserSaved,\n errorMessage,\n setErrorMessage,\n}: RegisterModalProps): JSX.Element => {\n const [selectedAccountType, setselectedAccountType] = useState('');\n const [selectedEntity, setselectedEntity] = useState('');\n const [selectedEntityEmail, setselectedEntityEmail] = useState('');\n const [selectedFirstName, setSelectedFirstName] = useState('');\n const [selectedLastName, setSelectedLastName] = useState('');\n const [selectedTitleRole, setselectedTitleRole] = useState('');\n const [selectedEmailAddress, setSelectedEmailAddress] = useState('');\n const [selectedTelephone, setselectedTelephone] = useState('');\n\n const [emailExists, setEmailExists] = useState(false);\n const [emailErrorMessage, setEmailErrorMessage] = useState('');\n const [phoneNumberError, setPhoneNumberError] = useState('');\n\n const accountTypeoptions: Option[] = [];\n const entityTypeoptions: Option[] = [];\n\n //Will rewrite below code with constansts file\n accountTypeoptions.push({\n id: 'New Account',\n name: 'New Account',\n });\n accountTypeoptions.push({\n id: 'Existing Account',\n name: 'Existing Account',\n });\n\n entityTypeoptions.push({\n id: ' ogservice@ussilica.com',\n name: 'USS Energy Co',\n });\n entityTypeoptions.push({\n id: 'Customerservice@epminerals.com',\n name: 'EP MINERALS – North America',\n });\n entityTypeoptions.push({\n id: 'Exportcustomerservice@epminerals.com',\n name: 'EP MINERALS – Outside North America',\n });\n entityTypeoptions.push({\n id: 'customerservice@epengineeredclays.com',\n name: 'EP ENGINEERED CLAYS CORP',\n });\n\n const clearState = (): void => {\n setselectedAccountType('');\n setselectedEntity('');\n setselectedEntityEmail('');\n setselectedTitleRole('');\n setSelectedFirstName('');\n setSelectedLastName('');\n setSelectedEmailAddress('');\n setSelectedEmailAddress('');\n };\n\n const onCompletedSaveUser = (data: RegisterUser): void => {\n if (data.registerUser === null) return;\n const saveUserErrors = data.registerUser.errors;\n const emailStatus = data.registerUser.emailSent;\n if (emailStatus) {\n toaster.notify(renderToast('Registration Email sent Succesfully', 'success'), toasterOptions);\n } else if (!emailStatus && saveUserErrors && saveUserErrors.length > 0) {\n setEmailErrorMessage('Unable to Register: ' + saveUserErrors[0]);\n toaster.notify(renderToast('Registration Not Succesful, Please try again', 'danger'), toasterOptions);\n }\n onCancel();\n };\n\n const renderToast = (message, type = 'info') => {\n interface ToastProps {\n onClose?: () => void;\n }\n const Comp = (props: ToastProps) => {\n return (\n \n {message}\n \n );\n };\n\n Comp.displayName = 'toast';\n return Comp;\n };\n\n const [RegisterUser, { loading: registerUserLoading }] = useMutation(REGISTER_USER, {\n onCompleted: onCompletedSaveUser,\n });\n\n const handleOnSave = async (\n accountType: string,\n entity: string,\n entityEmail: string,\n firstName: string,\n lastName: string,\n emailAddress: string,\n titleRole: string,\n telephone: string,\n ): Promise => {\n const variables = {\n input: {\n accountType,\n entity,\n entityEmail,\n firstName,\n lastName,\n emailAddress,\n titleRole,\n telephone,\n },\n };\n await RegisterUser({ variables });\n };\n\n const onClickSave = (): void => {\n handleOnSave(\n selectedAccountType,\n selectedEntity,\n selectedEntityEmail,\n selectedFirstName,\n selectedLastName,\n selectedEmailAddress,\n selectedTitleRole,\n selectedTelephone,\n );\n };\n\n const onReset = (): void => {\n if (!emailExists) {\n handleOnSave(\n selectedAccountType,\n selectedEntity,\n selectedEntityEmail,\n selectedFirstName,\n selectedLastName,\n selectedEmailAddress,\n selectedTitleRole,\n selectedTelephone,\n );\n }\n };\n\n const onCancel = (): void => {\n clearState();\n onClickHide();\n };\n\n const validateEmail = (email: string): boolean => {\n const emailRegex = /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]+$/;\n //const emailRegex = /\\S+@\\ussilica|sandboxlogistics+\\.\\S+/;\n const isEmailValid = emailRegex.test(email.toString());\n return isEmailValid;\n };\n\n const setSaveButtonStatus = (): boolean => {\n if (emailExists) return true;\n const isNameValid = selectedFirstName.trim().length > 0 ? true : false;\n const isLastNameValid = selectedLastName.trim().length > 0 ? true : false;\n const isEmailValid = validateEmail(selectedEmailAddress);\n const isRoleTitleValid = selectedTitleRole.trim().length > 0 ? true : false;\n const isTelephoneVaid = selectedTelephone.trim().length > 0 ? true : false;\n const isAccountTypeValid = selectedAccountType.trim().length > 0 ? true : false;\n const isEntityValid = selectedEntity.trim().length > 0 ? true : false;\n\n const isFormValid =\n isNameValid &&\n isLastNameValid &&\n isEmailValid &&\n isRoleTitleValid &&\n isTelephoneVaid &&\n isEntityValid &&\n isAccountTypeValid;\n\n return !isFormValid;\n };\n\n const changeFirstName = (event: any): void => {\n setSelectedFirstName(event.target.value);\n };\n\n const changeLastName = (event: any): void => {\n setSelectedLastName(event.target.value);\n };\n\n const changeRoleTitle = (event: any): void => {\n setselectedTitleRole(event.target.value);\n };\n\n const validatePhoneNumber = (value: any): void => {\n let phoneNumberError = '';\n if (value && !/^\\d+$/.test(value)) {\n phoneNumberError = 'This field should only contain numeric values.';\n } else if (value && value.length > 10) {\n phoneNumberError = 'The number of characters must not exceed 10 digits.';\n }\n setPhoneNumberError(phoneNumberError);\n };\n\n const changeTelephone = (event: any): void => {\n setselectedTelephone(event.target.value);\n };\n\n const changeEntity = (value: any): void => {\n setselectedEntity(getEntityName(value).toString());\n setselectedEntityEmail(value);\n };\n\n const getEntityName = (id: string | number): string | number => {\n const filteredRole = entityTypeoptions.filter((item: Option) => item.id === id);\n const entityName = filteredRole[0].name;\n return entityName;\n };\n\n const changeAccountType = (value: any): void => {\n setselectedAccountType(value);\n };\n\n const changeEmail = (value: any): void => {\n if (errorMessage) {\n setErrorMessage('');\n }\n const emailAddress = value ? value : '';\n setSelectedEmailAddress(emailAddress.trim());\n };\n\n const checkExternalUser = (value: any): void => {\n const emailRegex = /\\S+@\\ussilica+\\.\\S+/;\n const isUssilicaMail = emailRegex.test(value.toString());\n };\n\n return (\n \n \n \n \n
{'Welcome'}
\n
{errorMessage}
\n
\n
\n\n \n {registerUserLoading && (\n
\n \n
\n )}\n
\n
\n {\n changeAccountType(eventKey);\n }}\n value={''}\n />\n
\n
\n {\n changeEntity(eventKey);\n }}\n value={''}\n />\n
\n
\n
\n
\n changeFirstName(event)}\n maxLength={64}\n />\n
\n
\n changeLastName(event)}\n maxLength={64}\n />\n
\n
\n
\n
\n changeRoleTitle(event)}\n maxLength={64}\n />\n
\n
\n {\n changeTelephone(event);\n validatePhoneNumber(event.target.value);\n }}\n error={phoneNumberError !== ''}\n helperText={phoneNumberError}\n maxLength={10}\n />\n
\n
\n
\n
\n {\n const value = event.currentTarget.value;\n if (value) checkExternalUser(value);\n changeEmail(value);\n }}\n maxLength={64}\n />\n
\n
\n
\n\n \n \n \n
\n );\n};\n\nexport default RegisterModal;\n","import React, { FC, useEffect, useState } from 'react';\nimport { AuthConsumer } from '../AuthProvider';\nimport JDELogo from '../../../assets/JDElogo.png';\nimport Footer from '../../../assets/footer.jpg';\nimport 'material-design-icons/iconfont/material-icons.css';\nimport './Login.scss';\nimport RegisterModal from '../Register/RegisterModal';\nimport { Textfield } from '../../_common/Textfield/Textfield';\nimport { GetUsersCheckEmail } from '../../../types/schemaTypes';\nimport { GET_USERS_CHECK_EMAIL } from '../../../graphql/client/queries';\nimport { useQuery } from 'react-apollo';\n\nconst Login: FC = (): JSX.Element => {\n const [showRegisterModal, setShowRegisterModal] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const [email, setEmail] = useState('');\n const [searchEmail, setSearchEmail] = useState('');\n const [isEmailExists, setIsEmailExists] = useState(true);\n const [isEmailCheckCompleted, setIsEmailCheckCompleted] = useState(false);\n\n const handleOnHide = (): void => {\n setShowRegisterModal(false);\n };\n\n const onRegistered = () => {\n setErrorMessage('');\n setShowRegisterModal(false);\n };\n\n useQuery(GET_USERS_CHECK_EMAIL, {\n variables: { input: { emailAddress: searchEmail } },\n fetchPolicy: 'no-cache',\n onCompleted(data) {\n if (email !== '') {\n setIsEmailCheckCompleted(true);\n } else {\n setIsEmailCheckCompleted(false);\n }\n\n const emailExists =\n data!.getUsersCheckEmail!.emailExists == null ? false : data!.getUsersCheckEmail!.emailExists;\n setIsEmailExists(emailExists);\n },\n });\n\n const onsubmitRegister = () => {\n setShowRegisterModal(true);\n };\n\n const onsubmitLogin = (userManager, e) => {\n e.preventDefault();\n if (email !== '' && isEmailCheckCompleted && isEmailExists) {\n userManager.signinRedirect({\n /* eslint-disable camelcase */\n login_hint: email,\n prompt: 'login',\n });\n }\n };\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n setIsEmailCheckCompleted(false);\n setSearchEmail(email);\n }, 300);\n return () => clearTimeout(delayDebounceFn);\n }, [email]);\n\n return (\n \n {({ userManager }): JSX.Element => {\n return (\n
\n
\n
\n
\n
\n \"JDE\n
\n
\n onsubmitLogin(userManager, event)}\n >\n setEmail(e.target.value)}\n />\n\n
\n {email != '' && isEmailCheckCompleted && !isEmailExists && (\n \n )}\n
\n
\n \n   \n \n Login\n \n \n
\n \n
\n
\n
\n );\n }}\n
\n );\n};\n\nexport default Login;\n","import React, { FC } from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport Callback from '../Callback';\nimport Login from '../Login';\nimport { Routes } from '../../../utils';\n\nconst AuthContent: FC = (): JSX.Element => (\n \n \n \n \n);\n\nexport default AuthContent;\n","import React, { FC } from 'react';\nimport Content from './Content';\nimport './Frame.css';\nimport Navbar from './NavBar/NavBar';\nimport AuthContent from '../../Auth/AuthContent';\nimport { Loading } from '../../_common';\nimport { useStoreContext } from '../StoreProvider';\nimport moment from 'moment-timezone';\n\nconst Frame: FC = (): JSX.Element => {\n const [state] = useStoreContext();\n const { auth } = state;\n moment.tz.setDefault('America/Chicago');\n\n if (auth.isUserLoading) {\n return (\n \n \n \n );\n }\n\n if (auth.user && !auth.user.expired) {\n return (\n
\n
\n \n
\n
\n \n
\n
\n );\n } else {\n return ;\n }\n};\n\nexport default Frame;\n","import React from 'react';\nimport { ApolloProvider } from 'react-apollo';\nimport { BrowserRouter } from 'react-router-dom';\nimport client from '../../graphql/client';\nimport { useStore } from '../../utils';\nimport Frame from './Frame';\nimport { AuthProvider } from '../Auth/AuthProvider';\nimport { StoreProvider } from './StoreProvider';\n\nconst App = (): JSX.Element => {\n const store = useStore();\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n","import 'bootstrap/dist/css/bootstrap.min.css';\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport App from './components/App';\nimport './index.css';\n\nReactDOM.render(, document.getElementById('root'));\n"],"sourceRoot":""}