{"version":3,"sources":["pages/Preacris/Preacris.actions.ts","ErrorBoundary.tsx","App.tsx","pages/License/License.reducers.ts","common/components/MaintenanceMessage/MaintenanceMessage.reducers.ts","store/rootReducer.ts","store/index.ts","index.tsx","pages/TaxMaps/TaxMaps.selectors.ts","pages/Preacris/Preacris.selectors.ts","pages/Preacris/Preacris.types.ts","pages/TaxMaps/TaxMaps.types.ts","pages/PropertySearch/PropertySearch.types.ts","pages/Login/Login.types.ts","pages/Login/Login.actions.ts","pages/Login/Login.reducers.ts","pages/UserUsageReport/UserUsageReport.constants.ts","pages/PropertySearch/PropertySearchDetails/PropertySearchDetails.types.ts","pages/Preacris/Preacris.module.scss","pages/RecentReports/RecentReports.constants.ts","pages/TaxMaps/services/taxMapsExportService.ts","pages/TaxMaps/TaxMaps.actions.ts","pages/PropertySearch/PropertySearch.reducers.ts","pages/PropertySearch/PropertySearchDetails/PropertySearchDetails.reducers.ts","pages/TaxMaps/TaxMaps.module.scss","pages/Search/SearchExport/SearchExport.tsx","pages/Search/SearchDetails/SearchDetails.types.ts","pages/Search/SearchHistory/SearchHistory.types.ts","pages/TaxTrax/TaxTraxTaxBills/TaxTraxTaxBills.types.ts","pages/TaxTrax/TaxTraxTaxBillRecord/TaxTraxTaxBillRecord.types.ts","pages/TaxTrax/TaxTrax.actions.ts","pages/Search/SearchForm/consts.ts","pages/TaxTrax/TaxTrax.module.scss","pages/XosImages/XosImage.types.ts","pages/Bankruptcy/Bankruptcy.module.scss","pages/Bankruptcy/Bankruptcy.types.ts","common/index.ts","pages/PropertySearch/PropertySearch.services.ts","pages/DepOnline/DepOnline.constants.ts","pages/Preacris/Preacris.services.ts","pages/TaxTrax/TaxTrax.services.ts","pages/TaxMaps/TaxMaps.reducers.ts","pages/XosImages/XosImage.module.scss","common/templates/PropertyInformationDescriptions/PropertyInformationDescriptions.tsx","common/templates/PropertyIdentifierDescriptions/PropertyIdentifierDescriptions.tsx","common/templates/PropertyOwnerDescriptions/PropertyOwnerDescriptions.tsx","common/global.module.scss","pages/PropertySearch/PropertySearch.actions.ts","pages/TaxTrax/TaxTrax.constants.ts","pages/RecentReports/RecentReports.types.ts","pages/RecentReports/RecentReports.reducers.ts","pages/RecentReports/RecentReports.services.ts","pages/RecentReports/RecentReports.actions.ts","pages/Pages.module.scss","pages/Search/SearchForm/Tabs/LinksTab/LinksTab.tsx","pages/Search/SearchForm/Tabs/NameTab/components/Aliases/Aliases.tsx","pages/Search/SearchForm/Tabs/NameTab/components/Individuals/Individuals.tsx","pages/Search/SearchForm/Tabs/NameTab/components/Corporation/Corporation.tsx","pages/Search/SearchForm/Tabs/NameTab/components/Corporations/Corporations.tsx","pages/Search/SearchForm/Tabs/NameTab/NameTab.tsx","pages/Search/SearchForm/Tabs/OtherTab/OtherTab.tsx","pages/Search/SearchForm/Tabs/PropertyTab/PropertyTab.tsx","pages/Search/SearchForm/Tabs/MultiTab/MultiTab.tsx","pages/Search/SearchForm/SearchForm.tsx","pages/Search/SearchResult/SearchResult.tsx","pages/Search/Search.tsx","pages/Search/SearchSelectAll/SearchSelectAll.tsx","common/components/MaintenanceMessage/MaintenanceMessage.types.ts","pages/TaxMaps/TaxMaps.services.ts","pages/TaxTrax/templates/TaxTraxPropertiesTable/TaxTraxPropertiesTable.tsx","pages/TaxTrax/templates/TaxTraxDisclaimer/TaxTraxDisclaimer.tsx","pages/TaxTrax/TaxTraxTaxBillRecord/TaxTraxTaxBillRecord.reducers.ts","pages/PropertySearch/PropertySearchDetails/PropertySearchDetails.actions.ts","pages/PropertySearch/PropertySearchDetails/PropertySearchDetails.services.ts","pages/Bankruptcy/components/Individuals/Individuals.module.scss","pages/Login/Login.module.scss","pages/Search/SearchForm/SearchForm.module.scss","pages/Faq/Faq.module.scss","pages/PropertySearch/PropertySearch.constants.ts","common/constants.ts","pages/Search/SearchExport/SearchExport.actions.ts","pages/Search/SearchHistory/SearchHistory.actions.ts","pages/Search/SearchResult/SearchResult.contants.ts","pages/constants.ts","pages/XosImages/XosImage.services.ts","pages/Bankruptcy/Bankruptcy.services.ts","pages/TaxTrax/TaxTraxTaxBillRecord/TaxTraxTaxBillRecord.services.ts","pages/TaxTrax/TaxTraxTaxBillRecord/TaxTraxTaxBillRecord.actions.ts","pages/DepOnline/DepOnline.reducers.ts","pages/DepOnline/DepOnline.types.ts","pages/DepOnline/DepOnline.actions.ts","pages/DepOnline/DepOnline.services.ts","pages/Preacris/Preacris.reducers.ts","pages/DepOnline/DepOnline.module.scss","common/helpers/fetch.ts","common/helpers/format.ts","common/helpers/form.tsx","common/helpers/array.ts","pages/RecentReports/RecentReports.tsx","pages/License/License.tsx","pages/XosImages/components/Individuals/Individuals.tsx","pages/XosImages/components/Corporation/Corporation.tsx","pages/XosImages/components/XosImageItemsGroup/XosImageItemsGroup.tsx","pages/XosImages/XosImageForm.tsx","pages/Bankruptcy/components/Individuals/Individuals.tsx","pages/Bankruptcy/components/Corporation/Corporation.tsx","pages/Bankruptcy/components/BankruptcyItemsGroup/BankruptcyItemsGroup.tsx","pages/Bankruptcy/BankruptcyForm.tsx","pages/Bankruptcy/Bankruptcy.tsx","pages/TaxMaps/TaxMapsForm.tsx","pages/TaxMaps/templates/TaxMapResultTable/TaxMapResultTable.tsx","pages/TaxMaps/TaxMaps.tsx","pages/PropertySearch/PropertySearchForm.tsx","pages/PropertySearch/templates/PropertySearchResultTable/PropertySearchResultTable.tsx","pages/PropertySearch/PropertySearch.tsx","pages/Preacris/PreacrisTabs.tsx","pages/Preacris/PreacrisTabsInfo.tsx","pages/Preacris/PreacrisForm.tsx","pages/Preacris/Preacris.tsx","pages/TaxTrax/TaxTraxAvailableMunicipalities/TaxTraxMunicipalitiesTable.tsx","pages/TaxTrax/TaxTraxAvailableMunicipalities/TaxTraxAvailableMunicipalities.tsx","pages/TaxTrax/TaxTraxForm.tsx","pages/TaxTrax/TaxTrax.tsx","pages/UserUsageReport/UserUsageReportForm/UserUsageReportForm.tsx","pages/UserUsageReport/UserUsageReportResult/UserUsageReportResult.tsx","pages/UserUsageReport/UserUsageReport.tsx","pages/Login/Login.constants.ts","pages/Login/Login.tsx","pages/DepOnline/DepOnlineForm.tsx","pages/DepOnline/DepOnline.tsx","pages/Search/Search.actions.ts","pages/Search/SearchDetails/SearchDetails.actions.ts","pages/Search/SearchHistory/SearchHistory.tsx","pages/TaxMaps/TaxMapsTabs.tsx","pages/Dashboard/Dashboard.tsx","common/components/MaintenanceMessage/MaintenanceMessage.tsx","common/components/MaintenanceMessage/MaintenanceMessage.actions.ts","common/components/MaintenanceMessage/MaintenanceMessage.services.ts","common/components/MaintenanceMessage/MaintenanceMessage.selectors.ts","pages/azure-ad-pages/EmployeeSignIn.tsx","pages/azure-ad-pages/SignIn.tsx","pages/azure-ad-pages/WellsFargoSignIn.tsx","pages/PropertySearch/PropertSearchFormTabs.tsx","pages/PropertySearch/PropertySearchDetails/PropertySearchDetails.tsx","pages/RecentReports/RecentReportsTable.tsx","pages/RecentReports/RecentReports.selectors.ts","pages/XosImages/XosImage.actions.ts","pages/Search/Search.reducers.ts","pages/Search/Search.selectors.ts","pages/Search/SearchDetails/SearchDetails.reducers.ts","pages/Search/SearchExport/SearchExport.reducers.ts","pages/Search/SearchExport/SearchExport.types.ts","pages/Search/SearchHistory/SearchHistory.reducers.ts","pages/Bankruptcy/Bankruptcy.actions.ts","pages/License/License.actions.ts","pages/License/License.services.ts","pages/TaxTrax/TaxTraxFormTabs.tsx","pages/TaxTrax/TaxTraxTaxBills/TaxTraxTaxBills.tsx","pages/TaxTrax/TaxTraxTaxBillRecord/TaxTraxTaxBillRecord.tsx","pages/Search/templates/RecordedDocumentDetails/RecordedDocumentDetails.tsx","pages/Search/templates/LienDetails/LienDetails.tsx","pages/Search/SearchDetails/SearchDetails.tsx","pages/TaxTrax/TaxTraxTaxBills/TaxTraxTaxBills.actions.ts","pages/TaxTrax/TaxTraxTaxBills/TaxTraxTaxBills.services.ts","assets/img/logo.png","pages/License/License.types.ts","pages/Search/SearchForm/Tabs/NameTab/components/Individuals/Individuals.module.scss","pages/Preacris/Preacris.constants.ts","authConfig.ts","pages/Public.module.scss","pages/XosImages/components/Individuals/Individuals.module.scss","pages/License/License.module.scss","pages/Bankruptcy/Bankruptcy.constants.ts","pages/TaxMaps/TaxMaps.constants.ts","pages/XosImages/XosImage.constants.ts","common/components/Date.tsx","common/components/Money.tsx","common/components/AttributeValuePair.tsx","common/components/FormField.tsx","common/components/BasicTable.tsx","pages/Bankruptcy/Bankruptcy.reducers.ts","common/components/CommonTable.tsx","common/components/BasicDrawer.tsx","common/components/PrintButton.tsx","common/helpers/notification.ts","common/helpers/validate.ts","common/helpers/other.ts","common/redux/selectors.ts","common/redux/reducerNames.ts","common/services/exportService.ts","pages/Pages.tsx","pages/Public.tsx","pages/Services/Services.tsx","pages/Faq/Faq.tsx","pages/UserManual/UserManual.tsx","pages/routes.ts","common/components/HOCs/SkeletonHOC.tsx","pages/Search/SearchHistory/SearchHistory.module.scss","pages/Search/SearchForm/Tabs/PropertyTab/PropertyTab.module.scss","pages/Search/SearchForm/Tabs/MultiTab/MultiTab.module.scss","common/components/MaintenanceMessage/MaintenanceMessage.module.scss","assets/img/map.png","assets/img/foreclosure.png","assets/img/surrogate.png","assets/img/CONDEMNATION.png","pages/index.ts","pages/TaxTrax/TaxTrax.reducers.ts","pages/TaxTrax/TaxTraxTaxBills/TaxTraxTaxBills.reducers.ts","pages/Search/Search.types.ts","pages/TaxTrax/TaxTrax.selectors.ts","common/helpers/saveFile.ts","common/helpers/printFile.ts","common/helpers/browser.ts","common/helpers/auth.ts","common/helpers/cookies.ts","pages/PropertySearch/PropertySearch.module.scss","pages/TaxTrax/TaxTrax.types.ts","pages/XosImages/XosImage.reducers.ts","pages/UserUsageReport/UserUsageReport.actions.ts","pages/UserUsageReport/UserUsageReport.types.ts","pages/UserUsageReport/UserUsageReport.selectors.ts","pages/UserUsageReport/UserUsageReport.reducers.ts","pages/UserUsageReport/UserUsageReport.services.ts","pages/PropertySearch/PropertySearch.selectors.ts","pages/Search/templates/LiensListItem/LiensListItem.tsx","pages/Search/templates/OptionalLienParameters/OptionalLienParameters.tsx","pages/Search/templates/LiensList/LiensList.tsx","pages/Search/templates/ParkingViolationJudgments/ParkingViolationJudgments.tsx","pages/Search/templates/DocumentsListItem/DocumentsListItem.tsx","pages/Search/templates/DocumentsList/DocumentsList.tsx","pages/Search/templates/Assesment/Assesments.tsx","pages/Search/templates/ResultReports/SearchByPropertyResultTabs.tsx","pages/Search/templates/ResultReports/ResultReports.tsx","pages/Search/templates/ResultTable/ResultTable.tsx","pages/Search/templates/ResultGrid/SearchByNameResultTabs.tsx","pages/Search/templates/ResultGrid/ResultGrid.tsx","pages/Search/templates/MultiSearchResults/MultiSearchResults.tsx","pages/Search/templates/TransitAdjudicationBureauJudgments/TransitAdjudicationBureauJudgments.tsx","pages/Search/templates/EnvironmentalControlBoardJudgments/EnvironmentalControlBoardJudgments.tsx","pages/Search/templates/ResultDocs/ResultDocs.tsx","pages/Search/templates/ResultDocs/SearchByOtherResultTable.tsx","pages/Search/templates/EnvironmentalControlBoardJudgment/EnvironmentalControlBoardJudgment.tsx","pages/Search/templates/TableHeader/TableHeader.tsx","pages/Search/templates/EmergencyRepairsListItem/EmergencyRepairsListItem.tsx","pages/Search/templates/RecordedDocumentReferences/RecordedDocumentReferences.tsx","pages/Search/templates/FormFields/BlockLotFormFields.tsx","pages/Search/templates/FormFields/PropertyDocumentTypeFormFields.tsx","pages/Search/templates/FormFields/AddressFormFields.tsx","pages/Search/templates/FormFields/AddressesFormFields.tsx","pages/XosImages/XosImage.selectors.ts","pages/Bankruptcy/Bankruptcy.selectors.ts"],"names":["alreadyCalledGetStates","getStates","bearerToken","dispatch","setResultLoading","fetchStatesService","then","httpError","json","response","errorMessage","Error","usStates","type","GET_PREACRIS_STATES_SUCCESS","catch","error","showWarnNotification","message","finally","getLicenseFlag","username","fetchLicenseFlag","getDrivers","statehob","countyhob","cmtdocId","driversData","token","fetchDriversService","result","drivers","length","getDriversSuccess","getXDetails","xdetailsData","fetchXDetailsService","getXDetailsSuccess","loading","PREACRIS_SET_LOADING","resetResults","RESET_RESULTS","searchDocuments","docId","formValues","driversSearch","searchName","body","docDescs","drivervalues","searchDocumentImagesService","showSuccessNotification","GET_PREACRIS_DRIVERS_SUCCESS","num","_i","resetDriversData","RESET_DRIVERS_DATA","resetXDetailsData","RESET_XDETAILS_DATA","GET_PREACRIS_XDETAILS_SUCCESS","ErrorBoundary","props","state","hasError","errorInfo","this","status","title","subTitle","children","React","Component","memo","useDispatch","useMsal","instance","inProgress","pagesLoading","useSelector","login","isPublicUser","localStorage","getItem","redirectToPolicy","policy","timer","setTimeout","loginRedirect","clearTimeout","preAuthorizationAction","loginPagesLoading","postAuthorizationAction","loginIsPublic","useEffect","callbackId","addEventCallback","event","eventType","EventType","LOGIN_FAILURE","indexOf","interactionType","InteractionType","Redirect","forgotPasswordRequest","Popup","loginPopup","e","HANDLE_REDIRECT_START","window","location","pathname","relativeForgotPasswordUrl","relativeForgotUsernameUrl","forgotUsernameRequest","relativeProfileViewUrl","profileViewPolicy","relativeProfileEditUrl","profileEditRequest","relativeEditAuthenticationPhoneUrl","editAuthenticationPhoneRequest","relativeEditEmailPhoneUrl","editEmailPolicy","relativeResetPasswordUrl","resetPasswordRequest","relativeOnDemandMFAPhoneUrl","onDemandMFAPhonePolicy","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","payload","idTokenClaims","forgotPasswordPolicy","alert","removeItem","logoutRedirect","account","refreshAdUserSession","removeEventCallback","spinning","size","Sizes","LARGE","tip","LOADING","className","globalStyles","positionFixedImportant","basename","process","InteractionStatus","None","from","to","exact","path","component","Pages","Public","extra","defaultState","lastUpdated","SEARCH","ReducerNames","SEARCH_EXPORT","SEARCH_DETAILS","LOGIN","FORM","SEARCH_HISTORY","PROPERTY_SEARCH","PROPERTY_SEARCH_DETAILS","RECENT_REPORTS","TAX_MAPS","DEP_ONLINE","BANKRUPTCY","XOSIMAGE","PREACRIS","LICENSE","USER_USAGE_REPORT","TAXTRAX","TAXTRAX_TAX_BILLS","TAXTRAX_TAX_BILL_RECORD","MAINTENANCE_MESSAGE","rootReducer","combineReducers","searchReducer","searchExportReducer","searchDetailsReducer","loginReducer","formReducer","searchHistoryReducer","propertySearchReducer","propertySearchDetailsReducer","recentReportsReducer","taxMapsReducer","depOnlineReducer","bankruptcyReducer","xosImageReducer","preacrisReducer","action","console","log","LICENSE_SET_LOADING","userUsageReportReducer","taxTraxReducer","taxTraxTaxBillsReducer","taxTraxTaxBillRecordReducer","SET_MAINTENANCE_MESSAGE","Date","now","composeEnhancers","composeWithDevTools","trace","traceLimit","msalInstance","PublicClientApplication","msalConfig","store","createStore","applyMiddleware","thunk","Root","ReactDOM","render","document","getElementById","usStateSelector","taxMaps","usState","resultSelector","driversSelector","valueSelector","fieldName","formValueSelector","TAX_MAPS_FORM","getCities","counties","countyHob","county","find","hobCode","cities","getPlaceHolder","text","value","EMPTY_VALUE","getOptions","locations","map","name","getCountyOptions","PropertyFormPlaceholders","COUNTY","getCityOptions","placeHolder","CITY","city","getVillageOptions","cityHob","VILLAGE","villages","getSwissCode","hobCodes","villageHob","village","swissCode","preacris","getStatesOptions","PreacrisFormPlaceholders","STATE","stateHob","usstate","getCounties","getCmt","cmts","cmt","xdetailsSelector","getCmtOptions","docs","CMT","documentIdDescription","PREACRIS_ONLINE_FORM","GET_TAX_MAPS_STATES_SUCCESS","SET_TAX_MAPS_LOADING","GET_TAX_MAPS_DRIVERS_SUCCESS","TAX_MAPS_RESULT_SUCCESS","GET_STATES_SUCCESS","SET_LOADING","GET_DRIVERS_SUCCESS","PROPERTY_SEARCH_RESULT_SUCCESS","LOGIN_AZURE_AD_AUTHORIZED","isPublic","authorizeUser","fetchGet","loginButtonSetting","sessionStorage","setItem","user","azureAdAuthorized","initialForm","customer","USER_USAGE_REPORT_FORM","RESULT_COLUMN_NAMES","dataIndex","width","searchType","titleNumber","searchDate","totalAmount","description","searchParameters","POLICY_INFO_SET_LOADING","PROPERTY_SEARCH_DETAILS_ADD","PROPERTY_SEARCH_DETAILS_CLEAR","PROPERTY_SEARCH_DETAILS_LOADING","module","exports","ColumnNames","DAYS_COUNT","COLUMN_NAMES","searchTypeName","date","time","fileFormat","taxMapsExportService","searchId","middlename","imageId","format","blob","getState","getStateSuccess","searchTaxMaps","hob","driver","fIndex","substring","searchTaxMapsService","exportReport","searchIdId","imageName","a","saveFile","errorObject","details","ButtonGroup","Button","Group","accounts","useAccount","searchExport","icon","IconTypeNames","PRINTER","onClick","getAccessToken","accessToken","fetchHtmlPrintAsync","overlay","fetchFileAsync","key","Item","shape","SEARCH_DETAILS_ADD","SEARCH_DETAILS_CLEAR","SEARCH_DETAILS_LOADING","SEARCH_HISTORY_ADD","SEARCH_HISTORY_CLEAR","SEARCH_HISTORY_LOADING","TAXTRAX_TAX_BILLS_ADD","TAXTRAX_TAX_BILLS_CLEAR","TAXTRAX_TAX_BILLS_LOADING","TAXTRAX_TAX_BILL_RECORD_ADD","TAXTRAX_TAX_BILL_RECORD_CLEAR","TAXTRAX_TAX_BILL_RECORD_LOADING","SET_TAXTRAX_LOADING","setAvailableMunicipalitiesModalLoading","availableMunicipalitiesLoading","SET_AVAILABLE_MUNICIPALITIES_LOADING","setAvailableMunicipalitiesModalVisibility","showAvailableMunicipalitiesModal","SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY","getAvailableMunicipalities","fetchAvailableMunicipalitiesService","availableMunicipalities","GET_AVAILABLE_MUNICIPALITIES_SUCCESS","GET_TAXTRAX_STATES_SUCCESS","handleSearchRequest","service","TAXTRAX_RESULT_SUCCESS","FETCH_HEADER","searchByAddress","searchByAddressBody","searchByAddressService","searchByOwner","searchByOwnerBody","searchByOwnerService","searchByDrivers","searchByDriversService","GET_TAXTRAX_DRIVERS_SUCCESS","RESET_TAXTRAX_DRIVERS_DATA","RESET_TAXTRAX_RESULTS","Tabs","SearchTypes","OtherTabSearchBy","OtherTabFieldNames","initialCorporations","items","initialAliases","firstName","lastName","isExactLastName","initialAddresses","houseNumber","street","initialNameForm","judgmentsLiens","ftl","parkingViolations","ecb","tab","ucc","recordedDocuments","searchByIndividual","searchByCorporation","acris","corporations","aliases","Property","bookType","apn","propertyTab","assessment","filedLiens","searchBy","block","lot","ease","apartmentNumber","ownerName","nameTab","otherTab","documentId","crfn","reel","page","fileNumber","controlNumber","year","indexNumber","addresses","multiTab","searchByBlockLot","recordedDocumentsByBlockLot","searchByName","ecbsByAddress","emergencyRepairs","bookTypeOptions","NYC_DB_FORM_NAME","GET_XOSIMAGE_STATES_SUCCESS","XOSIMAGE_RESULT_SUCCESS","GET_BAKRUPTCY_STATES_SUCCESS","BANKRUPTCY_RESULT_SUCCESS","apiUri","usStateCode","fetchPost","DEP_ONLINE_FORM","DEP_ONLINE_FORM_INITIAL_VALUES","depAccountTypeOption","searchOption","PropertyInformationDescriptions","propertyInformation","itemNumber","schoolCode","address","bordered","column","label","span","PropertyIdentifierDescriptions","propertyIdentifier","accountNumber","section","subSection","subLot","printKey","suffix","district","subBlock","unitNumber","buildingNumber","volume","filedMapInformation","PropertyOwnerDescriptions","owners","item","index","getStatesSuccess","SearchTypeFormNames","LocationFormNames","AddressSearchFormNames","OwnerSearchFormNames","TaxTraxFormLabels","TaxTraxFormPlaceholders","TAXTRAX_FORM","TAB_INDEX","TAXTRAX_FORM_INITIAL_VALUES","SEARCH_BY","ADDRESS_SEARCH","HOB_CODES","streetNumber","streetName","OWNER_SEARCH","corporationName","DRIVERS_SEARCH","SET_RECENT_REPORTS_LOADING","GET_RECENT_REPORTS_SUCCESS","recentReports","fetchRecentReportsService","daysCount","setLoading","getRecentReports","report","print","fileName","userExportService","printFile","target","rel","href","Aliases","fields","handleFieldFocus","meta","alias","fieldArrayName","FieldArray","Individuals","tabIndex","remove","disabled","push","dashed","warn","minLength","maxLength","alphaNumeric","individual","align","onFocus","styles","input","input__noAddButton","addonAfter","style","display","inputType","id","tooltip","Corporation","corporation","Corporations","tabNamePrefix","autoFocusIndividual","checkboxes","aliasesFieldArrayName","corporationsFieldArrayName","gutter","autoFocus","row","warnAlphaNumeric","warnReel","number","warnPage","DOCUMENTS","LIENS","UNIFORM_COMMERCIAL","ENVIRONMENTAL_CONTROL","EMERGENCY_REPAIRS","SEARCHBY","REEL","FILE_NUMBER","CRFN","PAGE","CONTROL_NUMBER","DOCUMENT_ID","ADDRESSES","getFormValues","AddressesFormFields","fieldsDisabled","inputStyle","startingTabIndex","warnOwnerName","rowStyle","owner","recordedDocumentsFieldNameSuffix","autoFocusFirstField","topSpacing","selector","createSelector","search","Text","Typography","Option","Select","compose","reduxForm","form","initialValues","change","handleSubmit","valid","isAuthenticated","useIsAuthenticated","handleFocus","licenseflag","layout","onSubmit","validate","required","InputTypes","RADIO_GROUP","buttonStyle","Name","Other","Multi","Links","SearchHistory","changeFormValues","DATE_PICKER","datepickervalue","moment","defaultDateFormat","SELECT","select","allowClear","showSearch","filterOption","option","toLowerCase","button","searchClear","initialize","htmlType","color","fontWeight","Title","PRINT_OPTIONS_FORM_NAME","initialExportForm","onClickDetails","otherDataHeader","otherData","results","header","firstListOfPropertyLength","useMemo","propertyData","listOfProperties","clickDetailButton","useCallback","param","clickContinueButton","isOldSystem","closable","searchCriteria","marginLeft","nameData","multiData","multiResult","searchDetails","spinnerTitle","handleSearch","values","batch","searchHistoryClear","searchDetailsClear","searchExportClear","fetchAsync","scrollTop","SearchDetails","SearchSelectAll","resultItemIndex","documentType","tabName","selected","count","resultType","searchToggleSelectAll","getDataTypeName","Column","Table","TaxTraxPropertiesTable","data","properties","rowKey","record","Fragment","streetUnit","_","sheet","lotSuf","leadLot","ca","unit","addLot","strong","fetchTaxBillsAsync","fetchTaxBills","TaxTraxDisclaimer","justify","textCenter","formatLongDate","taxBillRecord","taxBill","propertySearchDetailsClear","propertySearchDetailsLoading","fetchPropertySearchDetailsAsync","parent","propertySearchDetailsAdd","exportPropertyDetailsAsync","searchXosDocument","company","docDesc","searchPolicyInfoService","PropertyFormLabels","USStateCodes","PROPERTY_SEARCH_FORM","PROPERTY_SEARCH_FORM_INITIAL_VALUES","ADDRES_SEARCH","FileFormatNames","ExportFormatNames","TableSizeNames","ButtonShapes","ButtonTypes","EMPTY_STRING","notSupportedMessage","SEARCH_EXPORT_CLEAR","searchExportLoading","SEARCH_EXPORT_LOADING","fetchContent","exportDetailsAsync","searchHistoryLoading","fetchHistoryAsync","recordedDocumentsOptions","showReferences","exportEmptyData","liensOptions","exportType","parkingViolationJudgmentsOptions","loadDate","environmentalControlBoardJudgmentsOptions","transitAdjudicationBureauJudgmentsOptions","federalTaxLiensOptions","assessmentsOptions","uniformCommercialCodesOptions","emergencyRepairsOptions","disclaimer1","disclaimer2","searchBankruptcyService","downloadTaxBill","taxTraxTaxBillRecordClear","taxTraxTaxBillRecordLoading","fetchTaxTraxTaxBillRecordAsync","property","requestBody","taxType","periodId","getTaxBillRecord","taxTraxTaxBillRecordAdd","exportTaxBillRecordAsync","exportTaxBillRecord","downloadTaxBillHtmlAsync","HTML","getTaxBillFileName","downloadTaxBillPdfAsync","PDF","nameSuffix","taxTypeName","searchDepOnline","exportFormat","searchDepOnlineService","uri","bodyObject","fetchRequest","fetchEmptyRequest","method","fetch","headers","Authorization","JSON","stringify","logoutAdUser","formatSize","amount","money","formatPrice","toFixed","replace","formatPriceString","formatDate","getFormattedDate","formatTime","formatDateTime","formatMonthYear","getFilterOption","options","alphabeticalSort","arr","propertyName","sort","b","RecentReports","loadingSelector","recentReportsSelector","level","License","usernameSelector","bold","setLicenseFlag","XOSIMAGE_FORM","requiredNameField","sectionNo","getCurrentSectionNo","individualNo","getCurrentIndividual","bankruptcySearch","patriotSearch","requiredWarn","INDIVIDUAL_INITIAL_VALUES","corpNo","getCurrentCorporation","CORPORATIONS_INITIAL_VALUES","xosImageCountyOptionsSelector","xosImageDistrictSelector","getXosImageCountyOptions","getXosImageDistrict","XosImageItemsGroup","xosImagesStates","clearField","handleStateChange","field","FormNames","DISTRICT","handleCountyChange","districtCode","statesOptions","getXosImageStatesOptions","requiredState","stateValue","currentSectionNo","currentSection","getCurrentSection","isBankruptcySelected","individuals","getIsBankruptcySelected","requiredCounty","countyValue","сountyHob","countyOptions","XosImageFormLabels","placeholder","XosImageFormPlaceholders","onChange","dstrct","FieldGroupNames","INDIVIDUALS","CORPORATIONS","SkeletonHOC","initProp","rows","XOSIMAGE_FORM_INITIAL_VALUES","htmlFor","GHOST","reset","PRIMARY","searchXosImage","BANKRUPTCY_FORM","requiredCheckBox","displayCheckboxWarn","checkboxWarn","bankruptcyCountyOptionsSelector","bankruptcyDistrictSelector","getBankruptcyCountyOptions","getBankruptcyDistrict","BankruptcyItemsGroup","bankruptcyStates","getBankruptcyStatesOptions","BankruptcyFormLabels","BankruptcyFormPlaceholders","BANKRUPTCY_FORM_INITIAL_ITEM_GROUP","BANKRUPTCY_FORM_INITIAL_VALUES","searchBankruptcy","WORD","Bankruptcy","bankruptcyStatesSelector","getStatesAction","TAX_MAPS_FORM_INITIAL_VALUES","cityOptions","villageOptions","clearDrivers","handleCityVillageChange","isCityDisabled","isCountySelected","isCitySelected","isSearchEnabled","requiredCity","undefined","large","TaxMapResultTable","exportReportClick","middleName","Object","columnName","taxMapImageId","ROUND","SMALL","DOWNLOAD","taxMapFileId","filesCount","TaxMaps","getStateAction","NY","data-cy","match","PropertySearchResultTable","policyViewFlag","getPropertyDetails","detailsSelector","detailsLoadingSelector","detailsLoading","PropertySearch","PropertySearchDetails","warnText","PreacrisFormTabs","PreacrisFormTabsInfo","PREACRIS_ONLINE_FORM_INITIAL_VALUES","cmtOptions","PreacrisSavedFormFieldNames","handleCMTChange","changeField","savedState","savedCounty","savedCmt","autoComplete","PreacrisFormLabels","Preacris","azureAdClaims","UserName","workaround","fullWidth","municipalities","availableTaxTypes","reduce","taxTypesArray","currentAvailableLocationData","keys","taxYearRanges","taxTypeKey","some","x","isTown","hobDescription","isVillage","disablePagination","fixedHeightInsideModal","hasBill","showTownBillAsterisk","showVillageBillAsterisk","toUpperCase","TaxTraxAvailableMunicipiliaties","isVisible","visible","onCancel","footer","modalSpacing","getVillages","stateOptions","getStateOptions","stateCode","handleCityChange","handleVillageChange","TaxTraxFormTabs","buttonWithTopMargin","usStatesSelector","taxBillsResponseSelector","propertySelector","taxBillsResponse","TaxTrax","showAvailableMunicipalitiesModalSelector","availalableMunicipalitiesLoadingSelector","availableMunicipalitiesSelector","TaxTraxTaxBills","customers","code","userUsageReportClear","getUserUsageReportsByCustomer","reports","resultsNoun","exportReportsToExcel","whiteSpace","UserUsageReport","customersSelector","accessFlag","userUsageReportAccessFlagSelector","userUsageReport","getCustomersAction","LoginButtonSettings","Paragraph","enableAAD","Login","history","URLSearchParams","get","useHistory","getCookie","showStPortalLink","loginErrorMessage","setCookie","showErrorNotification","top","xs","md","lg","stPortalUrl","loginButton","textAlign","DepOnline","SEARCH_CLEAR","dataTypeName","selectAll","SEARCH_TOGGLE_SELECT_ALL","searchLoading","SEARCH_LOADING","searchIsSelectedUpdate","guid","isSelected","SEARCH_IS_SELECTED_UPDATE","searchShowReferncesUpdate","SEARCH_SHOW_REFERNCES_UPDATE","searchExportTypeUpdate","SEARCH_EXPORT_TYPE_UPDATE","params","searchRequest","bookTypeText","documentTypes","documentTypesByBlockLot","documentTypesByName","documentTypesByAddress","SEARCH_PROPERTY_ADD","SEARCH_NAME_ADD","searchNameAdd","SEARCH_OTHER_ADD","searchOtherAdd","SEARCH_MULTI_ADD","searchMultiAdd","searchDetailsAdd","searchDetailsLoading","fetchDetailsAsync","boro","fetchExternalDetailsAsync","filesId","res","open","searchHistory","useState","modal","setModal","categoryNames","createDate","newFromDate","isAfter","setParams","TaxMapsFormTabs","menu","link","version","requiresBillingInfoAccess","Dashboard","userUsageReportAccessFlag","filter","hoverable","MaintenanceMessage","maintenanceMessage","maintenanceMessageSelector","getMaintenanceMessage","maintenanceText","fetchMaintenanceMessage","messageText","EmployeeSignIn","useLocation","returnTo","employeeLoginRequest","SignIn","loginRequest","WellsFargoSignIn","wellsFargoLoginRequest","PropertySearchFormTabs","HOUSE","STREET","LAST_CORP","FIRST","MIDDLE","specialCharacter","noLabel","propertySearchDetails","taxRollYear","buildingInformation","policyInformation","acres","squareFootage","land","lotSize","total","zoning","yearBuilt","lotGroup","structure","handleDetailsExport","onBack","attribute","orderNumber","getIconType","TIFF","DOC","FILE","fileStorageId","LINK","xosImageStates","updateIsSelectedInItems","reduceSelectAllPropertyResults","acc","cur","reduceSelectAllNameResults","reduceSelectAllOtherResults","reduceIsSelectedPropertyResults","reduceIsSelectedNameResults","reduceIsSelectedOtherResults","reduceExportTypePropertyResults","liens","reduceExportTypeNameResults","reduceShowReferencesPropertyResults","reduceShowReferencesNameResults","propertyResult","nameResult","addressResult","newData","newResults","showReferencesSelector","exportTypeSelector","isSelectedSelector","export","assessments","federalTaxLiens","environmentalControlBoardJudgments","transitAdjudicationBureauJudgments","parkingViolationJudgments","uniformCommercialCodes","setLicenseAgreement","str","go2dashboard","taxBills","taxBillListLoading","taxTraxTaxBills","taxBillRecordLoading","taxTraxTaxBillRecord","taxBillRecordSelector","taxBillSelector","downloadBill","downloadBillRequest","taxBillGroups","groups","approximateReleaseDate","hasAtLeastOneDownloadableBill","billFlag","taxTraxTaxBillsClear","groupKey","xxl","table","handleBillDownload","TaxTraxTaxBillRecord","displayYear","postDate","payments","paymentDetails","paymentDetail","paymentDetailDate","paidDate","ColumnGroup","RecordedDocumentDetails","reelFileNumber","instr","dated","remarks","dateRec","entered","lots","firstSideOfTransaction","secondSideOfTransaction","documentReferences","documentTypeDetails","documentID","pageOFileNumber","firstSideOfTransactionHeaderName","secondSideOfTransactionHeaderName","boroConvert","dataSource","renderItem","transaction","remarkText","LienDetails","lien","documentTypeTitle","lienType","court","clerk","clerkSequence","effectiveDate","debtor","creditor","docketDate","attorney","docType","satisfaction","controlDate","accidentDate","totalDebtors","documentNumber","operatorId","sheriffsExecutions","against","totalDebtorsLabel","indexNumberLabel","dispositionLabel","attorneyHeader","debtorHeader","creditorHeader","dispositionHeader","againsHeader","parseInt","valueType","zipCode","remarkDate","taxTraxTaxBillsLoading","getTaxBills","taxTraxTaxBillsAdd","documentDescription","clientId","apiClientId","tenant","tenantId","apiScopeName","appUri","appBaseName","profileEditPolicy","editAuthenticationPhonePolicy","resetPasswordPolicy","baseAuthority","employeeSignInAuthority","signInAuthority","wellsFargoSignInAuthority","forgotUsernameAuthority","forgotPasswordAuthority","profileViewAuthority","profileEditAuthority","resetPasswordAuthority","editAuthenticationPhoneAuthority","editEmailAuthority","baseUrl","baseRelativeUrl","loginUrl","accessTokenRequestUserScope","auth","authority","knownAuthorities","redirectUri","postLogoutRedirectUri","navigateToLoginRequestUrl","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","containsPii","LogLevel","Info","info","Verbose","debug","Warning","piiLoggingEnabled","scopes","profileViewRequest","editEmailRequest","getApiAccessRequestSilent","getApiAccessRequest","SearchByNames","toDate","Money","AttributeValuePair","FormItem","Form","RadioGroup","Radio","makeField","rest","hasWarning","touched","warning","validateStatus","help","Input","radio","checkbox","Checkbox","radioGroup","AutoComplete","inputNumber","InputNumber","minWidth","password","Password","datePicker","DatePicker","onBlur","onDragStart","onDrop","dateString","getComponent","CHECK_BOX","RADIO","AUTOCOMPLETE","INPUT_NUMBER","PASSWORD","FormField","renderRow","scrollHeight","pageSize","setPageSize","currentPage","setCurrentPage","gefaultPaginationConfig","showSizeChanger","defaultPageSize","position","renderRowCallback","showHeader","pagination","scroll","y","coutnies","CommonTable","onPaginationChange","onSizeChange","getNumber","current","onShowSizeChange","BasicDrawer","placement","padding","maskClosable","badBrowser","browserName","PrintButton","notification","duration","max","min","isNaN","Number","test","documentElement","loginSelector","tabSelector","Header","Layout","Footer","Sider","Content","useRouteMatch","url","uriArray","split","menuItems","routes","isWellsFargoUser","encodeURIComponent","getUserUsageReportAccessFlag","breakpoint","collapsible","minHeight","logo","src","alt","selectedKeys","theme","defaultSelectedKeys","dashboard","sm","avatarCharacterToDisplay","onpremADusername","indexOfLastBackslash","lastIndexOf","getAvatarCharacter","userNameToDisplay","onpremADemailaddress","Email","getUserNameDisplay","request","triggerAdPolicy","content","xl","showIcon","getFullYear","addEventListener","checkCookie","Services","Faq","ccpanotice","TabPane","Panel","Collapse","terms","defaultActiveKey","tabPosition","accordion","img","surrogate","foreclosure","condemnation","links","UserManual","nycDataBase","Search","propertySearch","depOnline","bankruptcy","taxTrax","license","userManual","WrappedComponent","paragraph","active","getStateOptionsArray","states","getHobCode","saveAs","fileURL","URL","webkitURL","createObjectURL","popup","focus","browser","detect","accessTokenRequestAuthority","acquireTokenSilent","InteractionRequiredAuthError","acquireTokenRedirect","handleRedirectPromise","val","setTime","getTime","cookie","toUTCString","div","cname","decodeURIComponent","i","c","charAt","setUserUsageReportLoading","fetchHasBillingInfoPermissions","getUserUsageReportAccessFlagSuccess","getCustomers","fetchCustomersService","getCustomersSuccess","customerCode","fetchUserUsageReportsService","getUserUsageReportsSuccess","fetchExcelExportFile","getIsSelected","checked","getDateDisplay","displayText","getExportType","groupName","compName","exportTypeHandler","group","ParkingViolationJudgments","judgments","defaultChecked","parseFloat","documentsIds","getShowReferences","documents","showReferencesHandler","emptyDescription","noDocsFound","isRichmondSearch","includes","startsWith","transitionalValues","actualValues","marketValue","hasValues","sec","vol","easement","attorneyGroup","exemptions","reuc","taxClass","buildingClass","gar","coopApts","stories","buildings","totalUnits","lotFrontage","lotDepth","buildingFrontage","buildingDepth","condoNumber","cornerStatus","irregular","assessedLand","assessedTotal","exemptLand","exemptTotal","showZero","SearchExport","resultItem","tabTitle","textToDisplay","postCode","join","addressResults","forEach","resultIndex","searchByBlockLotSearchCriteria","searchByNameSearchCriteria","searchByAddressSearchCriteria","addressTabTitle","addressResultItem","TabNames","TransitAdjudicationBureauJudgments","EnvironmentalControlBoardJudgments","judgment","ResultDocs","otherResult","SearchByOtherResultTable","lienId","er","violationNumber","orderDate","noticeDate","balance","TableHeader","resultNoun","EmergencyRepairsListItem","streetCode","referenceCrfn","fetchExternalDetails","referenceBoro","fetchDetails","warnBlock","warnLot","warnEasement","getNextTabIndex","assessmentFieldName","recordedDocumentsFieldName","filedLiensFieldName","warnHouse","warnStreet","warnApartment","includeApartmentNumberField","tabIndexIncrement","addressIndex","xosimageStatesSelector","xosImage","xosImageState","corporationNo","individualsBankruptcySelected","isCorporationsBankruptcySelected","bankruptcyState"],"mappings":"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AO,wBACP+K,KAAM,+KAER,CACE/K,MAAO,WACP+K,KAAM,yDAER,CACE/K,MAAO,0BACP+K,KAAM,iEAER,CACE/K,MAAO,oBACP+K,KAAM,qGAER,CACE/K,MAAO,qBACP+K,KAAM,udAER,CACE/K,MAAO,2BACP+K,KAAM,8JAER,CACE/K,MAAO,kBACP+K,KAAM,mBAER,CACE/K,MAAO,2BACP+K,KAAM,4IAER,CACE/K,MAAO,cACP+K,KAAM,mLAER,CACE/K,MAAO,aACP+K,KAAM,8JAER,CACE/K,MAAO,oCACP+K,KAAM,8KAER,CACE/K,MAAO,mBACP+K,KAAM,+RAER,CACE/K,MAAO,iBACP+K,KAAM,8DAER,CACE/K,MAAO,iBACP+K,KAAM,kBAER,CACE/K,MAAO,gBACP+K,KAAM,sJAER,CACE/K,MAAO,gBACP+K,KAAM,qHAIZ,CACE/K,MAAO,mBACPpB,KAAM,CACJ,CACEoB,MAAO,iCACP+K,KAAM,iFAER,CACE/K,MAAO,oBACP+K,KAAM,yGAER,CACE/K,MAAO,oBACP+K,KAAM,2RAER,CACE/K,MAAO,+BACP+K,KAAM,4UAER,CACE/K,MAAO,8BACP+K,KAAM,qLAER,CACE/K,MAAO,uBACP+K,KAAM,qGAER,CACE/K,MAAO,6CACP+K,KAAM,8FAER,CACE/K,MAAO,qCACP+K,KAAM,4GAER,CACE/K,MAAO,qBACP+K,KAAM,2DAER,CACE/K,MAAO,2BACP+K,KAAM,qGAER,CACE/K,MAAO,yBACP+K,KAAM,qGAER,CACE/K,MAAO,qDACP+K,KAAM,6cAER,CACE/K,MAAO,gCACP+K,KAAM,iIAER,CACE/K,MAAO,+BACP+K,KAAM,0gBAER,CACE/K,MAAO,+BACP+K,KAAM,miBAER,CACE/K,MAAO,wBACP+K,KAAM,yBAER,CACE/K,MAAO,kDACP+K,KAAM,8qBAER,CACE/K,MAAO,qDACP+K,KAAM,8gBAER,CACE/K,MAAO,oCACP+K,KAAM,4EAER,CACE/K,MAAO,6CACP+K,KAAM,kHAER,CACE/K,MAAO,0BACP+K,KAAM,0VAER,CACE/K,MAAO,eACP+K,KAAM,gBAER,CACE/K,MAAO,2BACP+K,KAAM,4BAER,CACE/K,MAAO,8BACP+K,KAAM,kOAER,CACE/K,MAAO,6BACP+K,KAAM,4DAER,CACE/K,MAAO,wCACP+K,KAAM,uSAER,CACE/K,MAAO,wCACP+K,KAAM,uSAER,CACE/K,MAAO,uBACP+K,KAAM,uFAER,CACE/K,MAAO,qBACP+K,KAAM,kVAER,CACE/K,MAAO,kCACP+K,KAAM,kVAER,CACE/K,MAAO,6CACP+K,KAAM,kVAER,CACE/K,MAAO,0BACP+K,KAAM,2BAER,CACE/K,MAAO,qBACP+K,KAAM,seAER,CACE/K,MAAO,oBACP+K,KAAM,6SAER,CACE/K,MAAO,6BACP+K,KAAM,6SAER,CACE/K,MAAO,6BACP+K,KAAM,6SAER,CACE/K,MAAO,6BACP+K,KAAM,6SAER,CACE/K,MAAO,6BACP+K,KAAM,6SAER,CACE/K,MAAO,gDACP+K,KAAM,8GAER,CACE/K,MAAO,mCACP+K,KAAM,8DAER,CACE/K,MAAO,sBACP+K,KAAM,iGAER,CACE/K,MAAO,oBACP+K,KAAM,6SAER,CACE/K,MAAO,wCACP+K,KAAM,0FAER,CACE/K,MAAO,kCACP+K,KAAM,+GAER,CACE/K,MAAO,kDACP+K,KAAM,gQAER,CACE/K,MAAO,qBACP+K,KAAM,6MAER,CACE/K,MAAO,kDACP+K,KAAM,uQAER,CACE/K,MAAO,sCACP+K,KAAM,kJAER,CACE/K,MAAO,yBACP+K,KAAM,qGAER,CACE/K,MAAO,0BACP+K,KAAM,iGAER,CACE/K,MAAO,uBACP+K,KAAM,iGAER,CACE/K,MAAO,uCACP+K,KAAM,sHAER,CACE/K,MAAO,qDACP+K,KAAM,iSAER,CACE/K,MAAO,mBACP+K,KAAM,yNAER,CACE/K,MAAO,sBACP+K,KAAM,kUAER,CACE/K,MAAO,oBACP+K,KAAM,yZAER,CACE/K,MAAO,wBACP+K,KAAM,yBAER,CACE/K,MAAO,2BACP+K,KAAM,8EAER,CACE/K,MAAO,gCACP+K,KAAM,iCAER,CACE/K,MAAO,6BACP+K,KAAM,0bAER,CACE/K,MAAO,6BACP+K,KAAM,+TAER,CACE/K,MAAO,0BACP+K,KAAM,oFAER,CACE/K,MAAO,yBACP+K,KAAM,kPAER,CACE/K,MAAO,cACP+K,KAAM,yIAER,CACE/K,MAAO,qBACP+K,KAAM,0FAER,CACE/K,MAAO,iBACP+K,KAAM,wPAER,CACE/K,MAAO,+CACP+K,KAAM,kNAER,CACE/K,MAAO,iDACP+K,KAAM,kDAER,CACE/K,MAAO,uBACP+K,KAAM,0NAER,CACE/K,MAAO,oDACP+K,KAAM,kSAER,CACE/K,MAAO,sCACP+K,KAAM,uCAER,CACE/K,MAAO,8CACP+K,KAAM,0FAER,CACE/K,MAAO,6CACP+K,KAAM,2KAIZ,CACE/K,MAAO,gBACPpB,KAAM,CACJ,CACEoB,MAAO,oBACP+K,KAAM,+IAER,CACE/K,MAAO,+BACP+K,KAAM,8PAER,CACE/K,MAAO,yBACP+K,KAAM,0BAER,CACE/K,MAAO,4BACP+K,KAAM,6BAER,CACE/K,MAAO,0BACP+K,KAAM,2BAER,CACE/K,MAAO,0CACP+K,KAAM,yJAER,CACE/K,MAAO,oBACP+K,KAAM,8QAER,CACE/K,MAAO,uBACP+K,KAAM,8OAER,CACE/K,MAAO,sCACP+K,KAAM,oUAER,CACE/K,MAAO,8BACP+K,KAAM,+BAER,CACE/K,MAAO,+BACP+K,KAAM,gCAER,CACE/K,MAAO,uCACP+K,KAAM,wCAER,CACE/K,MAAO,oBACP+K,KAAM,6SAER,CACE/K,MAAO,WACP+K,KAAM,yVAER,CACE/K,MAAO,2BACP+K,KAAM,4ZAER,CACE/K,MAAO,iBACP+K,KAAM,gNAER,CACE/K,MAAO,8CACP+K,KAAM,wNAER,CACE/K,MAAO,kCACP+K,KAAM,4KAER,CACE/K,MAAO,sBACP+K,KAAM,yJAER,CACE/K,MAAO,6BACP+K,KAAM,8BAER,CACE/K,MAAO,qBACP+K,KAAM,wBAIZ,CACE/K,MAAO,UACPpB,KAAM,CACJ,CACEoB,MAAO,6BACP+K,KAAM,iJAER,CACE/K,MAAO,gCACP+K,KAAM,2JAER,CACE/K,MAAO,4BACP+K,KAAM,mEAER,CACE/K,MAAO,6CACP+K,KAAM,kHAER,CACE/K,MAAO,0BACP+K,KAAM,iEAER,CACE/K,MAAO,kCACP+K,KAAM,wCAIZ,CACE/K,MAAO,eACPpB,KAAM,CACJ,CACEoB,MAAO,oBACP+K,KAAM,+IAER,CACE/K,MAAO,kCACP+K,KAAM,4kBAER,CACE/K,MAAO,wBACP+K,KAAM,wBAER,CACE/K,MAAO,qCACP+K,KAAM,wNAER,CACE/K,MAAO,6CACP+K,KAAM,kVAER,CACE/K,MAAO,yBACP+K,KAAM,+GAER,CACE/K,MAAO,oBACP+K,KAAM,6SAER,CACE/K,MAAO,wCACP+K,KAAM,+NAER,CACE/K,MAAO,WACP+K,KAAM,yVAER,CACE/K,MAAO,iBACP+K,KAAM,gNAER,CACE/K,MAAO,mBACP+K,KAAM,yNAER,CACE/K,MAAO,gBACP+K,KAAM,wJAER,CACE/K,MAAO,4BACP+K,KAAM,4EAER,CACE/K,MAAO,eACP+K,KAAM,qfAER,CACE/K,MAAO,kBACP+K,KAAM,mBAER,CACE/K,MAAO,aACP+K,KAAM,8JAER,CACE/K,MAAO,qBACP+K,KAAM,4BAIZ,CACE/K,MAAO,uBACPpB,KAAM,CACJ,CACEoB,MAAO,oBACP+K,KAAM,2RAER,CACE/K,MAAO,6BACP+K,KAAM,iJAER,CACE/K,MAAO,qDACP+K,KAAM,6cAER,CACE/K,MAAO,+BACP+K,KAAM,0gBAER,CACE/K,MAAO,+BACP+K,KAAM,miBAER,CACE/K,MAAO,kDACP+K,KAAM,8qBAER,CACE/K,MAAO,4BACP+K,KAAM,mEAER,CACE/K,MAAO,6CACP+K,KAAM,kHAER,CACE/K,MAAO,qBACP+K,KAAM,kVAER,CACE/K,MAAO,6CACP+K,KAAM,kVAER,CACE/K,MAAO,oBACP+K,KAAM,6SAER,CACE/K,MAAO,wCACP+K,KAAM,0FAER,CACE/K,MAAO,uBACP+K,KAAM,yBAER,CACE/K,MAAO,qDACP+K,KAAM,iSAER,CACE/K,MAAO,mBACP+K,KAAM,yNAER,CACE/K,MAAO,sBACP+K,KAAM,kUAER,CACE/K,MAAO,yBACP+K,KAAM,kPAER,CACE/K,MAAO,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","file":"static/js/main.6b96311f.chunk.js","sourcesContent":["import { Dispatch } from 'redux';\r\nimport {\r\n searchDocumentImagesService,\r\n fetchStatesService,\r\n fetchDriversService,\r\n fetchXDetailsService,\r\n fetchLicenseFlag,\r\n} from './Preacris.services';\r\nimport {\r\n SetResultLoadingType,\r\n PREACRIS_SET_LOADING,\r\n RESET_RESULTS,\r\n ResetResultsType,\r\n GetStatesSuccessType,\r\n GET_PREACRIS_STATES_SUCCESS,\r\n RESET_DRIVERS_DATA,\r\n ResetDriversDataType,\r\n GET_PREACRIS_DRIVERS_SUCCESS,\r\n GetDriversSuccessType,\r\n ResetXDetailsDataType,\r\n RESET_XDETAILS_DATA,\r\n GetXDetailsSuccessType,\r\n GET_PREACRIS_XDETAILS_SUCCESS,\r\n} from './Preacris.types';\r\nimport {\r\n httpError,\r\n json,\r\n showWarnNotification,\r\n showSuccessNotification,\r\n} from 'common';\r\nimport { AppState } from 'store';\r\nimport { USStates, DriversResult, XDetailsResult } from './model';\r\n\r\nconst getStatesSuccess = (usStates: USStates): GetStatesSuccessType => ({\r\n type: GET_PREACRIS_STATES_SUCCESS,\r\n usStates,\r\n});\r\n\r\nlet alreadyCalledGetStates = false;\r\n\r\nexport const getStates = (bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchStatesService(bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getStatesSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(`States`, error.message);\r\n })\r\n .finally(() => (alreadyCalledGetStates = true));\r\n};\r\n\r\nexport const getLicenseFlag =\r\n (username: string, bearerToken: string) => (dispatch: Dispatch) => {\r\n fetchLicenseFlag(username, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n })\r\n .catch((error) => {\r\n showWarnNotification(`License Agreement`, error.message);\r\n });\r\n };\r\n\r\nexport const getDrivers =\r\n (\r\n statehob: string,\r\n countyhob: string,\r\n cmtdocId: string,\r\n driversData: DriversResult,\r\n token: string,\r\n ) =>\r\n (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchDriversService(statehob, countyhob, cmtdocId, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n const result = response.drivers.length ? response : { ...driversData };\r\n\r\n dispatch(getDriversSuccess(result));\r\n\r\n if (alreadyCalledGetStates) {\r\n dispatch(setResultLoading(false));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('Service Type Drivers', error.message);\r\n });\r\n };\r\n\r\nexport const getXDetails =\r\n (\r\n statehob: string,\r\n countyhob: string,\r\n cmtdocId: string,\r\n xdetailsData: XDetailsResult,\r\n token: string,\r\n ) =>\r\n (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchXDetailsService(statehob, countyhob, cmtdocId, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n const result = response.drivers.length ? response : { ...xdetailsData };\r\n dispatch(getXDetailsSuccess(result));\r\n\r\n if (alreadyCalledGetStates) {\r\n dispatch(setResultLoading(false));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('Service Type Drivers', error.message);\r\n });\r\n };\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: PREACRIS_SET_LOADING,\r\n loading,\r\n});\r\n\r\nexport const resetResults = (): ResetResultsType => ({\r\n type: RESET_RESULTS,\r\n});\r\n\r\nexport const searchDocuments =\r\n (docId: string, formValues: any, driversData: DriversResult, token: string) =>\r\n (dispatch: Dispatch) => {\r\n const { driversSearch, searchName } = formValues;\r\n\r\n const body = {\r\n docId,\r\n docDescs: drivervalues(driversSearch, driversData),\r\n searchName,\r\n };\r\n //const body = { ...formValues, exportFormat };\r\n dispatch(setResultLoading(true));\r\n dispatch(resetResults());\r\n searchDocumentImagesService(body, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n showSuccessNotification(\r\n 'Documents Images Online',\r\n 'Your documents will be ready soon. Please check \"Recent Reports\".',\r\n );\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error: any) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('Documents Images Online', error.message);\r\n });\r\n };\r\n\r\nconst getDriversSuccess = (\r\n driversData: DriversResult,\r\n): GetDriversSuccessType => ({\r\n type: GET_PREACRIS_DRIVERS_SUCCESS,\r\n driversData,\r\n});\r\n\r\nconst drivervalues = (driversSearch: any, driversData: DriversResult) => {\r\n let num = '';\r\n for (let _i = 0; _i < driversData.drivers.length; _i++) {\r\n num = num + driversSearch[_i] + '.';\r\n }\r\n return num;\r\n};\r\n\r\nexport const resetDriversData = (): ResetDriversDataType => ({\r\n type: RESET_DRIVERS_DATA,\r\n});\r\n\r\nexport const resetXDetailsData = (): ResetXDetailsDataType => ({\r\n type: RESET_XDETAILS_DATA,\r\n});\r\n\r\nconst getXDetailsSuccess = (\r\n xdetailsData: XDetailsResult,\r\n): GetXDetailsSuccessType => ({\r\n type: GET_PREACRIS_XDETAILS_SUCCESS,\r\n xdetailsData,\r\n});\r\n","import React from 'react';\r\nimport { Result } from 'antd';\r\n\r\nexport default class ErrorBoundary extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { hasError: false };\r\n }\r\n\r\n static getDerivedStateFromError(error: any) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {}\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n // You can render any custom fallback UI\r\n return (\r\n \r\n );\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport {\r\n BrowserRouter as Router,\r\n Switch,\r\n Route,\r\n Redirect,\r\n Link,\r\n} from 'react-router-dom';\r\nimport { Pages, Public } from 'pages';\r\nimport { loginPagesLoading, loginIsPublic } from 'pages/Login';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { LOADING, Sizes } from 'common';\r\nimport { Result, BackTop, Spin } from 'antd';\r\nimport { useMsal } from '@azure/msal-react';\r\nimport {\r\n EventType,\r\n InteractionStatus,\r\n InteractionType,\r\n} from '@azure/msal-browser';\r\nimport {\r\n editAuthenticationPhoneRequest,\r\n editEmailPolicy,\r\n forgotPasswordPolicy,\r\n forgotPasswordRequest,\r\n forgotUsernameRequest,\r\n onDemandMFAPhonePolicy,\r\n profileEditRequest,\r\n profileViewPolicy,\r\n relativeEditAuthenticationPhoneUrl,\r\n relativeEditEmailPhoneUrl,\r\n relativeForgotPasswordUrl,\r\n relativeForgotUsernameUrl,\r\n relativeOnDemandMFAPhoneUrl,\r\n relativeProfileEditUrl,\r\n relativeProfileViewUrl,\r\n relativeResetPasswordUrl,\r\n resetPasswordRequest,\r\n} from 'authConfig';\r\nimport { refreshAdUserSession } from 'common/helpers';\r\nimport { AppState } from 'store';\r\nimport globalStyles from 'common/global.module.scss';\r\n\r\nconst App: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const { instance, inProgress } = useMsal();\r\n const login = useSelector((state: AppState) => state.login);\r\n const pagesLoading = login.pagesLoading;\r\n const isPublicUser: any = localStorage.getItem('ispublicuser') !== 'false';\r\n\r\n const doesNotExist = () => (\r\n Go To Dashboard}\r\n />\r\n );\r\n\r\n const redirectToPolicy = (policy: any) => {\r\n const timer = setTimeout(() => {\r\n instance.loginRedirect(policy);\r\n }, 1);\r\n return () => clearTimeout(timer);\r\n };\r\n\r\n const preAuthorizationAction = () => {\r\n dispatch(loginPagesLoading(true));\r\n };\r\n\r\n const postAuthorizationAction = () => {\r\n dispatch(loginPagesLoading(false));\r\n dispatch(loginIsPublic(isPublicUser));\r\n };\r\n\r\n useEffect(() => {\r\n const callbackId = instance.addEventCallback((event: any) => {\r\n if (event.eventType === EventType.LOGIN_FAILURE) {\r\n if (\r\n event.error &&\r\n event.error.errorMessage.indexOf('AADB2C90118') > -1\r\n ) {\r\n if (event.interactionType === InteractionType.Redirect) {\r\n instance.loginRedirect(forgotPasswordRequest);\r\n } else if (event.interactionType === InteractionType.Popup) {\r\n instance.loginPopup(forgotPasswordRequest).catch((e) => {\r\n return;\r\n });\r\n }\r\n }\r\n } else if (event.eventType === EventType.HANDLE_REDIRECT_START) {\r\n if (window.location.pathname === relativeForgotPasswordUrl) {\r\n redirectToPolicy(forgotPasswordRequest);\r\n } else if (window.location.pathname === relativeForgotUsernameUrl) {\r\n redirectToPolicy(forgotUsernameRequest);\r\n } else if (window.location.pathname === relativeProfileViewUrl) {\r\n redirectToPolicy(profileViewPolicy);\r\n } else if (window.location.pathname === relativeProfileEditUrl) {\r\n redirectToPolicy(profileEditRequest);\r\n } else if (\r\n window.location.pathname === relativeEditAuthenticationPhoneUrl\r\n ) {\r\n redirectToPolicy(editAuthenticationPhoneRequest);\r\n } else if (window.location.pathname === relativeEditEmailPhoneUrl) {\r\n redirectToPolicy(editEmailPolicy);\r\n } else if (window.location.pathname === relativeResetPasswordUrl) {\r\n redirectToPolicy(resetPasswordRequest);\r\n } else if (window.location.pathname === relativeOnDemandMFAPhoneUrl) {\r\n redirectToPolicy(onDemandMFAPhonePolicy);\r\n }\r\n }\r\n\r\n if (\r\n event.eventType === EventType.LOGIN_SUCCESS ||\r\n event.eventType === EventType.ACQUIRE_TOKEN_SUCCESS\r\n ) {\r\n if (event?.payload) {\r\n /**\r\n * We need to reject id tokens that were not issued with the default sign-in policy.\r\n * \"acr\" claim in the token tells us what policy is used (NOTE: for new policies (v2.0), use \"tfp\" instead of \"acr\").\r\n * To learn more about B2C tokens, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/tokens-overview\r\n */\r\n if (event.payload.idTokenClaims['acr'] === forgotPasswordPolicy) {\r\n window.alert(\r\n 'Password has been reset successfully. \\nPlease sign-in with your new password.',\r\n );\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('refreshadusersession');\r\n localStorage.removeItem('ispublicuser');\r\n localStorage.removeItem('iswellsfargouser');\r\n return instance.logoutRedirect();\r\n }\r\n }\r\n }\r\n\r\n if (event.eventType === EventType.LOGIN_SUCCESS) {\r\n // call the authorize method on our API to confirm this user has appropriate permissions\r\n if (event?.payload?.account) {\r\n refreshAdUserSession(\r\n instance,\r\n event?.payload?.account,\r\n dispatch,\r\n postAuthorizationAction,\r\n preAuthorizationAction,\r\n );\r\n }\r\n }\r\n });\r\n\r\n return () => {\r\n if (callbackId) {\r\n instance.removeEventCallback(callbackId);\r\n }\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {inProgress === InteractionStatus.None && !pagesLoading && (\r\n \r\n )}\r\n \r\n \r\n {inProgress === InteractionStatus.None && !pagesLoading && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(App);\r\n","import {\r\n LICENSE_SET_LOADING,\r\n LicenseTypes,\r\n LicenseState,\r\n} from './License.types';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n};\r\n\r\nexport function licenseReducer(\r\n state = defaultState,\r\n action: LicenseTypes,\r\n): LicenseState {\r\n console.log(action.type);\r\n switch (action.type) {\r\n case LICENSE_SET_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n MaintenanceMessageTypes,\r\n MaintenanceMessageState,\r\n SET_MAINTENANCE_MESSAGE,\r\n} from './MaintenanceMessage.types';\r\n\r\nconst defaultState = {\r\n message: null,\r\n lastUpdated: null,\r\n};\r\n\r\nexport function maintenanceMessageReducer(\r\n state = defaultState,\r\n action: MaintenanceMessageTypes,\r\n): MaintenanceMessageState {\r\n switch (action.type) {\r\n case SET_MAINTENANCE_MESSAGE: {\r\n return {\r\n ...state,\r\n message: action.message,\r\n lastUpdated: Date.now(),\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\nimport { reducer as formReducer } from 'redux-form';\r\nimport {\r\n searchReducer,\r\n searchExportReducer,\r\n searchDetailsReducer,\r\n searchHistoryReducer,\r\n} from 'pages/Search';\r\nimport {\r\n propertySearchReducer,\r\n propertySearchDetailsReducer,\r\n} from 'pages/PropertySearch';\r\nimport { taxMapsReducer } from 'pages/TaxMaps';\r\nimport { loginReducer } from 'pages/Login';\r\nimport { recentReportsReducer } from 'pages/RecentReports';\r\nimport { ReducerNames } from 'common';\r\nimport { depOnlineReducer } from 'pages/DepOnline';\r\nimport { xosImageReducer } from 'pages/XosImages';\r\nimport { bankruptcyReducer } from 'pages/Bankruptcy';\r\nimport { preacrisReducer } from 'pages/Preacris';\r\nimport { licenseReducer } from 'pages/License';\r\nimport { userUsageReportReducer } from 'pages/UserUsageReport';\r\nimport {\r\n taxTraxReducer,\r\n taxTraxTaxBillsReducer,\r\n taxTraxTaxBillRecordReducer,\r\n} from 'pages/TaxTrax';\r\nimport { maintenanceMessageReducer } from 'common/components/MaintenanceMessage';\r\n\r\nconst {\r\n SEARCH,\r\n SEARCH_EXPORT,\r\n SEARCH_DETAILS,\r\n LOGIN,\r\n FORM,\r\n SEARCH_HISTORY,\r\n PROPERTY_SEARCH,\r\n PROPERTY_SEARCH_DETAILS,\r\n RECENT_REPORTS,\r\n TAX_MAPS,\r\n DEP_ONLINE,\r\n BANKRUPTCY,\r\n XOSIMAGE,\r\n PREACRIS,\r\n LICENSE,\r\n USER_USAGE_REPORT,\r\n TAXTRAX,\r\n TAXTRAX_TAX_BILLS,\r\n TAXTRAX_TAX_BILL_RECORD,\r\n MAINTENANCE_MESSAGE,\r\n} = ReducerNames;\r\n\r\nconst rootReducer = combineReducers({\r\n [SEARCH]: searchReducer,\r\n [SEARCH_EXPORT]: searchExportReducer,\r\n [SEARCH_DETAILS]: searchDetailsReducer,\r\n [LOGIN]: loginReducer,\r\n [FORM]: formReducer,\r\n [SEARCH_HISTORY]: searchHistoryReducer,\r\n [PROPERTY_SEARCH]: propertySearchReducer,\r\n [PROPERTY_SEARCH_DETAILS]: propertySearchDetailsReducer,\r\n [RECENT_REPORTS]: recentReportsReducer,\r\n [TAX_MAPS]: taxMapsReducer,\r\n [DEP_ONLINE]: depOnlineReducer,\r\n [BANKRUPTCY]: bankruptcyReducer,\r\n [XOSIMAGE]: xosImageReducer,\r\n [PREACRIS]: preacrisReducer,\r\n [LICENSE]: licenseReducer,\r\n [USER_USAGE_REPORT]: userUsageReportReducer,\r\n [TAXTRAX]: taxTraxReducer,\r\n [TAXTRAX_TAX_BILLS]: taxTraxTaxBillsReducer,\r\n [TAXTRAX_TAX_BILL_RECORD]: taxTraxTaxBillRecordReducer,\r\n [MAINTENANCE_MESSAGE]: maintenanceMessageReducer,\r\n});\r\n\r\nexport default rootReducer;\r\n","import { createStore, applyMiddleware } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport rootReducer from './rootReducer';\r\n\r\nexport type AppState = ReturnType;\r\n\r\nconst composeEnhancers = composeWithDevTools({\r\n trace: true,\r\n traceLimit: 25,\r\n});\r\n\r\nexport default function configureStore() {\r\n return createStore(rootReducer, composeEnhancers(applyMiddleware(thunk)));\r\n}\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\n\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport ErrorBoundary from './ErrorBoundary';\r\nimport './index.scss';\r\nimport App from './App';\r\n\r\nimport configureStore from './store';\r\nimport { PublicClientApplication } from '@azure/msal-browser';\r\nimport { msalConfig } from './authConfig';\r\nimport { MsalProvider } from '@azure/msal-react';\r\nconst msalInstance = new PublicClientApplication(msalConfig);\r\nconst store = configureStore();\r\n\r\nconst Root = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n","import { formValueSelector } from 'redux-form';\r\nimport { AppState } from 'store';\r\nimport {\r\n PropertyFormPlaceholders,\r\n TAX_MAPS_FORM,\r\n EMPTY_VALUE,\r\n} from './TaxMaps.constants';\r\nimport {\r\n Counties,\r\n USState,\r\n Cities,\r\n GetDriversResult,\r\n TaxMapsSearchResult,\r\n} from './models';\r\nimport { ReducerNames } from 'common';\r\n\r\ntype LocationsType = {\r\n name: string;\r\n hobCode: string;\r\n}[];\r\n\r\nexport const usStateSelector = ({ taxMaps: { usState } }: AppState): USState =>\r\n usState;\r\n\r\nexport const resultSelector = ({\r\n [ReducerNames.TAX_MAPS]: { result },\r\n}: AppState): TaxMapsSearchResult => result;\r\n\r\nexport const driversSelector = ({\r\n taxMaps: { driversData },\r\n}: AppState): GetDriversResult => driversData;\r\n\r\nexport const valueSelector = (state: AppState, fieldName: string) =>\r\n formValueSelector(TAX_MAPS_FORM)(state, fieldName);\r\n\r\nexport const getCities = (counties: Counties, countyHob: string) => {\r\n const county = counties.find(({ hobCode }) => hobCode === countyHob);\r\n return county ? county.cities : null;\r\n};\r\n\r\nexport const getVillages = (cities: Cities | null, citieHob: string) => {\r\n const citie = cities?.find(({ hobCode }) => hobCode === citieHob);\r\n return citie ? citie.villages : null;\r\n};\r\n\r\nconst getPlaceHolder = (text: string) => [\r\n {\r\n value: EMPTY_VALUE,\r\n text,\r\n },\r\n];\r\n\r\nconst getOptions = (locations: LocationsType) =>\r\n locations.map(({ name: text, hobCode: value }) => ({\r\n value,\r\n text,\r\n }));\r\n\r\nexport const getCountyOptions = (counties: Counties) => [\r\n ...getPlaceHolder(PropertyFormPlaceholders.COUNTY),\r\n ...getOptions(counties),\r\n];\r\n\r\nexport const getCityOptions = (counties: Counties, countyHob: string) => {\r\n const placeHolder = getPlaceHolder(PropertyFormPlaceholders.CITY);\r\n if (counties && counties.length && countyHob) {\r\n const county = counties.find(({ hobCode }) => hobCode === countyHob);\r\n return county && county.cities.length\r\n ? [\r\n ...placeHolder,\r\n ...getOptions(\r\n county.cities.map((city) =>\r\n city.name === 'POUGHKEEPSIE'\r\n ? { ...city, name: 'CITY OF POUGHKEEPSIE' }\r\n : city,\r\n ),\r\n ),\r\n ]\r\n : placeHolder;\r\n }\r\n return placeHolder;\r\n};\r\n\r\nexport const getVillageOptions = (cities: Cities | null, cityHob: string) => {\r\n const placeHolder = getPlaceHolder(PropertyFormPlaceholders.VILLAGE);\r\n if (cities && cities.length && cityHob) {\r\n const city = cities.find(({ hobCode }) => hobCode === cityHob);\r\n return city && city.villages.length\r\n ? [...placeHolder, ...getOptions(city.villages)]\r\n : placeHolder;\r\n }\r\n return placeHolder;\r\n};\r\n\r\nexport const getHobCode = ({ countyHob, cityHob }: any) =>\r\n cityHob || countyHob || EMPTY_VALUE;\r\n\r\nexport const getSwissCode = (hobCodes: any, counties: Counties) => {\r\n const county = counties.find(\r\n (county) => county.hobCode === hobCodes.countyHob,\r\n );\r\n // @ts-ignore:\r\n if (hobCodes.cityHob && county.cities.length) {\r\n // @ts-ignore:\r\n const city = county.cities.find(\r\n (city) => city.hobCode === hobCodes.cityHob,\r\n );\r\n // @ts-ignore:\r\n if (hobCodes.villageHob && city.villages.length) {\r\n // @ts-ignore:\r\n const village = city.villages.find(\r\n // @ts-ignore:\r\n (village) => village.hobCode === hobCodes.villageHob,\r\n );\r\n return village && village.swissCode;\r\n }\r\n return city && city.swissCode;\r\n }\r\n return county && county.swissCode;\r\n};\r\n","import { formValueSelector } from 'redux-form';\r\nimport { AppState } from 'store';\r\nimport {\r\n PREACRIS_ONLINE_FORM,\r\n PreacrisFormPlaceholders,\r\n EMPTY_VALUE,\r\n} from './Preacris.constants';\r\n\r\nimport { USStates, DriversResult, XDetailsResult } from './model';\r\n\r\ntype LocationsType = {\r\n name: string;\r\n hobCode: string;\r\n}[];\r\n\r\ntype DocType = {\r\n docId: string;\r\n documentIdDescription: string;\r\n}[];\r\n\r\nexport const usStateSelector = ({\r\n preacris: { usStates },\r\n}: AppState): USStates => usStates;\r\n\r\nconst getPlaceHolder = (text: string) => [\r\n {\r\n value: EMPTY_VALUE,\r\n text,\r\n },\r\n];\r\n\r\nconst getOptions = (locations: LocationsType) =>\r\n locations\r\n ? locations.map(({ name: text, hobCode: value }) => ({\r\n value,\r\n text: text === 'MT' ? 'MONTANA' : text, //`${text} ${value}`,\r\n }))\r\n : [];\r\n\r\nconst getDocumentOptions = (docs: DocType) =>\r\n docs\r\n ? docs.map(({ documentIdDescription: text, docId: value }) => ({\r\n value,\r\n text: text === 'MT' ? 'MONTANA' : text, //`${text} ${value}`,\r\n }))\r\n : [];\r\n\r\nexport const getStatesOptions = (usStates: USStates) => [\r\n ...getPlaceHolder(PreacrisFormPlaceholders.STATE),\r\n ...getOptions(usStates),\r\n];\r\n\r\nexport const getCountyOptions = (usStates: USStates, stateHob: string) => {\r\n const placeHolder = getPlaceHolder(PreacrisFormPlaceholders.COUNTY);\r\n if (usStates?.length && stateHob) {\r\n const usstate = usStates.find(({ hobCode }) => hobCode === stateHob);\r\n return usstate?.counties?.length\r\n ? [...placeHolder, ...getOptions(usstate.counties)]\r\n : placeHolder;\r\n }\r\n return placeHolder;\r\n};\r\n\r\nexport const getCounties = (usStates: USStates, stateHob: string) => {\r\n if (usStates?.length && stateHob) {\r\n const state = usStates.find(({ hobCode }) => hobCode === stateHob);\r\n return state ? state.counties : null;\r\n }\r\n};\r\n\r\nexport const getCmt = (\r\n usStates: USStates,\r\n countyHob: string,\r\n stateHob: string,\r\n cmtdocId: string,\r\n) => {\r\n if (usStates?.length && stateHob) {\r\n const state = usStates.find(({ hobCode }) => hobCode === stateHob);\r\n if (state?.counties?.length && countyHob) {\r\n const county = state.counties.find(\r\n ({ hobCode }) => hobCode === countyHob,\r\n );\r\n if (county?.cmts?.length && cmtdocId) {\r\n const cmt = county.cmts.find(({ docId }) => docId === cmtdocId);\r\n return cmt ? cmt : null;\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getFieldNames = (\r\n usStates: USStates,\r\n countyHob: string,\r\n stateHob: string,\r\n cmtdocId: string,\r\n) => {\r\n if (usStates && usStates.length && stateHob) {\r\n const state = usStates.find(({ hobCode }) => hobCode === stateHob);\r\n if (state?.counties?.length && countyHob) {\r\n const county = state.counties.find(\r\n ({ hobCode }) => hobCode === countyHob,\r\n );\r\n if (county?.cmts?.length && cmtdocId) {\r\n const cmt = county.cmts.find(({ docId }) => docId === cmtdocId);\r\n if (cmt?.documentFieldNames?.length) {\r\n return cmt.documentFieldNames.split('|');\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const driversSelector = ({\r\n preacris: { driversData },\r\n}: AppState): DriversResult => driversData;\r\n\r\nexport const xdetailsSelector = ({\r\n preacris: { xdetailsData },\r\n}: AppState): XDetailsResult => xdetailsData;\r\n\r\nexport const getCmtOptions = (\r\n usStates: USStates,\r\n countyHob: string,\r\n stateHob: string,\r\n) => {\r\n const placeHolder = getPlaceHolder(PreacrisFormPlaceholders.CMT);\r\n if (usStates?.length && stateHob) {\r\n const state = usStates.find(({ hobCode }) => hobCode === stateHob);\r\n if (state?.counties?.length && countyHob) {\r\n const county = state.counties.find(\r\n ({ hobCode }) => hobCode === countyHob,\r\n );\r\n return county?.cmts?.length\r\n ? [...placeHolder, ...getDocumentOptions(county.cmts)]\r\n : placeHolder;\r\n }\r\n }\r\n return placeHolder;\r\n};\r\n\r\nexport const valueSelector = (state: AppState, fieldName: string) =>\r\n formValueSelector(PREACRIS_ONLINE_FORM)(state, fieldName);\r\n","import { USStates, DriversResult, XDetailsResult } from './model';\r\nimport { Nullable } from 'common';\r\n\r\nexport const PREACRIS_SET_LOADING = 'PREACRIS_SET_LOADING';\r\nexport const RESET_DRIVERS_DATA = 'RESET_DRIVERS_DATA';\r\nexport const RESET_RESULTS = 'RESET_RESULTS';\r\nexport const PREACRIS_RESULT_SUCCESS = 'PREACRIS_RESULT_SUCCESS';\r\nexport const GET_PREACRIS_STATES_SUCCESS = 'GET_PREACRIS_STATES_SUCCESS';\r\nexport const GET_PREACRIS_DRIVERS_SUCCESS = 'GET_PREACRIS_DRIVERS_SUCCESS';\r\nexport const GET_PREACRIS_XDETAILS_SUCCESS = 'GET_PREACRIS_XDETAILS_SUCCESS';\r\nexport const RESET_XDETAILS_DATA = 'RESET_XDETAILS_DATA';\r\n\r\nexport interface PreacrisState {\r\n loading: boolean;\r\n usStates: Nullable;\r\n driversData: Nullable;\r\n xdetailsData: Nullable;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof PREACRIS_SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_RESULTS;\r\n}\r\n\r\nexport interface GetStatesSuccessType {\r\n type: typeof GET_PREACRIS_STATES_SUCCESS;\r\n usStates: USStates;\r\n}\r\nexport interface ResetDriversDataType {\r\n type: typeof RESET_DRIVERS_DATA;\r\n}\r\nexport interface ResetXDetailsDataType {\r\n type: typeof RESET_XDETAILS_DATA;\r\n}\r\nexport interface GetDriversSuccessType {\r\n type: typeof GET_PREACRIS_DRIVERS_SUCCESS;\r\n driversData: DriversResult;\r\n}\r\nexport interface GetXDetailsSuccessType {\r\n type: typeof GET_PREACRIS_XDETAILS_SUCCESS;\r\n xdetailsData: XDetailsResult;\r\n}\r\nexport type PreacrisTypes =\r\n | SetResultLoadingType\r\n | ResetResultsType\r\n | GetStatesSuccessType\r\n | ResetDriversDataType\r\n | GetDriversSuccessType\r\n | ResetXDetailsDataType\r\n | GetXDetailsSuccessType;\r\n","import { USState, TaxMapsSearchResult, GetDriversResult } from './models';\r\nimport { Nullable } from 'common';\r\n\r\nexport const GET_TAX_MAPS_STATES_SUCCESS = 'GET_TAX_MAPS_STATES_SUCCESS';\r\nexport const SET_TAX_MAPS_LOADING = 'SET_TAX_MAPS_LOADING';\r\nexport const GET_TAX_MAPS_DRIVERS_SUCCESS = 'GET_TAX_MAPS_DRIVERS_SUCCESS';\r\nexport const RESET_DRIVERS_DATA = 'RESET_DRIVERS_DATA';\r\nexport const RESET_RESULTS = 'RESET_RESULTS';\r\nexport const TAX_MAPS_RESULT_SUCCESS = 'TAX_MAPS_RESULT_SUCCESS';\r\n\r\nexport interface TaxMapsState {\r\n loading: boolean;\r\n usState: Nullable;\r\n result: Nullable;\r\n driversData: Nullable;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof SET_TAX_MAPS_LOADING;\r\n loading: boolean;\r\n}\r\n\r\n/* GET_STATES */\r\n\r\nexport interface GetStateSuccessType {\r\n type: typeof GET_TAX_MAPS_STATES_SUCCESS;\r\n usState: USState;\r\n}\r\n\r\n/* GET_DRIVERS */\r\n\r\nexport interface GetDriversSuccessType {\r\n type: typeof GET_TAX_MAPS_DRIVERS_SUCCESS;\r\n driversData: GetDriversResult;\r\n}\r\n\r\nexport interface TaxMapsSearchResultSuccessType {\r\n type: typeof TAX_MAPS_RESULT_SUCCESS;\r\n result: TaxMapsSearchResult;\r\n}\r\n\r\nexport interface ResetDriversDataType {\r\n type: typeof RESET_DRIVERS_DATA;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_RESULTS;\r\n}\r\n\r\nexport type TaxMapsTypes =\r\n | GetStateSuccessType\r\n | SetResultLoadingType\r\n | GetDriversSuccessType\r\n | TaxMapsSearchResultSuccessType\r\n | ResetDriversDataType\r\n | ResetResultsType;\r\n","import { PropertySearchResult, GetDriversResult } from './models';\r\nimport { Nullable } from 'common';\r\nimport { USState } from 'common/models';\r\n\r\nexport const GET_STATES_SUCCESS = 'GET_STATES_SUCCESS';\r\nexport const SET_LOADING = 'SET_LOADING';\r\nexport const GET_DRIVERS_SUCCESS = 'GET_DRIVERS_SUCCESS';\r\nexport const RESET_DRIVERS_DATA = 'RESET_DRIVERS_DATA';\r\nexport const RESET_RESULTS = 'RESET_RESULTS';\r\nexport const PROPERTY_SEARCH_RESULT_SUCCESS = 'PROPERTY_SEARCH_RESULT_SUCCESS';\r\n\r\nexport interface PropertySearchState {\r\n loading: boolean;\r\n usState: Nullable;\r\n result: Nullable;\r\n driversData: Nullable;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\n/* GET_STATES */\r\n\r\nexport interface GetStatesSuccessType {\r\n type: typeof GET_STATES_SUCCESS;\r\n usState: USState;\r\n}\r\n\r\n/* GET_DRIVERS */\r\n\r\nexport interface GetDriversSuccessType {\r\n type: typeof GET_DRIVERS_SUCCESS;\r\n driversData: GetDriversResult;\r\n}\r\n\r\nexport interface SearchResultSuccessType {\r\n type: typeof PROPERTY_SEARCH_RESULT_SUCCESS;\r\n result: PropertySearchResult;\r\n}\r\n\r\nexport interface ResetDriversDataType {\r\n type: typeof RESET_DRIVERS_DATA;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_RESULTS;\r\n}\r\n\r\nexport type PropertySearchTypes =\r\n | GetStatesSuccessType\r\n | SetResultLoadingType\r\n | GetDriversSuccessType\r\n | SearchResultSuccessType\r\n | ResetDriversDataType\r\n | ResetResultsType;\r\n","import { User } from './models';\r\n\r\nexport interface LoginState {\r\n user: User | null;\r\n loading: boolean;\r\n pagesLoading: boolean;\r\n azureAdAuthorized: boolean;\r\n isPublic: boolean;\r\n}\r\n\r\nexport const LOGIN_LOADING = 'LOGIN_LOADING';\r\nexport const LOGIN_PAGES_LOADING = 'LOGIN_PAGES_LOADING';\r\nexport const LOGIN_AZURE_AD_AUTHORIZED = 'LOGIN_AZURE_AD_AUTHORIZED';\r\nexport const LOGIN_IS_PUBLIC = 'LOGIN_IS_PUBLIC';\r\n\r\ninterface LoginLoadingAction {\r\n type: typeof LOGIN_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface LoginPagesLoadingAction {\r\n type: typeof LOGIN_PAGES_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface LoginAzureAdAuthorizedAction {\r\n type: typeof LOGIN_AZURE_AD_AUTHORIZED;\r\n payload: boolean;\r\n}\r\n\r\ninterface LoginIsPublicAction {\r\n type: typeof LOGIN_IS_PUBLIC;\r\n payload: boolean;\r\n}\r\n\r\nexport type LoginActionTypes =\r\n | LoginLoadingAction\r\n | LoginPagesLoadingAction\r\n | LoginAzureAdAuthorizedAction\r\n | LoginIsPublicAction;\r\n","import {\r\n LOGIN_IS_PUBLIC,\r\n LOGIN_LOADING,\r\n LOGIN_PAGES_LOADING,\r\n} from './Login.types';\r\nimport { Dispatch } from 'redux';\r\nimport { httpError, json, fetchGet } from 'common/helpers';\r\nimport { LOGIN_AZURE_AD_AUTHORIZED } from '.';\r\nimport { IPublicClientApplication } from '@azure/msal-browser';\r\n\r\nexport function loginLoading(loading: boolean) {\r\n return {\r\n type: LOGIN_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function loginPagesLoading(loading: boolean) {\r\n return {\r\n type: LOGIN_PAGES_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function loginAzureAdAuthorized(authorized: boolean) {\r\n return {\r\n type: LOGIN_AZURE_AD_AUTHORIZED,\r\n payload: authorized,\r\n };\r\n}\r\n\r\nexport function loginIsPublic(isPublic: boolean) {\r\n return {\r\n type: LOGIN_IS_PUBLIC,\r\n payload: isPublic,\r\n };\r\n}\r\n\r\nexport function authorizeUser(\r\n token: string,\r\n dispatch: Dispatch,\r\n instance: IPublicClientApplication,\r\n) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n return fetchGet(`${apiUri}/authentication/authorize`, `${token}`)\r\n .then(httpError(dispatch, instance))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) {\r\n if (response.loginButtonSetting) {\r\n sessionStorage.setItem(\r\n 'loginButtonSetting',\r\n response.loginButtonSetting,\r\n );\r\n sessionStorage.setItem('loginErrorMessage', response.errorMessage);\r\n // error messaging is handled on screen instead of with a popup in this scenario, therefore remove the error message text here\r\n response.errorMessage = '';\r\n }\r\n throw Error(response.errorMessage);\r\n }\r\n return response;\r\n });\r\n}\r\n","import { LOGIN_AZURE_AD_AUTHORIZED } from '.';\r\nimport {\r\n LoginState,\r\n LoginActionTypes,\r\n LOGIN_LOADING,\r\n LOGIN_PAGES_LOADING,\r\n LOGIN_IS_PUBLIC,\r\n} from './Login.types';\r\n\r\nconst defaultState: LoginState = {\r\n user: null,\r\n loading: false,\r\n pagesLoading: false,\r\n azureAdAuthorized: false,\r\n isPublic: true,\r\n};\r\n\r\nexport function loginReducer(\r\n state = defaultState,\r\n action: LoginActionTypes,\r\n): LoginState {\r\n switch (action.type) {\r\n case LOGIN_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case LOGIN_PAGES_LOADING: {\r\n return {\r\n ...state,\r\n pagesLoading: action.payload,\r\n };\r\n }\r\n case LOGIN_AZURE_AD_AUTHORIZED: {\r\n return {\r\n ...state,\r\n azureAdAuthorized: action.payload,\r\n };\r\n }\r\n case LOGIN_IS_PUBLIC: {\r\n return {\r\n ...state,\r\n isPublic: action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","export const initialForm = {\r\n from: '',\r\n to: '',\r\n customer: '',\r\n};\r\n\r\nexport const USER_USAGE_REPORT_FORM = 'userUsageReport';\r\n\r\nexport const RESULT_COLUMN_NAMES = {\r\n user: { title: 'User', dataIndex: 'createdBy', width: '' },\r\n customer: { title: 'Customer or Group', dataIndex: 'customer', width: '' },\r\n searchType: { title: 'Search Type', dataIndex: 'searchType', width: '' },\r\n titleNumber: { title: 'Title Number', dataIndex: 'searchName', width: '' },\r\n searchDate: { title: 'Search Date', dataIndex: 'searchDate', width: '13rem' },\r\n totalAmount: { title: 'Total Amount', dataIndex: 'amount', width: '' },\r\n description: { title: 'Description', dataIndex: 'description', width: '' },\r\n searchParameters: {\r\n title: 'Search Parameters',\r\n dataIndex: 'searchDetails',\r\n width: '25rem',\r\n },\r\n};\r\n","import { FullPropertyDetails } from '../models';\r\nimport { Nullable } from 'common';\r\n\r\nexport interface PropertySearchDetailsState {\r\n details: Nullable;\r\n loading: boolean;\r\n}\r\n\r\nexport const POLICY_INFO_SET_LOADING = 'POLICY_INFO_SET_LOADING';\r\nexport const POLICY_INFO_RESULT_SUCCESS = 'POLICY_INFO_RESULT_SUCCESS';\r\nexport const RESET_RESULTS = 'RESET_RESULTS';\r\n\r\nexport const PROPERTY_SEARCH_DETAILS_ADD = 'PROPERTY_SEARCH_DETAILS_ADD';\r\nexport const PROPERTY_SEARCH_DETAILS_CLEAR = 'PROPERTY_SEARCH_DETAILS_CLEAR';\r\nexport const PROPERTY_SEARCH_DETAILS_LOADING =\r\n 'PROPERTY_SEARCH_DETAILS_LOADING';\r\n\r\nexport interface PolicyInfoState {\r\n loading: boolean;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof POLICY_INFO_SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_RESULTS;\r\n}\r\n\r\ninterface PropertySearchDetailsAddAction {\r\n type: typeof PROPERTY_SEARCH_DETAILS_ADD;\r\n payload: FullPropertyDetails;\r\n}\r\n\r\ninterface PropertySearchDetailsClearAction {\r\n type: typeof PROPERTY_SEARCH_DETAILS_CLEAR;\r\n}\r\n\r\ninterface PropertySearchDetailsLoadingAction {\r\n type: typeof PROPERTY_SEARCH_DETAILS_LOADING;\r\n payload: boolean;\r\n}\r\n\r\nexport type PropertySearchDetailsActionTypes =\r\n | PropertySearchDetailsAddAction\r\n | PropertySearchDetailsClearAction\r\n | PropertySearchDetailsLoadingAction;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"Preacris_select__o8afP\",\"row\":\"Preacris_row__3ddsF\",\"button\":\"Preacris_button__1vu-S\",\"input\":\"Preacris_input__1Lpl1\"};","export const DAYS_COUNT = 5;\r\n\r\nexport enum ColumnNames {\r\n EXPORT = 'Export',\r\n TYPE = 'Type',\r\n GEO = 'Geo',\r\n DATE = 'Date',\r\n TIME = 'Time',\r\n}\r\n\r\nexport const COLUMN_NAMES = {\r\n searchTypeName: {\r\n title: 'Search Type',\r\n dataIndex: 'searchTypeName',\r\n width: '',\r\n },\r\n name: { title: 'Title Number/Reference', dataIndex: 'name', width: '' },\r\n location: { title: 'Geo', dataIndex: 'location', width: '8rem' },\r\n date: { title: 'Date', dataIndex: 'date', width: '7rem' },\r\n time: { title: 'Time', dataIndex: 'time', width: '5rem' },\r\n status: { title: 'Status', dataIndex: 'status', width: '6rem' },\r\n fileFormat: { title: 'Action', dataIndex: 'fileFormat', width: '' },\r\n};\r\n","import { Dispatch } from 'redux';\r\nimport { httpError, blob, fetchGet } from 'common';\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const taxMapsExportService = (\r\n searchId: number,\r\n middlename: string,\r\n imageId: number,\r\n token: string,\r\n format: string,\r\n dispatch: Dispatch,\r\n) =>\r\n fetchGet(\r\n `${apiUri}/TaxMaps/${searchId}/${middlename}/${imageId}/${format}`,\r\n token,\r\n )\r\n .then(httpError(dispatch))\r\n .then(blob);\r\n","import { AppState } from 'store';\r\nimport { Dispatch } from 'redux';\r\nimport {\r\n fetchStatesService,\r\n fetchDriversService,\r\n searchTaxMapsService,\r\n} from './TaxMaps.services';\r\nimport {\r\n GetStateSuccessType,\r\n SetResultLoadingType,\r\n SET_TAX_MAPS_LOADING,\r\n GET_TAX_MAPS_STATES_SUCCESS,\r\n GET_TAX_MAPS_DRIVERS_SUCCESS,\r\n TAX_MAPS_RESULT_SUCCESS,\r\n GetDriversSuccessType,\r\n TaxMapsSearchResultSuccessType,\r\n RESET_DRIVERS_DATA,\r\n ResetDriversDataType,\r\n RESET_RESULTS,\r\n ResetResultsType,\r\n} from './TaxMaps.types';\r\nimport { httpError, json, showWarnNotification } from 'common';\r\nimport { EMPTY_VALUE } from './TaxMaps.constants';\r\nimport { TaxMapsSearchResult, USState, GetDriversResult } from './models';\r\nimport { saveFile } from 'common/helpers';\r\nimport { taxMapsExportService } from './services/taxMapsExportService';\r\nimport { getSwissCode } from './TaxMaps.selectors';\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: SET_TAX_MAPS_LOADING,\r\n loading,\r\n});\r\n\r\nconst getStateSuccess = (usState: USState): GetStateSuccessType => ({\r\n type: GET_TAX_MAPS_STATES_SUCCESS,\r\n usState,\r\n});\r\n\r\nexport const getState =\r\n (usState: string, token: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchStatesService(usState, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getStateSuccess(response));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(`States`, error.message);\r\n });\r\n };\r\n\r\nconst resultSuccess = (\r\n result: TaxMapsSearchResult,\r\n): TaxMapsSearchResultSuccessType => ({\r\n type: TAX_MAPS_RESULT_SUCCESS,\r\n result,\r\n});\r\n\r\nexport const searchTaxMaps =\r\n (driversData: GetDriversResult, formValues: any, token: string) =>\r\n (dispatch: Dispatch, getState: () => AppState) => {\r\n const {\r\n driversSearch,\r\n // @ts-ignore:\r\n hobCodes: { countyHob },\r\n } = formValues;\r\n // @ts-ignore:\r\n const counties = getState().taxMaps.usState.counties;\r\n const swissCode = getSwissCode(formValues.hobCodes, counties);\r\n const body = {\r\n ...driversData,\r\n hob: countyHob,\r\n drivers: driversData.drivers.map((driver) => ({\r\n ...driver,\r\n value:\r\n driversSearch[driver.fIndex] ||\r\n (driver.name === 'Swis' && swissCode\r\n ? swissCode.substring(2)\r\n : EMPTY_VALUE),\r\n })),\r\n };\r\n dispatch(setResultLoading(true));\r\n dispatch(resetResults());\r\n searchTaxMapsService(body, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(resultSuccess(response));\r\n })\r\n .catch((error: any) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('Tax Maps', error.message);\r\n });\r\n };\r\n\r\nconst getDriversSuccess = (\r\n driversData: GetDriversResult,\r\n): GetDriversSuccessType => ({\r\n type: GET_TAX_MAPS_DRIVERS_SUCCESS,\r\n driversData,\r\n});\r\n\r\nexport const getDrivers =\r\n (hobCode: string, driversData: GetDriversResult, token: string) =>\r\n (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchDriversService(hobCode, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n const result = response.drivers.length\r\n ? response\r\n : { ...driversData, hob: response.hob };\r\n dispatch(getDriversSuccess(result));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('Tax Maps Drivers', error.message);\r\n });\r\n };\r\n\r\nexport const resetDriversData = (): ResetDriversDataType => ({\r\n type: RESET_DRIVERS_DATA,\r\n});\r\n\r\nexport const resetResults = (): ResetResultsType => ({\r\n type: RESET_RESULTS,\r\n});\r\n\r\nexport const exportReport =\r\n (\r\n searchIdId: number,\r\n middlename: string,\r\n imageId: number,\r\n imageName: string,\r\n format: string,\r\n token: string,\r\n ) =>\r\n async (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n try {\r\n const blob = await taxMapsExportService(\r\n searchIdId,\r\n middlename,\r\n imageId,\r\n token,\r\n format,\r\n dispatch,\r\n );\r\n dispatch(setResultLoading(false));\r\n return saveFile(blob, `${imageName}.${format}`);\r\n } catch (error) {\r\n const errorObject = error as any;\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('Tax Maps Export', errorObject?.message);\r\n }\r\n };\r\n","import {\r\n SET_LOADING,\r\n GET_STATES_SUCCESS,\r\n PropertySearchState,\r\n PropertySearchTypes,\r\n GET_DRIVERS_SUCCESS,\r\n PROPERTY_SEARCH_RESULT_SUCCESS,\r\n RESET_DRIVERS_DATA,\r\n RESET_RESULTS,\r\n} from './PropertySearch.types';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n usState: null,\r\n result: null,\r\n driversData: null,\r\n};\r\n\r\nexport function propertySearchReducer(\r\n state = defaultState,\r\n action: PropertySearchTypes,\r\n): PropertySearchState {\r\n switch (action.type) {\r\n case GET_STATES_SUCCESS: {\r\n return {\r\n ...state,\r\n usState: action.usState,\r\n loading: false,\r\n };\r\n }\r\n case SET_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n case PROPERTY_SEARCH_RESULT_SUCCESS: {\r\n return {\r\n ...state,\r\n result: action.result,\r\n loading: false,\r\n };\r\n }\r\n case GET_DRIVERS_SUCCESS: {\r\n return {\r\n ...state,\r\n driversData: action.driversData,\r\n loading: false,\r\n };\r\n }\r\n case RESET_DRIVERS_DATA: {\r\n return {\r\n ...state,\r\n driversData: null,\r\n };\r\n }\r\n case RESET_RESULTS: {\r\n return {\r\n ...state,\r\n result: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n PropertySearchDetailsState,\r\n PropertySearchDetailsActionTypes,\r\n PROPERTY_SEARCH_DETAILS_ADD,\r\n PROPERTY_SEARCH_DETAILS_CLEAR,\r\n PROPERTY_SEARCH_DETAILS_LOADING,\r\n} from './PropertySearchDetails.types';\r\n\r\nconst defaultState: PropertySearchDetailsState = {\r\n details: null,\r\n loading: false,\r\n};\r\n\r\nexport function propertySearchDetailsReducer(\r\n state = defaultState,\r\n action: PropertySearchDetailsActionTypes,\r\n): PropertySearchDetailsState {\r\n switch (action.type) {\r\n case PROPERTY_SEARCH_DETAILS_CLEAR: {\r\n return {\r\n ...defaultState,\r\n };\r\n }\r\n case PROPERTY_SEARCH_DETAILS_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case PROPERTY_SEARCH_DETAILS_ADD: {\r\n return {\r\n ...state,\r\n details: action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"TaxMaps_select__RS0VT\",\"button\":\"TaxMaps_button__2XD3s\",\"input\":\"TaxMaps_input__3361D\",\"drivers\":\"TaxMaps_drivers__2YJOe\",\"large\":\"TaxMaps_large__2lUZ-\"};","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Dropdown, Menu, Icon, Button, Spin } from 'antd';\r\nimport { AppState } from 'store';\r\nimport { fetchFileAsync, fetchHtmlPrintAsync } from './SearchExport.actions';\r\nimport { PrintButton, IconTypeNames } from 'common';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst ButtonGroup = Button.Group;\r\n\r\nconst SearchExport: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const { searchExport }: any = useSelector((state: AppState) => ({\r\n searchExport: state.searchExport,\r\n }));\r\n\r\n const executeExport = (e: any) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(fetchFileAsync(e.key, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const executePrint = () => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(fetchHtmlPrintAsync(response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n MS Word\r\n \r\n \r\n \r\n PDF\r\n \r\n \r\n \r\n HTML\r\n \r\n \r\n \r\n Text\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(SearchExport);\r\n","import {\r\n Lien,\r\n RecordedDocument,\r\n EnvironmentalControlBoardJudgment,\r\n ParkingViolationJudgment,\r\n TransitAdjudicationBureauJudgment,\r\n} from 'pages/Search/models';\r\n\r\nexport interface SearchDetailsState {\r\n details:\r\n | null\r\n | Lien\r\n | RecordedDocument\r\n | EnvironmentalControlBoardJudgment\r\n | ParkingViolationJudgment\r\n | TransitAdjudicationBureauJudgment;\r\n loading: boolean;\r\n}\r\n\r\nexport const SEARCH_DETAILS_ADD = 'SEARCH_DETAILS_ADD';\r\nexport const SEARCH_DETAILS_CLEAR = 'SEARCH_DETAILS_CLEAR';\r\nexport const SEARCH_DETAILS_LOADING = 'SEARCH_DETAILS_LOADING';\r\n\r\ninterface SearchDetailsAddAction {\r\n type: typeof SEARCH_DETAILS_ADD;\r\n payload:\r\n | Lien\r\n | RecordedDocument\r\n | EnvironmentalControlBoardJudgment\r\n | ParkingViolationJudgment\r\n | TransitAdjudicationBureauJudgment;\r\n}\r\n\r\ninterface SearchDetailsClearAction {\r\n type: typeof SEARCH_DETAILS_CLEAR;\r\n}\r\n\r\ninterface SearchDetailsLoadingAction {\r\n type: typeof SEARCH_DETAILS_LOADING;\r\n payload: boolean;\r\n}\r\n\r\nexport type SearchDetailsActionTypes =\r\n | SearchDetailsAddAction\r\n | SearchDetailsClearAction\r\n | SearchDetailsLoadingAction;\r\n","import { UserSearchHistory } from '.';\r\n\r\nexport interface SearchHistoryState {\r\n history: UserSearchHistory[];\r\n loading: boolean;\r\n}\r\n\r\nexport const SEARCH_HISTORY_ADD = 'SEARCH_HISTORY_ADD';\r\nexport const SEARCH_HISTORY_CLEAR = 'SEARCH_HISTORY_CLEAR';\r\nexport const SEARCH_HISTORY_LOADING = 'SEARCH_HISTORY_LOADING';\r\n\r\ninterface SearchHistoryAddAction {\r\n type: typeof SEARCH_HISTORY_ADD;\r\n payload: UserSearchHistory[];\r\n}\r\n\r\ninterface SearchHistoryClearAction {\r\n type: typeof SEARCH_HISTORY_CLEAR;\r\n}\r\n\r\ninterface SearchHistoryLoadingAction {\r\n type: typeof SEARCH_HISTORY_LOADING;\r\n payload: boolean;\r\n}\r\n\r\nexport type SearchHistoryActionTypes =\r\n | SearchHistoryAddAction\r\n | SearchHistoryClearAction\r\n | SearchHistoryLoadingAction;\r\n","import { TaxTraxTaxBillsResponse } from '../models';\r\nimport { Nullable } from 'common';\r\nimport { Property } from 'common/models';\r\n\r\nexport interface TaxTraxTaxBillsState {\r\n response: Nullable;\r\n property: Nullable;\r\n loading: boolean;\r\n}\r\n\r\nexport const TAXTRAX_POLICY_INFO_SET_LOADING =\r\n 'TAXTRAX_POLICY_INFO_SET_LOADING';\r\nexport const TAXTRAX_POLICY_INFO_RESULT_SUCCESS =\r\n 'TAXTRAX_POLICY_INFO_RESULT_SUCCESS';\r\nexport const TAXTRAX_RESET_RESULTS = 'TAXTRAX_RESET_RESULTS';\r\n\r\nexport const TAXTRAX_TAX_BILLS_ADD = 'TAXTRAX_TAX_BILLS_ADD';\r\nexport const TAXTRAX_TAX_BILLS_CLEAR = 'TAXTRAX_TAX_BILLS_CLEAR';\r\nexport const TAXTRAX_TAX_BILLS_LOADING = 'TAXTRAX_TAX_BILLS_LOADING';\r\n\r\nexport interface PolicyInfoState {\r\n loading: boolean;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof TAXTRAX_POLICY_INFO_SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof TAXTRAX_RESET_RESULTS;\r\n}\r\n\r\ninterface TaxTraxTaxBillsAddAction {\r\n type: typeof TAXTRAX_TAX_BILLS_ADD;\r\n payload: { property: Property; response: TaxTraxTaxBillsResponse };\r\n}\r\n\r\ninterface TaxTraxTaxBillsClearAction {\r\n type: typeof TAXTRAX_TAX_BILLS_CLEAR;\r\n}\r\n\r\ninterface TaxTraxTaxBillsLoadingAction {\r\n type: typeof TAXTRAX_TAX_BILLS_LOADING;\r\n payload: boolean;\r\n}\r\n\r\nexport type TaxTraxTaxBillsActionTypes =\r\n | TaxTraxTaxBillsAddAction\r\n | TaxTraxTaxBillsClearAction\r\n | TaxTraxTaxBillsLoadingAction;\r\n","import { TaxBill, TaxBillRecord } from '../models';\r\nimport { Nullable } from 'common';\r\n\r\nexport interface TaxTraxTaxBillRecordState {\r\n taxBillRecord: Nullable;\r\n taxBill: Nullable;\r\n loading: boolean;\r\n}\r\n\r\nexport const TAXTRAX_TAX_POLICY_INFO_SET_LOADING =\r\n 'TAXTRAX_TAX_POLICY_INFO_SET_LOADING';\r\nexport const TAXTRAX_TAX_POLICY_INFO_RESULT_SUCCESS =\r\n 'TAXTRAX_TAX_POLICY_INFO_RESULT_SUCCESS';\r\nexport const TAXTRAX_TAX_RESET_RESULTS = 'TAXTRAX_TAX_RESET_RESULTS';\r\n\r\nexport const TAXTRAX_TAX_BILL_RECORD_ADD = 'TAXTRAX_TAX_BILL_RECORD_ADD';\r\nexport const TAXTRAX_TAX_BILL_RECORD_CLEAR = 'TAXTRAX_TAX_BILL_RECORD_CLEAR';\r\nexport const TAXTRAX_TAX_BILL_RECORD_LOADING =\r\n 'TAXTRAX_TAX_BILL_RECORD_LOADING';\r\n\r\nexport interface PolicyTaxInfoState {\r\n loading: boolean;\r\n}\r\n\r\nexport interface SetTaxResultLoadingType {\r\n type: typeof TAXTRAX_TAX_POLICY_INFO_SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\nexport interface ResetTaxResultsType {\r\n type: typeof TAXTRAX_TAX_RESET_RESULTS;\r\n}\r\n\r\ninterface TaxTraxTaxBillRecordAddAction {\r\n type: typeof TAXTRAX_TAX_BILL_RECORD_ADD;\r\n payload: { taxBill: TaxBill; taxBillRecord: TaxBillRecord };\r\n}\r\n\r\ninterface TaxTraxTaxBillRecordClearAction {\r\n type: typeof TAXTRAX_TAX_BILL_RECORD_CLEAR;\r\n}\r\n\r\ninterface TaxTraxTaxBillRecordLoadingAction {\r\n type: typeof TAXTRAX_TAX_BILL_RECORD_LOADING;\r\n payload: boolean;\r\n}\r\n\r\nexport type TaxTraxTaxDetailsActionTypes =\r\n | TaxTraxTaxBillRecordAddAction\r\n | TaxTraxTaxBillRecordClearAction\r\n | TaxTraxTaxBillRecordLoadingAction;\r\n","import { Dispatch } from 'redux';\r\nimport {\r\n fetchStatesService,\r\n searchByAddressService,\r\n searchByOwnerService,\r\n fetchDriversService,\r\n searchByDriversService,\r\n} from './TaxTrax.services';\r\nimport {\r\n GetStatesSuccessType,\r\n SetResultLoadingType,\r\n GET_TAXTRAX_STATES_SUCCESS,\r\n SET_TAXTRAX_LOADING,\r\n GET_TAXTRAX_DRIVERS_SUCCESS,\r\n GetDriversSuccessType,\r\n TAXTRAX_RESULT_SUCCESS,\r\n SearchResultSuccessType,\r\n RESET_TAXTRAX_DRIVERS_DATA,\r\n ResetDriversDataType,\r\n RESET_TAXTRAX_RESULTS,\r\n ResetResultsType,\r\n SetAvailableMunicipalitiesModalType,\r\n SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY,\r\n SET_AVAILABLE_MUNICIPALITIES_LOADING,\r\n SetAvailableMunicipalitiesLoadingType,\r\n GET_AVAILABLE_MUNICIPALITIES_SUCCESS,\r\n GetAvailableMunicipalitiesSuccessType,\r\n} from './TaxTrax.types';\r\nimport { httpError, json, showWarnNotification, FETCH_HEADER } from 'common';\r\nimport { searchByAddressBody, searchByOwnerBody } from './TaxTrax.selectors';\r\nimport { TAXTRAX_FORM_INITIAL_VALUES, EMPTY_VALUE } from './TaxTrax.constants';\r\nimport {\r\n TaxTraxResult,\r\n GetDriversResult,\r\n AvailableMunicipalities,\r\n} from './models';\r\nimport { USStates } from 'common/models';\r\nimport { fetchAvailableMunicipalitiesService } from '.';\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: SET_TAXTRAX_LOADING,\r\n loading,\r\n});\r\n\r\nconst setAvailableMunicipalitiesModalLoading = (\r\n availableMunicipalitiesLoading: boolean,\r\n): SetAvailableMunicipalitiesLoadingType => ({\r\n type: SET_AVAILABLE_MUNICIPALITIES_LOADING,\r\n availableMunicipalitiesLoading,\r\n});\r\n\r\nexport const setAvailableMunicipalitiesModalVisibility = (\r\n showAvailableMunicipalitiesModal: boolean,\r\n): SetAvailableMunicipalitiesModalType => ({\r\n type: SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY,\r\n showAvailableMunicipalitiesModal,\r\n});\r\n\r\nconst getAvailableMunicipalitiesSuccess = (\r\n availableMunicipalities: AvailableMunicipalities,\r\n): GetAvailableMunicipalitiesSuccessType => ({\r\n type: GET_AVAILABLE_MUNICIPALITIES_SUCCESS,\r\n availableMunicipalities,\r\n});\r\n\r\nconst getStatesSuccess = (usStates: USStates): GetStatesSuccessType => ({\r\n type: GET_TAXTRAX_STATES_SUCCESS,\r\n usStates,\r\n});\r\n\r\nexport const getAvailableMunicipalities =\r\n (bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setAvailableMunicipalitiesModalLoading(true));\r\n fetchAvailableMunicipalitiesService(bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getAvailableMunicipalitiesSuccess(response));\r\n dispatch(setAvailableMunicipalitiesModalLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setAvailableMunicipalitiesModalLoading(false));\r\n showWarnNotification(`Available Municipalities`, error.message);\r\n });\r\n };\r\n\r\nexport const getStates = (bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchStatesService(bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getStatesSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(`States`, error.message);\r\n });\r\n};\r\n\r\nconst resultSuccess = (result: TaxTraxResult): SearchResultSuccessType => ({\r\n type: TAXTRAX_RESULT_SUCCESS,\r\n result,\r\n});\r\n\r\nexport const handleSearchRequest = (\r\n service: typeof searchByAddressService | typeof searchByOwnerService,\r\n body: any,\r\n bearerToken: string,\r\n dispatch: Dispatch,\r\n) => {\r\n dispatch(setResultLoading(true));\r\n dispatch(resetResults());\r\n service(body, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(resultSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error: any) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(FETCH_HEADER, error.message);\r\n });\r\n};\r\n\r\nexport const searchByAddress =\r\n (formValues: typeof TAXTRAX_FORM_INITIAL_VALUES, bearerToken: string) =>\r\n (dispatch: Dispatch) => {\r\n const body = searchByAddressBody(formValues);\r\n handleSearchRequest(searchByAddressService, body, bearerToken, dispatch);\r\n };\r\n\r\nexport const searchByOwner =\r\n (formValues: any, bearerToken: string) => (dispatch: Dispatch) => {\r\n const body = searchByOwnerBody(formValues);\r\n handleSearchRequest(searchByOwnerService, body, bearerToken, dispatch);\r\n };\r\n\r\nexport const searchByDrivers =\r\n (\r\n driversData: GetDriversResult,\r\n { driversSearch }: any,\r\n bearerToken: string,\r\n ) =>\r\n (dispatch: Dispatch) => {\r\n const body = {\r\n ...driversData,\r\n drivers: driversData.drivers.map((driver) => ({\r\n ...driver,\r\n value: driversSearch[driver.fIndex] || EMPTY_VALUE,\r\n })),\r\n };\r\n handleSearchRequest(searchByDriversService, body, bearerToken, dispatch);\r\n };\r\n\r\nconst getDriversSuccess = (\r\n driversData: GetDriversResult,\r\n): GetDriversSuccessType => ({\r\n type: GET_TAXTRAX_DRIVERS_SUCCESS,\r\n driversData,\r\n});\r\n\r\nexport const getDrivers =\r\n (hobCode: string, bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchDriversService(hobCode, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getDriversSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(FETCH_HEADER, error.message);\r\n });\r\n };\r\n\r\nexport const resetDriversData = (): ResetDriversDataType => ({\r\n type: RESET_TAXTRAX_DRIVERS_DATA,\r\n});\r\n\r\nexport const resetResults = (): ResetResultsType => ({\r\n type: RESET_TAXTRAX_RESULTS,\r\n});\r\n","export enum Tabs {\r\n Property = 'Property',\r\n Name = 'Name',\r\n Other = 'Other',\r\n Multi = 'Multi',\r\n Links = 'Links',\r\n}\r\n\r\nexport enum SearchTypes {\r\n Property = 'searchByProperty',\r\n Name = 'searchByName',\r\n Other = 'searchByOther',\r\n Multi = 'searchByMulti',\r\n}\r\n\r\nexport enum OtherTabSearchBy {\r\n DOCUMENTS = 'recordedDocuments',\r\n LIENS = 'liens',\r\n UNIFORM_COMMERCIAL = 'uniformCommercialCodes',\r\n ENVIRONMENTAL_CONTROL = 'environmentalControlBoardJudgments',\r\n EMERGENCY_REPAIRS = 'emergencyRepairs',\r\n}\r\n\r\nexport enum OtherTabFieldNames {\r\n SEARCHBY = 'otherTab.searchBy',\r\n REEL = 'otherTab.reel',\r\n FILE_NUMBER = 'otherTab.fileNumber',\r\n CRFN = 'otherTab.crfn',\r\n PAGE = 'otherTab.page',\r\n CONTROL_NUMBER = 'otherTab.controlNumber',\r\n DOCUMENT_ID = 'otherTab.documentId',\r\n ADDRESSES = 'otherTab.addresses',\r\n}\r\n\r\nexport const initialCorporations = [\r\n {\r\n name: '',\r\n items: [''],\r\n },\r\n {\r\n name: '',\r\n items: [''],\r\n },\r\n];\r\n\r\nexport const initialAliases = [\r\n {\r\n name: '',\r\n items: [\r\n {\r\n firstName: '',\r\n lastName: '',\r\n isExactLastName: false,\r\n },\r\n ],\r\n },\r\n {\r\n name: '',\r\n items: [\r\n {\r\n firstName: '',\r\n lastName: '',\r\n isExactLastName: false,\r\n },\r\n ],\r\n },\r\n {\r\n name: '',\r\n items: [\r\n {\r\n firstName: '',\r\n lastName: '',\r\n isExactLastName: false,\r\n },\r\n ],\r\n },\r\n {\r\n name: '',\r\n items: [\r\n {\r\n firstName: '',\r\n lastName: '',\r\n isExactLastName: false,\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport const initialAddresses = [\r\n {\r\n houseNumber: '',\r\n street: '',\r\n },\r\n];\r\n\r\nconst initialNameForm = {\r\n judgmentsLiens: true,\r\n ftl: true,\r\n parkingViolations: true,\r\n ecb: true,\r\n tab: true,\r\n ucc: false,\r\n recordedDocuments: false,\r\n searchByIndividual: false,\r\n searchByCorporation: false,\r\n acris: false,\r\n corporations: initialCorporations,\r\n aliases: initialAliases,\r\n};\r\n\r\nexport const initialForm = {\r\n hob: '',\r\n tab: Tabs.Property,\r\n from: '',\r\n to: '',\r\n bookType: '',\r\n apn: '',\r\n searchName: '',\r\n propertyTab: {\r\n assessment: false,\r\n recordedDocuments: false,\r\n filedLiens: true,\r\n searchBy: 'parcel',\r\n block: '',\r\n lot: '',\r\n ease: '',\r\n houseNumber: '',\r\n street: '',\r\n apartmentNumber: '',\r\n ownerName: '',\r\n },\r\n nameTab: initialNameForm,\r\n otherTab: {\r\n searchBy: 'recordedDocuments',\r\n documentId: '',\r\n crfn: '',\r\n reel: '',\r\n page: '',\r\n fileNumber: '',\r\n controlNumber: '',\r\n year: '',\r\n indexNumber: '',\r\n addresses: initialAddresses,\r\n },\r\n multiTab: {\r\n searchByBlockLot: false,\r\n assessment: false,\r\n recordedDocumentsByBlockLot: false,\r\n filedLiens: true,\r\n block: '',\r\n lot: '',\r\n ease: '',\r\n searchByName: false,\r\n ...initialNameForm,\r\n searchByAddress: false,\r\n ecbsByAddress: false,\r\n emergencyRepairs: false,\r\n addresses: initialAddresses,\r\n },\r\n};\r\n\r\nexport const locations = [\r\n { name: 'New York', value: 'NY065001000' },\r\n { name: 'Bronx', value: 'NY065002000' },\r\n { name: 'Kings', value: 'NY065003000' },\r\n { name: 'Queens', value: 'NY065004000' },\r\n { name: 'Richmond', value: 'NY065005000' },\r\n];\r\n\r\nexport const bookTypeOptions = [\r\n { value: '', text: 'All' },\r\n { value: '01', text: '01 - Judgments and Hospital Liens' },\r\n { value: '02', text: '02 - Hospital Liens' },\r\n { value: '03', text: '03 - Mechanics Lien' },\r\n { value: '04', text: '04 - Building Loan' },\r\n { value: '05', text: '05 - Lis Pendens' },\r\n { value: '06', text: '06 - Sidewalk Lien' },\r\n // { value: '07', text: '07 - Federal Tax Lien' },\r\n { value: '08', text: '08 - In Rems' },\r\n { value: '09', text: '09 - Notice of Tax Lien Sale' },\r\n { value: '10', text: '10 - Judgments' },\r\n { value: '11', text: '11 - Mech/BL/LP/SW' },\r\n];\r\nexport const NYC_DB_FORM_NAME = 'newYorkCityDataBase';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"noLabel\":\"TaxTrax_noLabel__dmIDD\",\"specialCharacter\":\"TaxTrax_specialCharacter__17NA7\",\"table\":\"TaxTrax_table__233t9\"};","import { XosImageStates, XosImageResult } from './models';\r\nimport { Nullable } from 'common';\r\n\r\nexport const GET_XOSIMAGE_STATES_SUCCESS = 'GET_XOSIMAGE_STATES_SUCCESS';\r\nexport const SET_LOADING = 'SET_LOADING';\r\nexport const RESET_RESULTS = 'RESET_RESULTS';\r\nexport const XOSIMAGE_RESULT_SUCCESS = 'XOSIMAGE_RESULT_SUCCESS';\r\n\r\nexport interface XosImageState {\r\n loading: boolean;\r\n xosImagesStates: Nullable;\r\n result: Nullable;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\n/* GET_STATES */\r\n\r\nexport interface GetStatesSuccessType {\r\n type: typeof GET_XOSIMAGE_STATES_SUCCESS;\r\n xosImageStates: XosImageStates;\r\n}\r\n\r\n/* GET_DRIVERS */\r\n\r\nexport interface SearchResultSuccessType {\r\n type: typeof XOSIMAGE_RESULT_SUCCESS;\r\n result: XosImageResult;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_RESULTS;\r\n}\r\n\r\nexport type XosImageTypes =\r\n | GetStatesSuccessType\r\n | SetResultLoadingType\r\n | SearchResultSuccessType\r\n | ResetResultsType;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"Bankruptcy_select__1WfK9\",\"row\":\"Bankruptcy_row__3-kz_\",\"button\":\"Bankruptcy_button__39ICW\",\"input\":\"Bankruptcy_input__GFPTT\"};","import { BankruptcyStates, BankruptcyResult } from './models';\r\nimport { Nullable } from 'common';\r\n\r\nexport const GET_BAKRUPTCY_STATES_SUCCESS = 'GET_BAKRUPTCY_STATES_SUCCESS';\r\n\r\nexport const SET_LOADING = 'SET_LOADING';\r\nexport const RESET_RESULTS = 'RESET_RESULTS';\r\nexport const BANKRUPTCY_RESULT_SUCCESS = 'BANKRUPTCY_RESULT_SUCCESS';\r\n\r\nexport interface BankruptcyState {\r\n loading: boolean;\r\n bankruptcyStates: Nullable;\r\n result: Nullable;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\n/* GET_STATES */\r\n\r\nexport interface GetStatesSuccessType {\r\n type: typeof GET_BAKRUPTCY_STATES_SUCCESS;\r\n bankruptcyStates: BankruptcyStates;\r\n}\r\n\r\n/* GET_DRIVERS */\r\n\r\nexport interface SearchResultSuccessType {\r\n type: typeof BANKRUPTCY_RESULT_SUCCESS;\r\n result: BankruptcyResult;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_RESULTS;\r\n}\r\n\r\nexport type BankruptcyTypes =\r\n | GetStatesSuccessType\r\n | SetResultLoadingType\r\n | SearchResultSuccessType\r\n | ResetResultsType;\r\n","export { default as Date } from './components/Date';\r\nexport { default as Money } from './components/Money';\r\nexport { default as AttributeValuePair } from './components/AttributeValuePair';\r\nexport { default as FormField } from './components/FormField';\r\nexport { default as BasicTable } from './components/BasicTable';\r\nexport { default as CommonTable } from './components/CommonTable';\r\nexport { default as BasicDrawer } from './components/BasicDrawer';\r\nexport { default as PrintButton } from './components/PrintButton';\r\n\r\nexport * from './helpers/fetch';\r\nexport * from './helpers/format';\r\nexport * from './helpers/form';\r\nexport * from './helpers/notification';\r\nexport * from './helpers/validate';\r\nexport * from './helpers/other';\r\nexport * from './helpers/array';\r\nexport * from './redux/selectors';\r\nexport * from './redux/reducerNames';\r\nexport * from './constants';\r\nexport * from './components/HOCs';\r\nexport * from './services/exportService';\r\nexport * from './types';\r\n","import { fetchGet, fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const fetchStatesService = (usStateCode: string, bearerToken: string) =>\r\n fetchGet(`${apiUri}/dictionaries/states/${usStateCode}`, bearerToken);\r\n\r\nexport const fetchDriversService = (hobCode: string, bearerToken: string) =>\r\n fetchGet(`${apiUri}/dictionaries/drivers/${hobCode}`, bearerToken);\r\n\r\nexport const searchByAddressService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/properties/searchByAddress`, body, bearerToken);\r\n\r\nexport const searchByOwnerService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/properties/searchByOwner`, body, bearerToken);\r\n\r\nexport const searchByDriversService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/properties/searchByDrivers`, body, bearerToken);\r\n","export const DEP_ONLINE_FORM = 'depOnline';\r\nexport const EMPTY_VALUE = '';\r\n\r\nexport const DEP_ONLINE_FORM_INITIAL_VALUES = {\r\n depAccountTypeOption: 'active',\r\n searchOption: 'bill',\r\n hob: 'NY065001000',\r\n};\r\n","import { fetchPost, fetchGet } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const searchDocumentImagesService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/xosdocumentsimage/search`, body, bearerToken);\r\n\r\nexport const fetchStatesService = (bearerToken: string) =>\r\n fetchGet(`${apiUri}/documentimages/states`, bearerToken);\r\n\r\nexport const fetchDriversService = (\r\n statehob: string,\r\n countyhob: string,\r\n cmtdocId: string,\r\n bearerToken: string,\r\n) =>\r\n fetchGet(\r\n `${apiUri}/documentimages/drivers/${statehob}/${countyhob}/${cmtdocId}`,\r\n bearerToken,\r\n );\r\n\r\nexport const fetchXDetailsService = (\r\n statehob: string,\r\n countyhob: string,\r\n cmtdocId: string,\r\n bearerToken: string,\r\n) =>\r\n fetchGet(\r\n `${apiUri}/documentimages/xdetails/${statehob}/${countyhob}/${cmtdocId}`,\r\n bearerToken,\r\n );\r\n\r\nexport const fetchLicenseFlag = (user: string, bearerToken: string) =>\r\n fetchGet(`${apiUri}/authentication/license/${user}`, bearerToken);\r\n","import { fetchGet, fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n// TODO ?expires=Date.Now() is to prevent caching of the API result in IE11 which leads to unwanted behavior. There might be a better way to handle this.\r\nexport const fetchStatesService = (bearerToken: string) =>\r\n fetchGet(`${apiUri}/taxtrax/getstates?expires=${Date.now()}`, bearerToken);\r\n\r\n// TODO ?expires=Date.Now() is to prevent caching of the API result in IE11 which leads to unwanted behavior. There might be a better way to handle this.\r\nexport const fetchAvailableMunicipalitiesService = (bearerToken: string) =>\r\n fetchGet(\r\n `${apiUri}/taxtrax/getavailablemunicipalities?expires=${Date.now()}`,\r\n bearerToken,\r\n );\r\n\r\nexport const fetchDriversService = (hobCode: string, bearerToken: string) =>\r\n fetchGet(`${apiUri}/dictionaries/drivers/${hobCode}`, bearerToken);\r\n\r\nexport const searchByAddressService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/taxtrax/searchByAddress`, body, bearerToken);\r\n\r\nexport const searchByOwnerService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/taxtrax/searchByOwner`, body, bearerToken);\r\n\r\nexport const searchByDriversService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/taxtrax/searchByDrivers`, body, bearerToken);\r\n","import {\r\n SET_TAX_MAPS_LOADING,\r\n GET_TAX_MAPS_STATES_SUCCESS,\r\n TaxMapsState,\r\n TaxMapsTypes,\r\n GET_TAX_MAPS_DRIVERS_SUCCESS,\r\n TAX_MAPS_RESULT_SUCCESS,\r\n RESET_DRIVERS_DATA,\r\n RESET_RESULTS,\r\n} from './TaxMaps.types';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n usState: null,\r\n result: null,\r\n driversData: null,\r\n};\r\n\r\nexport function taxMapsReducer(\r\n state = defaultState,\r\n action: TaxMapsTypes,\r\n): TaxMapsState {\r\n switch (action.type) {\r\n case GET_TAX_MAPS_STATES_SUCCESS: {\r\n return {\r\n ...state,\r\n usState: action.usState,\r\n loading: false,\r\n };\r\n }\r\n case SET_TAX_MAPS_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n case TAX_MAPS_RESULT_SUCCESS: {\r\n return {\r\n ...state,\r\n result: action.result,\r\n loading: false,\r\n };\r\n }\r\n case GET_TAX_MAPS_DRIVERS_SUCCESS: {\r\n return {\r\n ...state,\r\n driversData: action.driversData,\r\n loading: false,\r\n };\r\n }\r\n case RESET_DRIVERS_DATA: {\r\n return {\r\n ...state,\r\n driversData: null,\r\n };\r\n }\r\n case RESET_RESULTS: {\r\n return {\r\n ...state,\r\n result: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"XosImage_select__3Oqak\",\"row\":\"XosImage_row__39oMB\",\"button\":\"XosImage_button__2dKc-\",\"input\":\"XosImage_input__16s43\"};","import React from 'react';\r\nimport { Descriptions } from 'antd';\r\nimport { PropertyInformation } from 'common/models';\r\n\r\nconst PropertyInformationDescriptions: React.FC<{\r\n county: string;\r\n propertyInformation: PropertyInformation;\r\n}> = (props: { county: string; propertyInformation: PropertyInformation }) => {\r\n const { county, propertyInformation } = props;\r\n const { itemNumber, schoolCode, swissCode, city, address } =\r\n propertyInformation;\r\n\r\n return (\r\n \r\n \r\n {county}\r\n \r\n \r\n {city}\r\n \r\n \r\n {address}\r\n \r\n \r\n {itemNumber}\r\n \r\n \r\n {schoolCode}\r\n \r\n {swissCode}\r\n \r\n );\r\n};\r\n\r\nexport default PropertyInformationDescriptions;\r\n","import React from 'react';\r\nimport { Descriptions } from 'antd';\r\nimport { PropertyIdentifier } from 'common/models';\r\n\r\nconst PropertyIdentifierDescriptions: React.FC<{\r\n propertyIdentifier: PropertyIdentifier;\r\n accountNumber?: string;\r\n}> = (props: {\r\n propertyIdentifier: PropertyIdentifier;\r\n accountNumber?: string;\r\n}) => {\r\n const { propertyIdentifier, accountNumber } = props;\r\n const {\r\n section,\r\n subSection,\r\n block,\r\n lot,\r\n subLot,\r\n printKey,\r\n suffix,\r\n district,\r\n subBlock,\r\n unitNumber,\r\n buildingNumber,\r\n volume,\r\n filedMapInformation,\r\n } = propertyIdentifier;\r\n\r\n return (\r\n \r\n \r\n {district}\r\n \r\n \r\n {section}\r\n \r\n {subSection}\r\n \r\n {block}\r\n \r\n \r\n {subBlock}\r\n \r\n {printKey}\r\n {lot}\r\n {subLot}\r\n {suffix}\r\n \r\n {buildingNumber}\r\n \r\n {unitNumber}\r\n {volume}\r\n \r\n {filedMapInformation}\r\n \r\n {accountNumber && (\r\n \r\n {accountNumber}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PropertyIdentifierDescriptions;\r\n","import React from 'react';\r\nimport { Descriptions } from 'antd';\r\nimport { Owner } from '../../models';\r\n\r\nconst PropertyOwnerDescriptions: React.FC<{\r\n owners: Owner[];\r\n}> = (props: { owners: Owner[] }) => {\r\n const { owners } = props;\r\n\r\n return (\r\n \r\n {owners.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default PropertyOwnerDescriptions;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"global_select__j8mQ7\",\"date\":\"global_date__W6L_y\",\"button\":\"global_button__2YFW6\",\"buttonWithTopMargin\":\"global_buttonWithTopMargin__19tNH\",\"input\":\"global_input__1XZPB\",\"row\":\"global_row__2SSNn\",\"textCenter\":\"global_textCenter__U5Gsh\",\"topSpacing\":\"global_topSpacing__2zTDi\",\"modalSpacing\":\"global_modalSpacing__2-CbJ\",\"positionFixed\":\"global_positionFixed__2Iays\",\"positionFixedImportant\":\"global_positionFixedImportant__2IGAl\"};","import { Dispatch } from 'redux';\r\nimport {\r\n fetchStatesService,\r\n searchByAddressService,\r\n searchByOwnerService,\r\n fetchDriversService,\r\n searchByDriversService,\r\n} from './PropertySearch.services';\r\nimport {\r\n GetStatesSuccessType,\r\n SetResultLoadingType,\r\n GET_STATES_SUCCESS,\r\n SET_LOADING,\r\n GET_DRIVERS_SUCCESS,\r\n GetDriversSuccessType,\r\n PROPERTY_SEARCH_RESULT_SUCCESS,\r\n SearchResultSuccessType,\r\n RESET_DRIVERS_DATA,\r\n ResetDriversDataType,\r\n RESET_RESULTS,\r\n ResetResultsType,\r\n} from './PropertySearch.types';\r\nimport { httpError, json, showWarnNotification, FETCH_HEADER } from 'common';\r\nimport {\r\n searchByAddressBody,\r\n searchByOwnerBody,\r\n} from './PropertySearch.selectors';\r\nimport {\r\n PROPERTY_SEARCH_FORM_INITIAL_VALUES,\r\n EMPTY_VALUE,\r\n} from './PropertySearch.constants';\r\nimport { PropertySearchResult, GetDriversResult } from './models';\r\nimport { USState } from 'common/models';\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: SET_LOADING,\r\n loading,\r\n});\r\n\r\nconst getStatesSuccess = (usState: USState): GetStatesSuccessType => ({\r\n type: GET_STATES_SUCCESS,\r\n usState,\r\n});\r\n\r\nexport const getStates =\r\n (usState: string, bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchStatesService(usState, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getStatesSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(`States`, error.message);\r\n });\r\n };\r\n\r\nconst resultSuccess = (\r\n result: PropertySearchResult,\r\n): SearchResultSuccessType => ({\r\n type: PROPERTY_SEARCH_RESULT_SUCCESS,\r\n result,\r\n});\r\n\r\nexport const handleSearchRequest = (\r\n service: typeof searchByAddressService | typeof searchByOwnerService,\r\n body: any,\r\n bearerToken: string,\r\n dispatch: Dispatch,\r\n) => {\r\n dispatch(setResultLoading(true));\r\n dispatch(resetResults());\r\n service(body, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(resultSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error: any) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(FETCH_HEADER, error.message);\r\n });\r\n};\r\n\r\nexport const searchByAddress =\r\n (\r\n formValues: typeof PROPERTY_SEARCH_FORM_INITIAL_VALUES,\r\n bearerToken: string,\r\n ) =>\r\n (dispatch: Dispatch) => {\r\n const body = searchByAddressBody(formValues);\r\n handleSearchRequest(searchByAddressService, body, bearerToken, dispatch);\r\n };\r\n\r\nexport const searchByOwner =\r\n (formValues: any, bearerToken: string) => (dispatch: Dispatch) => {\r\n const body = searchByOwnerBody(formValues);\r\n handleSearchRequest(searchByOwnerService, body, bearerToken, dispatch);\r\n };\r\n\r\nexport const searchByDrivers =\r\n (\r\n driversData: GetDriversResult,\r\n { driversSearch }: any,\r\n bearerToken: string,\r\n ) =>\r\n (dispatch: Dispatch) => {\r\n const body = {\r\n ...driversData,\r\n drivers: driversData.drivers.map((driver) => ({\r\n ...driver,\r\n value: driversSearch[driver.fIndex] || EMPTY_VALUE,\r\n })),\r\n };\r\n handleSearchRequest(searchByDriversService, body, bearerToken, dispatch);\r\n };\r\n\r\nconst getDriversSuccess = (\r\n driversData: GetDriversResult,\r\n): GetDriversSuccessType => ({\r\n type: GET_DRIVERS_SUCCESS,\r\n driversData,\r\n});\r\n\r\nexport const getDrivers =\r\n (hobCode: string, driversData: GetDriversResult, bearerToken: string) =>\r\n (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchDriversService(hobCode, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getDriversSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(FETCH_HEADER, error.message);\r\n });\r\n };\r\n\r\nexport const resetDriversData = (): ResetDriversDataType => ({\r\n type: RESET_DRIVERS_DATA,\r\n});\r\n\r\nexport const resetResults = (): ResetResultsType => ({\r\n type: RESET_RESULTS,\r\n});\r\n","export const TAXTRAX_FORM = 'taxTrax';\r\nexport const TAB_INDEX = '1000';\r\nexport const EMPTY_VALUE = '';\r\n\r\nexport enum SearchTypeFormNames {\r\n SEARCH_BY = 'searchBy',\r\n ADDRESS_SEARCH = 'addressSearch',\r\n OWNER_SEARCH = 'ownerSearch',\r\n DRIVERS_SEARCH = 'driversSearch',\r\n HOB_CODES = 'hobCodes',\r\n}\r\n\r\nexport enum LocationFormNames {\r\n STATE = 'hobCodes.stateHob',\r\n COUNTY = 'hobCodes.countyHob',\r\n CITY = 'hobCodes.cityHob',\r\n VILLAGE = 'hobCodes.villageHob',\r\n}\r\n\r\nexport enum AddressSearchFormNames {\r\n HOUSE = 'addressSearch.streetNumber',\r\n STREET = 'addressSearch.streetName',\r\n}\r\n\r\nexport enum OwnerSearchFormNames {\r\n FIRST = 'ownerSearch.firstName',\r\n MIDDLE = 'ownerSearch.lastName',\r\n LAST_CORP = 'ownerSearch.corporationName',\r\n}\r\n\r\nexport enum TaxTraxFormLabels {\r\n STATE = 'State',\r\n COUNTY = 'County',\r\n CITY = 'City/Town',\r\n VILLAGE = 'Village',\r\n ADDRES_SEARCH = 'Address Search',\r\n OWNER_SEARCH = 'Owner Search',\r\n DRIVERS_SEARCH = 'Block Lot Search',\r\n ADDRESS_SEARCH = 'Address Search',\r\n HOUSE = 'House',\r\n STREET = 'Street',\r\n LAST_CORP = 'Last/Corp',\r\n FIRST = 'First name',\r\n MIDDLE = 'Middle',\r\n}\r\n\r\nexport enum TaxTraxFormPlaceholders {\r\n STATE = 'Choose State',\r\n COUNTY = 'Choose County',\r\n CITY = 'All Towns',\r\n VILLAGE = 'All Villages',\r\n}\r\n\r\nexport const TAXTRAX_FORM_INITIAL_VALUES = {\r\n [SearchTypeFormNames.SEARCH_BY]: SearchTypeFormNames.ADDRESS_SEARCH,\r\n [SearchTypeFormNames.HOB_CODES]: {\r\n stateHob: EMPTY_VALUE,\r\n countyHob: EMPTY_VALUE,\r\n cityHob: EMPTY_VALUE,\r\n villageHob: EMPTY_VALUE,\r\n },\r\n [SearchTypeFormNames.ADDRESS_SEARCH]: {\r\n streetNumber: EMPTY_VALUE,\r\n streetName: EMPTY_VALUE,\r\n },\r\n [SearchTypeFormNames.OWNER_SEARCH]: {\r\n firstName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n corporationName: EMPTY_VALUE,\r\n },\r\n [SearchTypeFormNames.DRIVERS_SEARCH]: {},\r\n};\r\n","import { RecentReportsResult, Report } from './models';\r\nimport { Nullable } from 'common';\r\n\r\nexport const SET_RECENT_REPORTS_LOADING = 'SET_RECENT_REPORTS_LOADING';\r\nexport const GET_RECENT_REPORTS_SUCCESS = 'GET_RECENT_REPORTS_SUCCESS';\r\n\r\nexport interface RecentReportsState {\r\n recentReports: Nullable;\r\n loading: boolean;\r\n}\r\n\r\nexport interface SetRecentReportsLoadingType {\r\n type: typeof SET_RECENT_REPORTS_LOADING;\r\n loading: boolean;\r\n}\r\n\r\nexport interface GetRecentReportsSuccessType {\r\n type: typeof GET_RECENT_REPORTS_SUCCESS;\r\n recentReports: RecentReportsResult;\r\n}\r\n\r\nexport type RecentReportsDOMType = Report & {\r\n date: string;\r\n time: string;\r\n};\r\n\r\nexport type RecentReportsTypes =\r\n | SetRecentReportsLoadingType\r\n | GetRecentReportsSuccessType;\r\n","import {\r\n GET_RECENT_REPORTS_SUCCESS,\r\n SET_RECENT_REPORTS_LOADING,\r\n RecentReportsTypes,\r\n RecentReportsState,\r\n} from './RecentReports.types';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n recentReports: null,\r\n};\r\n\r\nexport const recentReportsReducer = (\r\n state = defaultState,\r\n action: RecentReportsTypes,\r\n): RecentReportsState => {\r\n switch (action.type) {\r\n case SET_RECENT_REPORTS_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n case GET_RECENT_REPORTS_SUCCESS: {\r\n return {\r\n ...state,\r\n recentReports: action.recentReports,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Dispatch } from 'redux';\r\nimport { fetchGet, httpError, json } from 'common';\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const fetchRecentReportsService = (\r\n daysCount: number,\r\n token: string,\r\n dispatch: Dispatch,\r\n) =>\r\n fetchGet(\r\n `${apiUri}/userExport/lastDays/${daysCount}?expires=${Date.now()}`,\r\n token,\r\n )\r\n .then(httpError(dispatch))\r\n .then(json);\r\n","import { Dispatch } from 'redux';\r\nimport { userExportService } from 'common';\r\n\r\nimport {\r\n fetchRecentReportsService,\r\n GetRecentReportsSuccessType,\r\n GET_RECENT_REPORTS_SUCCESS,\r\n SET_RECENT_REPORTS_LOADING,\r\n SetRecentReportsLoadingType,\r\n RecentReportsDOMType,\r\n} from '.';\r\nimport { RecentReportsResult } from './models';\r\nimport { saveFile, printFile } from 'common/helpers';\r\n\r\nconst setLoading = (loading: boolean): SetRecentReportsLoadingType => ({\r\n type: SET_RECENT_REPORTS_LOADING,\r\n loading,\r\n});\r\n\r\nconst GetRecentReportsSuccess = (\r\n recentReports: RecentReportsResult,\r\n): GetRecentReportsSuccessType => ({\r\n type: GET_RECENT_REPORTS_SUCCESS,\r\n recentReports,\r\n});\r\n\r\nexport const getRecentReports =\r\n (daysCount: number, token: string) => async (dispatch: Dispatch) => {\r\n dispatch(setLoading(true));\r\n try {\r\n const response = await fetchRecentReportsService(\r\n daysCount,\r\n token,\r\n dispatch,\r\n );\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(GetRecentReportsSuccess(response));\r\n } catch ({ message }) {\r\n //showWarnNotification(FETCH_HEADER, message);\r\n }\r\n dispatch(setLoading(false));\r\n };\r\n\r\nexport const exportReport =\r\n (report: RecentReportsDOMType, print = false, token: string) =>\r\n async (dispatch: Dispatch) => {\r\n const fileName = report.fileName\r\n ? report.fileName\r\n : `Report.${report.fileFormat}`;\r\n dispatch(setLoading(true));\r\n try {\r\n const blob = await userExportService(report, token, dispatch);\r\n dispatch(setLoading(false));\r\n return print ? printFile(blob) : saveFile(blob, fileName);\r\n } catch (error) {\r\n dispatch(setLoading(false));\r\n //showWarnNotification(FETCH_HEADER, error.message);\r\n }\r\n };\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"Pages_text__2wWpl\",\"container\":\"Pages_container__3K25q\",\"content\":\"Pages_content__3NjIZ\",\"logo\":\"Pages_logo__NOMhH\",\"header\":\"Pages_header__2mP0u\",\"ccpanotice\":\"Pages_ccpanotice__28HKk\",\"content-min\":\"Pages_content-min__Zs4mX\"};","import React from 'react';\r\nimport { Typography } from 'antd';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst LinksTab: React.FC = () => {\r\n return (\r\n \r\n
    \r\n
  • \r\n \r\n NY WebSurrogate\r\n \r\n
  • \r\n
  • \r\n \r\n NYS e-Courts/e-Filings\r\n \r\n
  • \r\n
  • \r\n \r\n Bronx Lien Search\r\n \r\n
  • \r\n
  • \r\n \r\n Clerks Mins Bronx Search\r\n \r\n
  • \r\n
  • \r\n \r\n Clerks Mins Kings Search\r\n \r\n
  • \r\n
  • \r\n \r\n Clerks Mins Queens Search\r\n \r\n
  • \r\n
  • \r\n \r\n NY County Clerk\r\n \r\n
  • \r\n
  • \r\n \r\n Richmond County Clerk\r\n \r\n
  • \r\n
  • \r\n \r\n ACRIS\r\n \r\n
  • \r\n
  • \r\n \r\n ARB\r\n \r\n
  • \r\n
  • \r\n \r\n NYC Tax Map Link\r\n \r\n
  • \r\n
  • \r\n \r\n DataTree Web\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(LinksTab);\r\n","import React from 'react';\r\nimport { FieldArray } from 'redux-form';\r\nimport { Alias } from 'pages/Search/models';\r\nimport { Individuals } from '../';\r\nimport { Button, Divider, Tooltip } from 'antd';\r\n\r\nconst ButtonGroup = Button.Group;\r\n\r\nconst Aliases: any = ({ fields, meta: { error }, handleFieldFocus }: any) => {\r\n const addLimit = 4;\r\n const removeLimit = 1;\r\n\r\n return (\r\n <>\r\n {fields.map((alias: Alias, index: number) => {\r\n const fieldArrayName = `${alias}.items`;\r\n return (\r\n
\r\n \r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n >\r\n Remove Name\r\n \r\n \r\n {fields.length - 1 === index && (\r\n \r\n \r\n fields.push({ items: [{ firstName: '', lastName: '' }] })\r\n }\r\n disabled={fields.length >= addLimit}\r\n >\r\n Add Name\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default Aliases;\r\n","import React from 'react';\r\nimport { Button, Row, Tooltip } from 'antd';\r\nimport { FormField, maxLength, alphaNumeric, minLength } from 'common';\r\nimport styles from './Individuals.module.scss';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst warn = [minLength(2), maxLength(20), alphaNumeric];\r\n\r\nconst Individuals: any = ({\r\n fields,\r\n meta: { error },\r\n handleFieldFocus,\r\n}: any) => {\r\n const addLimit = 10;\r\n const removeLimit = 1;\r\n\r\n return (\r\n <>\r\n {fields.map((individual: any, index: number) => (\r\n \r\n \r\n\r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n />\r\n \r\n {fields.length - 1 === index && (\r\n \r\n \r\n fields.push({\r\n firstName: '',\r\n lastName: '',\r\n isExactLastName: false,\r\n })\r\n }\r\n disabled={fields.length >= addLimit}\r\n />\r\n \r\n )}\r\n \r\n }\r\n />\r\n\r\n {/* Temporarily hiding this checkbox with inline style until we gather more info and modify exact name search web service methods */}\r\n
\r\n \r\n No Variations on Last Name\r\n \r\n
\r\n
\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Individuals;\r\n","import React from 'react';\r\nimport { Button, Tooltip } from 'antd';\r\nimport { FormField, maxLength, alphaNumeric } from 'common';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst warn = [maxLength(50), alphaNumeric];\r\n\r\nconst Corporation: any = ({\r\n fields,\r\n meta: { error },\r\n handleFieldFocus,\r\n}: any) => {\r\n const addLimit = 10;\r\n const removeLimit = 1;\r\n\r\n return (\r\n <>\r\n {fields.map((corporation: any, index: number) => (\r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n />\r\n \r\n {fields.length - 1 === index && (\r\n \r\n fields.push('')}\r\n disabled={fields.length >= addLimit}\r\n />\r\n \r\n )}\r\n \r\n }\r\n />\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Corporation;\r\n","import React from 'react';\r\nimport { FieldArray } from 'redux-form';\r\nimport { Alias } from 'pages/Search/models';\r\nimport Corporation from '../Corporation/Corporation';\r\nimport { Button, Divider, Tooltip } from 'antd';\r\n\r\nconst ButtonGroup = Button.Group;\r\n\r\nconst Corporations: any = ({\r\n fields,\r\n meta: { error },\r\n handleFieldFocus,\r\n}: any) => {\r\n const addLimit = 2;\r\n const removeLimit = 1;\r\n\r\n return (\r\n <>\r\n {fields.map((alias: Alias, index: number) => (\r\n
\r\n \r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n >\r\n Remove Corp Name\r\n \r\n \r\n {fields.length - 1 === index && (\r\n \r\n fields.push({ items: [''] })}\r\n disabled={fields.length >= addLimit}\r\n >\r\n Add Corp Name\r\n \r\n \r\n )}\r\n \r\n {fields.length - 1 !== index && }\r\n
\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Corporations;\r\n","import React from 'react';\r\nimport { FieldArray } from 'redux-form';\r\nimport { Aliases, Corporations } from './components';\r\nimport { Row, Col } from 'antd';\r\nimport { FormField } from 'common';\r\nimport globalStyles from 'common/global.module.scss';\r\n\r\nconst NameTab: React.FC<{\r\n handleFieldFocus: any;\r\n tabNamePrefix: string;\r\n className?: string;\r\n autoFocusIndividual?: boolean;\r\n}> = ({\r\n handleFieldFocus,\r\n tabNamePrefix,\r\n className = '',\r\n autoFocusIndividual = true,\r\n}) => {\r\n const checkboxes = [\r\n {\r\n name: `${tabNamePrefix}.judgmentsLiens`,\r\n tooltip: 'Judgments/Liens',\r\n text: 'Judgments/Liens',\r\n },\r\n {\r\n name: `${tabNamePrefix}.ftl`,\r\n tooltip: 'Federal Tax Liens',\r\n text: \"FTL's\",\r\n },\r\n {\r\n name: `${tabNamePrefix}.parkingViolations`,\r\n tooltip: 'Parking Violation Judgments',\r\n text: \"PVB's\",\r\n },\r\n {\r\n name: `${tabNamePrefix}.ecb`,\r\n tooltip: 'Environmental Control Board Judgments',\r\n text: \"ECB's\",\r\n },\r\n {\r\n name: `${tabNamePrefix}.tab`,\r\n tooltip: 'Transit Adjudication Bureau Judgments',\r\n text: \"TAB's\",\r\n },\r\n {\r\n name: `${tabNamePrefix}.ucc`,\r\n tooltip: 'Uniform Commercial Codes',\r\n text: \"UCC's\",\r\n },\r\n {\r\n name: `${tabNamePrefix}.recordedDocuments`,\r\n tooltip: 'Recorded Documents',\r\n text: 'Recorded Documents',\r\n },\r\n ];\r\n\r\n const aliasesFieldArrayName = `${tabNamePrefix}.aliases`;\r\n const corporationsFieldArrayName = `${tabNamePrefix}.corporations`;\r\n\r\n return (\r\n <>\r\n \r\n {checkboxes.map((item) => (\r\n \r\n {item.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n Search All Acris Counties for FTL's\r\n \r\n \r\n \r\n \r\n \r\n Individual\r\n \r\n
\r\n \r\n
\r\n \r\n Corporation\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(NameTab);\r\n","import React from 'react';\r\nimport { Radio, Row } from 'antd';\r\nimport { FormField, maxLength, number, alphaNumeric } from 'common';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { FieldArray, getFormValues } from 'redux-form';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport {\r\n OtherTabSearchBy,\r\n OtherTabFieldNames,\r\n NYC_DB_FORM_NAME,\r\n} from '../../consts';\r\nimport { AddressesFormFields } from 'pages/Search/templates';\r\n\r\nconst warnAlphaNumeric = [maxLength(30), alphaNumeric];\r\nconst warnReel = [maxLength(4), number];\r\nconst warnPage = [maxLength(4), number];\r\nconst {\r\n DOCUMENTS,\r\n LIENS,\r\n UNIFORM_COMMERCIAL,\r\n ENVIRONMENTAL_CONTROL,\r\n EMERGENCY_REPAIRS,\r\n} = OtherTabSearchBy;\r\n\r\nconst {\r\n SEARCHBY,\r\n REEL,\r\n FILE_NUMBER,\r\n CRFN,\r\n PAGE,\r\n CONTROL_NUMBER,\r\n DOCUMENT_ID,\r\n ADDRESSES,\r\n} = OtherTabFieldNames;\r\n\r\nconst OtherTab: React.FC = () => {\r\n const {\r\n formValues: {\r\n otherTab: { searchBy },\r\n },\r\n }: any = useSelector((state: AppState) => ({\r\n formValues: getFormValues(NYC_DB_FORM_NAME)(state),\r\n }));\r\n\r\n return (\r\n <>\r\n \r\n Recorded Document\r\n Judgment/Lien\r\n UCC\r\n ECB by Address\r\n NYC Emergency Repair\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(OtherTab);\r\n","import React from 'react';\r\nimport styles from './PropertyTab.module.scss';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { Row } from 'antd';\r\nimport { FormField, maxLength } from 'common';\r\nimport {\r\n AddressFormFields,\r\n BlockLotFormFields,\r\n PropertyDocumentTypeFormFields,\r\n} from 'pages/Search/templates';\r\n\r\nconst warnOwnerName = [maxLength(100)];\r\n\r\nconst PropertyTab: React.FC<{\r\n handleFieldFocus: any;\r\n}> = ({ handleFieldFocus }) => {\r\n return (\r\n <>\r\n \r\n\r\n \r\n Parcel\r\n \r\n \r\n\r\n \r\n Address\r\n \r\n \r\n\r\n \r\n Assessed Owner\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(PropertyTab);\r\n","import React from 'react';\r\nimport styles from './MultiTab.module.scss';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { Row } from 'antd';\r\nimport { FormField } from 'common';\r\nimport { NameTab } from '..';\r\nimport {\r\n BlockLotFormFields,\r\n PropertyDocumentTypeFormFields,\r\n AddressesFormFields,\r\n} from 'pages/Search/templates';\r\nimport { FieldArray } from 'redux-form';\r\n\r\nconst MultiTab: React.FC<{\r\n handleFieldFocus: any;\r\n}> = ({ handleFieldFocus }) => {\r\n return (\r\n <>\r\n \r\n \r\n Block/Lot\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Name\r\n \r\n \r\n \r\n\r\n \r\n \r\n Address\r\n \r\n \r\n \r\n \r\n ECB by Address\r\n \r\n \r\n NYC Emergency Repair\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(MultiTab);\r\n","import React from 'react';\r\nimport { reduxForm, getFormValues, initialize } from 'redux-form';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport moment from 'moment';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport styles from './SearchForm.module.scss';\r\nimport { AppState } from 'store';\r\nimport { PropertyTab, NameTab, OtherTab, LinksTab, MultiTab } from './Tabs';\r\nimport {\r\n Form,\r\n Radio,\r\n Select,\r\n Button,\r\n Typography,\r\n Divider,\r\n Card,\r\n Icon,\r\n Row,\r\n Tooltip,\r\n} from 'antd';\r\nimport { searchClear } from '../Search.actions';\r\nimport { FormField, required, defaultDateFormat, InputTypes } from 'common';\r\nimport SearchHistory from '../SearchHistory/SearchHistory';\r\nimport {\r\n Tabs,\r\n initialForm,\r\n locations,\r\n bookTypeOptions,\r\n NYC_DB_FORM_NAME,\r\n} from './consts';\r\nimport { createSelector } from 'reselect';\r\nimport { compose } from 'redux';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useIsAuthenticated } from '@azure/msal-react';\r\n\r\nconst selector = createSelector(\r\n (state: AppState) => state.search.loading,\r\n (state: AppState) => getFormValues(NYC_DB_FORM_NAME)(state),\r\n (state: AppState) => state.login.isPublic,\r\n (loading, formValues, isPublic) => ({ loading, formValues, isPublic }),\r\n);\r\n\r\nconst { Text } = Typography;\r\nconst { Option } = Select;\r\n\r\nconst SearchForm: React.FC = ({ change, handleSubmit, valid }: any) => {\r\n const dispatch = useDispatch();\r\n const {\r\n loading,\r\n formValues,\r\n isPublic,\r\n }: { loading: boolean; formValues: any; isPublic: boolean } =\r\n useSelector(selector);\r\n const isAuthenticated = useIsAuthenticated();\r\n\r\n const handleFocus = (e: React.FocusEvent, name: string) => {\r\n switch (name) {\r\n case 'propertyTab.block':\r\n case 'propertyTab.lot':\r\n case 'propertyTab.ease':\r\n change('propertyTab.searchBy', 'parcel');\r\n break;\r\n case 'propertyTab.houseNumber':\r\n case 'propertyTab.street':\r\n case 'propertyTab.apartmentNumber':\r\n change('propertyTab.searchBy', 'address');\r\n break;\r\n case 'propertyTab.ownerName':\r\n change('propertyTab.searchBy', 'assessedOwner');\r\n break;\r\n case 'multiTab.block':\r\n case 'multiTab.lot':\r\n case 'multiTab.ease':\r\n change('multiTab.searchByBlockLot', true);\r\n break;\r\n default:\r\n break;\r\n }\r\n if (name.indexOf('nameTab.corporations') !== -1)\r\n change('nameTab.searchByCorporation', true);\r\n if (name.indexOf('nameTab.aliases') !== -1)\r\n change('nameTab.searchByIndividual', true);\r\n\r\n if (name.indexOf('multiTab.corporations') !== -1) {\r\n change('multiTab.searchByCorporation', true);\r\n change('multiTab.searchByName', true);\r\n }\r\n if (name.indexOf('multiTab.aliases') !== -1) {\r\n change('multiTab.searchByIndividual', true);\r\n change('multiTab.searchByName', true);\r\n }\r\n if (name.indexOf('multiTab.addresses') !== -1) {\r\n change('multiTab.searchByAddress', true);\r\n }\r\n };\r\n const login = useSelector((state: AppState) => state.login);\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n {locations.map((item) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n  Property search\r\n \r\n \r\n \r\n  Name search\r\n \r\n \r\n \r\n  Other search\r\n \r\n \r\n \r\n  Multi search\r\n \r\n {isAuthenticated && !isPublic && (\r\n \r\n \r\n  Links\r\n \r\n )}\r\n \r\n\r\n \r\n\r\n {(() => {\r\n switch (formValues.tab) {\r\n case Tabs.Property:\r\n return ;\r\n case Tabs.Name:\r\n return (\r\n \r\n );\r\n case Tabs.Other:\r\n return ;\r\n case Tabs.Multi:\r\n return ;\r\n case Tabs.Links:\r\n return ;\r\n default:\r\n return null;\r\n }\r\n })()}\r\n\r\n \r\n {formValues.tab !== Tabs.Links && (\r\n <>\r\n Optional (For Judgments / Liens):\r\n \r\n \r\n \r\n \r\n option.props.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {bookTypeOptions.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n {\r\n dispatch(searchClear());\r\n dispatch(\r\n initialize(NYC_DB_FORM_NAME, {\r\n ...initialForm,\r\n tab: formValues.tab,\r\n }),\r\n );\r\n }}\r\n type=\"ghost\"\r\n >\r\n Reset\r\n \r\n \r\n \r\n Search\r\n \r\n \r\n \r\n   *\r\n \r\n Fee applied on Search\r\n *\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n reduxForm({\r\n form: NYC_DB_FORM_NAME,\r\n initialValues: initialForm,\r\n }),\r\n)(React.memo(SearchForm));\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport {\r\n ResultTable,\r\n ResultReports,\r\n ResultGrid,\r\n ResultDocs,\r\n MultiSearchResults,\r\n} from '../templates';\r\nimport { ListOfProperty } from 'pages/common/models';\r\nimport {\r\n Divider,\r\n Card,\r\n Typography,\r\n Empty,\r\n Form,\r\n Alert,\r\n Row,\r\n Button,\r\n} from 'antd';\r\nimport { Tabs, NYC_DB_FORM_NAME } from 'pages/Search/SearchForm/consts';\r\nimport {\r\n PRINT_OPTIONS_FORM_NAME,\r\n initialExportForm,\r\n} from './SearchResult.contants';\r\nimport { reduxForm, InjectedFormProps, getFormValues } from 'redux-form';\r\nimport { EMPTY_VALUE } from 'pages/TaxMaps';\r\nconst { Title } = Typography;\r\n\r\ninterface SearchResultProps {\r\n onClickDetails: (formValues: any) => void;\r\n}\r\n\r\ntype Props = SearchResultProps & InjectedFormProps;\r\n\r\nconst SearchResult: React.FC = ({ onClickDetails }) => {\r\n const { formValues, search, otherDataHeader }: any = useSelector(\r\n (state: AppState) => ({\r\n search: state.search,\r\n formValues: getFormValues(NYC_DB_FORM_NAME)(state),\r\n otherDataHeader: state.search.otherData?.results?.length\r\n ? state.search.otherData.results[0].header\r\n : EMPTY_VALUE,\r\n }),\r\n );\r\n\r\n const firstListOfPropertyLength = React.useMemo(\r\n () =>\r\n search.propertyData?.results?.length >= 1 &&\r\n search.propertyData.results[0].listOfProperties\r\n ? search.propertyData.results[0].listOfProperties.length\r\n : -1,\r\n [search.propertyData],\r\n );\r\n\r\n const clickDetailButton = React.useCallback(\r\n ({ block, lot, ease, apn }: ListOfProperty) => {\r\n const param = {\r\n ...formValues,\r\n apn: apn,\r\n propertyTab: {\r\n ...formValues.propertyTab,\r\n block,\r\n lot,\r\n ease,\r\n searchBy: 'apn',\r\n },\r\n };\r\n onClickDetails(param);\r\n },\r\n [formValues, onClickDetails],\r\n );\r\n\r\n const clickContinueButton = React.useCallback(() => {\r\n const param = {\r\n ...formValues,\r\n isOldSystem: true,\r\n propertyTab: {\r\n ...formValues.propertyTab,\r\n searchBy: 'parcel',\r\n },\r\n };\r\n onClickDetails(param);\r\n }, [formValues, onClickDetails]);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n Reports\r\n \r\n {otherDataHeader && formValues.tab === Tabs.Other && (\r\n {otherDataHeader && `${otherDataHeader}`}}\r\n type=\"warning\"\r\n />\r\n )}\r\n \r\n
\r\n {(() => {\r\n switch (formValues.tab) {\r\n case Tabs.Property:\r\n if (search.propertyData) {\r\n return search.propertyData.results.length === 1 &&\r\n (search.propertyData.results[0].isOldSystem === true ||\r\n firstListOfPropertyLength > 1) ? (\r\n <>\r\n \r\n {search.propertyData.results[0].isOldSystem === true && (\r\n <>\r\n \r\n Click Button To Continue with Criteria Entered\r\n \r\n Continue\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n );\r\n } else return ;\r\n case Tabs.Name:\r\n return search.nameData ? (\r\n \r\n ) : (\r\n \r\n );\r\n case Tabs.Other:\r\n return search.otherData ? (\r\n \r\n ) : (\r\n \r\n );\r\n case Tabs.Multi:\r\n return search.multiData ? (\r\n \r\n ) : (\r\n \r\n );\r\n case Tabs.Links:\r\n return ;\r\n default:\r\n return ;\r\n }\r\n })()}\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default reduxForm({\r\n form: PRINT_OPTIONS_FORM_NAME,\r\n initialValues: initialExportForm,\r\n})(SearchResult);\r\n","import React, { useMemo } from 'react';\r\nimport SearchForm from './SearchForm/SearchForm';\r\nimport { useSelector, useDispatch, batch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport SearchResult from './SearchResult/SearchResult';\r\n\r\nimport { Spin } from 'antd';\r\nimport {\r\n searchExportClear,\r\n searchDetailsClear,\r\n searchHistoryClear,\r\n fetchAsync,\r\n searchClear,\r\n} from 'pages/Search';\r\nimport SearchDetails from 'pages/Search/SearchDetails/SearchDetails';\r\nimport { scrollTop } from 'common';\r\nimport { createSelector } from 'reselect';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst selector = createSelector(\r\n (state: AppState) => state.search,\r\n (state: AppState) => state.searchDetails,\r\n (state: AppState) => state.searchExport,\r\n (search, searchDetails, searchExport) => ({\r\n search,\r\n searchDetails,\r\n searchExport,\r\n }),\r\n);\r\n\r\nconst Search: React.FC = () => {\r\n const { search, searchDetails, searchExport } = useSelector(selector);\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n const dispatch = useDispatch();\r\n\r\n const clearAll = () => {\r\n batch(() => {\r\n dispatch(searchHistoryClear());\r\n dispatch(searchDetailsClear());\r\n dispatch(searchExportClear());\r\n dispatch(searchClear());\r\n });\r\n };\r\n\r\n const spinnerTitle = useMemo((): string => {\r\n if (search.loading) return 'Searching data...';\r\n if (searchDetails.loading) return 'Searching details...';\r\n if (searchExport.loading) return 'Exporting data...';\r\n return '';\r\n }, [search.loading, searchDetails.loading, searchExport.loading]);\r\n\r\n const handleSearch = (values: any) => {\r\n clearAll();\r\n\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response: any) => {\r\n if (response?.accessToken)\r\n dispatch(fetchAsync(values, response.accessToken));\r\n });\r\n }\r\n\r\n scrollTop();\r\n };\r\n\r\n const getSearchId = () => {\r\n if (search.propertyData) return search.propertyData.searchId;\r\n if (search.nameData) return search.nameData.searchId;\r\n if (search.otherData) return search.otherData.searchId;\r\n if (search.multiData) return search.multiData.searchId;\r\n\r\n return 0;\r\n };\r\n\r\n return (\r\n \r\n \r\n\r\n {searchDetails.details && }\r\n\r\n {(search.propertyData ||\r\n search.nameData ||\r\n search.otherData ||\r\n search.multiData) && }\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Search);\r\n","import React from 'react';\r\nimport { Tooltip, Button, Icon } from 'antd';\r\nimport { useDispatch } from 'react-redux';\r\nimport { searchToggleSelectAll } from '..';\r\nimport { getDataTypeName } from 'common';\r\nimport { ResultTypeName } from '../Search.types';\r\n\r\nconst ButtonGroup = Button.Group;\r\n\r\nconst SearchSelectAll: React.FC<{\r\n resultItemIndex: number;\r\n documentType: string;\r\n tabName: string;\r\n selected: number;\r\n count: number;\r\n resultType: ResultTypeName;\r\n}> = ({\r\n resultItemIndex,\r\n documentType,\r\n tabName,\r\n selected,\r\n count,\r\n resultType,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n \r\n \r\n \r\n dispatch(\r\n searchToggleSelectAll(\r\n getDataTypeName(tabName),\r\n documentType,\r\n true,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n )\r\n }\r\n disabled={count === 0 || count === selected}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n dispatch(\r\n searchToggleSelectAll(\r\n getDataTypeName(tabName),\r\n documentType,\r\n false,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n )\r\n }\r\n disabled={count === 0 || selected === 0}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SearchSelectAll;\r\n","import { Nullable } from 'common/types';\r\n\r\nexport const SET_MAINTENANCE_MESSAGE = 'SET_MAINTENANCE_MESSAGE';\r\n\r\nexport interface MaintenanceMessageState {\r\n message: Nullable;\r\n lastUpdated: Nullable;\r\n}\r\n\r\nexport interface SetMaintenanceMessageType {\r\n type: typeof SET_MAINTENANCE_MESSAGE;\r\n message: string;\r\n}\r\n\r\nexport type MaintenanceMessageTypes = SetMaintenanceMessageType;\r\n","import { fetchGet, fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const fetchStatesService = (usStateCode: string, bearerToken: string) =>\r\n fetchGet(`${apiUri}/taxMaps/dictionaries/states/${usStateCode}`, bearerToken);\r\n\r\nexport const fetchDriversService = (hobCode: string, bearerToken: string) =>\r\n fetchGet(`${apiUri}/taxMaps/drivers/${hobCode}`, bearerToken);\r\n\r\nexport const searchTaxMapsService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/taxMaps`, body, bearerToken);\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { TaxTraxResult } from '../../models';\r\nimport { Divider, Card, Typography, Table, Button } from 'antd';\r\nimport { PropertyAddress, PropertyOwner } from 'pages/common/models';\r\nimport { fetchTaxBillsAsync } from 'pages/TaxTrax';\r\nimport { CommonTable } from 'common';\r\nimport { Property } from 'common/models';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Title, Text } = Typography;\r\nconst { Column } = Table;\r\n\r\nconst TaxTraxPropertiesTable: React.FC<{\r\n data: TaxTraxResult;\r\n}> = (props: { data: TaxTraxResult }) => {\r\n const dispatch = useDispatch();\r\n const { data } = props;\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const fetchTaxBills = (record: Property) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(fetchTaxBillsAsync(record, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n Reports\r\n \r\n \r\n record.map((address: PropertyAddress, index: number) => {\r\n return (\r\n \r\n \r\n {`${address.houseNumber} ${address.street}${\r\n address.streetUnit || address.city ? ',' : ''\r\n } ${address.streetUnit} ${address.city}`}\r\n \r\n
\r\n
\r\n );\r\n })\r\n }\r\n />\r\n \r\n record.map((owner: PropertyOwner, index: number) => {\r\n return (\r\n \r\n {owner.name}\r\n
\r\n
\r\n );\r\n })\r\n }\r\n />\r\n {\r\n return (\r\n <>\r\n County: \r\n {county} \r\n {district && (\r\n <>\r\n District: \r\n {district} \r\n \r\n )}\r\n {section && (\r\n <>\r\n Section: \r\n {section} \r\n \r\n )}\r\n {sheet && (\r\n <>\r\n Sheet: \r\n {sheet} \r\n \r\n )}\r\n Block: \r\n {block} \r\n {lot && (\r\n <>\r\n Lot: \r\n {lot} \r\n \r\n )}\r\n {ca && (\r\n <>\r\n CA: \r\n {ca} \r\n \r\n )}\r\n {unit && (\r\n <>\r\n Unit: \r\n {unit} \r\n \r\n )}\r\n {lotSuf && (\r\n <>\r\n Lot Sufix: \r\n {lotSuf} \r\n \r\n )}\r\n {leadLot && (\r\n <>\r\n Lead Lot: \r\n {leadLot} \r\n \r\n )}\r\n {addLot && (\r\n <>\r\n Add Lot: \r\n {addLot} \r\n \r\n )}\r\n {item && (\r\n <>\r\n Item: \r\n {item} \r\n \r\n )}\r\n \r\n );\r\n }}\r\n />\r\n (\r\n fetchTaxBills(record)}\r\n title=\"Property Details\"\r\n >\r\n Property Details\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TaxTraxPropertiesTable;\r\n","import React from 'react';\r\nimport { Typography, Row } from 'antd';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { formatLongDate } from 'common';\r\n\r\nconst { Text } = Typography;\r\n\r\nconst TaxTraxDisclaimer: React.FC = () => {\r\n return (\r\n <>\r\n \r\n \r\n Note: Incorporated Village Taxes and/or Special Assessments, if any,\r\n are not included unless otherwise shown herein and may not be included\r\n in their entirety.\r\n \r\n
\r\n
\r\n \r\n This report is intended for informational purposes only and DataTrace\r\n disclaims any and all liability to any person or entity for the\r\n information reported herein.\r\n \r\n \r\n BALANCE DUE amounts may be subject to additional interest/penalties\r\n and/or fees.\r\n \r\n
\r\n \r\n Generated: {formatLongDate(new Date())}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TaxTraxDisclaimer;\r\n","import {\r\n TaxTraxTaxBillRecordState,\r\n TaxTraxTaxDetailsActionTypes,\r\n TAXTRAX_TAX_BILL_RECORD_ADD,\r\n TAXTRAX_TAX_BILL_RECORD_CLEAR,\r\n TAXTRAX_TAX_BILL_RECORD_LOADING,\r\n} from './TaxTraxTaxBillRecord.types';\r\n\r\nconst defaultState: TaxTraxTaxBillRecordState = {\r\n taxBillRecord: null,\r\n taxBill: null,\r\n loading: false,\r\n};\r\n\r\nexport function taxTraxTaxBillRecordReducer(\r\n state = defaultState,\r\n action: TaxTraxTaxDetailsActionTypes,\r\n): TaxTraxTaxBillRecordState {\r\n switch (action.type) {\r\n case TAXTRAX_TAX_BILL_RECORD_CLEAR: {\r\n return {\r\n ...defaultState,\r\n };\r\n }\r\n case TAXTRAX_TAX_BILL_RECORD_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case TAXTRAX_TAX_BILL_RECORD_ADD: {\r\n return {\r\n ...state,\r\n taxBillRecord: action.payload.taxBillRecord,\r\n taxBill: action.payload.taxBill,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Dispatch } from 'redux';\r\nimport { searchPolicyInfoService } from './PropertySearchDetails.services';\r\nimport {\r\n httpError,\r\n json,\r\n showWarnNotification,\r\n fetchPost,\r\n blob,\r\n showSuccessNotification,\r\n} from 'common';\r\nimport {\r\n SetResultLoadingType,\r\n ResetResultsType,\r\n RESET_RESULTS,\r\n PROPERTY_SEARCH_DETAILS_ADD,\r\n PROPERTY_SEARCH_DETAILS_CLEAR,\r\n PROPERTY_SEARCH_DETAILS_LOADING,\r\n POLICY_INFO_SET_LOADING,\r\n} from './PropertySearchDetails.types';\r\nimport { PropertyDetails, FullPropertyDetails } from '../models';\r\nimport { Property } from 'common/models';\r\nimport { printFile, saveFile } from 'common/helpers';\r\n\r\nexport function propertySearchDetailsAdd(item: any) {\r\n return {\r\n type: PROPERTY_SEARCH_DETAILS_ADD,\r\n payload: item,\r\n };\r\n}\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: POLICY_INFO_SET_LOADING,\r\n loading,\r\n});\r\n\r\nexport function propertySearchDetailsClear() {\r\n return {\r\n type: PROPERTY_SEARCH_DETAILS_CLEAR,\r\n };\r\n}\r\n\r\nexport function propertySearchDetailsLoading(loading: boolean) {\r\n return {\r\n type: PROPERTY_SEARCH_DETAILS_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function fetchPropertySearchDetailsAsync(\r\n searchId: number,\r\n parent: Property,\r\n bearerToken: string,\r\n) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n return (dispatch: Dispatch) => {\r\n dispatch(propertySearchDetailsLoading(true));\r\n fetchPost(`${apiUri}/properties/details/${searchId}`, parent, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n return response;\r\n })\r\n .then((item: PropertyDetails) => {\r\n dispatch(propertySearchDetailsLoading(false));\r\n return dispatch(propertySearchDetailsAdd({ parent, details: item }));\r\n })\r\n .catch((error) => {\r\n dispatch(propertySearchDetailsLoading(false));\r\n showWarnNotification(`Fetch details`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function fetchHtmlPrintDetailsAsync(\r\n bearerToken: string,\r\n body: FullPropertyDetails,\r\n searchId: number,\r\n format: string,\r\n) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n return (dispatch: Dispatch) => {\r\n dispatch(propertySearchDetailsLoading(true));\r\n fetchPost(\r\n `${apiUri}/properties/details/${searchId}/export/${format}`,\r\n body,\r\n bearerToken,\r\n )\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(propertySearchDetailsLoading(false));\r\n printFile(blob);\r\n })\r\n .catch((error) => {\r\n dispatch(propertySearchDetailsLoading(false));\r\n showWarnNotification(`Fetch details file`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function exportPropertyDetailsAsync(\r\n body: any,\r\n searchId: any,\r\n format: string,\r\n action: 'print' | 'save',\r\n token: string,\r\n) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n return (dispatch: Dispatch) => {\r\n dispatch(propertySearchDetailsLoading(true));\r\n fetchPost(\r\n `${apiUri}/properties/details/${searchId}/export/${format}`,\r\n body,\r\n token,\r\n )\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(propertySearchDetailsLoading(false));\r\n if (action === 'print') {\r\n printFile(blob);\r\n }\r\n if (action === 'save') {\r\n saveFile(blob, `Report.${format}`);\r\n showSuccessNotification(`Fetch file`, `File was exported`);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(propertySearchDetailsLoading(false));\r\n showWarnNotification(`Fetch details file`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport const resetResults1 = (): ResetResultsType => ({\r\n type: RESET_RESULTS,\r\n});\r\n\r\nexport const searchXosDocument =\r\n (company: string, docDesc: string, county: string, token: string) =>\r\n (dispatch: Dispatch) => {\r\n const body = { company, docDesc, county };\r\n dispatch(setResultLoading(true));\r\n //dispatch(resetResults1());\r\n searchPolicyInfoService(body, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n showSuccessNotification(\r\n 'Policy Information Online',\r\n 'Your documents will be ready soon. Please check \"Recent Reports\".',\r\n );\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error: any) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('Policy Information Online', error.message);\r\n });\r\n };\r\n","import { fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const searchPolicyInfoService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/xosdocuments/search`, body, bearerToken);\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"Individuals_input__1QuJS\",\"checkboxWarn\":\"Individuals_checkboxWarn__3KxGx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"top\":\"Login_top__3uRH-\",\"errorMessage\":\"Login_errorMessage__18nGR\",\"loginButton\":\"Login_loginButton__3ZonT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tab\":\"SearchForm_tab__2hsX5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"Faq_bold__3Ejtz\",\"img\":\"Faq_img__3O_tM\"};","export const PROPERTY_SEARCH_FORM = 'propertySearch';\r\nexport const TAB_INDEX = '1000';\r\nexport const EMPTY_VALUE = '';\r\n\r\nexport enum SearchTypeFormNames {\r\n SEARCH_BY = 'searchBy',\r\n ADDRES_SEARCH = 'addressSearch',\r\n OWNER_SEARCH = 'ownerSearch',\r\n DRIVERS_SEARCH = 'driversSearch',\r\n HOB_CODES = 'hobCodes',\r\n}\r\n\r\nexport enum LocationFormNames {\r\n COUNTY = 'hobCodes.countyHob',\r\n CITY = 'hobCodes.cityHob',\r\n VILLAGE = 'hobCodes.villageHob',\r\n}\r\n\r\nexport enum AddressSearchFormNames {\r\n HOUSE = 'addressSearch.streetNumber',\r\n STREET = 'addressSearch.streetName',\r\n}\r\n\r\nexport enum OwnerSearchFormNames {\r\n FIRST = 'ownerSearch.firstName',\r\n MIDDLE = 'ownerSearch.lastName',\r\n LAST_CORP = 'ownerSearch.corporationName',\r\n}\r\n\r\nexport enum PropertyFormLabels {\r\n COUNTY = 'County',\r\n CITY = 'City/Town',\r\n VILLAGE = 'Village',\r\n ADDRES_SEARCH = 'Address Search',\r\n OWNER_SEARCH = 'Owner Search',\r\n DRIVERS_SEARCH = 'Block Lot Search',\r\n ADDRESS_SEARCH = 'Address Search',\r\n HOUSE = 'House',\r\n STREET = 'Street',\r\n LAST_CORP = 'Last/Corp',\r\n FIRST = 'First name',\r\n MIDDLE = 'Middle',\r\n}\r\n\r\nexport enum PropertyFormPlaceholders {\r\n COUNTY = 'Choose County',\r\n CITY = 'All Towns',\r\n VILLAGE = 'All Villages',\r\n}\r\n\r\nexport enum USStateCodes {\r\n NY = 'NY',\r\n NJ = 'NJ',\r\n}\r\n\r\nexport const PROPERTY_SEARCH_FORM_INITIAL_VALUES = {\r\n [SearchTypeFormNames.SEARCH_BY]: SearchTypeFormNames.ADDRES_SEARCH,\r\n [SearchTypeFormNames.HOB_CODES]: {\r\n countyHob: EMPTY_VALUE,\r\n cityHob: EMPTY_VALUE,\r\n villageHob: EMPTY_VALUE,\r\n },\r\n [SearchTypeFormNames.ADDRES_SEARCH]: {\r\n streetNumber: EMPTY_VALUE,\r\n streetName: EMPTY_VALUE,\r\n },\r\n [SearchTypeFormNames.OWNER_SEARCH]: {\r\n firstName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n corporationName: EMPTY_VALUE,\r\n },\r\n [SearchTypeFormNames.DRIVERS_SEARCH]: {},\r\n};\r\n","export const LOADING = 'Loading...';\r\n\r\nexport const EMPTY_STRING = '';\r\n\r\nexport const FETCH_HEADER = 'Fetch history';\r\n\r\nexport enum Sizes {\r\n SMALL = 'small',\r\n MEDIUM = 'medium',\r\n LARGE = 'large',\r\n}\r\n\r\nexport enum IconTypeNames {\r\n PDF = 'file-pdf',\r\n WORD = 'file-word',\r\n HTML = 'html5',\r\n DOWN = 'down',\r\n FILE = 'file',\r\n LINK = 'link',\r\n USER = 'user',\r\n LOCK = 'lock',\r\n CHECK = 'check',\r\n PRINTER = 'printer',\r\n DOWNLOAD = 'download',\r\n TIFF = 'file-image',\r\n}\r\n\r\nexport enum FileFormatNames {\r\n PDF = 'pdf',\r\n DOC = 'doc',\r\n HTML = 'html',\r\n TIFF = 'tiff',\r\n}\r\n\r\nexport enum ExportFormatNames {\r\n TEXT = 'txt',\r\n HTML = 'html',\r\n DOC = 'doc',\r\n PDF = 'pdf',\r\n}\r\n\r\nexport enum TableSizeNames {\r\n SMALL = 'small',\r\n DEFAULT = 'default',\r\n MEDIUM = 'medium',\r\n}\r\n\r\nexport enum ButtonShapes {\r\n CIRCLE = 'circle',\r\n ROUND = 'round',\r\n CIRCLE_OUTLINE = 'circle-outline',\r\n}\r\n\r\nexport enum ButtonTypes {\r\n DEFAULT = 'default',\r\n LINK = 'link',\r\n GHOST = 'ghost',\r\n PRIMARY = 'primary',\r\n DASHED = 'dashed',\r\n DANGER = 'danger',\r\n}\r\n\r\nexport enum InputTypes {\r\n RADIO_GROUP = 'radioGroup',\r\n CHECK_BOX = 'checkbox',\r\n RADIO = 'radio',\r\n SELECT = 'select',\r\n AUTOCOMPLETE = 'autoComplete',\r\n INPUT_NUMBER = 'inputNumber',\r\n PASSWORD = 'password',\r\n DATE_PICKER = 'datePicker',\r\n}\r\n\r\nexport const notSupportedMessage = 'Function not available in this browser';\r\n","import { Dispatch } from 'redux';\r\nimport {\r\n httpError,\r\n fetchPost,\r\n blob,\r\n showWarnNotification,\r\n showSuccessNotification,\r\n getDataTypeName,\r\n} from 'common';\r\nimport { SEARCH_EXPORT_CLEAR, SEARCH_EXPORT_LOADING } from 'pages/Search';\r\nimport { printFile, saveFile } from 'common/helpers';\r\nimport { AppState } from 'store';\r\nimport { formValueSelector } from 'redux-form';\r\nimport { NYC_DB_FORM_NAME } from '../SearchForm/consts';\r\n\r\nexport function searchExportClear() {\r\n return {\r\n type: SEARCH_EXPORT_CLEAR,\r\n };\r\n}\r\n\r\nexport function searchExportLoading(loading: boolean) {\r\n return {\r\n type: SEARCH_EXPORT_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function fetchFileAsync(format: string, bearerToken: string) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n return (dispatch: Dispatch, getState: () => AppState) => {\r\n const state = getState();\r\n\r\n const tabName = formValueSelector(NYC_DB_FORM_NAME)(state, 'tab');\r\n const fetchContent = state.search[getDataTypeName(tabName)];\r\n\r\n dispatch(searchExportLoading(true));\r\n fetchPost(\r\n `${apiUri}/nycDatabase/searchBy${tabName}/export/${format}`,\r\n fetchContent,\r\n bearerToken,\r\n )\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(searchExportLoading(false));\r\n saveFile(blob, `Report.${format}`);\r\n showSuccessNotification(`Fetch file`, `File was exported`);\r\n })\r\n .catch((error) => {\r\n dispatch(searchExportLoading(false));\r\n showWarnNotification(`Fetch file`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function fetchHtmlPrintAsync(bearerToken: string) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n return (dispatch: Dispatch, getState: () => AppState) => {\r\n const state = getState();\r\n const tabName = formValueSelector(NYC_DB_FORM_NAME)(state, 'tab');\r\n const fetchContent = state.search[getDataTypeName(tabName)];\r\n\r\n dispatch(searchExportLoading(true));\r\n fetchPost(\r\n `${apiUri}/nycDatabase/searchBy${tabName}/export/html`,\r\n fetchContent,\r\n bearerToken,\r\n )\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(searchExportLoading(false));\r\n printFile(blob);\r\n })\r\n .catch((error) => {\r\n dispatch(searchExportLoading(false));\r\n showWarnNotification(`Fetch file`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function exportDetailsAsync(\r\n body: any,\r\n searchId: any,\r\n type: string,\r\n format: string,\r\n action: 'print' | 'save',\r\n token: string,\r\n) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n return (dispatch: Dispatch) => {\r\n dispatch(searchExportLoading(true));\r\n fetchPost(\r\n `${apiUri}/nycDatabase/export/${searchId}/details/${type}/${format}`,\r\n body,\r\n token,\r\n )\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(searchExportLoading(false));\r\n if (action === 'print') {\r\n printFile(blob);\r\n }\r\n if (action === 'save') {\r\n saveFile(blob, `Report.${format}`);\r\n showSuccessNotification(`Fetch file`, `File was exported`);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(searchExportLoading(false));\r\n showWarnNotification(`Fetch details file`, error.message);\r\n });\r\n };\r\n}\r\n","import { Dispatch } from 'redux';\r\nimport { httpError, json, fetchGet } from 'common';\r\nimport {\r\n SEARCH_HISTORY_ADD,\r\n SEARCH_HISTORY_CLEAR,\r\n SEARCH_HISTORY_LOADING,\r\n} from './SearchHistory.types';\r\nimport { UserSearchHistory } from '.';\r\n\r\nexport function searchHistoryAdd(items: UserSearchHistory[]) {\r\n return {\r\n type: SEARCH_HISTORY_ADD,\r\n payload: items,\r\n };\r\n}\r\n\r\nexport function searchHistoryClear() {\r\n return {\r\n type: SEARCH_HISTORY_CLEAR,\r\n };\r\n}\r\n\r\nexport function searchHistoryLoading(loading: boolean) {\r\n return {\r\n type: SEARCH_HISTORY_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function fetchHistoryAsync(searchName: string, bearerToken: string) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n return (dispatch: Dispatch) => {\r\n dispatch(searchHistoryLoading(true));\r\n fetchGet(`${apiUri}/searchHistory/userSearches/${searchName}`, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((json: UserSearchHistory[]) => {\r\n dispatch(searchHistoryLoading(false));\r\n dispatch(searchHistoryAdd(json));\r\n })\r\n .catch((error) => {\r\n dispatch(searchHistoryLoading(false));\r\n });\r\n };\r\n}\r\n","export const PRINT_OPTIONS_FORM_NAME = 'printOptions';\r\n\r\nexport const initialExportForm = {\r\n recordedDocumentsOptions: {\r\n showReferences: true,\r\n exportEmptyData: false,\r\n },\r\n liensOptions: {\r\n exportType: 'summary',\r\n exportEmptyData: false,\r\n },\r\n parkingViolationJudgmentsOptions: {\r\n loadDate: null, //PVB\r\n exportEmptyData: false,\r\n },\r\n environmentalControlBoardJudgmentsOptions: {\r\n loadDate: null, //ECB\r\n exportEmptyData: false,\r\n },\r\n transitAdjudicationBureauJudgmentsOptions: {\r\n loadDate: null, //TAB\r\n exportEmptyData: false,\r\n },\r\n federalTaxLiensOptions: {\r\n exportEmptyData: false,\r\n showReferences: false,\r\n },\r\n assessmentsOptions: {\r\n exportEmptyData: false,\r\n },\r\n uniformCommercialCodesOptions: {\r\n exportEmptyData: false,\r\n showReferences: false,\r\n },\r\n emergencyRepairsOptions: {\r\n exportEmptyData: false,\r\n },\r\n};\r\n","export const disclaimer1 =\r\n 'The data contained herein has been provided by sources ' +\r\n 'believed to be reliable, but such information has not been ' +\r\n 'independently verified by any party. Neither DataTrace ' +\r\n 'Information Services, LLC. nor any other party makes any ' +\r\n 'representation or warranty that the information contained ' +\r\n 'herein is current, accurate or complete, and assume no ' +\r\n 'liability therefore. Subscribers or others with access to ' +\r\n 'this information should validate the information that has ' +\r\n 'been provided via their own sources such as public records ' +\r\n 'or other information.';\r\n\r\nexport const disclaimer2 =\r\n 'A Private Corporation owns this computer system and ' +\r\n 'restricts access and use to authorized persons only. Use of ' +\r\n 'and/or access to this system and/or any information obtained ' +\r\n 'via this system is subject to the Corporation’s policies and ' +\r\n 'procedures governing such use and access (including, but not ' +\r\n 'limited to, confidentiality, privacy, data and system ' +\r\n 'security, and information protection). Unauthorized or ' +\r\n 'improper use of or access to this system, or any portion of ' +\r\n 'it, either directly or indirectly, or any attempt to deny ' +\r\n 'service to authorized users or to alter, damage, or destroy ' +\r\n 'information, or otherwise to interfere with the system or ' +\r\n 'its operation, is strictly prohibited. Any party using or ' +\r\n 'accessing, or attempting to use or access, this system ' +\r\n 'without express authority from the Corporation may be ' +\r\n 'subject to severe disciplinary action and/or civil and ' +\r\n 'criminal penalties in accordance with applicable state and ' +\r\n 'federal law (including, but not limited to, the Computer ' +\r\n 'Fraud and Abuse Act of 1986 and the Electronic ' +\r\n 'Communications Privacy Act). The Corporation may monitor and ' +\r\n 'record use and access for quality assurance, security, ' +\r\n 'privacy compliance, performance, and maintenance purposes, ' +\r\n 'except as prohibited by law. Any person who uses or accesses ' +\r\n 'this system expressly consents to such monitoring and ' +\r\n 'recording. The Corporation or its representatives may ' +\r\n 'furnish information obtained by its monitoring and recording ' +\r\n 'activity to law enforcement officials if such monitoring and ' +\r\n 'recording reveals possible evidence of unlawful activity.';\r\n","import { fetchGet, fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const fetchStatesService = (bearerToken: string) =>\r\n fetchGet(`${apiUri}/xosimage/states`, bearerToken);\r\n\r\nexport const searchBankruptcyService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/bankruptcy/search`, body, bearerToken);\r\n","import { fetchGet, fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const fetchStatesService = (bearerToken: string) =>\r\n fetchGet(`${apiUri}/bankruptcy/states`, bearerToken);\r\n\r\nexport const searchBankruptcyService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/bankruptcy/search`, body, bearerToken);\r\n","import { fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const getTaxBillRecord = (body: any, bearerToken: string) => {\r\n return fetchPost(`${apiUri}/taxtrax/taxbillrecord`, body, bearerToken);\r\n};\r\n\r\nexport const exportTaxBillRecord = (\r\n body: any,\r\n bearerToken: string,\r\n format: string,\r\n) =>\r\n fetchPost(\r\n `${apiUri}/taxtrax/taxbillrecord/export/${format}`,\r\n body,\r\n bearerToken,\r\n );\r\n\r\nexport const downloadTaxBill = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/taxtrax/taxbillrecord/download`, body, bearerToken);\r\n","import { Dispatch } from 'redux';\r\nimport {\r\n downloadTaxBill,\r\n exportTaxBillRecord,\r\n getTaxBillRecord,\r\n} from './TaxTraxTaxBillRecord.services';\r\nimport {\r\n httpError,\r\n json,\r\n showWarnNotification,\r\n blob,\r\n showSuccessNotification,\r\n ExportFormatNames,\r\n} from 'common';\r\nimport {\r\n TAXTRAX_TAX_BILL_RECORD_ADD,\r\n TAXTRAX_TAX_BILL_RECORD_CLEAR,\r\n TAXTRAX_TAX_BILL_RECORD_LOADING,\r\n} from './TaxTraxTaxBillRecord.types';\r\nimport { TaxBill, TaxBillRecord } from '../models';\r\nimport { printFile, saveFile } from 'common/helpers';\r\nimport {\r\n Property,\r\n PropertyIdentifier,\r\n PropertyInformation,\r\n} from 'common/models';\r\n\r\nexport function taxTraxTaxBillRecordAdd(\r\n taxBill: TaxBill,\r\n taxBillRecord: TaxBillRecord,\r\n) {\r\n return {\r\n type: TAXTRAX_TAX_BILL_RECORD_ADD,\r\n payload: { taxBill, taxBillRecord },\r\n };\r\n}\r\n\r\nexport function taxTraxTaxBillRecordClear() {\r\n return {\r\n type: TAXTRAX_TAX_BILL_RECORD_CLEAR,\r\n };\r\n}\r\n\r\nexport function taxTraxTaxBillRecordLoading(loading: boolean) {\r\n return {\r\n type: TAXTRAX_TAX_BILL_RECORD_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function fetchTaxTraxTaxBillRecordAsync(\r\n taxBill: TaxBill,\r\n property: Property,\r\n bearerToken: string,\r\n) {\r\n return (dispatch: Dispatch) => {\r\n const requestBody = {\r\n apn: property.apn,\r\n taxType: taxBill.taxType,\r\n year: taxBill.year,\r\n periodId: taxBill.periodId,\r\n hob: property.hob,\r\n };\r\n dispatch(taxTraxTaxBillRecordLoading(true));\r\n getTaxBillRecord(requestBody, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n return response;\r\n })\r\n .then((taxBillRecord: TaxBillRecord) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n return dispatch(taxTraxTaxBillRecordAdd(taxBill, taxBillRecord));\r\n })\r\n .catch((error) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n showWarnNotification(`Fetch tax bill record`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function exportTaxBillRecordAsync(\r\n taxBillRecord: TaxBillRecord,\r\n taxBill: TaxBill,\r\n property: Property,\r\n propertyInformation: PropertyInformation,\r\n propertyIdentifier: PropertyIdentifier,\r\n format: string,\r\n action: 'print' | 'save',\r\n token: string,\r\n) {\r\n return (dispatch: Dispatch) => {\r\n const requestBody = {\r\n taxBillRecord: taxBillRecord,\r\n taxBill: taxBill,\r\n property: property,\r\n propertyInformation: propertyInformation,\r\n propertyIdentifier: propertyIdentifier,\r\n searchId: taxBillRecord.searchId,\r\n };\r\n dispatch(taxTraxTaxBillRecordLoading(true));\r\n exportTaxBillRecord(requestBody, token, format)\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n if (action === 'print') {\r\n printFile(blob);\r\n }\r\n if (action === 'save') {\r\n saveFile(blob, `Report.${format}`);\r\n showSuccessNotification(`Fetch file`, `File was exported`);\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n showWarnNotification(`Fetch tax bill record file`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function downloadTaxBillHtmlAsync(\r\n taxBill: TaxBill,\r\n hob: string,\r\n token: string,\r\n) {\r\n return (dispatch: Dispatch) => {\r\n const requestBody = {\r\n apn: taxBill.apn,\r\n taxType: taxBill.taxType,\r\n year: taxBill.year,\r\n periodId: taxBill.periodId,\r\n fileFormat: ExportFormatNames.HTML,\r\n fileName: getTaxBillFileName(taxBill, ExportFormatNames.HTML),\r\n hob: hob,\r\n };\r\n dispatch(taxTraxTaxBillRecordLoading(true));\r\n downloadTaxBill(requestBody, token)\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n saveFile(blob, requestBody.fileName);\r\n showSuccessNotification(\r\n `Fetch bill preview file`,\r\n `File was downloaded`,\r\n );\r\n })\r\n .catch((error) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n showWarnNotification(`Fetch tax bill preview file`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function downloadTaxBillPdfAsync(\r\n taxBill: TaxBill,\r\n hob: string,\r\n token: string,\r\n) {\r\n return (dispatch: Dispatch) => {\r\n const requestBody = {\r\n apn: taxBill.apn,\r\n taxType: taxBill.taxType,\r\n year: taxBill.year,\r\n periodId: taxBill.periodId,\r\n fileFormat: ExportFormatNames.PDF,\r\n fileName: getTaxBillFileName(taxBill, ExportFormatNames.PDF),\r\n hob: hob,\r\n };\r\n dispatch(taxTraxTaxBillRecordLoading(true));\r\n downloadTaxBill(requestBody, token)\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n saveFile(blob, requestBody.fileName);\r\n showSuccessNotification(`Fetch bill file`, `File was downloaded`);\r\n })\r\n .catch((error) => {\r\n dispatch(taxTraxTaxBillRecordLoading(false));\r\n showWarnNotification(`Fetch tax bill file`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function getTaxBillFileName(\r\n taxBill: TaxBill,\r\n fileFormat: ExportFormatNames,\r\n) {\r\n const nameSuffix = fileFormat === ExportFormatNames.HTML ? '_Preview' : '';\r\n return `${taxBill.apn}_${taxBill.year}_${taxBill.taxTypeName}${nameSuffix}.${fileFormat}`;\r\n}\r\n","import {\r\n DEP_ONLINE_SET_LOADING,\r\n DepOnlineState,\r\n DepOnlineTypes,\r\n} from './DepOnline.types';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n};\r\n\r\nexport function depOnlineReducer(\r\n state = defaultState,\r\n action: DepOnlineTypes,\r\n): DepOnlineState {\r\n switch (action.type) {\r\n case DEP_ONLINE_SET_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","export const DEP_ONLINE_SET_LOADING = 'DEP_ONLINE_SET_LOADING';\r\nexport const RESET_DRIVERS_DATA = 'RESET_DRIVERS_DATA';\r\nexport const RESET_RESULTS = 'RESET_RESULTS';\r\nexport const DEP_ONLINE_RESULT_SUCCESS = 'DEP_ONLINE_RESULT_SUCCESS';\r\n\r\nexport interface DepOnlineState {\r\n loading: boolean;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof DEP_ONLINE_SET_LOADING;\r\n loading: boolean;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_RESULTS;\r\n}\r\n\r\nexport type DepOnlineTypes = SetResultLoadingType | ResetResultsType;\r\n","import { Dispatch } from 'redux';\r\nimport { searchDepOnlineService } from './DepOnline.services';\r\nimport {\r\n SetResultLoadingType,\r\n DEP_ONLINE_SET_LOADING,\r\n RESET_RESULTS,\r\n ResetResultsType,\r\n} from './DepOnline.types';\r\nimport {\r\n httpError,\r\n json,\r\n showWarnNotification,\r\n showSuccessNotification,\r\n} from 'common';\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: DEP_ONLINE_SET_LOADING,\r\n loading,\r\n});\r\n\r\nexport const resetResults = (): ResetResultsType => ({\r\n type: RESET_RESULTS,\r\n});\r\n\r\nexport const searchDepOnline =\r\n (formValues: any, exportFormat: string, token: string) =>\r\n (dispatch: Dispatch) => {\r\n const body = { ...formValues, exportFormat };\r\n dispatch(setResultLoading(true));\r\n dispatch(resetResults());\r\n searchDepOnlineService(body, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n showSuccessNotification(\r\n 'NYC DEP Online',\r\n 'Your documents will be ready soon. Please check \"Recent Reports\".',\r\n );\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error: any) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification('NYC DEP Online', error.message);\r\n });\r\n };\r\n","import { fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const searchDepOnlineService = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/nycDepOnline/search`, body, bearerToken);\r\n","import {\r\n PREACRIS_SET_LOADING,\r\n PreacrisState,\r\n PreacrisTypes,\r\n GET_PREACRIS_STATES_SUCCESS,\r\n RESET_DRIVERS_DATA,\r\n GET_PREACRIS_DRIVERS_SUCCESS,\r\n RESET_XDETAILS_DATA,\r\n GET_PREACRIS_XDETAILS_SUCCESS,\r\n} from './Preacris.types';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n usStates: null,\r\n driversData: null,\r\n xdetailsData: null,\r\n};\r\n\r\nexport function preacrisReducer(\r\n state = defaultState,\r\n action: PreacrisTypes,\r\n): PreacrisState {\r\n console.log(action.type);\r\n switch (action.type) {\r\n case GET_PREACRIS_STATES_SUCCESS: {\r\n return {\r\n ...state,\r\n usStates: action.usStates,\r\n loading: false,\r\n };\r\n }\r\n case PREACRIS_SET_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n case GET_PREACRIS_DRIVERS_SUCCESS: {\r\n return {\r\n ...state,\r\n driversData: action.driversData,\r\n };\r\n }\r\n case RESET_DRIVERS_DATA: {\r\n return {\r\n ...state,\r\n driversData: null,\r\n };\r\n }\r\n case GET_PREACRIS_XDETAILS_SUCCESS: {\r\n return {\r\n ...state,\r\n xdetailsData: action.xdetailsData,\r\n };\r\n }\r\n case RESET_XDETAILS_DATA: {\r\n return {\r\n ...state,\r\n xdetailsData: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"DepOnline_select__2BrCp\",\"row\":\"DepOnline_row__2yBaE\",\"button\":\"DepOnline_button___XxIL\",\"input\":\"DepOnline_input__3kOzf\"};","import { Dispatch } from 'redux';\r\nimport { IPublicClientApplication } from '@azure/msal-browser';\r\nimport { logoutAdUser } from '.';\r\n\r\nexport const fetchPost = (uri: string, bodyObject: any, bearerToken?: string) =>\r\n fetchRequest('POST', uri, bodyObject, bearerToken);\r\n\r\nexport const fetchGet = (uri: string, bearerToken?: string) =>\r\n fetchEmptyRequest('GET', uri, bearerToken);\r\n\r\nexport const fetchRequest = (\r\n method: string,\r\n uri: string,\r\n bodyObject: any,\r\n bearerToken?: string,\r\n) => {\r\n return fetch(`${uri}`, {\r\n method: method,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${bearerToken}`,\r\n },\r\n body: JSON.stringify(bodyObject),\r\n });\r\n};\r\n\r\nexport const fetchEmptyRequest = (\r\n method: string,\r\n uri: string,\r\n bearerToken?: string,\r\n) =>\r\n fetch(`${uri}`, {\r\n method: method,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${bearerToken}`,\r\n },\r\n });\r\n\r\n// this method controls all error messages displayed to the user that are direct results of http requests (API calls usually)\r\nexport const httpError =\r\n (dispatch?: Dispatch, instance?: IPublicClientApplication) =>\r\n (response: any): Response => {\r\n switch (response.status) {\r\n case 500:\r\n throw Error('Internal Server Error');\r\n case 408:\r\n throw Error('Timeout Error');\r\n case 401:\r\n // authentication exceptions\r\n if (instance) logoutAdUser(instance);\r\n throw Error(\r\n 'Failed to Sign In. Please try again or contact support if the issue persists.',\r\n );\r\n case 403:\r\n // unauthorized access exceptions from API, showing the error message in the response body\r\n if (instance) logoutAdUser(instance);\r\n return response;\r\n case 404:\r\n throw Error('We couldn’t find this. Sorry!');\r\n case 204:\r\n throw Error('There was no data found...');\r\n default:\r\n return response;\r\n }\r\n };\r\n\r\nexport const json = (response: Response): Promise => response.json();\r\nexport const blob = (response: Response): Promise => response.blob();\r\n","import moment from 'moment';\r\n\r\nexport const defaultDateFormat = 'M/DD/YYYY';\r\nexport const defaultLongDateFormat = 'dddd, MMMM Do YYYY';\r\nexport const defaultTimeFormat = 'h:mm A';\r\nexport const defaultDateTimeFormat = 'M/DD/YYYY h:mm A';\r\nexport const defaultDateTimeSecondsFormat = 'M/DD/YYYY h:mm:ss A';\r\nexport const defaultMonthYearFormat = 'M/YYYY';\r\nconst empty = '';\r\n\r\nexport const formatSize = (amount: number): string => {\r\n const money = formatPrice(amount);\r\n return money.substring(0, money.indexOf('.'));\r\n};\r\n\r\nexport const formatPrice = (amount: number): string =>\r\n amount.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n\r\nexport const formatPriceString = (amount: number): string =>\r\n `$${formatPrice(amount)}`;\r\n\r\nexport const formatDate = (date: any): string =>\r\n getFormattedDate(date, defaultDateFormat);\r\n\r\nexport const formatLongDate = (date: any): string =>\r\n getFormattedDate(date, defaultLongDateFormat);\r\n\r\nexport const formatTime = (date: any): string =>\r\n getFormattedDate(date, defaultTimeFormat);\r\n\r\nexport const formatDateTime = (date: any): string =>\r\n getFormattedDate(date, defaultDateTimeFormat);\r\n\r\nexport const formatDateTimeWithSeconds = (date: any): string =>\r\n getFormattedDate(date, defaultDateTimeSecondsFormat);\r\n\r\nexport const formatMonthYear = (date: any): string =>\r\n getFormattedDate(date, defaultMonthYearFormat);\r\n\r\nconst getFormattedDate = (date: any, format: string): string =>\r\n date && typeof date !== 'undefined' && date !== null\r\n ? `${moment(date).format(format)}`\r\n : empty;\r\n","import React from 'react';\r\n\r\nexport const getFilterOption = (children: any, input: any) =>\r\n children.toLowerCase().indexOf(input.toLowerCase()) >= 0;\r\n\r\nexport const getOptions = (\r\n Option: any,\r\n options: { value: string; text: string }[],\r\n) =>\r\n options.map(({ value, text }) => (\r\n \r\n ));\r\n","export const alphabeticalSort = (arr: any[], propertyName: string) =>\r\n arr.sort((a, b) => {\r\n if (a[propertyName] < b[propertyName]) return -1;\r\n else if (a[propertyName] > b[propertyName]) return 1;\r\n return 0;\r\n });\r\n","import React, { useEffect } from 'react';\r\nimport { Typography, Card, Spin, Button, Row } from 'antd';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getRecentReports } from '.';\r\nimport { Sizes, LOADING, loadingSelector, ReducerNames } from 'common';\r\nimport { AppState } from 'store';\r\nimport { DAYS_COUNT } from './RecentReports.constants';\r\nimport { recentReportsSelector } from './RecentReports.selectors';\r\nimport RecentReportsTable from './RecentReportsTable';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nconst { Title } = Typography;\r\n\r\nconst RecentReports: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const { loading, recentReports } = useSelector((state: AppState) => ({\r\n loading: loadingSelector(ReducerNames.RECENT_REPORTS)(state),\r\n recentReports: recentReportsSelector(state),\r\n }));\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getRecentReports(DAYS_COUNT, response.accessToken));\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress]);\r\n\r\n const login = useSelector((state: AppState) => state.login);\r\n\r\n const handleOnClick = () => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getRecentReports(DAYS_COUNT, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n Recent Reports ({DAYS_COUNT} days) \r\n \r\n Refresh\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RecentReports;\r\n","import React from 'react';\r\nimport { Typography, Card, Button } from 'antd';\r\nimport styles from './License.module.scss';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { usernameSelector } from 'common';\r\nimport { setLicenseFlag } from './License.actions';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst License: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const login = useSelector((state: AppState) => state.login);\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const { username } = useSelector((state: AppState) => ({\r\n username: usernameSelector(state),\r\n }));\r\n\r\n const handleSave = (format: string) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(setLicenseFlag(username, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n if (login.user?.licenseflag == 'True') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n END USER LICENSE AGREEMENT\r\n
\r\n

\r\n This End User License Agreement (\"Agreement\") accompanies the\r\n information, data, images, reports, and/or software (the\r\n \"Services\") that you are accessing. By accessing the Services,\r\n you are agreeing to all the terms and conditions of this\r\n agreement, including the product, pricing and billing\r\n information in any account confirmation containing account\r\n information received at any time (\"Account Confirmation\"), the\r\n terms of which are incorporated into this Agreement by\r\n reference. If, however, you have an operative master services\r\n agreement (with applicable statements of work), or a\r\n standalone services agreement covering use of the Services,\r\n the terms of that services agreement, not this Agreement,\r\n shall control with regard to the Services. Data Trace\r\n Information Services LLC, a Delaware limited liability\r\n company, and (when applicable to the particular Service being\r\n provided), its affiliate companies (collectively, \"Data\r\n Trace\"), grants you (\"Customer\") a limited, non-exclusive,\r\n non-transferable license to use the Services, provided you\r\n accept the following terms and conditions:\r\n

\r\n

\r\n 1. Property. The Services and all intellectual property\r\n rights therein are owned by Data Trace. No ownership rights\r\n are granted by this Agreement and, except for the limited\r\n license provided, Data Trace reserves all rights in and to the\r\n Services and all underlying data compilations and information\r\n contained therein, including but not limited to the exclusive\r\n intellectual property rights and the right to grant further\r\n licenses. Customer acknowledges that the Services are the\r\n proprietary property of Data Trace and are a valuable\r\n commercial product, the development of which involved an\r\n expenditure of substantial time and money by Data Trace.{' '}\r\n

\r\n

\r\n 2. Permitted Use. The Services are solely for use\r\n within Customer's own organization by Customer's own employees\r\n for Customer’s own internal business purposes of verifying\r\n property ownership and lien information. Customer shall not\r\n resell, relicense or redistribute the Services in whole or in\r\n part except that Customer may resell and redistribute\r\n individual (not bulk) images and/or Online Services in the\r\n ordinary course of their business.\r\n

\r\n

\r\n 3. Restrictions on Use. Both during and after the term\r\n of this Agreement, Customer agrees as follows:{' '}\r\n

\r\n

\r\n (a) Customer shall not (i) disclose, use, disseminate,\r\n reproduce or publish any portion of the Services in any manner\r\n other than as expressly permitted in this Agreement, (ii)\r\n permit any parent, subsidiary, other affiliated entity or\r\n other third party, including any third party entity involved\r\n in a joint marketing arrangement with Customer, to use the\r\n Services or any portion thereof, (iii) resell, relicense or\r\n redistribute the Services in whole or in part (iv) use the\r\n Services to create any derivative products, (v) use the\r\n Services to create, enhance or structure any database in any\r\n form for resale or distribution, (vi) grant access to the\r\n Services, or any portion thereof, to individuals incarcerated\r\n in prisons or correctional institutions, (vii) allow access to\r\n the Services through any terminal located outside of the\r\n United States or outside of Customer’s operations without\r\n prior written consent of Data Trace, (viii) use the Services\r\n outside the United States without prior written consent of\r\n Data Trace.\r\n

\r\n

\r\n (b) Customer shall (i) comply with the published guidelines of\r\n the Direct Marketing Association, other applicable industry\r\n guidelines, and all federal, state, and local laws,\r\n regulations, ordinances and court orders from competent\r\n jurisdictions regarding the use, storage and dissemination of\r\n data such as the Services, and (ii) abide by all prevailing\r\n federal, state, and local laws, regulations, ordinances and\r\n court orders from competent jurisdictions, including but not\r\n limited to those governing non-solicitation, privacy, data\r\n protection and security. Costumer understands and acknowledges\r\n that Customer’s use of the Services is also subject to the\r\n terms and conditions of Data Trace’s Privacy Policy, which is\r\n available on Data Trace’s affiliate website located at{' '}\r\n \r\n https://www.firstam.com/privacy-policy/index.html\r\n \r\n . For the avoidance of doubt, Customer hereby consents to the\r\n collection and storage of information by Data Trace related to\r\n the Services and use by Data Trace of statistical and\r\n aggregated data concerning the use of the Services. Customer,\r\n in using the Services, understands and accepts that it has no\r\n expectation of privacy other than as may be set forth herein.\r\n

\r\n

\r\n (c) Customer understands that the information, data, images,\r\n and reports available under the Services have not been\r\n collected for credit purposes and are not intended to be\r\n indicative of any consumer’s credit worthiness, credit\r\n standing, credit capacity, or other characteristics listed in\r\n Section 1681(a) of the Fair Credit Reporting Act, 15 U.S.C. §\r\n 1681 et seq. Customer shall not use the Services (i) as a\r\n factor in establishing an individual’s eligibility for credit\r\n or insurance, (ii) in connection with underwriting individual\r\n insurance, (iii) in evaluating an individual for employment\r\n purposes, (iv) in connection with a determination of an\r\n individual’s eligibility for a license or other benefit\r\n granted by a governmental authority, (v) in any way that would\r\n cause the Services to constitute a “consumer report” under the\r\n Fair Credit Reporting Act, 15 U.S.C. § 1681 et seq., or (vi)\r\n in any other manner that would cause such use of the Services\r\n to be construed as a consumer report by any pertinent\r\n governmental authority.{' '}\r\n

\r\n

\r\n (d) Customer shall be solely responsible for maintaining the\r\n confidentiality of any usernames and passwords assigned to\r\n users of Customer’s account(s), and Customer shall be\r\n responsible for all use of the Services (including all\r\n corresponding fees) attributable to said usernames and\r\n passwords, whether or not authorized by Customer.\r\n

\r\n

\r\n (e) Customer shall not use the Services for any purpose that\r\n (i) infringes any third party's copyright, patent, trademark,\r\n trade secret or other proprietary rights or rights of\r\n publicity or privacy, or (ii) is defamatory, trade libelous,\r\n unlawfully threatening or unlawfully harassing.\r\n

\r\n

\r\n (f) Customer shall not remove, alter or obscure any\r\n proprietary notices in the Services and will reproduce all\r\n such notices on all copies or portions thereof.\r\n

\r\n

\r\n 4. Delivery of Data and Format. Customer acknowledges\r\n that the availability of data elements and images in the\r\n Services varies substantially from area-to-area, and\r\n circumstances may exist or arise which prevent Data Trace from\r\n providing such data or achieving complete representation of\r\n all data elements or images in the Services. Notwithstanding\r\n anything to the contrary, Data Trace may limit or discontinue\r\n the provision of the Services for geographic locations where:\r\n (i) Data Trace is restricted by rules, regulations, laws or\r\n governmental entities; (ii) Data Trace has discontinued the\r\n collection of data and/or images; or (iii) Data Trace is\r\n prohibited by third party providers. Data Trace may\r\n discontinue production, support, and maintenance of any\r\n Services if Data Trace develops an upgraded version or\r\n otherwise can no longer provide such Services.\r\n

\r\n

\r\n 5. Compliance Audits. Data Trace reserves the right,\r\n during normal business hours, on reasonable notice, and at\r\n Data Trace’s expense, to audit the Customer to ensure\r\n Customer's compliance with the terms and conditions of this\r\n Agreement. Data Trace shall select an auditor in its sole\r\n discretion. If such auditor determines there has been a breach\r\n in Customer's compliance with the terms of this Agreement,\r\n Data Trace may immediately terminate this Agreement and pursue\r\n its other legal remedies. Should Customer not cooperate with\r\n Data Trace’s audit request within five (5) days, Customer\r\n shall be deemed to have conclusively admitted to a material\r\n breach in Customer's compliance for which Data Trace may\r\n immediately terminate this Agreement and pursue its legal\r\n remedies.\r\n

\r\n

\r\n 6. Fees. In consideration of the rights granted to\r\n Customer hereunder, Customer shall pay to Data Trace the fees\r\n stated within the Account Confirmation. By submitting an order\r\n to Data Trace, Customer authorizes Data Trace to charge the\r\n credit card entered by Customer for the Services at the fees\r\n stated within the Account Confirmation. With respect to\r\n prepaid accounts, Customer acknowledges and agrees that: (a)\r\n the fees stated within the Account Confirmation will be\r\n deducted from the amount Customer previously paid to and\r\n placed on deposit with Data Trace (the “Prepaid Plan\r\n Balance”); (b) Data Trace may, from time-to-time during the\r\n term, apply all or a part of the Prepaid Plan Balance toward\r\n such payment of fees without notice to or further\r\n authorization from Customer; (c) Data Trace may, from\r\n time-to-time during the term, require Customer to replenish\r\n the Prepaid Plan Balance to the dollar amount stated within\r\n the Account Confirmation; (d) any failure or refusal on the\r\n part of Customer to promptly replenish the Prepaid Plan\r\n Balance as requested by Data Trace may result in the\r\n suspension of Services and/or the termination of this\r\n Agreement, in Data Trace’s sole and absolute discretion; (e)\r\n in the event Customer, for any reason or cause (regardless of\r\n fault), continues to access and use the Services after the\r\n expiration or other termination of this Agreement or incurs\r\n fees in an amount that exceeds the Prepaid Plan Balance then\r\n on deposit with Data Trace, Customer shall be obligated for,\r\n and shall immediately pay to Data Trace the fees for such\r\n access and use of the Services at the rates set forth in the\r\n Account Confirmation; (f) Data Trace shall not be required to\r\n keep the Prepaid Plan Balance separate from its general funds\r\n and Customer shall not be entitled to interest on the Prepaid\r\n Plan Balance; and (g) all funds paid to Data Trace as and for\r\n a contribution to or replenishment of the Prepaid Plan Balance\r\n are not refundable and any credit balance remaining at the end\r\n of each term shall be forfeited. Fees are exclusive of use, ad\r\n valorem, personal property, and other taxes, which are the\r\n responsibility of Customer. Data Trace shall charge Customer\r\n applicable sales tax, and Customer shall be responsible for\r\n filing all other taxes. Data Trace reserves the right to\r\n change the fees for the Services at any time. Additional\r\n charges may apply for training users at Customer locations.\r\n Customer shall provide all Internet connectivity, hardware and\r\n software necessary to access the Services.\r\n

\r\n

\r\n 7. Term and Termination. The initial term of this\r\n Agreement is twelve (12) months commencing on the date\r\n Customer enters into this Agreement. Thereafter, the term\r\n shall automatically renew for additional successive twelve\r\n (12) month terms, unless terminated by Customer giving the\r\n Data Trace not less than thirty (30) calendar days written\r\n notice of termination prior to the expiration of the\r\n then-current term. Data Trace may terminate this Agreement at\r\n any time in its sole discretion with or without notice to\r\n Customer. If Data Trace breaches any provision of this\r\n Agreement, Customer shall, upon providing written notice of\r\n such breach, be entitled to immediately terminate this\r\n Agreement, provided such breach is not cured within thirty\r\n (30) days following such notice. Upon termination of this\r\n Agreement by either party, Customer, at its own expense, shall\r\n return all Services to Data Trace or certify that the Services\r\n have been destroyed within ten (10) business days of\r\n termination, and any amounts unpaid by Customer shall be\r\n immediately due and payable. Failure to return or certify the\r\n destruction of the Services to Data Trace in accordance with\r\n this section will result in: (i) Customer’s obligation to pay\r\n a perpetual license fee for the Services; or (ii) Customer’s\r\n obligation to permit Data Trace's agent to have access to\r\n Customer's premises for the retrieval of the Services and\r\n Customer shall pay the actual costs as reasonably incurred by\r\n Data Trace to retrieve same.\r\n

\r\n

\r\n 8. General Disclaimer. THE SERVICES ARE INFORMATIONAL\r\n ONLY AND ARE NOT INTENDED TO PROVIDE SPECIFIC COMMERCIAL,\r\n FINANCIAL OR INVESTMENT ADVICE. THE SERVICES ARE BASED UPON\r\n CERTAIN DATA AND/OR RECORDINGS, SUBJECT TO FREQUENT CHANGE.\r\n DATA TRACE MAKES NO WARRANTIES OR REPRESENTATIONS ABOUT THE\r\n METHODOLOGIES USED OR THE ACCURACY, TIMELINESS, RELIABILITY OR\r\n COMPLETENESS OF ANY OF THE SERVICES. THE SERVICES ARE PROVIDED\r\n ON AN “AS IS” BASIS, WITHOUT WARRANTIES OF ANY KIND\r\n WHATSOEVER, INCLUDING ANY IMPLIED OR EXPRESS WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR\r\n NON-INFRINGEMENT. DATA TRACE DOES NOT REPRESENT OR WARRANT\r\n THAT THE SERVICES WILL BE AVAILABLE 24 HOURS PER DAY, SEVEN\r\n DAYS PER WEEK. ANY RELIANCE ON OR USE BY CUSTOMER OF THE\r\n SERVICES SHALL BE ENTIRELY AT CUSTOMER’S OWN RISK. DATA TRACE\r\n MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE LEGALITY OR\r\n PROPRIETY OF THE USE OF THE SERVICES IN ANY JURISDICTION,\r\n STATE OR REGION. CUSTOMER SHALL BE SOLELY RESPONSIBLE FOR\r\n OBTAINING ANY AND ALL NECESSARY LICENSES, CERTIFICATES,\r\n PERMITS, APPROVALS OR OTHER AUTHORIZATIONS REQUIRED BY\r\n FEDERAL, STATE OR LOCAL STATUTE, LAW OR REGULATION APPLICABLE\r\n TO CUSTOMER’S USE OF THE SERVICES. THE SERVICES ARE NOT TO BE\r\n CONSTRUED AS A SUFFICIENT BASIS FOR UNDERWRITING TITLE\r\n INSURANCE POLICIES AND NOTHING IN THIS AGREEMENT SUPERCEDES,\r\n AMENDS, OR IN ANY WAY EXCUSES CUSTOMER’S TITLE INSURANCE\r\n UNDERWRITING OBLIGATIONS IMPOSED BY ANY APPLICABLE TITLE\r\n INSURANCE UNDERWRITING AGREEMENTS. THE SERVICES ARE\r\n EXCLUSIVELY FOR CUSTOMER AND NOT FOR THE BENEFIT OF ANY THIRD\r\n PARTIES.\r\n

\r\n

\r\n 9. General Limitation of Liability. DATA TRACE\r\n DISCLAIMS ANY AND ALL LIABILITY TO ANY PERSON OR ENTITY FOR\r\n THE PROPER PERFORMANCE OF SERVICES REFLECTING THE CONDITION OF\r\n TITLE TO REAL PROPERTY. DATA TRACE SHALL HAVE NO LIABILITY\r\n UNDER OR IN ANY WAY RELATED TO THIS AGREEMENT FOR ANY LOSS OF\r\n PROFIT OR REVENUE OR FOR ANY CONSEQUENTIAL, INDIRECT,\r\n INCIDENTAL, SPECIAL, PUNITIVE, OR EXEMPLARY DAMAGES, EVEN IF\r\n DATA TRACE IS AWARE OF THE POSSIBILITY OF SUCH LOSS OR\r\n DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION\r\n OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE\r\n LIMITATION OR EXCLUSION MAY NOT APPLY. CUSTOMER AGREES THAT\r\n THE LIMITATIONS SET FORTH ABOVE ARE FUNDAMENTAL ELEMENTS OF\r\n THIS AGREEMENT, AND THAT THE SERVICES WOULD NOT BE PROVIDED TO\r\n CUSTOMER ABSENT SUCH LIMITATIONS.\r\n

\r\n

\r\n 10. Specific Disclaimers and Limitations of Liability.{' '}\r\n For the Services specified in this section, the specific\r\n disclaimers and limitations of liability shall supplement the\r\n general disclaimers and limitations of liability above. Unless\r\n expressly stated below, all terms of the general disclaimers\r\n and limitations of liability shall apply to all Services.\r\n

\r\n

\r\n (a) Recording Services. If Data Trace incorrectly records any\r\n document due to its own error, Customer's sole remedy shall\r\n consist of Data Trace’s payment of recording fees associated\r\n with Data Trace’s timely re-recording of the documents in the\r\n public records. Data Trace will not be responsible for any\r\n penalties and/or interest assessed, obtaining the original\r\n document, or any newly executed document, or the re-execution\r\n of the documents when necessary for re-recording. Data Trace\r\n shall have no monetary liability to Customer other than to pay\r\n the recording fees associated with the re-recording as stated\r\n above. Data Trace further disclaims all liability for any\r\n expenses, damages or penalties regarding misinformation, or\r\n lack thereof, provided by Customer to Data Trace as to tax\r\n exempt status of the mortgagee, or the incorrect preparation,\r\n or lack of preparation, of forms related to mortgage/transfer\r\n taxes.\r\n

\r\n

\r\n All warranties set forth in the above paragraph are\r\n non-transferable and the Parties expressly agree that there\r\n are no third party beneficiaries of this warranty, intentional\r\n or otherwise, including, but not limited to, any investors,\r\n parties in the secondary market, or other parties to whom the\r\n Customer may ultimately sell or transfer a loan or group of\r\n loans.\r\n

\r\n

\r\n 11. Indemnification. CUSTOMER AGREES TO INDEMNIFY AND\r\n HOLD DATA TRACE HARMLESS FROM AND AGAINST ALL CLAIMS OF THIRD\r\n PARTIES ARISING OUT OF OR RELATED TO THE USE OF THE SERVICES\r\n BY THE CUSTOMER, OR ATTRIBUTABLE TO CUSTOMER’S BREACH OF THIS\r\n AGREEMENT; PROVIDED THAT DATA TRACE GIVES CUSTOMER PROMPT\r\n WRITTEN NOTICE OF ANY SUCH CLAIM. DATA TRACE SHALL CONTROL THE\r\n DEFENSE AND ANY SETTLEMENT OF SUCH CLAIM, AND CUSTOMER SHALL\r\n COOPERATE WITH DATA TRACE IN DEFENDING AGAINST SUCH CLAIM.\r\n

\r\n

\r\n 12. Copyrights. Data Trace respects the intellectual\r\n property rights of others and takes its obligations to comply\r\n with intellectual property law seriously. If Customer believes\r\n that a copyright owner’s work has been reproduced in the\r\n Services in a copyright-infringing manner, Customer may notify\r\n Data Trace and provide the following information:\r\n

\r\n

\r\n (a) Identification of the work for which Customer claims the\r\n copyright has been infringed;\r\n

\r\n

\r\n (b) Identification of the material in the Services that\r\n Customer claims is infringing and needs to be removed (with\r\n sufficient specificity to enable Data Trace to locate said\r\n material);\r\n

\r\n

\r\n (c) Customer’s contact information, including address,\r\n telephone number, and (if available) email address;\r\n

\r\n

\r\n (d) A signed statement indicating that: (i) Customer has a\r\n good faith belief that Data Trace’s use of the material is not\r\n authorized by the copyright owner, and (ii) the information in\r\n the notification is accurate, and that, under penalty of\r\n perjury, Customer is the copyright owner or is authorized to\r\n act on the copyright owner’s behalf.\r\n

\r\n

Notices of copyright infringement should be sent to:

\r\n

\r\n Data Trace Information Services LLC\r\n
\r\n 200 Commerce\r\n
\r\n Irvine, CA 92602\r\n
\r\n Attn: Legal Department
\r\n Or by email to: DataTrace_Copyright@datatracetitle.com\r\n

\r\n

\r\n 14. General.\r\n

\r\n

\r\n (a) Unless specified otherwise in a fully-executed license\r\n agreement with Data Trace, this Agreement constitutes the\r\n entire agreement between the parties with respect to the\r\n Services and supersedes any prior understanding or agreement,\r\n oral or written, relating to the Services.\r\n

\r\n

\r\n (b) The interpretation and construction of this Agreement, and\r\n all matters relating hereto, shall be governed by the laws of\r\n the State of California applicable to agreements executed and\r\n to be performed solely within such State. Any action or other\r\n proceeding to enforce or interpret the terms of this Agreement\r\n and/or the obligations, duties or rights of the parties\r\n contained herein shall be brought before and resolved in the\r\n State or U.S. District Court located within Orange County,\r\n California, having subject matter jurisdiction over the issues\r\n raised by such action or proceeding and the parties hereby\r\n submit to the personal jurisdiction of said court for all such\r\n purposes. This Agreement shall not be governed by the United\r\n Nations Convention on Contracts for the International Sale of\r\n Goods.{' '}\r\n

\r\n

\r\n (c) The prevailing party shall be awarded its reasonable\r\n attorney's fees and costs in any lawsuit arising out of or\r\n related to this Agreement.\r\n

\r\n

\r\n (d) No modification, amendment, supplement to or waiver of any\r\n provision of this Agreement shall be effective unless in\r\n writing and duly signed by an authorized representative of\r\n both parties hereto.{' '}\r\n

\r\n

\r\n (e) Any provision of this Agreement that contemplates\r\n performance subsequent to the expiration or earlier\r\n termination of this Agreement shall survive such expiration or\r\n termination and shall continue in full force and effect until\r\n fully satisfied.\r\n

\r\n

\r\n (f) Data Trace shall not be liable for any delay or failure in\r\n its performance of any of the acts required by this Agreement\r\n when such delay or failure arises for reasons beyond Data\r\n Trace’s reasonable control.\r\n

\r\n

\r\n (g) Customer may not assign this Agreement or any rights or\r\n obligations hereunder.\r\n

\r\n

\r\n (h) Neither party shall use, or permit their respective\r\n employees, agents and subcontractors to use the trademarks,\r\n service marks, copyrighted material, logos, names, or any\r\n other proprietary designations of the other party, or the\r\n other party’s affiliates, whether registered or unregistered,\r\n without such other party’s prior written consent.\r\n

\r\n

\r\n (i) Except with Data Trace’s prior written approval, Customer\r\n shall not disclose Data Trace as a data source to any third\r\n party, unless required by federal, state or local laws or\r\n government regulations and with prior notice to Data Trace.\r\n

\r\n

\r\n (j) Customer shall provide for physical security of the\r\n Services with the same degree of care (provided that such is\r\n at least a reasonable degree of care) that Customer uses to\r\n protect its own most sensitive data.\r\n

\r\n

\r\n (k) Any notice or other communication required or permitted\r\n under this Agreement shall be sufficiently given if delivered\r\n in person or sent by one of the following methods: (a)\r\n registered U.S. mail, return receipt requested (postage\r\n prepaid); (2) certified U.S. mail, return receipt requested\r\n (postage prepaid); or (3) commercially recognized overnight\r\n service with tracking capabilities. Notices to Data Trace\r\n shall be sent to 200 Commerce, Irvine, California 92602, with\r\n a copy to Data Trace’s counsel at the same address marked\r\n Attention: Legal Department. Notices to Customer shall be sent\r\n to the address entered by Customer in the registration\r\n information. Notices or communications shall be deemed\r\n properly delivered as of the date personally delivered or sent\r\n by mail or overnight service.\r\n

\r\n

\r\n By accessing the information contained within the Services and\r\n clicking “I Accept,” Customer agrees to be bound by all terms\r\n and conditions contained in this Agreement. By clicking “I\r\n Accept,” you assert that you are an authorized agent of\r\n Customer with the authority to bind Customer to the terms and\r\n conditions contained in this Agreement. If you do not accept\r\n the terms and conditions contained herein, you may not use the\r\n Services.\r\n

\r\n
\r\n handleSave('accept')}\r\n className={styles.button}\r\n >\r\n I Accept\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default License;\r\n","import React from 'react';\r\nimport { Button, Row, Tooltip } from 'antd';\r\nimport { getFormValues } from 'redux-form';\r\nimport { FormField } from 'common';\r\nimport styles from './Individuals.module.scss';\r\nimport {\r\n INDIVIDUAL_INITIAL_VALUES,\r\n requiredWarn,\r\n getCurrentSectionNo,\r\n getCurrentIndividual,\r\n} from 'pages/Bankruptcy';\r\nimport { EMPTY_VALUE, XOSIMAGE_FORM } from 'pages/XosImages/XosImage.constants';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst addLimit = 5;\r\nconst removeLimit = 1;\r\nconst Individuals: any = ({ fields, handleFieldFocus }: any) => {\r\n const formValues = useSelector((state: AppState) =>\r\n getFormValues(XOSIMAGE_FORM)(state),\r\n );\r\n\r\n const requiredNameField = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const individualNo = fieldName.substring(21, 22);\r\n const currentInd = getCurrentIndividual(values, sectionNo, individualNo);\r\n const { bankruptcySearch, patriotSearch } = currentInd || {\r\n bankruptcySearch: EMPTY_VALUE,\r\n patriotSearch: EMPTY_VALUE,\r\n };\r\n if (value) return undefined;\r\n if (bankruptcySearch || patriotSearch) return requiredWarn;\r\n return undefined;\r\n }, []);\r\n\r\n const requiredCheckBox = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const individualNo = fieldName.substring(21, 22);\r\n const currentInd = getCurrentIndividual(values, sectionNo, individualNo);\r\n const { firstName, lastName, bankruptcySearch, patriotSearch } =\r\n currentInd || {\r\n firstName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n if (value || bankruptcySearch || patriotSearch) return undefined;\r\n if (firstName || lastName) return true;\r\n return undefined;\r\n }, []);\r\n\r\n return (\r\n <>\r\n {fields.map((individual: any, index: number) => {\r\n const sectionNo = getCurrentSectionNo(individual);\r\n const individualNo = individual.substring(21, 22);\r\n const currentInd = getCurrentIndividual(\r\n formValues,\r\n `${sectionNo}`,\r\n individualNo,\r\n );\r\n const { firstName, lastName, bankruptcySearch, patriotSearch } =\r\n currentInd || {\r\n firstName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n\r\n const displayCheckboxWarn =\r\n !bankruptcySearch && !patriotSearch && (firstName || lastName);\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n />\r\n \r\n {fields.length - 1 === index && (\r\n \r\n fields.push(INDIVIDUAL_INITIAL_VALUES)}\r\n disabled={fields.length >= addLimit}\r\n />\r\n \r\n )}\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default Individuals;\r\n","import React from 'react';\r\nimport { Button, Tooltip, Row } from 'antd';\r\nimport { FormField } from 'common';\r\nimport {\r\n CORPORATIONS_INITIAL_VALUES,\r\n requiredWarn,\r\n getCurrentSectionNo,\r\n getCurrentCorporation,\r\n EMPTY_VALUE,\r\n XOSIMAGE_FORM,\r\n} from 'pages/XosImages';\r\nimport { getFormValues } from 'redux-form';\r\nimport { AppState } from 'store';\r\nimport { useSelector } from 'react-redux';\r\nimport styles from '../Individuals/Individuals.module.scss';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst addLimit = 2;\r\nconst removeLimit = 1;\r\n\r\nconst Corporation: any = ({\r\n fields,\r\n meta: { error },\r\n handleFieldFocus,\r\n}: any) => {\r\n const formValues = useSelector((state: AppState) =>\r\n getFormValues(XOSIMAGE_FORM)(state),\r\n );\r\n\r\n const requiredNameField = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const corpNo = fieldName.substring(22, 23);\r\n const currentCorp = getCurrentCorporation(values, sectionNo, corpNo);\r\n const { bankruptcySearch, patriotSearch } = currentCorp || {\r\n bankruptcySearch: EMPTY_VALUE,\r\n patriotSearch: EMPTY_VALUE,\r\n };\r\n if (value) return undefined;\r\n if (bankruptcySearch || patriotSearch) return requiredWarn;\r\n return undefined;\r\n }, []);\r\n\r\n const requiredCheckBox = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const corpNo = fieldName.substring(22, 23);\r\n const currentInd = getCurrentCorporation(values, sectionNo, corpNo);\r\n const { corporationName, bankruptcySearch, patriotSearch } = currentInd || {\r\n corporationName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n if (value || bankruptcySearch || patriotSearch) return undefined;\r\n if (corporationName) return true;\r\n return undefined;\r\n }, []);\r\n\r\n return (\r\n <>\r\n {fields.map((corporation: any, index: number) => {\r\n const sectionNo = getCurrentSectionNo(corporation);\r\n const corpNo = corporation.substring(22, 23);\r\n const currentInd = getCurrentCorporation(\r\n formValues,\r\n `${sectionNo}`,\r\n corpNo,\r\n );\r\n const { corporationName, bankruptcySearch, patriotSearch } =\r\n currentInd || {\r\n corporationName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n\r\n const displayCheckboxWarn =\r\n !bankruptcySearch && !patriotSearch && corporationName;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n />\r\n \r\n {fields.length - 1 === index && (\r\n \r\n \r\n fields.push(CORPORATIONS_INITIAL_VALUES)\r\n }\r\n disabled={fields.length >= addLimit}\r\n />\r\n \r\n )}\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default Corporation;\r\n","import React, { useMemo } from 'react';\r\nimport { Button, Tooltip, Select, Row, Col, Divider } from 'antd';\r\nimport { FieldArray, change, getFormValues } from 'redux-form';\r\nimport { Individuals, Corporation } from '..';\r\nimport { FormField, InputTypes, getOptions } from 'common';\r\nimport {\r\n XOSIMAGE_FORM,\r\n XosImageFormLabels,\r\n XosImageFormPlaceholders,\r\n TAB_INDEX,\r\n EMPTY_VALUE,\r\n FormNames,\r\n FieldGroupNames,\r\n XOSIMAGE_FORM_INITIAL_ITEM_GROUP,\r\n} from '../../XosImage.constants';\r\nimport {\r\n getXosImageStatesOptions,\r\n xosImageCountyOptionsSelector,\r\n xosImageDistrictSelector,\r\n getCounties,\r\n getCurrentSectionNo,\r\n getCurrentSection,\r\n getIsBankruptcySelected,\r\n requiredWarn,\r\n} from '../../XosImage.selectors';\r\nimport styles from '../../XosImage.module.scss';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { createSelector } from 'reselect';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst { Option } = Select;\r\nconst addLimit = 2;\r\nconst removeLimit = 1;\r\nconst selector = createSelector(\r\n (state: AppState) => xosImageCountyOptionsSelector(state),\r\n (state: AppState) => xosImageDistrictSelector(state),\r\n (state: AppState) => getFormValues(XOSIMAGE_FORM)(state),\r\n (getXosImageCountyOptions, getXosImageDistrict, formValues: any) => ({\r\n getXosImageCountyOptions,\r\n getXosImageDistrict,\r\n formValues,\r\n }),\r\n);\r\n\r\nconst XosImageItemsGroup: React.FC = ({ xosImagesStates, fields }: any) => {\r\n const dispatch = useDispatch();\r\n\r\n const { getXosImageCountyOptions, getXosImageDistrict, formValues } =\r\n useSelector(selector);\r\n\r\n const clearField = React.useCallback(\r\n (fieldName: string) => {\r\n dispatch(change(XOSIMAGE_FORM, fieldName, EMPTY_VALUE));\r\n },\r\n [dispatch],\r\n );\r\n\r\n const handleStateChange = React.useCallback(\r\n (field: any) => {\r\n clearField(`${field}.${FormNames.COUNTY}`);\r\n clearField(`${field}.${FormNames.DISTRICT}`);\r\n },\r\n [clearField],\r\n );\r\n\r\n const handleCountyChange = React.useCallback(\r\n (field: string, districtCode: string) => {\r\n const fieldName = `${field}.${FormNames.DISTRICT}`;\r\n dispatch(change(XOSIMAGE_FORM, fieldName, districtCode));\r\n },\r\n [dispatch],\r\n );\r\n\r\n const statesOptions = useMemo(\r\n () => getXosImageStatesOptions(xosImagesStates),\r\n [xosImagesStates],\r\n );\r\n\r\n const requiredState = React.useCallback(\r\n (stateValue, formValues, _, fieldName) => {\r\n const currentSectionNo = getCurrentSectionNo(fieldName);\r\n const currentSection = getCurrentSection(formValues, currentSectionNo);\r\n const isBankruptcySelected =\r\n currentSection &&\r\n currentSection.individuals &&\r\n currentSection.corporations &&\r\n getIsBankruptcySelected(currentSection);\r\n if (stateValue) return undefined;\r\n if (isBankruptcySelected) return requiredWarn;\r\n return undefined;\r\n },\r\n [],\r\n );\r\n\r\n const requiredCounty = React.useCallback(\r\n (countyValue, formValues, _, fieldName) => {\r\n const currentSectionNo = getCurrentSectionNo(fieldName);\r\n const currentSection = getCurrentSection(formValues, currentSectionNo);\r\n const stateHob = currentSection?.hobCodes.stateHob;\r\n const counties = stateHob ? getCounties(xosImagesStates, stateHob) : null;\r\n const isBankruptcySelected =\r\n currentSection &&\r\n currentSection.individuals &&\r\n currentSection.corporations &&\r\n getIsBankruptcySelected(currentSection);\r\n if (countyValue) return undefined;\r\n if (isBankruptcySelected) {\r\n return stateHob && counties?.length ? requiredWarn : undefined;\r\n }\r\n return undefined;\r\n },\r\n [xosImagesStates],\r\n );\r\n\r\n return (\r\n \r\n \r\n {fields.map((field: any, index: number) => {\r\n const stateHob =\r\n formValues.items[index] &&\r\n formValues.items[index].hobCodes.stateHob;\r\n console.log(stateHob);\r\n const countyHob =\r\n formValues.items[index] &&\r\n formValues.items[index].hobCodes.сountyHob;\r\n const district = getXosImageDistrict(stateHob, countyHob);\r\n const countyOptions = getXosImageCountyOptions(stateHob);\r\n return (\r\n \r\n \r\n handleStateChange(field)}\r\n showSearch={true}\r\n filterOption={(input: any, option: any) =>\r\n option.props.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {getOptions(Option, statesOptions)}\r\n \r\n {\r\n const dstrct = getXosImageDistrict(stateHob, value);\r\n const districtCode = dstrct\r\n ? dstrct.districtCode\r\n : EMPTY_VALUE;\r\n return handleCountyChange(field, districtCode);\r\n }}\r\n showSearch={true}\r\n filterOption={(input: any, option: any) =>\r\n option.props.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {getOptions(Option, countyOptions)}\r\n \r\n {district && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default XosImageItemsGroup;\r\n","import React from 'react';\r\nimport { reduxForm, InjectedFormProps, reset, FieldArray } from 'redux-form';\r\nimport { Form, Card, Button, Spin } from 'antd';\r\nimport { SkeletonHOC, ButtonTypes, IconTypeNames, scrollTop } from 'common';\r\nimport { compose } from 'redux';\r\n\r\nimport styles from './XosImage.module.scss';\r\nimport {\r\n XOSIMAGE_FORM,\r\n XOSIMAGE_FORM_INITIAL_VALUES,\r\n} from './XosImage.constants';\r\nimport { useDispatch } from 'react-redux';\r\nimport { XosImageStates } from './models';\r\nimport { resetResults, searchXosImage } from '.';\r\nimport { XosImageItemsGroup } from './components';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\ninterface XosImageFormProps {\r\n xosImagesStates: XosImageStates;\r\n handleSubmit: any;\r\n loading: boolean;\r\n valid: boolean;\r\n stateHob: string;\r\n countyHob: string;\r\n formValues: any;\r\n}\r\n\r\ntype Props = XosImageFormProps & InjectedFormProps<{}, XosImageFormProps>;\r\n\r\nconst XosImageForm: React.FC = ({\r\n xosImagesStates,\r\n loading,\r\n valid,\r\n formValues,\r\n}: XosImageFormProps) => {\r\n console.log('inside form prop');\r\n const dispatch = useDispatch();\r\n const handleResetForm = () => {\r\n dispatch(resetResults());\r\n dispatch(reset(XOSIMAGE_FORM));\r\n };\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const handleSearch = (format: string) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(searchXosImage(formValues, format, response.accessToken));\r\n });\r\n }\r\n scrollTop();\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Reset\r\n \r\n handleSearch('pdf')}\r\n className={styles.button}\r\n >\r\n Export as PDF\r\n \r\n \r\n *\r\n

\r\n

Fee applied on Export

\r\n \r\n *\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'xosImagesStates', rows: 12 }),\r\n reduxForm<{}, XosImageFormProps>({\r\n form: XOSIMAGE_FORM,\r\n initialValues: XOSIMAGE_FORM_INITIAL_VALUES,\r\n }),\r\n)(React.memo(XosImageForm));\r\n","import React from 'react';\r\nimport { Button, Row, Tooltip } from 'antd';\r\nimport { getFormValues } from 'redux-form';\r\nimport { FormField } from 'common';\r\nimport styles from './Individuals.module.scss';\r\nimport {\r\n INDIVIDUAL_INITIAL_VALUES,\r\n requiredWarn,\r\n getCurrentSectionNo,\r\n getCurrentIndividual,\r\n} from 'pages/Bankruptcy';\r\nimport {\r\n EMPTY_VALUE,\r\n BANKRUPTCY_FORM,\r\n} from 'pages/Bankruptcy/Bankruptcy.constants';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst addLimit = 5;\r\nconst removeLimit = 1;\r\nconst Individuals: any = ({ fields, handleFieldFocus }: any) => {\r\n const formValues = useSelector((state: AppState) =>\r\n getFormValues(BANKRUPTCY_FORM)(state),\r\n );\r\n\r\n const requiredNameField = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const individualNo = fieldName.substring(21, 22);\r\n const currentInd = getCurrentIndividual(values, sectionNo, individualNo);\r\n const { bankruptcySearch, patriotSearch } = currentInd || {\r\n bankruptcySearch: EMPTY_VALUE,\r\n patriotSearch: EMPTY_VALUE,\r\n };\r\n if (value) return undefined;\r\n if (bankruptcySearch || patriotSearch) return requiredWarn;\r\n return undefined;\r\n }, []);\r\n\r\n const requiredCheckBox = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const individualNo = fieldName.substring(21, 22);\r\n const currentInd = getCurrentIndividual(values, sectionNo, individualNo);\r\n const { firstName, lastName, bankruptcySearch, patriotSearch } =\r\n currentInd || {\r\n firstName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n if (value || bankruptcySearch || patriotSearch) return undefined;\r\n if (firstName || lastName) return true;\r\n return undefined;\r\n }, []);\r\n\r\n return (\r\n <>\r\n {fields.map((individual: any, index: number) => {\r\n const sectionNo = getCurrentSectionNo(individual);\r\n const individualNo = individual.substring(21, 22);\r\n const currentInd = getCurrentIndividual(\r\n formValues,\r\n `${sectionNo}`,\r\n individualNo,\r\n );\r\n const { firstName, lastName, bankruptcySearch, patriotSearch } =\r\n currentInd || {\r\n firstName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n\r\n const displayCheckboxWarn =\r\n !bankruptcySearch && !patriotSearch && (firstName || lastName);\r\n return (\r\n \r\n \r\n \r\n Bankruptcy\r\n \r\n \r\n Patriot\r\n \r\n {displayCheckboxWarn && (\r\n \r\n Please select either Bankruptcy or Patriot\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n />\r\n \r\n {fields.length - 1 === index && (\r\n \r\n fields.push(INDIVIDUAL_INITIAL_VALUES)}\r\n disabled={fields.length >= addLimit}\r\n />\r\n \r\n )}\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default Individuals;\r\n","import React from 'react';\r\nimport { Button, Tooltip, Row } from 'antd';\r\nimport { FormField } from 'common';\r\nimport {\r\n CORPORATIONS_INITIAL_VALUES,\r\n requiredWarn,\r\n getCurrentSectionNo,\r\n getCurrentCorporation,\r\n EMPTY_VALUE,\r\n BANKRUPTCY_FORM,\r\n} from 'pages/Bankruptcy';\r\nimport { getFormValues } from 'redux-form';\r\nimport { AppState } from 'store';\r\nimport { useSelector } from 'react-redux';\r\nimport styles from '../Individuals/Individuals.module.scss';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst addLimit = 2;\r\nconst removeLimit = 1;\r\n\r\nconst Corporation: any = ({\r\n fields,\r\n meta: { error },\r\n handleFieldFocus,\r\n}: any) => {\r\n const formValues = useSelector((state: AppState) =>\r\n getFormValues(BANKRUPTCY_FORM)(state),\r\n );\r\n\r\n const requiredNameField = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const corpNo = fieldName.substring(22, 23);\r\n const currentCorp = getCurrentCorporation(values, sectionNo, corpNo);\r\n const { bankruptcySearch, patriotSearch } = currentCorp || {\r\n bankruptcySearch: EMPTY_VALUE,\r\n patriotSearch: EMPTY_VALUE,\r\n };\r\n if (value) return undefined;\r\n if (bankruptcySearch || patriotSearch) return requiredWarn;\r\n return undefined;\r\n }, []);\r\n\r\n const requiredCheckBox = React.useCallback((value, values, _, fieldName) => {\r\n const sectionNo = getCurrentSectionNo(fieldName);\r\n const corpNo = fieldName.substring(22, 23);\r\n const currentInd = getCurrentCorporation(values, sectionNo, corpNo);\r\n const { corporationName, bankruptcySearch, patriotSearch } = currentInd || {\r\n corporationName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n if (value || bankruptcySearch || patriotSearch) return undefined;\r\n if (corporationName) return true;\r\n return undefined;\r\n }, []);\r\n\r\n return (\r\n <>\r\n {fields.map((corporation: any, index: number) => {\r\n const sectionNo = getCurrentSectionNo(corporation);\r\n const corpNo = corporation.substring(22, 23);\r\n const currentInd = getCurrentCorporation(\r\n formValues,\r\n `${sectionNo}`,\r\n corpNo,\r\n );\r\n const { corporationName, bankruptcySearch, patriotSearch } =\r\n currentInd || {\r\n corporationName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n };\r\n\r\n const displayCheckboxWarn =\r\n !bankruptcySearch && !patriotSearch && corporationName;\r\n\r\n return (\r\n \r\n \r\n \r\n Bankruptcy\r\n \r\n \r\n Patriot\r\n \r\n {displayCheckboxWarn && (\r\n \r\n Please select either Bankruptcy or Patriot\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n />\r\n \r\n {fields.length - 1 === index && (\r\n \r\n \r\n fields.push(CORPORATIONS_INITIAL_VALUES)\r\n }\r\n disabled={fields.length >= addLimit}\r\n />\r\n \r\n )}\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default Corporation;\r\n","import React, { useMemo } from 'react';\r\nimport { Button, Tooltip, Select, Row, Col, Divider } from 'antd';\r\nimport { FieldArray, change, getFormValues } from 'redux-form';\r\nimport { Individuals, Corporation } from '..';\r\nimport { FormField, InputTypes, getOptions } from 'common';\r\nimport {\r\n BANKRUPTCY_FORM,\r\n BankruptcyFormLabels,\r\n BankruptcyFormPlaceholders,\r\n TAB_INDEX,\r\n EMPTY_VALUE,\r\n FormNames,\r\n FieldGroupNames,\r\n BANKRUPTCY_FORM_INITIAL_ITEM_GROUP,\r\n} from '../../Bankruptcy.constants';\r\nimport {\r\n getBankruptcyStatesOptions,\r\n bankruptcyCountyOptionsSelector,\r\n bankruptcyDistrictSelector,\r\n getCounties,\r\n getCurrentSectionNo,\r\n getCurrentSection,\r\n getIsBankruptcySelected,\r\n requiredWarn,\r\n} from '../../Bankruptcy.selectors';\r\nimport styles from '../../Bankruptcy.module.scss';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { createSelector } from 'reselect';\r\n\r\nconst ButtonGroup = Button.Group;\r\nconst { Option } = Select;\r\nconst addLimit = 2;\r\nconst removeLimit = 1;\r\nconst selector = createSelector(\r\n (state: AppState) => bankruptcyCountyOptionsSelector(state),\r\n (state: AppState) => bankruptcyDistrictSelector(state),\r\n (state: AppState) => getFormValues(BANKRUPTCY_FORM)(state),\r\n (getBankruptcyCountyOptions, getBankruptcyDistrict, formValues: any) => ({\r\n getBankruptcyCountyOptions,\r\n getBankruptcyDistrict,\r\n formValues,\r\n }),\r\n);\r\n\r\nconst BankruptcyItemsGroup: React.FC = ({ bankruptcyStates, fields }: any) => {\r\n const dispatch = useDispatch();\r\n\r\n const { getBankruptcyCountyOptions, getBankruptcyDistrict, formValues } =\r\n useSelector(selector);\r\n\r\n const clearField = React.useCallback(\r\n (fieldName: string) => {\r\n dispatch(change(BANKRUPTCY_FORM, fieldName, EMPTY_VALUE));\r\n },\r\n [dispatch],\r\n );\r\n\r\n const handleStateChange = React.useCallback(\r\n (field: any) => {\r\n clearField(`${field}.${FormNames.COUNTY}`);\r\n clearField(`${field}.${FormNames.DISTRICT}`);\r\n },\r\n [clearField],\r\n );\r\n\r\n const handleCountyChange = React.useCallback(\r\n (field: string, districtCode: string) => {\r\n const fieldName = `${field}.${FormNames.DISTRICT}`;\r\n dispatch(change(BANKRUPTCY_FORM, fieldName, districtCode));\r\n },\r\n [dispatch],\r\n );\r\n\r\n const statesOptions = useMemo(\r\n () => getBankruptcyStatesOptions(bankruptcyStates),\r\n [bankruptcyStates],\r\n );\r\n\r\n const requiredState = React.useCallback(\r\n (stateValue, formValues, _, fieldName) => {\r\n const currentSectionNo = getCurrentSectionNo(fieldName);\r\n const currentSection = getCurrentSection(formValues, currentSectionNo);\r\n const isBankruptcySelected =\r\n currentSection &&\r\n currentSection.individuals &&\r\n currentSection.corporations &&\r\n getIsBankruptcySelected(currentSection);\r\n if (stateValue) return undefined;\r\n if (isBankruptcySelected) return requiredWarn;\r\n return undefined;\r\n },\r\n [],\r\n );\r\n\r\n const requiredCounty = React.useCallback(\r\n (countyValue, formValues, _, fieldName) => {\r\n const currentSectionNo = getCurrentSectionNo(fieldName);\r\n const currentSection = getCurrentSection(formValues, currentSectionNo);\r\n const stateHob = currentSection?.hobCodes.stateHob;\r\n const counties = stateHob\r\n ? getCounties(bankruptcyStates, stateHob)\r\n : null;\r\n const isBankruptcySelected =\r\n currentSection &&\r\n currentSection.individuals &&\r\n currentSection.corporations &&\r\n getIsBankruptcySelected(currentSection);\r\n if (countyValue) return undefined;\r\n if (isBankruptcySelected) {\r\n return stateHob && counties?.length ? requiredWarn : undefined;\r\n }\r\n return undefined;\r\n },\r\n [bankruptcyStates],\r\n );\r\n\r\n return (\r\n \r\n \r\n {fields.map((field: any, index: number) => {\r\n const stateHob =\r\n formValues.items[index] &&\r\n formValues.items[index].hobCodes.stateHob;\r\n const countyHob =\r\n formValues.items[index] &&\r\n formValues.items[index].hobCodes.сountyHob;\r\n const district = getBankruptcyDistrict(stateHob, countyHob);\r\n const countyOptions = getBankruptcyCountyOptions(stateHob);\r\n return (\r\n \r\n \r\n handleStateChange(field)}\r\n showSearch={true}\r\n filterOption={(input: any, option: any) =>\r\n option.props.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {getOptions(Option, statesOptions)}\r\n \r\n {\r\n const dstrct = getBankruptcyDistrict(stateHob, value);\r\n const districtCode = dstrct\r\n ? dstrct.districtCode\r\n : EMPTY_VALUE;\r\n return handleCountyChange(field, districtCode);\r\n }}\r\n showSearch={true}\r\n filterOption={(input: any, option: any) =>\r\n option.props.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {getOptions(Option, countyOptions)}\r\n \r\n {district && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n >\r\n Remove\r\n \r\n \r\n {fields.length - 1 === index && (\r\n \r\n \r\n fields.push(BANKRUPTCY_FORM_INITIAL_ITEM_GROUP)\r\n }\r\n disabled={fields.length >= addLimit}\r\n >\r\n Add\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BankruptcyItemsGroup;\r\n","import React from 'react';\r\nimport { reduxForm, InjectedFormProps, reset, FieldArray } from 'redux-form';\r\nimport { Form, Card, Button, Spin } from 'antd';\r\nimport { SkeletonHOC, ButtonTypes, IconTypeNames, scrollTop } from 'common';\r\nimport { compose } from 'redux';\r\n\r\nimport styles from './Bankruptcy.module.scss';\r\nimport {\r\n BANKRUPTCY_FORM,\r\n BANKRUPTCY_FORM_INITIAL_VALUES,\r\n} from './Bankruptcy.constants';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { BankruptcyStates } from './models';\r\nimport { resetResults, searchBankruptcy } from '.';\r\nimport { BankruptcyItemsGroup } from './components';\r\nimport { AppState } from 'store';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\ninterface BankruptcyFormProps {\r\n bankruptcyStates: BankruptcyStates;\r\n handleSubmit: any;\r\n loading: boolean;\r\n valid: boolean;\r\n stateHob: string;\r\n countyHob: string;\r\n formValues: any;\r\n}\r\n\r\ntype Props = BankruptcyFormProps & InjectedFormProps;\r\n\r\nconst BankruptcyForm: React.FC = ({\r\n bankruptcyStates,\r\n loading,\r\n valid,\r\n formValues,\r\n}: BankruptcyFormProps) => {\r\n const dispatch = useDispatch();\r\n const handleResetForm = () => {\r\n dispatch(resetResults());\r\n dispatch(reset(BANKRUPTCY_FORM));\r\n };\r\n\r\n const login = useSelector((state: AppState) => state.login);\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const handleSearch = (format: string) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(searchBankruptcy(formValues, format, response.accessToken));\r\n });\r\n }\r\n scrollTop();\r\n };\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n Reset\r\n \r\n handleSearch('pdf')}\r\n className={styles.button}\r\n >\r\n Export as PDF\r\n \r\n handleSearch('doc')}\r\n className={styles.button}\r\n >\r\n Export as Word\r\n \r\n \r\n *\r\n

\r\n

Fee applied on Export

\r\n \r\n *\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'bankruptcyStates', rows: 12 }),\r\n reduxForm({\r\n form: BANKRUPTCY_FORM,\r\n initialValues: BANKRUPTCY_FORM_INITIAL_VALUES,\r\n }),\r\n)(React.memo(BankruptcyForm));\r\n","import React, { useEffect } from 'react';\r\nimport { Spin } from 'antd';\r\nimport BankruptcyForm from './BankruptcyForm';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport {\r\n bankruptcyStatesSelector,\r\n resultSelector,\r\n} from './Bankruptcy.selectors';\r\nimport { getStates as getStatesAction } from './Bankruptcy.actions';\r\nimport { BANKRUPTCY_FORM } from './Bankruptcy.constants';\r\nimport { getFormValues } from 'redux-form';\r\nimport { LOADING, Sizes, loadingSelector, ReducerNames } from 'common';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\n\r\nconst Bankruptcy: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const { bankruptcyStates, loading, formValues } = useSelector(\r\n (state: AppState) => ({\r\n bankruptcyStates: bankruptcyStatesSelector(state),\r\n loading: loadingSelector(ReducerNames.BANKRUPTCY)(state),\r\n result: resultSelector(state),\r\n formValues: getFormValues(BANKRUPTCY_FORM)(state),\r\n }),\r\n );\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None && !bankruptcyStates) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getStatesAction(response.accessToken));\r\n });\r\n }\r\n }, [dispatch, bankruptcyStates, instance, account, inProgress]);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Bankruptcy;\r\n","import React, { useMemo } from 'react';\r\nimport { reduxForm, change, InjectedFormProps, reset } from 'redux-form';\r\nimport { Form, Card, Row, Select, Button, Spin } from 'antd';\r\nimport {\r\n FormField,\r\n SkeletonHOC,\r\n ButtonTypes,\r\n InputTypes,\r\n getFilterOption,\r\n getOptions,\r\n required,\r\n} from 'common';\r\nimport { compose } from 'redux';\r\n\r\nimport styles from './TaxMaps.module.scss';\r\nimport {\r\n TAX_MAPS_FORM,\r\n PropertyFormLabels,\r\n LocationFormNames,\r\n PropertyFormPlaceholders,\r\n TAB_INDEX,\r\n EMPTY_VALUE,\r\n TAX_MAPS_FORM_INITIAL_VALUES,\r\n} from './TaxMaps.constants';\r\nimport {\r\n getCities,\r\n getCountyOptions,\r\n getCityOptions,\r\n getVillageOptions,\r\n} from './TaxMaps.selectors';\r\nimport { useDispatch } from 'react-redux';\r\nimport TaxMapsFormTabs from './TaxMapsTabs';\r\nimport { USState, GetDriversResult } from './models';\r\nimport { getDrivers, resetDriversData, resetResults } from './TaxMaps.actions';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst { Option } = Select;\r\n\r\ninterface TaxMapsFormProps {\r\n usState: USState;\r\n driversData: GetDriversResult;\r\n handleSubmit: any;\r\n change: any;\r\n loading: boolean;\r\n countyHob: string;\r\n cityHob: string;\r\n formValues: any;\r\n}\r\n\r\ntype Props = TaxMapsFormProps &\r\n InjectedFormProps<\r\n { change: any; handleSubmit: any; valid: boolean },\r\n TaxMapsFormProps\r\n >;\r\n\r\nconst TaxMapsForm: React.FC = ({\r\n usState: { counties },\r\n handleSubmit,\r\n loading,\r\n driversData,\r\n countyHob,\r\n cityHob,\r\n formValues,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const countyOptions = useMemo(() => getCountyOptions(counties), [counties]);\r\n\r\n const cities = useMemo(\r\n () => getCities(counties, countyHob),\r\n [counties, countyHob],\r\n );\r\n\r\n const cityOptions = useMemo(\r\n () => getCityOptions(counties, countyHob),\r\n [counties, countyHob],\r\n );\r\n\r\n const villageOptions = useMemo(() => {\r\n return getVillageOptions(cities, cityHob);\r\n }, [cities, cityHob]);\r\n\r\n const clearDrivers = React.useCallback(() => {\r\n dispatch(change(TAX_MAPS_FORM, 'driversSearch', {}));\r\n }, [dispatch]);\r\n\r\n const clearField = React.useCallback(\r\n (fieldName: string) => {\r\n dispatch(change(TAX_MAPS_FORM, fieldName, EMPTY_VALUE));\r\n },\r\n [dispatch],\r\n );\r\n\r\n const handleCountyChange = (value: string) => {\r\n clearField(LocationFormNames.CITY);\r\n clearField(LocationFormNames.VILLAGE);\r\n clearDrivers();\r\n if (!value) {\r\n dispatch(resetDriversData());\r\n return;\r\n }\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getDrivers(value, driversData, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const handleCityVillageChange = (value: string) => {\r\n clearDrivers();\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getDrivers(value, driversData, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const handleResetForm = () => {\r\n dispatch(resetResults());\r\n dispatch(reset(TAX_MAPS_FORM));\r\n dispatch(resetDriversData());\r\n };\r\n\r\n const isCityDisabled = React.useMemo(\r\n () =>\r\n !countyHob ||\r\n cityOptions.length < 2 ||\r\n (driversData &&\r\n driversData.drivers &&\r\n driversData.drivers[0] &&\r\n driversData.drivers[0].name !== 'Swis'),\r\n [cityOptions.length, countyHob, driversData],\r\n );\r\n\r\n const isCountySelected = React.useMemo(\r\n () => (formValues && !!formValues.hobCodes.countyHob) || false,\r\n [formValues],\r\n );\r\n\r\n const isCitySelected = React.useMemo(\r\n () => (formValues && !!formValues.hobCodes.cityHob) || false,\r\n [formValues],\r\n );\r\n\r\n const isSearchEnabled = React.useMemo(\r\n () =>\r\n isCountySelected &&\r\n (isCityDisabled || (!isCityDisabled && isCitySelected)),\r\n [isCityDisabled, isCitySelected, isCountySelected],\r\n );\r\n\r\n const requiredCity = React.useCallback(\r\n () => (!isCityDisabled && !isCitySelected ? 'Required' : undefined),\r\n [isCityDisabled, isCitySelected],\r\n );\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n getFilterOption(children, input)\r\n }\r\n allowClear={false}\r\n showSearch={true}\r\n onChange={(value: string) => {\r\n handleCountyChange(value);\r\n }}\r\n >\r\n {getOptions(Option, countyOptions)}\r\n \r\n \r\n getFilterOption(children, input)\r\n }\r\n disabled={isCityDisabled}\r\n onChange={(value: string) => {\r\n clearField(LocationFormNames.VILLAGE);\r\n handleCityVillageChange(value);\r\n }}\r\n >\r\n {getOptions(Option, cityOptions)}\r\n \r\n {\r\n handleCityVillageChange(value);\r\n }}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, villageOptions)}\r\n \r\n \r\n \r\n \r\n Reset\r\n \r\n \r\n Search\r\n \r\n \r\n *\r\n

\r\n

Fee applied on Download

\r\n \r\n *\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'usState', rows: 6 }),\r\n reduxForm({\r\n form: TAX_MAPS_FORM,\r\n initialValues: TAX_MAPS_FORM_INITIAL_VALUES,\r\n }),\r\n)(React.memo(TaxMapsForm));\r\n","import React from 'react';\r\nimport { TaxMapsSearchResult, Item } from '../../models';\r\nimport { Divider, Card, Typography, Table, Button, Empty } from 'antd';\r\nimport {\r\n CommonTable,\r\n IconTypeNames,\r\n TableSizeNames,\r\n ButtonShapes,\r\n} from 'common';\r\nimport { COLUMN_NAMES, exportReport } from 'pages/TaxMaps';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst { Title } = Typography;\r\nconst { Column } = Table;\r\n\r\nconst TaxMapResultTable: React.FC<{\r\n data: TaxMapsSearchResult;\r\n}> = ({ data: { items, searchCriteria, searchId } }) => {\r\n const dispatch = useDispatch();\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const exportReportClick = (\r\n middleName: string,\r\n imageId: number,\r\n imageName: string,\r\n format: string,\r\n ) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n exportReport(\r\n searchId,\r\n middleName,\r\n imageId,\r\n imageName,\r\n format,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n };\r\n\r\n const getRender =\r\n (columnName: string, dispatch: any) => (text: string, record: Item) => {\r\n switch (columnName) {\r\n case COLUMN_NAMES.taxMapImageId.dataIndex: {\r\n return (\r\n <>\r\n {\r\n exportReportClick(\r\n record.taxMapImageId > 0 ? 'image' : 'fileId',\r\n record.taxMapImageId > 0\r\n ? record.taxMapImageId\r\n : record.taxMapFileId,\r\n searchCriteria.toLowerCase().replace(':', ''),\r\n 'pdf',\r\n );\r\n }}\r\n >\r\n {`Download as PDF`}\r\n \r\n {record.taxMapImageId !== 0 && record.filesCount === 1 && (\r\n {\r\n exportReportClick(\r\n 'image',\r\n record.taxMapImageId,\r\n searchCriteria.toLowerCase().replace(':', ''),\r\n 'tiff',\r\n );\r\n }}\r\n >\r\n {`Download as TIFF`}\r\n \r\n )}\r\n \r\n );\r\n }\r\n default:\r\n return text;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n Reports\r\n Search Criteria: {searchCriteria}\r\n {items.length > 0 ? (\r\n \r\n {Object.values(COLUMN_NAMES).map(({ title, dataIndex }, index) => (\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TaxMapResultTable;\r\n","import React, { useEffect } from 'react';\r\nimport { Spin } from 'antd';\r\nimport TaxMapsForm from './TaxMapsForm';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport {\r\n usStateSelector,\r\n driversSelector,\r\n resultSelector,\r\n valueSelector,\r\n} from './TaxMaps.selectors';\r\nimport { getState as getStateAction, searchTaxMaps } from './TaxMaps.actions';\r\nimport {\r\n USStateCodes,\r\n LocationFormNames,\r\n TAX_MAPS_FORM,\r\n} from './TaxMaps.constants';\r\nimport { TaxMapResultTable } from './templates';\r\nimport { getFormValues } from 'redux-form';\r\nimport { LOADING, Sizes, loadingSelector, ReducerNames } from 'common';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst TaxMaps: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const {\r\n usState,\r\n loading,\r\n driversData,\r\n result,\r\n countyHob,\r\n cityHob,\r\n formValues,\r\n } = useSelector((state: AppState) => ({\r\n usState: usStateSelector(state),\r\n driversData: driversSelector(state),\r\n loading: loadingSelector(ReducerNames.TAX_MAPS)(state),\r\n result: resultSelector(state),\r\n countyHob: valueSelector(state, LocationFormNames.COUNTY),\r\n cityHob: valueSelector(state, LocationFormNames.CITY),\r\n formValues: getFormValues(TAX_MAPS_FORM)(state),\r\n }));\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None && !usState) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getStateAction(USStateCodes.NY, response.accessToken));\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress, usState]);\r\n\r\n const login = useSelector((state: AppState) => state.login);\r\n\r\n const handleSubmit = () => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n searchTaxMaps(driversData, formValues, response.accessToken),\r\n );\r\n });\r\n }\r\n };\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n {result && }\r\n \r\n );\r\n};\r\n\r\nexport default TaxMaps;\r\n","import React, { useMemo } from 'react';\r\nimport { reduxForm, change, InjectedFormProps, reset } from 'redux-form';\r\nimport { Form, Card, Row, Select, Button, Spin } from 'antd';\r\nimport {\r\n FormField,\r\n SkeletonHOC,\r\n InputTypes,\r\n getFilterOption,\r\n getOptions,\r\n required,\r\n} from 'common';\r\nimport { compose } from 'redux';\r\n\r\nimport styles from './PropertySearch.module.scss';\r\nimport {\r\n PROPERTY_SEARCH_FORM,\r\n PropertyFormLabels,\r\n LocationFormNames,\r\n PropertyFormPlaceholders,\r\n TAB_INDEX,\r\n EMPTY_VALUE,\r\n PROPERTY_SEARCH_FORM_INITIAL_VALUES,\r\n SearchTypeFormNames,\r\n} from './PropertySearch.constants';\r\nimport {\r\n getCountyOptions,\r\n getCities,\r\n getVillageOptions,\r\n getCityOptions,\r\n} from './PropertySearch.selectors';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropertySearchFormTabs from './PropertSearchFormTabs';\r\nimport { GetDriversResult } from './models';\r\nimport { getDrivers, resetDriversData, resetResults } from '.';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { AppState } from 'store';\r\nimport { USState } from 'common/models';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst { Option } = Select;\r\ninterface PropertySearchFormProps {\r\n usState: USState;\r\n driversData: GetDriversResult;\r\n handleSubmit: any;\r\n loading: boolean;\r\n countyHob: string;\r\n cityHob: string;\r\n formValues: any;\r\n}\r\n\r\ntype Props = PropertySearchFormProps &\r\n InjectedFormProps<\r\n { change: any; handleSubmit: any; valid: boolean },\r\n PropertySearchFormProps\r\n >;\r\n\r\nconst PropertySearchForm: React.FC = ({\r\n usState: { counties },\r\n handleSubmit,\r\n loading,\r\n driversData,\r\n countyHob,\r\n cityHob,\r\n formValues,\r\n valid,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const cities = useMemo(\r\n () => getCities(counties, countyHob),\r\n [counties, countyHob],\r\n );\r\n\r\n const countyOptions = useMemo(() => getCountyOptions(counties), [counties]);\r\n\r\n const cityOptions = useMemo(\r\n () => getCityOptions(counties, countyHob),\r\n [counties, countyHob],\r\n );\r\n\r\n const villageOptions = useMemo(() => {\r\n return getVillageOptions(cities, cityHob);\r\n }, [cityHob, cities]);\r\n\r\n const clearDrivers = React.useCallback(() => {\r\n dispatch(change(PROPERTY_SEARCH_FORM, 'driversSearch', {}));\r\n }, [dispatch]);\r\n\r\n const clearField = (fieldName: string) => {\r\n dispatch(change(PROPERTY_SEARCH_FORM, fieldName, EMPTY_VALUE));\r\n };\r\n\r\n const handleFieldFocus = ({ target: { name } }: any) => {\r\n dispatch(\r\n change(\r\n PROPERTY_SEARCH_FORM,\r\n SearchTypeFormNames.SEARCH_BY,\r\n name.match(/([^.]+)/)[0],\r\n ),\r\n );\r\n };\r\n\r\n const handleCountyChange = (value: string) => {\r\n clearField(LocationFormNames.CITY);\r\n clearField(LocationFormNames.VILLAGE);\r\n clearDrivers();\r\n if (!value) {\r\n dispatch(resetDriversData());\r\n return;\r\n }\r\n\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getDrivers(value, driversData, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const handleCityVillageChange = (value: string) => {\r\n clearDrivers();\r\n if (account && inProgress === InteractionStatus.None && value) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getDrivers(value, driversData, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const handleResetForm = () => {\r\n dispatch(resetResults());\r\n dispatch(reset(PROPERTY_SEARCH_FORM));\r\n dispatch(resetDriversData());\r\n };\r\n const login = useSelector((state: AppState) => state.login);\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n handleCountyChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, countyOptions)}\r\n \r\n {\r\n clearField(LocationFormNames.VILLAGE);\r\n handleCityVillageChange(value);\r\n }}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, cityOptions)}\r\n \r\n handleCityVillageChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, villageOptions)}\r\n \r\n \r\n \r\n \r\n Reset\r\n \r\n handleSubmit(formValues)}\r\n className={styles.button}\r\n >\r\n Search\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'usState', rows: 12 }),\r\n reduxForm({\r\n form: PROPERTY_SEARCH_FORM,\r\n initialValues: PROPERTY_SEARCH_FORM_INITIAL_VALUES,\r\n }),\r\n)(React.memo(PropertySearchForm));\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { PropertySearchResult } from '../../models';\r\nimport { Divider, Card, Typography, Table, Button } from 'antd';\r\nimport { PropertyAddress, PropertyOwner } from 'pages/common/models';\r\nimport { fetchPropertySearchDetailsAsync } from 'pages/PropertySearch';\r\nimport { CommonTable } from 'common';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Title, Text } = Typography;\r\nconst { Column } = Table;\r\n\r\nconst PropertySearchResultTable: React.FC<{\r\n data: PropertySearchResult;\r\n}> = (props: { data: PropertySearchResult }) => {\r\n const dispatch = useDispatch();\r\n const { data } = props;\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const getPropertyDetails = (record: any) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n fetchPropertySearchDetailsAsync(\r\n data.searchId,\r\n record,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n Reports\r\n \r\n {\r\n return (\r\n <>\r\n County: \r\n {county} \r\n {district && (\r\n <>\r\n District: \r\n {district} \r\n \r\n )}\r\n {section && (\r\n <>\r\n Section: \r\n {section} \r\n \r\n )}\r\n {sheet && (\r\n <>\r\n Sheet: \r\n {sheet} \r\n \r\n )}\r\n Block: \r\n {block} \r\n {lot && (\r\n <>\r\n Lot: \r\n {lot} \r\n \r\n )}\r\n {ca && (\r\n <>\r\n CA: \r\n {ca} \r\n \r\n )}\r\n {unit && (\r\n <>\r\n Unit: \r\n {unit} \r\n \r\n )}\r\n {lotSuf && (\r\n <>\r\n Lot Sufix: \r\n {lotSuf} \r\n \r\n )}\r\n {leadLot && (\r\n <>\r\n Lead Lot: \r\n {leadLot} \r\n \r\n )}\r\n {addLot && (\r\n <>\r\n Add Lot: \r\n {addLot} \r\n \r\n )}\r\n {item && (\r\n <>\r\n Item: \r\n {item} \r\n \r\n )}\r\n {policyViewFlag && (\r\n <>\r\n \r\n     {policyViewFlag}{' '}\r\n \r\n \r\n )}\r\n \r\n );\r\n }}\r\n />\r\n \r\n record.map((address: PropertyAddress, index: number) => {\r\n return (\r\n \r\n \r\n {`${address.houseNumber} ${address.street}${\r\n address.streetUnit || address.city ? ',' : ''\r\n } ${address.streetUnit} ${address.city}`}\r\n \r\n
\r\n
\r\n );\r\n })\r\n }\r\n />\r\n \r\n record.map((owner: PropertyOwner, index: number) => {\r\n return (\r\n \r\n {owner.name}\r\n
\r\n
\r\n );\r\n })\r\n }\r\n />\r\n (\r\n <>\r\n getPropertyDetails(record)}\r\n title=\"PROPERTY DETAILS\"\r\n >\r\n Details\r\n \r\n \r\n   *\r\n \r\n Fee applied on Click\r\n *\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PropertySearchResultTable;\r\n","import React, { useEffect } from 'react';\r\nimport { Spin } from 'antd';\r\nimport PropertySearchForm from './PropertySearchForm';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport {\r\n usStateSelector,\r\n driversSelector,\r\n resultSelector,\r\n detailsSelector,\r\n valueSelector,\r\n detailsLoadingSelector,\r\n} from './PropertySearch.selectors';\r\nimport {\r\n getStates as getStatesAction,\r\n searchByAddress,\r\n searchByOwner,\r\n searchByDrivers,\r\n} from './PropertySearch.actions';\r\nimport {\r\n USStateCodes,\r\n SearchTypeFormNames,\r\n LocationFormNames,\r\n PROPERTY_SEARCH_FORM,\r\n} from './PropertySearch.constants';\r\nimport { PropertySearchResultTable } from './templates';\r\nimport PropertySearchDetails from './PropertySearchDetails/PropertySearchDetails';\r\nimport { getFormValues } from 'redux-form';\r\nimport {\r\n LOADING,\r\n Sizes,\r\n loadingSelector,\r\n ReducerNames,\r\n scrollTop,\r\n} from 'common';\r\nimport { createSelector } from 'reselect';\r\nimport { useAccount, useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst selector = createSelector(\r\n (state: AppState) => usStateSelector(state),\r\n (state: AppState) => driversSelector(state),\r\n (state: AppState) => loadingSelector(ReducerNames.PROPERTY_SEARCH)(state),\r\n (state: AppState) => resultSelector(state),\r\n (state: AppState) => detailsSelector(state),\r\n (state: AppState) => valueSelector(state, LocationFormNames.COUNTY),\r\n (state: AppState) => valueSelector(state, LocationFormNames.CITY),\r\n (state: AppState) => getFormValues(PROPERTY_SEARCH_FORM)(state),\r\n (state: AppState) => detailsLoadingSelector(state),\r\n (\r\n usState,\r\n driversData,\r\n loading,\r\n result,\r\n details,\r\n countyHob,\r\n cityHob,\r\n formValues,\r\n detailsLoading,\r\n ) => ({\r\n usState,\r\n driversData,\r\n loading,\r\n result,\r\n details,\r\n countyHob,\r\n cityHob,\r\n formValues,\r\n detailsLoading,\r\n }),\r\n);\r\n\r\nconst PropertySearch: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const {\r\n usState,\r\n loading,\r\n driversData,\r\n result,\r\n details,\r\n countyHob,\r\n cityHob,\r\n formValues,\r\n detailsLoading,\r\n } = useSelector(selector);\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n const isAuthenticated = useIsAuthenticated();\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None && !usState) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getStatesAction(USStateCodes.NY, response.accessToken));\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress, usState]);\r\n\r\n const handleSubmit = (formValues: any) => {\r\n if (!isAuthenticated) return;\r\n\r\n switch (formValues.searchBy) {\r\n case SearchTypeFormNames.ADDRES_SEARCH: {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(searchByAddress(formValues, response.accessToken));\r\n });\r\n }\r\n break;\r\n }\r\n case SearchTypeFormNames.OWNER_SEARCH: {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(searchByOwner(formValues, response.accessToken));\r\n });\r\n }\r\n break;\r\n }\r\n case SearchTypeFormNames.DRIVERS_SEARCH: {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n searchByDrivers(driversData, formValues, response.accessToken),\r\n );\r\n });\r\n }\r\n break;\r\n }\r\n default: {\r\n return;\r\n }\r\n }\r\n scrollTop();\r\n };\r\n\r\n return (\r\n \r\n \r\n {details && (\r\n \r\n )}\r\n {result && }\r\n \r\n );\r\n};\r\n\r\nexport default PropertySearch;\r\n","import React from 'react';\r\nimport { Row, Alert } from 'antd';\r\nimport { FormField, maxLength } from 'common';\r\nimport { SearchTypeFormNames } from './Preacris.constants';\r\nimport styles from './Preacris.module.scss';\r\nimport { DriversResult } from './model';\r\nconst warnText = [maxLength(20)];\r\n\r\ninterface Props {\r\n driversData: DriversResult;\r\n}\r\nconst PreacrisFormTabs: React.FC = ({ driversData }) => {\r\n return (\r\n <>\r\n \r\n {driversData && driversData.drivers && driversData.drivers.length ? (\r\n driversData.drivers.map(({ index, fIndex, name }) => {\r\n return (\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PreacrisFormTabs;\r\n","import React from 'react';\r\nimport { Row } from 'antd';\r\nimport { maxLength } from 'common';\r\nimport { XDetailsResult } from './model';\r\nconst warnText = [maxLength(20)];\r\n\r\ninterface Props {\r\n xdetailsData: XDetailsResult;\r\n}\r\nconst PreacrisFormTabsInfo: React.FC = ({ xdetailsData }) => {\r\n return (\r\n <>\r\n \r\n {xdetailsData && xdetailsData.drivers && xdetailsData.drivers.length ? (\r\n xdetailsData.drivers.map(({ index, fIndex, name }) => {\r\n return (\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n /**/\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PreacrisFormTabsInfo;\r\n","import React, { useEffect, useMemo } from 'react';\r\nimport { reduxForm, change, InjectedFormProps, reset } from 'redux-form';\r\nimport { Form, Card, Button, Spin, Row, Select } from 'antd';\r\nimport {\r\n FormField,\r\n SkeletonHOC,\r\n InputTypes,\r\n required,\r\n IconTypeNames,\r\n getFilterOption,\r\n getOptions,\r\n} from 'common';\r\nimport { compose } from 'redux';\r\nimport styles from './Preacris.module.scss';\r\nimport {\r\n PREACRIS_ONLINE_FORM,\r\n PREACRIS_ONLINE_FORM_INITIAL_VALUES,\r\n TAB_INDEX,\r\n PreacrisFormLabels,\r\n LocationFormNames,\r\n PreacrisFormPlaceholders,\r\n EMPTY_VALUE,\r\n PreacrisSavedFormFieldNames,\r\n} from './Preacris.constants';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { resetResults, searchDocuments } from '.';\r\nimport { AppState } from 'store';\r\nimport PreacrisFormTabs from './PreacrisTabs';\r\nimport PreacrisFormTabsInfo from './PreacrisTabsInfo';\r\nimport {\r\n getDrivers,\r\n resetDriversData,\r\n getXDetails,\r\n resetXDetailsData,\r\n} from './Preacris.actions';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nimport {\r\n getStatesOptions,\r\n getCountyOptions,\r\n getCmtOptions,\r\n getCounties,\r\n getCmt,\r\n} from './Preacris.selectors';\r\n\r\nimport { USStates, DriversResult, XDetailsResult } from './model';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\nconst { Option } = Select;\r\ninterface PreacrisFormProps {\r\n usStates: USStates;\r\n handleSubmit: any;\r\n loading: boolean;\r\n stateHob: string;\r\n countyHob: string;\r\n cmtdocId: string;\r\n formValues: any;\r\n valid: boolean;\r\n driversData: DriversResult;\r\n xdetailsData: XDetailsResult;\r\n}\r\n\r\ntype Props = PreacrisFormProps & InjectedFormProps;\r\n\r\nconst PreacrisForm: React.FC = ({\r\n usStates,\r\n loading,\r\n stateHob,\r\n countyHob,\r\n cmtdocId,\r\n formValues,\r\n valid,\r\n driversData,\r\n xdetailsData,\r\n}: PreacrisFormProps) => {\r\n const dispatch = useDispatch();\r\n\r\n const handleResetForm = () => {\r\n localStorage.removeItem(PreacrisSavedFormFieldNames.STATE);\r\n localStorage.removeItem(PreacrisSavedFormFieldNames.COUNTY);\r\n localStorage.removeItem(PreacrisSavedFormFieldNames.CMT);\r\n dispatch(resetResults());\r\n dispatch(reset(PREACRIS_ONLINE_FORM));\r\n dispatch(resetDriversData());\r\n dispatch(resetXDetailsData());\r\n };\r\n\r\n const login = useSelector((state: AppState) => state.login);\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const handleSearch = (format: string) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n searchDocuments(\r\n cmtdocId,\r\n formValues,\r\n driversData,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n };\r\n\r\n const statesOptions = useMemo(() => getStatesOptions(usStates), [usStates]);\r\n\r\n const countyOptions = useMemo(\r\n () => getCountyOptions(usStates, stateHob),\r\n [usStates, stateHob],\r\n );\r\n\r\n const counties = useMemo(\r\n () => getCounties(usStates, stateHob),\r\n [usStates, stateHob],\r\n );\r\n\r\n const cmtOptions = useMemo(\r\n () => getCmtOptions(usStates, countyHob, stateHob),\r\n [usStates, countyHob, stateHob],\r\n );\r\n\r\n const cmt = useMemo(\r\n () => getCmt(usStates, stateHob, countyHob, cmtdocId),\r\n [usStates, stateHob, cmtdocId],\r\n );\r\n\r\n const clearDrivers = React.useCallback(() => {\r\n dispatch(change(PREACRIS_ONLINE_FORM, 'driversSearch', {}));\r\n }, [dispatch]);\r\n\r\n const handleStateChange = (value: string) => {\r\n stateHob = value;\r\n localStorage.setItem(PreacrisSavedFormFieldNames.STATE, value);\r\n localStorage.removeItem(PreacrisSavedFormFieldNames.COUNTY);\r\n localStorage.removeItem(PreacrisSavedFormFieldNames.CMT);\r\n clearField(LocationFormNames.COUNTY);\r\n clearField(LocationFormNames.CMT);\r\n dispatch(resetDriversData());\r\n dispatch(resetXDetailsData());\r\n };\r\n\r\n const handleCountyChange = (value: string) => {\r\n countyHob = value;\r\n localStorage.setItem(PreacrisSavedFormFieldNames.COUNTY, value);\r\n localStorage.removeItem(PreacrisSavedFormFieldNames.CMT);\r\n clearField(LocationFormNames.CMT);\r\n clearDrivers();\r\n if (!value) {\r\n dispatch(resetDriversData());\r\n dispatch(resetXDetailsData());\r\n return;\r\n }\r\n };\r\n\r\n const handleCMTChange = (value: string) => {\r\n cmtdocId = value;\r\n localStorage.setItem(PreacrisSavedFormFieldNames.CMT, value);\r\n clearDrivers();\r\n if (!value) {\r\n dispatch(resetDriversData());\r\n dispatch(resetXDetailsData());\r\n return;\r\n }\r\n if (account && inProgress === InteractionStatus.None && value) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken) {\r\n dispatch(\r\n getDrivers(\r\n stateHob,\r\n countyHob,\r\n value,\r\n driversData,\r\n response.accessToken,\r\n ),\r\n );\r\n dispatch(\r\n getXDetails(\r\n stateHob,\r\n countyHob,\r\n value,\r\n xdetailsData,\r\n response.accessToken,\r\n ),\r\n );\r\n }\r\n });\r\n }\r\n };\r\n\r\n const clearField = (fieldName: string) => {\r\n changeField(fieldName, EMPTY_VALUE);\r\n };\r\n\r\n const changeField = (fieldName: string, value: string) => {\r\n dispatch(change(PREACRIS_ONLINE_FORM, fieldName, value));\r\n };\r\n\r\n // if form field values exist in local storage, apply them to the form\r\n useEffect(() => {\r\n const savedState = localStorage.getItem(PreacrisSavedFormFieldNames.STATE);\r\n const savedCounty = localStorage.getItem(\r\n PreacrisSavedFormFieldNames.COUNTY,\r\n );\r\n const savedCmt = localStorage.getItem(PreacrisSavedFormFieldNames.CMT);\r\n\r\n if (savedState) {\r\n changeField(LocationFormNames.STATE, savedState);\r\n handleStateChange(savedState);\r\n }\r\n if (savedCounty) {\r\n changeField(LocationFormNames.COUNTY, savedCounty);\r\n handleCountyChange(savedCounty);\r\n }\r\n if (savedCmt) {\r\n changeField(LocationFormNames.CMT, savedCmt);\r\n handleCMTChange(savedCmt);\r\n }\r\n }, []);\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n DocuTrax: Document Images\r\n                       \r\n                       \r\n                       \r\n                       \r\n Click{' '}\r\n \r\n here\r\n {' '}\r\n to login to DTNY NYC Indices Site\r\n                       \r\n                       \r\n                       \r\n                       \r\n                  \r\n                       \r\n \r\n Here is a{' '}\r\n \r\n {' '}\r\n DocuTrax user guide{' '}\r\n {' '}\r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n handleStateChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, option: any) =>\r\n option.props.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n {getOptions(Option, statesOptions)}\r\n \r\n handleCountyChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, countyOptions)}\r\n \r\n
\r\n handleCMTChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, cmtOptions)}\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n Reset\r\n \r\n handleSearch('PDF')}\r\n className={styles.button}\r\n >\r\n Export as PDF\r\n \r\n \r\n *\r\n

\r\n

Fee applied on Export

\r\n \r\n *\r\n

\r\n \r\n   Document Images: $3.00    Single Page NYC\r\n Pre-1939 Images : $1.50\r\n

\r\n  \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'workaround', rows: 12 }),\r\n reduxForm({\r\n form: PREACRIS_ONLINE_FORM,\r\n initialValues: PREACRIS_ONLINE_FORM_INITIAL_VALUES,\r\n }),\r\n)(PreacrisForm);\r\n","import React, { useEffect } from 'react';\r\nimport PreacrisForm from './PreacrisForm';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { PREACRIS_ONLINE_FORM, LocationFormNames } from './Preacris.constants';\r\nimport { getFormValues } from 'redux-form';\r\nimport { loadingSelector, ReducerNames } from 'common';\r\nimport {\r\n usStateSelector,\r\n valueSelector,\r\n driversSelector,\r\n xdetailsSelector,\r\n} from './Preacris.selectors';\r\nimport { getStates, getLicenseFlag } from './Preacris.actions';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { AzureAdClaims } from 'common/models';\r\n\r\nconst Preacris: React.FC = () => {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n loading,\r\n formValues,\r\n usStates,\r\n stateHob,\r\n countyHob,\r\n cmtdocId,\r\n driversData,\r\n xdetailsData,\r\n } = useSelector((state: AppState) => ({\r\n loading: loadingSelector(ReducerNames.PREACRIS)(state),\r\n formValues: getFormValues(PREACRIS_ONLINE_FORM)(state),\r\n usStates: usStateSelector(state),\r\n stateHob: valueSelector(state, LocationFormNames.STATE),\r\n countyHob: valueSelector(state, LocationFormNames.COUNTY),\r\n cmtdocId: valueSelector(state, LocationFormNames.CMT),\r\n driversData: driversSelector(state),\r\n xdetailsData: xdetailsSelector(state),\r\n }));\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken && response?.idTokenClaims) {\r\n const azureAdClaims = response.idTokenClaims as AzureAdClaims;\r\n // TODO technically this isn't the right username since it's not the one that's in our database,\r\n // but this controller method in the API currently always returns true and doesn't check the username at all\r\n dispatch(\r\n getLicenseFlag(azureAdClaims.UserName, response.accessToken),\r\n );\r\n }\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress]);\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None && !usStates) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken) dispatch(getStates(response.accessToken));\r\n });\r\n }\r\n }, [dispatch, usStates]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Preacris;\r\n","import React from 'react';\r\nimport { Typography, Table } from 'antd';\r\nimport { CommonTable, SkeletonHOC } from 'common';\r\nimport {\r\n AvailableLocationData,\r\n AvailableMunicipalities,\r\n} from '../models/availableLocationData';\r\n\r\nconst { Text } = Typography;\r\nconst { Column } = Table;\r\n\r\nconst TaxTraxMunicipalitiesTable: React.FC<{\r\n municipalities: AvailableMunicipalities;\r\n}> = (props: { municipalities: AvailableMunicipalities }) => {\r\n const { municipalities } = props;\r\n\r\n // create an array of all unique available tax types for dynamically generating table columns\r\n const availableTaxTypes = municipalities.reduce(\r\n (\r\n taxTypesArray: string[],\r\n currentAvailableLocationData: AvailableLocationData,\r\n ) => {\r\n Object.keys(currentAvailableLocationData.taxYearRanges)?.map(\r\n (taxTypeKey) => {\r\n if (!taxTypesArray.some((x) => x === taxTypeKey)) {\r\n taxTypesArray.push(taxTypeKey);\r\n }\r\n },\r\n );\r\n return taxTypesArray;\r\n },\r\n [],\r\n );\r\n\r\n const isTown = (location: AvailableLocationData) => {\r\n return location.hobDescription === 'TOWN';\r\n };\r\n\r\n const isVillage = (location: AvailableLocationData) => {\r\n return location.hobDescription === 'VILLAGE';\r\n };\r\n\r\n const showTownBillAsterisk = (location: AvailableLocationData) => {\r\n return isTown(location) && location.hasBill;\r\n };\r\n\r\n const showVillageBillAsterisk = (location: AvailableLocationData) => {\r\n return isVillage(location) && location.hasBill;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {record}}\r\n />\r\n {record}}\r\n />\r\n (\r\n \r\n {record}\r\n {showTownBillAsterisk(location) ? '*' : ''}\r\n \r\n )}\r\n />\r\n (\r\n \r\n {record}\r\n {showVillageBillAsterisk(location) ? '*' : ''}\r\n \r\n )}\r\n />\r\n {availableTaxTypes.map((taxType) => {\r\n return (\r\n {\r\n return record && {record};\r\n }}\r\n />\r\n );\r\n })}\r\n \r\n * Bill Preview & Bill Download also available\r\n \r\n );\r\n};\r\n\r\nexport default SkeletonHOC({\r\n initProp: 'municipalities',\r\n rows: 12,\r\n fullWidth: true,\r\n})(TaxTraxMunicipalitiesTable);\r\n","import React from 'react';\r\nimport { Row, Modal, Spin } from 'antd';\r\nimport { useDispatch } from 'react-redux';\r\nimport { setAvailableMunicipalitiesModalVisibility } from '../TaxTrax.actions';\r\nimport { AvailableMunicipalities } from '../models';\r\nimport { LOADING, Sizes } from 'common/constants';\r\nimport TaxTraxMunicipalitiesTable from './TaxTraxMunicipalitiesTable';\r\nimport globalStyles from 'common/global.module.scss';\r\n\r\nconst TaxTraxAvailableMunicipiliaties: React.FC<{\r\n isVisible: boolean;\r\n loading: boolean;\r\n municipalities: AvailableMunicipalities;\r\n}> = ({ isVisible, loading, municipalities }) => {\r\n const dispatch = useDispatch();\r\n\r\n const closeModal = () => {\r\n dispatch(setAvailableMunicipalitiesModalVisibility(false));\r\n };\r\n\r\n return (\r\n closeModal()}\r\n footer={null}\r\n width=\"auto\"\r\n className={globalStyles.modalSpacing}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TaxTraxAvailableMunicipiliaties;\r\n","import React, { useEffect, useMemo } from 'react';\r\nimport { reduxForm, InjectedFormProps, reset } from 'redux-form';\r\nimport { Form, Card, Row, Select, Button, Spin, Col } from 'antd';\r\nimport {\r\n FormField,\r\n SkeletonHOC,\r\n InputTypes,\r\n getFilterOption,\r\n getOptions,\r\n required,\r\n Nullable,\r\n} from 'common';\r\nimport { compose } from 'redux';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport {\r\n TAXTRAX_FORM,\r\n TaxTraxFormLabels,\r\n LocationFormNames,\r\n TaxTraxFormPlaceholders,\r\n TAB_INDEX,\r\n EMPTY_VALUE,\r\n TAXTRAX_FORM_INITIAL_VALUES,\r\n SearchTypeFormNames,\r\n} from './TaxTrax.constants';\r\nimport {\r\n getCountyOptions,\r\n getCities,\r\n getVillageOptions,\r\n getCityOptions,\r\n getCounties,\r\n getVillages,\r\n} from './TaxTrax.selectors';\r\nimport { useDispatch } from 'react-redux';\r\nimport TaxTraxFormTabs from './TaxTraxFormTabs';\r\nimport { AvailableMunicipalities, GetDriversResult } from './models';\r\nimport {\r\n getAvailableMunicipalities,\r\n getDrivers,\r\n getStateOptions,\r\n resetDriversData,\r\n resetResults,\r\n setAvailableMunicipalitiesModalVisibility,\r\n} from '.';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { LoginState } from 'pages/Login';\r\nimport { USState } from 'common/models';\r\nimport TaxTraxAvailableMunicipiliaties from './TaxTraxAvailableMunicipalities/TaxTraxAvailableMunicipalities';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst { Option } = Select;\r\ninterface TaxTraxFormProps {\r\n login: LoginState;\r\n usStates: USState[];\r\n driversData: GetDriversResult;\r\n handleSubmit: any;\r\n loading: boolean;\r\n formValues: any;\r\n stateHob: string;\r\n countyHob: string;\r\n cityHob: string;\r\n showAvailableMunicipalitiesModal: boolean;\r\n availableMunicipalitiesLoading: boolean;\r\n availableMunicipalities: AvailableMunicipalities;\r\n}\r\n\r\ntype Props = TaxTraxFormProps &\r\n InjectedFormProps<\r\n { change: any; handleSubmit: any; valid: boolean },\r\n TaxTraxFormProps\r\n >;\r\n\r\nconst TaxTraxForm: React.FC = ({\r\n change,\r\n handleSubmit,\r\n login,\r\n usStates,\r\n loading,\r\n driversData,\r\n formValues,\r\n valid,\r\n stateHob,\r\n countyHob,\r\n cityHob,\r\n showAvailableMunicipalitiesModal,\r\n availableMunicipalitiesLoading,\r\n availableMunicipalities,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const counties = useMemo(\r\n () => getCounties(usStates, stateHob),\r\n [usStates, stateHob],\r\n );\r\n const cities = useMemo(\r\n () => getCities(counties, countyHob),\r\n [counties, countyHob],\r\n );\r\n const villages = useMemo(\r\n () => getVillages(cities, cityHob),\r\n [cities, cityHob],\r\n );\r\n const stateOptions = useMemo(() => getStateOptions(usStates), [usStates]);\r\n const countyOptions = useMemo(\r\n () => getCountyOptions(counties),\r\n [counties, stateHob],\r\n );\r\n const cityOptions = useMemo(\r\n () => getCityOptions(cities),\r\n [cities, countyHob],\r\n );\r\n const villageOptions = useMemo(\r\n () => getVillageOptions(villages),\r\n [villages, cityHob],\r\n );\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const clearDrivers = React.useCallback(() => {\r\n dispatch(change('driversSearch', {}));\r\n }, [dispatch]);\r\n\r\n const clearField = (fieldName: string) => {\r\n dispatch(change(fieldName, EMPTY_VALUE));\r\n };\r\n\r\n const handleFieldFocus = ({ target: { name } }: any) => {\r\n dispatch(change(SearchTypeFormNames.SEARCH_BY, name.match(/([^.]+)/)[0]));\r\n };\r\n\r\n const handleStateChange = (value: string) => {\r\n clearField(LocationFormNames.COUNTY);\r\n clearField(LocationFormNames.CITY);\r\n clearField(LocationFormNames.VILLAGE);\r\n clearDrivers();\r\n dispatch(resetDriversData());\r\n };\r\n\r\n const handleCountyChange = (value: string) => {\r\n clearField(LocationFormNames.CITY);\r\n clearField(LocationFormNames.VILLAGE);\r\n clearDrivers();\r\n if (!value) {\r\n dispatch(resetDriversData());\r\n return;\r\n }\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getDrivers(value, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const handleCityChange = (value: string) => {\r\n clearField(LocationFormNames.VILLAGE);\r\n clearDrivers();\r\n if (account && inProgress === InteractionStatus.None && value) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getDrivers(value, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const handleVillageChange = (value: string) => {\r\n clearDrivers();\r\n if (account && inProgress === InteractionStatus.None && value) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getDrivers(value, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const handleResetForm = () => {\r\n dispatch(resetResults());\r\n dispatch(reset(TAXTRAX_FORM));\r\n dispatch(resetDriversData());\r\n };\r\n\r\n const onShowAvailableMunicipalities = () => {\r\n dispatch(setAvailableMunicipalitiesModalVisibility(true));\r\n if (\r\n account &&\r\n inProgress === InteractionStatus.None &&\r\n !availableMunicipalities\r\n ) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getAvailableMunicipalities(response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n // set the state or county dropdown if it has only 1 available option respectively\r\n useEffect(() => {\r\n if (counties?.length === 1 && countyHob != counties[0].hobCode) {\r\n dispatch(change(LocationFormNames.COUNTY, counties[0].hobCode));\r\n handleCountyChange(counties[0].hobCode);\r\n } else if (usStates?.length === 1 && stateHob != usStates[0].stateCode) {\r\n dispatch(change(LocationFormNames.STATE, usStates[0].stateCode));\r\n handleStateChange(usStates[0].stateCode);\r\n }\r\n }, [usStates, counties]);\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n {/* TODO consider refactoring this form since most of it is shared with PropertySearchForm.tsx */}\r\n
\r\n \r\n handleStateChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, stateOptions)}\r\n \r\n handleCountyChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, countyOptions)}\r\n \r\n {\r\n clearField(LocationFormNames.VILLAGE);\r\n handleCityChange(value);\r\n }}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, cityOptions)}\r\n \r\n handleVillageChange(value)}\r\n showSearch={true}\r\n filterOption={(input: any, { props: { children } }: any) =>\r\n getFilterOption(children, input)\r\n }\r\n >\r\n {getOptions(Option, villageOptions)}\r\n \r\n \r\n \r\n onShowAvailableMunicipalities()}\r\n >\r\n TaxTrax - Available Municipalities\r\n \r\n \r\n \r\n \r\n \r\n \r\n Reset\r\n \r\n handleSubmit(formValues)}\r\n className={globalStyles.buttonWithTopMargin}\r\n >\r\n Search\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'usStates', rows: 12 }),\r\n reduxForm({\r\n form: TAXTRAX_FORM,\r\n initialValues: TAXTRAX_FORM_INITIAL_VALUES,\r\n }),\r\n)(React.memo(TaxTraxForm));\r\n","import React, { useEffect } from 'react';\r\nimport { Spin } from 'antd';\r\nimport TaxTraxForm from './TaxTraxForm';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport {\r\n usStatesSelector,\r\n driversSelector,\r\n resultSelector,\r\n valueSelector,\r\n detailsLoadingSelector,\r\n showAvailableMunicipalitiesModalSelector,\r\n availalableMunicipalitiesLoadingSelector,\r\n availableMunicipalitiesSelector,\r\n} from './TaxTrax.selectors';\r\nimport {\r\n getStates as getStatesAction,\r\n searchByAddress,\r\n searchByOwner,\r\n searchByDrivers,\r\n} from './TaxTrax.actions';\r\nimport {\r\n SearchTypeFormNames,\r\n LocationFormNames,\r\n TAXTRAX_FORM,\r\n} from './TaxTrax.constants';\r\nimport { TaxTraxResultTable } from './templates';\r\nimport TaxTraxTaxBills from './TaxTraxTaxBills/TaxTraxTaxBills';\r\nimport { getFormValues } from 'redux-form';\r\nimport {\r\n LOADING,\r\n Sizes,\r\n loadingSelector,\r\n ReducerNames,\r\n scrollTop,\r\n} from 'common';\r\nimport { createSelector } from 'reselect';\r\nimport { propertySelector, taxBillsResponseSelector } from '.';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { useAccount, useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst selector = createSelector(\r\n (state: AppState) => usStatesSelector(state),\r\n (state: AppState) => driversSelector(state),\r\n (state: AppState) => loadingSelector(ReducerNames.TAXTRAX)(state),\r\n (state: AppState) => resultSelector(state),\r\n (state: AppState) => taxBillsResponseSelector(state),\r\n (state: AppState) => propertySelector(state),\r\n (state: AppState) => getFormValues(TAXTRAX_FORM)(state),\r\n (state: AppState) => detailsLoadingSelector(state),\r\n (state: AppState) => valueSelector(state, LocationFormNames.STATE),\r\n (state: AppState) => valueSelector(state, LocationFormNames.COUNTY),\r\n (state: AppState) => valueSelector(state, LocationFormNames.CITY),\r\n (\r\n usStates,\r\n driversData,\r\n loading,\r\n result,\r\n taxBillsResponse,\r\n property,\r\n formValues,\r\n detailsLoading,\r\n stateHob,\r\n countyHob,\r\n cityHob,\r\n ) => ({\r\n usStates,\r\n driversData,\r\n loading,\r\n result,\r\n taxBillsResponse,\r\n property,\r\n formValues,\r\n detailsLoading,\r\n stateHob,\r\n countyHob,\r\n cityHob,\r\n }),\r\n);\r\n\r\nconst TaxTrax: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const {\r\n usStates,\r\n loading,\r\n driversData,\r\n result,\r\n taxBillsResponse,\r\n property,\r\n formValues,\r\n detailsLoading,\r\n stateHob,\r\n countyHob,\r\n cityHob,\r\n } = useSelector(selector);\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n const isAuthenticated = useIsAuthenticated();\r\n\r\n useEffect(() => {\r\n if (!usStates) {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getStatesAction(response.accessToken));\r\n });\r\n }\r\n }\r\n }, [dispatch, instance, account, inProgress, usStates]);\r\n\r\n const login = useSelector((state: AppState) => state.login);\r\n const showAvailableMunicipalitiesModal = useSelector((state: AppState) =>\r\n showAvailableMunicipalitiesModalSelector(state),\r\n );\r\n const availableMunicipalitiesLoading = useSelector((state: AppState) =>\r\n availalableMunicipalitiesLoadingSelector(state),\r\n );\r\n const availableMunicipalities = useSelector((state: AppState) =>\r\n availableMunicipalitiesSelector(state),\r\n );\r\n\r\n const handleSubmit = (formValues: any) => {\r\n if (!isAuthenticated) return;\r\n\r\n switch (formValues.searchBy) {\r\n case SearchTypeFormNames.ADDRESS_SEARCH: {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(searchByAddress(formValues, response.accessToken));\r\n });\r\n }\r\n break;\r\n }\r\n case SearchTypeFormNames.OWNER_SEARCH: {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(searchByOwner(formValues, response.accessToken));\r\n });\r\n }\r\n break;\r\n }\r\n case SearchTypeFormNames.DRIVERS_SEARCH: {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n searchByDrivers(driversData, formValues, response.accessToken),\r\n );\r\n });\r\n }\r\n break;\r\n }\r\n default: {\r\n return;\r\n }\r\n }\r\n scrollTop();\r\n };\r\n\r\n return (\r\n \r\n \r\n {taxBillsResponse && property && result && (\r\n \r\n )}\r\n {result && }\r\n \r\n );\r\n};\r\n\r\nexport default TaxTrax;\r\n","import React, { useMemo } from 'react';\r\nimport { reduxForm, initialize, InjectedFormProps } from 'redux-form';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport moment from 'moment';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { AppState } from 'store';\r\nimport { Form, Select, Button, Card, Row, Tooltip, Spin } from 'antd';\r\nimport {\r\n FormField,\r\n required,\r\n defaultDateFormat,\r\n InputTypes,\r\n SkeletonHOC,\r\n scrollTop,\r\n} from 'common';\r\nimport {\r\n initialForm,\r\n USER_USAGE_REPORT_FORM,\r\n} from '../UserUsageReport.constants';\r\nimport { compose } from 'redux';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { getUserUsageReportsByCustomer, userUsageReportClear } from '..';\r\nimport { UserCustomer } from '../models';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst { Option } = Select;\r\n\r\ninterface UserUsageReportFormProps {\r\n loading: boolean;\r\n customers: UserCustomer[];\r\n formValues: any;\r\n valid: boolean;\r\n}\r\n\r\ntype Props = UserUsageReportFormProps &\r\n InjectedFormProps<{}, UserUsageReportFormProps>;\r\n\r\nconst UserUsageReportForm: React.FC = ({\r\n loading,\r\n customers,\r\n formValues,\r\n valid,\r\n}: UserUsageReportFormProps) => {\r\n const dispatch = useDispatch();\r\n\r\n const { login } = useSelector((state: AppState) => ({\r\n login: state.login,\r\n }));\r\n\r\n const spinnerTitle = useMemo((): string => {\r\n if (loading) return 'Loading customers...';\r\n return '';\r\n }, [loading]);\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const handleSearch = () => {\r\n dispatch(userUsageReportClear());\r\n\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n getUserUsageReportsByCustomer(formValues, response.accessToken),\r\n );\r\n });\r\n }\r\n\r\n scrollTop();\r\n };\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n option.props.children\r\n .toLowerCase()\r\n .indexOf(input.toLowerCase()) >= 0\r\n }\r\n >\r\n \r\n {customers?.map((customer) => (\r\n \r\n {customer.name}\r\n \r\n ))}\r\n \r\n \r\n {\r\n dispatch(userUsageReportClear());\r\n dispatch(\r\n initialize(USER_USAGE_REPORT_FORM, {\r\n ...initialForm,\r\n }),\r\n );\r\n }}\r\n type=\"ghost\"\r\n >\r\n Reset\r\n \r\n \r\n handleSearch()}\r\n >\r\n Search\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'customers', rows: 3 }),\r\n reduxForm<{}, UserUsageReportFormProps>({\r\n form: USER_USAGE_REPORT_FORM,\r\n initialValues: initialForm,\r\n }),\r\n)(React.memo(UserUsageReportForm));\r\n","import React from 'react';\r\nimport { Table, Card, Typography, Divider, Button, Row, Col } from 'antd';\r\nimport { CommonTable, formatPriceString, SkeletonHOC } from 'common';\r\nimport { RESULT_COLUMN_NAMES } from '../UserUsageReport.constants';\r\nimport { CustomerUsageReport } from '../models';\r\nimport { useDispatch } from 'react-redux';\r\nimport { exportReportsToExcel } from '..';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\nconst { Column } = Table;\r\nconst { Title, Text } = Typography;\r\n\r\ninterface Props {\r\n reports: CustomerUsageReport[];\r\n searchCriteria: string;\r\n}\r\n\r\nconst getRender =\r\n (columnName: string) => (text: string, report: CustomerUsageReport) => {\r\n switch (columnName) {\r\n case RESULT_COLUMN_NAMES.totalAmount.dataIndex:\r\n return <>{formatPriceString(report.amount)};\r\n case RESULT_COLUMN_NAMES.searchParameters.dataIndex:\r\n // set whitespace to pre-wrap so that search parameters display line breaks and whitespace as returned from database\r\n return
{text}
;\r\n default:\r\n return text;\r\n }\r\n };\r\n\r\nconst UserUsageReportResult: React.FC = ({\r\n reports,\r\n searchCriteria,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const count = reports.length;\r\n const resultsNoun = count === 1 ? 'result' : 'results';\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const exportReportsToExcelClick = () => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n exportReportsToExcel(reports, searchCriteria, response.accessToken),\r\n );\r\n });\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Usage Report\r\n \r\n \r\n
\r\n \r\n \r\n Search Criteria: {searchCriteria}\r\n \r\n Your search has returned {count} {resultsNoun}\r\n \r\n \r\n \r\n exportReportsToExcelClick()}\r\n >\r\n Export as Excel\r\n \r\n \r\n \r\n \r\n \r\n {Object.values(RESULT_COLUMN_NAMES).map(\r\n ({ title, dataIndex, width }, index) => (\r\n \r\n ),\r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SkeletonHOC({ initProp: 'reports', rows: 8 })(\r\n UserUsageReportResult,\r\n);\r\n","import React, { useEffect, useMemo } from 'react';\r\nimport UserUsageReportForm from './UserUsageReportForm/UserUsageReportForm';\r\nimport UserUsageReportResult from './UserUsageReportResult/UserUsageReportResult';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { Spin } from 'antd';\r\nimport { ReducerNames } from 'common';\r\nimport { USER_USAGE_REPORT_FORM } from './UserUsageReport.constants';\r\nimport {\r\n getCustomers as getCustomersAction,\r\n customersSelector,\r\n userUsageReportAccessFlagSelector,\r\n} from '.';\r\nimport { loadingSelector } from 'common';\r\nimport { getFormValues } from 'redux-form';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst UserUsageReport: React.FC = () => {\r\n const dispatch = useDispatch();\r\n\r\n const { loading, formValues, customers, accessFlag, userUsageReport } =\r\n useSelector((state: AppState) => ({\r\n loading: loadingSelector(ReducerNames.USER_USAGE_REPORT)(state),\r\n formValues: getFormValues(USER_USAGE_REPORT_FORM)(state),\r\n customers: customersSelector(state),\r\n accessFlag: userUsageReportAccessFlagSelector(state),\r\n userUsageReport: state.userUsageReport,\r\n }));\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n useEffect(() => {\r\n if (\r\n account &&\r\n inProgress === InteractionStatus.None &&\r\n !customers &&\r\n accessFlag\r\n ) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getCustomersAction(response.accessToken));\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress, customers, accessFlag]);\r\n\r\n const spinnerTitle = useMemo((): string => {\r\n if (loading) return 'Searching data...';\r\n return '';\r\n }, [loading]);\r\n\r\n // explicit check for accessFlag === false because we don't want to redirect yet if the flag is null\r\n // null flag means it's still loading from the API\r\n if (accessFlag === false) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n {userUsageReport.reports && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default UserUsageReport;\r\n","// NOTE this const exists both here and in the API. It must remain consistent between both sources\r\nexport const LoginButtonSettings = {\r\n Default: 'Default',\r\n EnableCustomerLoginOnly: 'EnableCustomerLoginOnly',\r\n EnableEmployeeLoginOnly: 'EnableEmployeeLoginOnly',\r\n EnableDbLoginOnly: 'EnableDbLoginOnly',\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport styles from './Login.module.scss';\r\nimport { Row, Col, Spin, Typography, Button, Card } from 'antd';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { showErrorNotification } from 'common';\r\nimport { getCookie, setCookie } from 'common/helpers';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { stPortalUrl } from 'authConfig';\r\nimport { LoginButtonSettings } from './Login.constants';\r\nimport { useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Paragraph, Text } = Typography;\r\nconst enableAAD: string = process.env.REACT_APP_AZURE_ENABLE_AAD ?? '';\r\n\r\nconst Login: React.FC<{ location: Location }> = ({ location: { search } }) => {\r\n const login = useSelector((state: AppState) => state.login);\r\n\r\n const { inProgress } = useMsal();\r\n\r\n // extract query string parameters\r\n const urlParameters = new URLSearchParams(search);\r\n const returnTo = urlParameters.get('return_to');\r\n const history = useHistory();\r\n const errorMessage = getCookie('temperrormessage');\r\n const showStPortalLink = sessionStorage.getItem('showStPortalLinkInError');\r\n const loginButtonSetting = sessionStorage.getItem('loginButtonSetting');\r\n const loginErrorMessage = sessionStorage.getItem('loginErrorMessage');\r\n\r\n const clientLogin = () => {\r\n history.push('/public/signin');\r\n };\r\n\r\n const employeeLogin = () => {\r\n history.push('/public/employee-signin');\r\n };\r\n\r\n useEffect(() => {\r\n // if we got an error message, reset the cookie and show the error\r\n if (errorMessage && errorMessage !== 'undefined') {\r\n setCookie('temperrormessage', '');\r\n showErrorNotification(`Authenticating`, errorMessage);\r\n }\r\n }, [errorMessage]);\r\n\r\n if (showStPortalLink == 'true') {\r\n sessionStorage.removeItem('showStPortalLinkInError');\r\n }\r\n\r\n if (loginButtonSetting && inProgress == InteractionStatus.None) {\r\n sessionStorage.removeItem('loginButtonSetting');\r\n }\r\n\r\n if (loginErrorMessage && inProgress == InteractionStatus.None) {\r\n sessionStorage.removeItem('loginErrorMessage');\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n If you do not have a User Name or Password please contact a Customer\r\n Service Representative at  \r\n 516.663.0600\r\n \r\n \r\n \r\n\r\n \r\n \r\n {showStPortalLink == 'true' && stPortalUrl && (\r\n \r\n \r\n Congratulations! Your account is ready for migration. Please\r\n complete your account migration by logging into your SearchTrax\r\n Portal account using this{' '}\r\n \r\n link\r\n \r\n .\r\n \r\n \r\n )}\r\n {!showStPortalLink && loginErrorMessage && (\r\n \r\n {loginErrorMessage}\r\n \r\n )}\r\n \r\n \r\n \r\n {enableAAD === 'true' && (\r\n \r\n

\r\n
\r\n DataTraceID Sign In\r\n

\r\n
\r\n \r\n clientLogin()}\r\n disabled={\r\n loginButtonSetting ===\r\n LoginButtonSettings.EnableEmployeeLoginOnly ||\r\n loginButtonSetting ===\r\n LoginButtonSettings.EnableDbLoginOnly\r\n }\r\n >\r\n CUSTOMER SIGN IN\r\n \r\n employeeLogin()}\r\n disabled={\r\n loginButtonSetting ===\r\n LoginButtonSettings.EnableCustomerLoginOnly ||\r\n loginButtonSetting ===\r\n LoginButtonSettings.EnableDbLoginOnly\r\n }\r\n >\r\n EMPLOYEE SIGN IN\r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n
\r\n
\r\n \r\n PRIVACY NOTICE:Learn more about why we collect this information and how we use it\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Login;\r\n","import React from 'react';\r\nimport { reduxForm, InjectedFormProps, reset } from 'redux-form';\r\nimport { Form, Card, Button, Spin, Radio, Row } from 'antd';\r\nimport {\r\n FormField,\r\n SkeletonHOC,\r\n InputTypes,\r\n required,\r\n IconTypeNames,\r\n} from 'common';\r\nimport { compose } from 'redux';\r\n\r\nimport styles from './DepOnline.module.scss';\r\nimport {\r\n DEP_ONLINE_FORM,\r\n DEP_ONLINE_FORM_INITIAL_VALUES,\r\n} from './DepOnline.constants';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { resetResults, searchDepOnline } from '.';\r\nimport { AppState } from 'store';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\ninterface DepOnlineFormProps {\r\n handleSubmit: any;\r\n loading: boolean;\r\n countyHob: string;\r\n cityHob: string;\r\n formValues: any;\r\n valid: boolean;\r\n}\r\n\r\ntype Props = DepOnlineFormProps & InjectedFormProps;\r\n\r\nconst DepOnlineForm: React.FC = ({\r\n loading,\r\n formValues,\r\n valid,\r\n}: DepOnlineFormProps) => {\r\n const dispatch = useDispatch();\r\n\r\n const handleResetForm = () => {\r\n dispatch(resetResults());\r\n dispatch(reset(DEP_ONLINE_FORM));\r\n };\r\n\r\n const locations = [\r\n { name: 'Manhattan', value: 'NY065001000' },\r\n { name: 'Bronx', value: 'NY065002000' },\r\n { name: 'Kings', value: 'NY065003000' },\r\n { name: 'Queens', value: 'NY065004000' },\r\n { name: 'Richmond', value: 'NY065005000' },\r\n ];\r\n\r\n const login = useSelector((state: AppState) => state.login);\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const handleSearch = (format: string) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(searchDepOnline(formValues, format, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n {locations.map((item) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n DEP Bill\r\n \r\n {\r\n

\r\n NYC DEP is temporarily unavailable.\r\n

\r\n }\r\n \r\n Reset\r\n \r\n handleSearch('PDF')}\r\n className={styles.button}\r\n >\r\n Export as PDF\r\n \r\n handleSearch('doc')}\r\n className={styles.button}\r\n >\r\n Export as Word\r\n \r\n \r\n *\r\n

\r\n

Fee applied on Export

\r\n \r\n *\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n SkeletonHOC({ initProp: 'workaround', rows: 12 }),\r\n reduxForm({\r\n form: DEP_ONLINE_FORM,\r\n initialValues: DEP_ONLINE_FORM_INITIAL_VALUES,\r\n }),\r\n)(DepOnlineForm);\r\n","import React from 'react';\r\nimport DepOnlineForm from './DepOnlineForm';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { DEP_ONLINE_FORM } from './DepOnline.constants';\r\nimport { getFormValues } from 'redux-form';\r\nimport { loadingSelector, ReducerNames } from 'common';\r\n\r\nconst DepOnline: React.FC = () => {\r\n const { loading, formValues } = useSelector((state: AppState) => ({\r\n loading: loadingSelector(ReducerNames.DEP_ONLINE)(state),\r\n formValues: getFormValues(DEP_ONLINE_FORM)(state),\r\n }));\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default DepOnline;\r\n","import {\r\n SEARCH_CLEAR,\r\n SEARCH_LOADING,\r\n SEARCH_PROPERTY_ADD,\r\n SEARCH_NAME_ADD,\r\n SEARCH_OTHER_ADD,\r\n SEARCH_IS_SELECTED_UPDATE,\r\n SearchIsSelectedUpdate,\r\n DocumentTypeName,\r\n DataTypeName,\r\n SearchShowReferncesUpdate,\r\n SEARCH_SHOW_REFERNCES_UPDATE,\r\n SearchExportTypeUpdate,\r\n SEARCH_EXPORT_TYPE_UPDATE,\r\n SEARCH_TOGGLE_SELECT_ALL,\r\n SEARCH_MULTI_ADD,\r\n ResultTypeName,\r\n} from './Search.types';\r\nimport { Dispatch } from 'redux';\r\nimport { httpError, json, fetchPost, showWarnNotification } from 'common';\r\nimport {\r\n SearchByPropertyResult,\r\n SearchFormData,\r\n SearchByNameResultWithSearchCriteria,\r\n SearchByOtherResult,\r\n} from './models';\r\nimport { bookTypeOptions, Tabs } from './SearchForm/consts';\r\nimport { SearchByMultiResult } from './models/result/SearchByMultiResult';\r\n\r\nexport function searchClear() {\r\n return {\r\n type: SEARCH_CLEAR,\r\n };\r\n}\r\n\r\nexport function searchToggleSelectAll(\r\n dataTypeName: DataTypeName,\r\n documentType: string,\r\n selectAll: boolean,\r\n resultItemIndex: number,\r\n resultType: ResultTypeName,\r\n) {\r\n return {\r\n type: SEARCH_TOGGLE_SELECT_ALL,\r\n payload: {\r\n dataTypeName,\r\n documentType,\r\n selectAll,\r\n resultItemIndex,\r\n resultType,\r\n },\r\n };\r\n}\r\n\r\nexport function searchLoading(loading: boolean) {\r\n return {\r\n type: SEARCH_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function searchPropertyAdd(data: SearchByPropertyResult) {\r\n return {\r\n type: SEARCH_PROPERTY_ADD,\r\n payload: data,\r\n };\r\n}\r\n\r\nexport const searchIsSelectedUpdate = (\r\n dataTypeName: DataTypeName,\r\n documentType: DocumentTypeName,\r\n guid: string,\r\n isSelected: boolean,\r\n resultItemIndex: number,\r\n resultType?: ResultTypeName,\r\n): SearchIsSelectedUpdate => ({\r\n type: SEARCH_IS_SELECTED_UPDATE,\r\n payload: {\r\n dataTypeName,\r\n documentType,\r\n guid,\r\n isSelected,\r\n resultItemIndex,\r\n resultType,\r\n },\r\n});\r\n\r\nexport const searchShowReferncesUpdate = (\r\n dataTypeName: DataTypeName,\r\n documentType: DocumentTypeName,\r\n showReferences: boolean,\r\n resultItemIndex: number,\r\n resultType: ResultTypeName,\r\n): SearchShowReferncesUpdate => ({\r\n type: SEARCH_SHOW_REFERNCES_UPDATE,\r\n payload: {\r\n dataTypeName,\r\n documentType,\r\n showReferences,\r\n resultItemIndex,\r\n resultType,\r\n },\r\n});\r\n\r\nexport const searchExportTypeUpdate = (\r\n dataTypeName: DataTypeName,\r\n documentType: DocumentTypeName,\r\n exportType: string,\r\n resultItemIndex: number,\r\n resultType: ResultTypeName,\r\n): SearchExportTypeUpdate => ({\r\n type: SEARCH_EXPORT_TYPE_UPDATE,\r\n payload: {\r\n dataTypeName,\r\n documentType,\r\n exportType,\r\n resultItemIndex,\r\n resultType,\r\n },\r\n});\r\n\r\nexport function searchNameAdd(data: SearchByNameResultWithSearchCriteria) {\r\n return {\r\n type: SEARCH_NAME_ADD,\r\n payload: data,\r\n };\r\n}\r\n\r\nexport function searchOtherAdd(data: SearchByOtherResult) {\r\n return {\r\n type: SEARCH_OTHER_ADD,\r\n payload: data,\r\n };\r\n}\r\n\r\nexport function searchMultiAdd(data: SearchByMultiResult) {\r\n return {\r\n type: SEARCH_MULTI_ADD,\r\n payload: data,\r\n };\r\n}\r\n\r\nexport function fetchAsync(params: SearchFormData, bearerToken: string) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n let searchRequest: any = {\r\n hob: params.hob,\r\n from: params.from,\r\n to: params.to,\r\n bookType: params.bookType,\r\n bookTypeText: bookTypeOptions.find((x) => x.value == params.bookType)?.text,\r\n apn: params.apn,\r\n searchName: params.searchName,\r\n isOldSystem: params.isOldSystem,\r\n };\r\n\r\n const documentTypes: string[] = [];\r\n const documentTypesByBlockLot: string[] = [];\r\n const documentTypesByName: string[] = [];\r\n const documentTypesByAddress: string[] = [];\r\n\r\n switch (params.tab) {\r\n case Tabs.Property:\r\n if (params.propertyTab.assessment) documentTypes.push('assessment');\r\n if (params.propertyTab.filedLiens) documentTypes.push('liens');\r\n if (params.propertyTab.recordedDocuments)\r\n documentTypes.push('recordedDocuments');\r\n\r\n searchRequest = {\r\n documentTypes,\r\n ...searchRequest,\r\n ...params.propertyTab,\r\n };\r\n break;\r\n case Tabs.Name:\r\n if (params.nameTab.judgmentsLiens) documentTypes.push('liens');\r\n if (params.nameTab.ftl) documentTypes.push('federalTaxLiens');\r\n if (params.nameTab.parkingViolations)\r\n documentTypes.push('parkingViolationJudgments');\r\n if (params.nameTab.ecb)\r\n documentTypes.push('environmentalControlBoardJudgments');\r\n if (params.nameTab.tab)\r\n documentTypes.push('transitAdjudicationBureauJudgments');\r\n if (params.nameTab.ucc) documentTypes.push('uniformCommercialCodes');\r\n if (params.nameTab.recordedDocuments)\r\n documentTypes.push('recordedDocuments');\r\n\r\n searchRequest = {\r\n documentTypes,\r\n ...searchRequest,\r\n ...params.nameTab,\r\n };\r\n break;\r\n case Tabs.Other:\r\n searchRequest = {\r\n ...searchRequest,\r\n ...params.otherTab,\r\n };\r\n break;\r\n case Tabs.Multi:\r\n if (params.multiTab.assessment)\r\n documentTypesByBlockLot.push('assessment');\r\n if (params.multiTab.filedLiens) documentTypesByBlockLot.push('liens');\r\n if (params.multiTab.recordedDocumentsByBlockLot)\r\n documentTypesByBlockLot.push('recordedDocuments');\r\n\r\n if (params.multiTab.judgmentsLiens) documentTypesByName.push('liens');\r\n if (params.multiTab.ftl) documentTypesByName.push('federalTaxLiens');\r\n if (params.multiTab.parkingViolations)\r\n documentTypesByName.push('parkingViolationJudgments');\r\n if (params.multiTab.ecb)\r\n documentTypesByName.push('environmentalControlBoardJudgments');\r\n if (params.multiTab.tab)\r\n documentTypesByName.push('transitAdjudicationBureauJudgments');\r\n if (params.multiTab.ucc)\r\n documentTypesByName.push('uniformCommercialCodes');\r\n if (params.multiTab.recordedDocuments)\r\n documentTypesByName.push('recordedDocuments');\r\n\r\n if (params.multiTab.ecbsByAddress)\r\n documentTypesByAddress.push('environmentalControlBoardJudgments');\r\n if (params.multiTab.emergencyRepairs)\r\n documentTypesByAddress.push('emergencyRepairs');\r\n\r\n searchRequest = {\r\n documentTypesByBlockLot,\r\n documentTypesByName,\r\n documentTypesByAddress,\r\n ...searchRequest,\r\n ...params.multiTab,\r\n };\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return (dispatch: Dispatch) => {\r\n dispatch(searchLoading(true));\r\n fetchPost(\r\n `${apiUri}/nycDatabase/searchBy${params.tab}`,\r\n searchRequest,\r\n bearerToken,\r\n )\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n return response;\r\n })\r\n .then(\r\n (\r\n result:\r\n | SearchByPropertyResult\r\n | SearchByNameResultWithSearchCriteria\r\n | SearchByOtherResult\r\n | SearchByMultiResult,\r\n ) => {\r\n dispatch(searchLoading(false));\r\n switch (params.tab) {\r\n case Tabs.Property:\r\n dispatch(searchPropertyAdd(result as SearchByPropertyResult));\r\n break;\r\n case Tabs.Name:\r\n dispatch(\r\n searchNameAdd(result as SearchByNameResultWithSearchCriteria),\r\n );\r\n break;\r\n case Tabs.Other:\r\n dispatch(searchOtherAdd(result as SearchByOtherResult));\r\n break;\r\n case Tabs.Multi:\r\n dispatch(searchMultiAdd(result as SearchByMultiResult));\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n )\r\n .catch((error) => {\r\n dispatch(searchLoading(false));\r\n showWarnNotification(`Search`, error.message);\r\n });\r\n };\r\n}\r\n","import { Dispatch } from 'redux';\r\nimport {\r\n httpError,\r\n fetchGet,\r\n json,\r\n fetchPost,\r\n showWarnNotification,\r\n showSuccessNotification,\r\n} from 'common';\r\nimport {\r\n SEARCH_DETAILS_ADD,\r\n SEARCH_DETAILS_CLEAR,\r\n SEARCH_DETAILS_LOADING,\r\n} from './SearchDetails.types';\r\nimport {\r\n Lien,\r\n RecordedDocument,\r\n EnvironmentalControlBoardJudgment,\r\n ParkingViolationJudgment,\r\n TransitAdjudicationBureauJudgment,\r\n} from 'pages/Search/models';\r\n\r\nexport function searchDetailsAdd(\r\n item:\r\n | null\r\n | Lien\r\n | RecordedDocument\r\n | EnvironmentalControlBoardJudgment\r\n | ParkingViolationJudgment\r\n | TransitAdjudicationBureauJudgment,\r\n) {\r\n return {\r\n type: SEARCH_DETAILS_ADD,\r\n payload: item,\r\n };\r\n}\r\n\r\nexport function searchDetailsClear() {\r\n return {\r\n type: SEARCH_DETAILS_CLEAR,\r\n };\r\n}\r\n\r\nexport function searchDetailsLoading(loading: boolean) {\r\n return {\r\n type: SEARCH_DETAILS_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function fetchDetailsAsync(\r\n type: string,\r\n boro: number,\r\n documentId: string,\r\n bearerToken: string,\r\n) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n return (dispatch: Dispatch) => {\r\n dispatch(searchDetailsLoading(true));\r\n fetchGet(\r\n `${apiUri}/RecordedDocuments/${boro}/${type}/${documentId}`,\r\n bearerToken,\r\n )\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n return response;\r\n })\r\n .then((item: RecordedDocument) => {\r\n dispatch(searchDetailsLoading(false));\r\n return dispatch(searchDetailsAdd(item));\r\n })\r\n .catch((error) => {\r\n dispatch(searchDetailsLoading(false));\r\n showWarnNotification(`Fetch details`, error.message);\r\n });\r\n };\r\n}\r\n\r\nexport function fetchExternalDetailsAsync(\r\n filesId: string[],\r\n bearerToken: string,\r\n) {\r\n const apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\n return (dispatch: Dispatch) => {\r\n dispatch(searchDetailsLoading(true));\r\n fetchPost(`${apiUri}/RecordedDocuments/getDocument`, filesId, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n return response;\r\n })\r\n .then((res) => {\r\n dispatch(searchDetailsLoading(false));\r\n showSuccessNotification(`Fetch details`, `New tab should open`);\r\n window.open(\r\n `http://viewer.brsonline.com/?doc=${res.guid}&p=1&fmt=H950W750C10`,\r\n '_blank',\r\n );\r\n })\r\n .catch((error) => {\r\n dispatch(searchDetailsLoading(false));\r\n showWarnNotification(`Fetch details`, error.message);\r\n });\r\n };\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Spin, Button, Modal, Table } from 'antd';\r\nimport { AppState } from 'store';\r\nimport {\r\n FormField,\r\n defaultDateFormat,\r\n showSuccessNotification,\r\n scrollTop,\r\n CommonTable,\r\n Date as DateComponent,\r\n} from 'common';\r\nimport { fetchHistoryAsync, searchHistoryClear } from './SearchHistory.actions';\r\nimport { UserSearchHistory } from '.';\r\nimport moment from 'moment';\r\nimport {\r\n Tabs,\r\n SearchTypes,\r\n NYC_DB_FORM_NAME,\r\n OtherTabFieldNames,\r\n initialAliases,\r\n initialCorporations,\r\n initialAddresses,\r\n} from '../SearchForm/consts';\r\nimport styles from './SearchHistory.module.scss';\r\nimport { getFormValues } from 'redux-form';\r\nimport { createSelector } from 'reselect';\r\nimport { useAccount, useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Column } = Table;\r\n\r\nconst selector = createSelector(\r\n (state: AppState) => state.login,\r\n (state: AppState) => state.searchHistory,\r\n (state: AppState) => getFormValues(NYC_DB_FORM_NAME)(state),\r\n (login, searchHistory, formValues: any) => ({\r\n login,\r\n searchHistory,\r\n formValues,\r\n }),\r\n);\r\n\r\nconst SearchHistory: React.FC<{ changeFormValues: any }> = ({\r\n changeFormValues,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { login, searchHistory, formValues } = useSelector(selector);\r\n const [modal, setModal] = useState(false);\r\n const { instance, accounts, inProgress } = useMsal();\r\n const isAuthenticated = useIsAuthenticated();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None && modal) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n fetchHistoryAsync(formValues.searchName, response.accessToken),\r\n );\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress, modal, formValues, login]);\r\n\r\n const setParams = (item: UserSearchHistory) => {\r\n if (isAuthenticated) {\r\n const { searchParameters, searchType, createDate } = item;\r\n const {\r\n from,\r\n to,\r\n bookType,\r\n hob,\r\n documentTypes,\r\n searchBy,\r\n searchByIndividual,\r\n searchByCorporation,\r\n aliases,\r\n corporations,\r\n block,\r\n lot,\r\n ease,\r\n street,\r\n houseNumber,\r\n apartmentNumber,\r\n ownerName,\r\n acris,\r\n controlNumber,\r\n crfn,\r\n documentId,\r\n fileNumber,\r\n page,\r\n reel,\r\n documentTypesByBlockLot,\r\n documentTypesByName,\r\n documentTypesByAddress,\r\n searchByBlockLot,\r\n searchByName,\r\n searchByAddress,\r\n addresses,\r\n } = searchParameters || {};\r\n\r\n changeFormValues('hob', hob);\r\n\r\n if (searchType !== SearchTypes.Other) {\r\n let newFromDate: Date;\r\n\r\n if (to && moment(createDate).isAfter(to)) {\r\n // Create Date is after To Date, therefore set From Date to value of To Date\r\n newFromDate = to;\r\n } else {\r\n // Create Date is before To Date or To Date doesn't exist, therefore set From Date to value of Create Date\r\n newFromDate = createDate;\r\n }\r\n\r\n changeFormValues('from', moment(newFromDate).format(defaultDateFormat));\r\n\r\n // set To Date to today\r\n changeFormValues('to', moment(new Date()).format(defaultDateFormat));\r\n\r\n if (bookType) {\r\n changeFormValues('bookType', bookType);\r\n } else {\r\n changeFormValues('bookType', '');\r\n }\r\n } else {\r\n changeFormValues('from', '');\r\n changeFormValues('to', '');\r\n changeFormValues('bookType', '');\r\n }\r\n\r\n switch (searchType) {\r\n case SearchTypes.Property:\r\n changeFormValues('tab', Tabs.Property);\r\n changeFormValues('propertyTab.searchBy', searchBy);\r\n\r\n changeFormValues(\r\n 'propertyTab.assessment',\r\n documentTypes.indexOf('assessment') !== -1,\r\n );\r\n changeFormValues(\r\n 'propertyTab.filedLiens',\r\n documentTypes.indexOf('liens') !== -1,\r\n );\r\n changeFormValues(\r\n 'propertyTab.recordedDocuments',\r\n documentTypes.indexOf('recordedDocuments') !== -1,\r\n );\r\n\r\n switch (searchBy) {\r\n case 'parcel':\r\n changeFormValues('propertyTab.searchBy', 'parcel');\r\n changeFormValues('propertyTab.block', block);\r\n changeFormValues('propertyTab.lot', lot);\r\n changeFormValues('propertyTab.ease', ease);\r\n break;\r\n case 'address':\r\n changeFormValues('propertyTab.street', street);\r\n changeFormValues('propertyTab.houseNumber', houseNumber);\r\n changeFormValues('propertyTab.apartmentNumber', apartmentNumber);\r\n break;\r\n case 'assessedOwner':\r\n changeFormValues('propertyTab.ownerName', ownerName);\r\n break;\r\n default:\r\n break;\r\n }\r\n break;\r\n case SearchTypes.Name:\r\n changeFormValues('tab', Tabs.Name);\r\n\r\n changeFormValues('nameTab.acris', acris);\r\n\r\n changeFormValues(\r\n 'nameTab.judgmentsLiens',\r\n documentTypes.indexOf('liens') !== -1,\r\n );\r\n changeFormValues(\r\n 'nameTab.ftl',\r\n documentTypes.indexOf('federalTaxLiens') !== -1,\r\n );\r\n changeFormValues(\r\n 'nameTab.parkingViolations',\r\n documentTypes.indexOf('parkingViolationJudgments') !== -1,\r\n );\r\n changeFormValues(\r\n 'nameTab.ecb',\r\n documentTypes.indexOf('environmentalControlBoardJudgments') !== -1,\r\n );\r\n changeFormValues(\r\n 'nameTab.tab',\r\n documentTypes.indexOf('transitAdjudicationBureauJudgments') !== -1,\r\n );\r\n changeFormValues(\r\n 'nameTab.ucc',\r\n documentTypes.indexOf('uniformCommercialCodes') !== -1,\r\n );\r\n changeFormValues(\r\n 'nameTab.recordedDocuments',\r\n documentTypes.indexOf('recordedDocuments') !== -1,\r\n );\r\n\r\n if (aliases?.length > 0) {\r\n changeFormValues('nameTab.aliases', aliases);\r\n } else {\r\n changeFormValues('nameTab.aliases', initialAliases);\r\n }\r\n\r\n if (corporations?.length > 0) {\r\n changeFormValues('nameTab.corporations', corporations);\r\n } else {\r\n changeFormValues('nameTab.corporations', initialCorporations);\r\n }\r\n\r\n changeFormValues('nameTab.searchByIndividual', searchByIndividual);\r\n changeFormValues('nameTab.searchByCorporation', searchByCorporation);\r\n\r\n // this is to accomodate legacy contins that were using searchBy before we implemented the ability to search by both individual and corporation at the same time\r\n if (!searchByIndividual && !searchByCorporation) {\r\n if (searchBy === 'individual')\r\n changeFormValues('nameTab.searchByIndividual', true);\r\n else if (searchBy === 'corporation')\r\n changeFormValues('nameTab.searchByCorporation', true);\r\n }\r\n break;\r\n case SearchTypes.Other:\r\n changeFormValues('tab', Tabs.Other);\r\n changeFormValues(OtherTabFieldNames.SEARCHBY, searchBy);\r\n changeFormValues(OtherTabFieldNames.DOCUMENT_ID, documentId);\r\n changeFormValues(OtherTabFieldNames.CRFN, crfn);\r\n changeFormValues(OtherTabFieldNames.REEL, reel);\r\n changeFormValues(OtherTabFieldNames.PAGE, page);\r\n changeFormValues(OtherTabFieldNames.FILE_NUMBER, fileNumber);\r\n changeFormValues(OtherTabFieldNames.CONTROL_NUMBER, controlNumber);\r\n\r\n if (addresses?.length > 0) {\r\n changeFormValues(OtherTabFieldNames.ADDRESSES, addresses);\r\n } else {\r\n changeFormValues(OtherTabFieldNames.ADDRESSES, initialAddresses);\r\n }\r\n break;\r\n case SearchTypes.Multi:\r\n changeFormValues('tab', Tabs.Multi);\r\n\r\n // block lot search fields\r\n changeFormValues('multiTab.searchByBlockLot', searchByBlockLot);\r\n changeFormValues(\r\n 'multiTab.assessment',\r\n documentTypesByBlockLot.indexOf('assessment') !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.filedLiens',\r\n documentTypesByBlockLot.indexOf('liens') !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.recordedDocumentsByBlockLot',\r\n documentTypesByBlockLot.indexOf('recordedDocuments') !== -1,\r\n );\r\n\r\n changeFormValues('multiTab.block', block);\r\n changeFormValues('multiTab.lot', lot);\r\n changeFormValues('multiTab.ease', ease);\r\n\r\n // name search fields\r\n changeFormValues('multiTab.searchByName', searchByName);\r\n changeFormValues('multiTab.acris', acris);\r\n\r\n changeFormValues(\r\n 'multiTab.judgmentsLiens',\r\n documentTypesByName.indexOf('liens') !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.ftl',\r\n documentTypesByName.indexOf('federalTaxLiens') !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.parkingViolations',\r\n documentTypesByName.indexOf('parkingViolationJudgments') !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.ecb',\r\n documentTypesByName.indexOf(\r\n 'environmentalControlBoardJudgments',\r\n ) !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.tab',\r\n documentTypesByName.indexOf(\r\n 'transitAdjudicationBureauJudgments',\r\n ) !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.ucc',\r\n documentTypesByName.indexOf('uniformCommercialCodes') !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.recordedDocuments',\r\n documentTypesByName.indexOf('recordedDocuments') !== -1,\r\n );\r\n\r\n if (aliases?.length > 0) {\r\n changeFormValues('multiTab.aliases', aliases);\r\n } else {\r\n changeFormValues('multiTab.aliases', initialAliases);\r\n }\r\n\r\n if (corporations?.length > 0) {\r\n changeFormValues('multiTab.corporations', corporations);\r\n } else {\r\n changeFormValues('multiTab.corporations', initialCorporations);\r\n }\r\n\r\n changeFormValues('multiTab.searchByIndividual', searchByIndividual);\r\n changeFormValues('multiTab.searchByCorporation', searchByCorporation);\r\n\r\n // address search fields\r\n changeFormValues('multiTab.searchByAddress', searchByAddress);\r\n changeFormValues(\r\n 'multiTab.ecbsByAddress',\r\n documentTypesByAddress.indexOf(\r\n 'environmentalControlBoardJudgments',\r\n ) !== -1,\r\n );\r\n changeFormValues(\r\n 'multiTab.emergencyRepairs',\r\n documentTypesByAddress.indexOf('emergencyRepairs') !== -1,\r\n );\r\n\r\n if (addresses?.length > 0) {\r\n changeFormValues('multiTab.addresses', addresses);\r\n } else {\r\n changeFormValues('multiTab.addresses', initialAddresses);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n setModal(false);\r\n showSuccessNotification(\r\n `Title Number/Reference`,\r\n `Fulfilled by \"${item.searchName}\"`,\r\n );\r\n scrollTop();\r\n }\r\n\r\n changeFormValues('searchName', item.searchName);\r\n };\r\n\r\n const categoryNames: Record = {};\r\n categoryNames[SearchTypes.Property] = 'Property Search';\r\n categoryNames[SearchTypes.Name] = 'Name Search';\r\n categoryNames[SearchTypes.Other] = 'Other Search';\r\n categoryNames[SearchTypes.Multi] = 'Multi Search';\r\n\r\n return (\r\n <>\r\n setModal(false)}\r\n width={768}\r\n >\r\n \r\n \r\n \r\n {\r\n return categoryNames[item.searchType];\r\n }}\r\n />\r\n {\r\n return (\r\n {item.createDate}\r\n );\r\n }}\r\n />\r\n {\r\n return (\r\n {item.createDate}\r\n );\r\n }}\r\n />\r\n (\r\n {\r\n setParams(record);\r\n dispatch(searchHistoryClear());\r\n }}\r\n >\r\n Run Contin\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n\r\n {\r\n setModal(true);\r\n }}\r\n >\r\n Contin\r\n \r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default SearchHistory;\r\n","import React from 'react';\r\nimport { Row, Alert } from 'antd';\r\nimport { FormField, maxLength } from 'common';\r\nimport { SearchTypeFormNames } from './TaxMaps.constants';\r\nimport styles from './TaxMaps.module.scss';\r\nimport { GetDriversResult } from './models';\r\n\r\nconst warnText = [maxLength(20)];\r\n\r\ninterface Props {\r\n driversData: GetDriversResult;\r\n}\r\n\r\nconst TaxMapsFormTabs: React.FC = ({ driversData }) => {\r\n return (\r\n <>\r\n \r\n {driversData && driversData.drivers && driversData.drivers.length ? (\r\n driversData.drivers.map(({ index, fIndex, name }) => {\r\n if (name !== 'Swis')\r\n return (\r\n \r\n );\r\n else return null;\r\n })\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TaxMapsFormTabs;\r\n","import React from 'react';\r\nimport { Row, Col, Card, Typography, Icon } from 'antd';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport { AppState } from 'store';\r\nimport { useSelector } from 'react-redux';\r\nimport { userUsageReportAccessFlagSelector } from 'pages/UserUsageReport';\r\nconst { Title } = Typography;\r\n\r\nconst menu = [\r\n {\r\n index: 0,\r\n link: '/pages/nyc-online-abstract',\r\n header: 'NYC Online Abstract',\r\n icon: 'database',\r\n body: (\r\n
    \r\n
  • Judgments/Liens
  • \r\n
  • Environmental Control Board (ECB’s)
  • \r\n
  • Parking Violations Bureau (PVB’s)
  • \r\n
  • Uniform Commercial Code (UCC's)
  • \r\n
  • Federal Tax Liens (FTL's)
  • \r\n
  • Transit Adjudication Bureau
  • \r\n
  • Mortgage/Deeds
  • \r\n
  • NYC ER's
  • \r\n
\r\n ),\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 1,\r\n link: '/pages/property-look-up',\r\n header: ' Property Look Up',\r\n icon: 'search',\r\n body: 'A comprehensive database that provides instant access to basic property information in all New York State counties.',\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 2,\r\n link: '/pages/tax-maps',\r\n header: 'Tax Maps',\r\n icon: 'environment',\r\n body: 'Retrieve Tax Maps in Manhattan, Bronx, Kings, Queens, Richmond, Nassau, Suffolk, Dutchess, Orange, Putnam, Rockland.',\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 3,\r\n link: '/pages/dep-online',\r\n header: 'NYC DEP Online',\r\n icon: 'home',\r\n body: 'NYC DEP Online',\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 4,\r\n link: '/pages/bankruptcy',\r\n header: 'National Name Database',\r\n icon: 'global',\r\n body: (\r\n
    \r\n
  • Bankruptcy Searches
  • \r\n
  • Patriot Searches
  • \r\n
\r\n ),\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 5,\r\n link: '/pages/preacris',\r\n header: 'DocuTrax: Document Images',\r\n icon: 'file',\r\n body: (\r\n
    \r\n
  • Retrieve Copies of Documents (46 states)
  • \r\n
  • *New* NYC images prior to ACRIS (1654-1966)
  • \r\n
\r\n ),\r\n version: ['Dev', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 6,\r\n link: '/pages/taxtrax',\r\n header: 'TaxTrax: Tax Status',\r\n icon: 'dollar',\r\n body: 'Your online tax status specialists.',\r\n version: ['Dev', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 7,\r\n link: '/pages/recent-reports',\r\n header: 'Recent Reports',\r\n icon: 'file-search',\r\n body: 'Retrieve searches and reports previously ran on this system.',\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n {\r\n index: 8,\r\n link: '/pages/usage-report',\r\n header: 'Usage Reports',\r\n icon: 'team',\r\n body: 'Retrieve billing info of your customers or groups for previously ran searches.',\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n requiresBillingInfoAccess: true,\r\n },\r\n {\r\n index: 9,\r\n link: '/pages/user-manual',\r\n header: 'User Manual',\r\n icon: 'question-circle',\r\n body: 'Access Demos and User Guides',\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n /**{\r\n index: 7,\r\n link: '/pages/Preacris', \r\n header: 'Test Doc Images',\r\n icon: 'file',\r\n body: 'Retrieve Copies of Document (46 states), NYS UCC Filings and NYC images prior to ACRIS (1966)',\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },**/\r\n];\r\n\r\nconst Dashboard: React.FC = () => {\r\n const { login, userUsageReportAccessFlag } = useSelector(\r\n (state: AppState) => ({\r\n login: state.login,\r\n userUsageReportAccessFlag: userUsageReportAccessFlagSelector(state),\r\n }),\r\n );\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {menu\r\n .filter(\r\n (item) =>\r\n item.version.indexOf(process.env.REACT_APP_VERSION as string) !==\r\n -1,\r\n )\r\n .sort((a, b) => a.index - b.index)\r\n .map((item) => {\r\n return (\r\n (!item.requiresBillingInfoAccess || userUsageReportAccessFlag) && (\r\n \r\n \r\n \r\n \r\n \r\n <Icon type={item.icon} />\r\n  {item.header}\r\n \r\n {item.body}\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default Dashboard;\r\n","import { InteractionStatus } from '@azure/msal-browser';\r\nimport { useMsal, useAccount } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { getMaintenanceMessage } from './MaintenanceMessage.actions';\r\nimport { maintenanceMessageSelector } from './MaintenanceMessage.selectors';\r\nimport styles from './MaintenanceMessage.module.scss';\r\n\r\nconst MaintenanceMessage: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const { maintenanceMessage } = useSelector((state: AppState) => ({\r\n maintenanceMessage: maintenanceMessageSelector(state),\r\n }));\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(getMaintenanceMessage(response.accessToken));\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress]);\r\n\r\n const result = maintenanceMessage?.message && (\r\n {maintenanceMessage.message}\r\n );\r\n\r\n return result || <>;\r\n};\r\n\r\nexport default MaintenanceMessage;\r\n","import { Dispatch } from 'redux';\r\nimport { fetchMaintenanceMessage } from './MaintenanceMessage.services';\r\nimport {\r\n SetMaintenanceMessageType,\r\n SET_MAINTENANCE_MESSAGE,\r\n} from './MaintenanceMessage.types';\r\nimport { httpError } from 'common';\r\n\r\nconst setMaintenanceMessage = (message: string): SetMaintenanceMessageType => ({\r\n type: SET_MAINTENANCE_MESSAGE,\r\n message,\r\n});\r\n\r\nexport const getMaintenanceMessage =\r\n (bearerToken: string) => (dispatch: Dispatch) => {\r\n fetchMaintenanceMessage(bearerToken, dispatch)\r\n .then(httpError(dispatch))\r\n .then((response: any) => {\r\n if (response?.messageText) {\r\n dispatch(setMaintenanceMessage(response.messageText));\r\n }\r\n })\r\n .catch((error) => {\r\n console.warn(`Maintenance Message`, error.message);\r\n });\r\n };\r\n","import { httpError, fetchGet, json } from 'common';\r\nimport { Dispatch } from 'redux';\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const fetchMaintenanceMessage = (token: string, dispatch: Dispatch) =>\r\n fetchGet(`${apiUri}/appMessages/getmaintenancemessage`, token)\r\n .then(httpError(dispatch))\r\n .then(json);\r\n","import { AppState } from 'store';\r\nimport { MaintenanceMessageState } from './MaintenanceMessage.types';\r\n\r\nexport const maintenanceMessageSelector = ({\r\n maintenanceMessage,\r\n}: AppState): MaintenanceMessageState => maintenanceMessage;\r\n","import React, { useEffect } from 'react';\r\nimport { useAccount, useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport { employeeLoginRequest } from 'authConfig';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { Col, Row, Spin, Typography } from 'antd';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { refreshAdUserSession } from 'common/helpers';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nconst { Paragraph } = Typography;\r\n\r\nconst EmployeeSignIn: React.FC<{}> = ({}) => {\r\n const { instance, inProgress, accounts } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n const isAuthenticated = useIsAuthenticated();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n // extract query string parameters\r\n const location = useLocation();\r\n const urlParameters = new URLSearchParams(location.search);\r\n const returnTo = urlParameters.get('return_to');\r\n\r\n // each time this page is loaded, remove the refreshadusersession storage item to prevent an infinite loop\r\n useEffect(() => {\r\n localStorage.removeItem('refreshadusersession');\r\n }, []);\r\n\r\n const postAuthorizationAction = () => {\r\n const path = returnTo ?? '/pages';\r\n history.push(path);\r\n };\r\n useEffect(() => {\r\n // timeout prevents the challenge from being triggered just before a page redirect, which we don't want because it breaks the auth flow\r\n const timer = setTimeout(() => {\r\n // ensure we only trigger login popup if the current interaction status for Msal instance is None\r\n if (inProgress === InteractionStatus.None && !isAuthenticated) {\r\n localStorage.setItem('ispublicuser', 'false');\r\n localStorage.removeItem('iswellsfargouser');\r\n\r\n instance.loginRedirect(employeeLoginRequest);\r\n } else if (\r\n inProgress === InteractionStatus.None &&\r\n isAuthenticated &&\r\n account\r\n ) {\r\n refreshAdUserSession(\r\n instance,\r\n account,\r\n dispatch,\r\n postAuthorizationAction,\r\n );\r\n }\r\n }, 500);\r\n return () => clearTimeout(timer);\r\n }, [instance, inProgress, isAuthenticated]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n You will be redirected shortly!\r\n \r\n\r\n \r\n Prior to ordering any searches, our system allows clients to confirm\r\n any property in NY State using Address, Parcel ID, and/or Owners\r\n Name.\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EmployeeSignIn;\r\n","import React, { useEffect } from 'react';\r\nimport { useAccount, useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport { loginRequest } from 'authConfig';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { Col, Row, Spin, Typography } from 'antd';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { refreshAdUserSession } from 'common/helpers';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nconst { Paragraph } = Typography;\r\n\r\nconst SignIn: React.FC<{}> = ({}) => {\r\n const { instance, inProgress, accounts } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n const isAuthenticated = useIsAuthenticated();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n // extract query string parameters\r\n const location = useLocation();\r\n const urlParameters = new URLSearchParams(location.search);\r\n const returnTo = urlParameters.get('return_to');\r\n\r\n // each time this page is loaded, remove the refreshadusersession storage item to prevent an infinite loop\r\n useEffect(() => {\r\n localStorage.removeItem('refreshadusersession');\r\n }, []);\r\n\r\n const postAuthorizationAction = () => {\r\n const path = returnTo ?? '/pages';\r\n history.push(path);\r\n };\r\n\r\n useEffect(() => {\r\n // timeout prevents the challenge from being triggered just before a page redirect, which we don't want because it breaks the auth flow\r\n const timer = setTimeout(() => {\r\n // ensure we only trigger login popup if the current interaction status for Msal instance is None\r\n if (inProgress === InteractionStatus.None && !isAuthenticated) {\r\n localStorage.setItem('ispublicuser', 'true');\r\n localStorage.removeItem('iswellsfargouser');\r\n\r\n instance.loginRedirect(loginRequest);\r\n } else if (\r\n inProgress === InteractionStatus.None &&\r\n isAuthenticated &&\r\n account\r\n ) {\r\n refreshAdUserSession(\r\n instance,\r\n account,\r\n dispatch,\r\n postAuthorizationAction,\r\n );\r\n }\r\n }, 500);\r\n return () => clearTimeout(timer);\r\n }, [instance, inProgress, isAuthenticated]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n You will be redirected shortly!\r\n \r\n\r\n \r\n Prior to ordering any searches, our system allows clients to confirm\r\n any property in NY State using Address, Parcel ID, and/or Owners\r\n Name.\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignIn;\r\n","import React, { useEffect } from 'react';\r\nimport { useAccount, useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { Col, Row, Spin, Typography } from 'antd';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { refreshAdUserSession } from 'common/helpers';\r\nimport { useDispatch } from 'react-redux';\r\nimport { wellsFargoLoginRequest } from 'authConfig';\r\n\r\nconst { Paragraph } = Typography;\r\n\r\nconst WellsFargoSignIn: React.FC<{}> = ({}) => {\r\n const { instance, inProgress, accounts } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n const isAuthenticated = useIsAuthenticated();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n // extract query string parameters\r\n const location = useLocation();\r\n const urlParameters = new URLSearchParams(location.search);\r\n const returnTo = urlParameters.get('return_to');\r\n\r\n // each time this page is loaded, remove the refreshadusersession storage item to prevent an infinite loop\r\n useEffect(() => {\r\n localStorage.removeItem('refreshadusersession');\r\n }, []);\r\n\r\n const postAuthorizationAction = () => {\r\n const path = returnTo ?? '/pages';\r\n history.push(path);\r\n };\r\n\r\n useEffect(() => {\r\n // timeout prevents the challenge from being triggered just before a page redirect, which we don't want because it breaks the auth flow\r\n const timer = setTimeout(() => {\r\n // ensure we only trigger login popup if the current interaction status for Msal instance is None\r\n if (inProgress === InteractionStatus.None && !isAuthenticated) {\r\n localStorage.setItem('ispublicuser', 'true');\r\n localStorage.setItem('iswellsfargouser', 'true');\r\n\r\n instance.loginRedirect(wellsFargoLoginRequest);\r\n } else if (\r\n inProgress === InteractionStatus.None &&\r\n isAuthenticated &&\r\n account\r\n ) {\r\n refreshAdUserSession(\r\n instance,\r\n account,\r\n dispatch,\r\n postAuthorizationAction,\r\n );\r\n }\r\n }, 500);\r\n return () => clearTimeout(timer);\r\n }, [instance, inProgress, isAuthenticated]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n You will be redirected shortly!\r\n \r\n\r\n \r\n Prior to ordering any searches, our system allows clients to confirm\r\n any property in NY State using Address, Parcel ID, and/or Owners\r\n Name.\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default WellsFargoSignIn;\r\n","import React from 'react';\r\nimport { Row, Alert } from 'antd';\r\nimport { FormField, maxLength } from 'common';\r\nimport {\r\n SearchTypeFormNames,\r\n PropertyFormLabels,\r\n AddressSearchFormNames,\r\n OwnerSearchFormNames,\r\n} from './PropertySearch.constants';\r\nimport styles from './PropertySearch.module.scss';\r\nimport { GetDriversResult } from './models';\r\n\r\nconst warnText = [maxLength(20)];\r\n\r\ninterface Props {\r\n handleFieldFocus: any;\r\n driversData: GetDriversResult;\r\n}\r\n\r\nconst PropertySearchFormTabs: React.FC = ({\r\n handleFieldFocus,\r\n driversData,\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n {PropertyFormLabels.ADDRESS_SEARCH}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {PropertyFormLabels.OWNER_SEARCH}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {PropertyFormLabels.DRIVERS_SEARCH}\r\n \r\n \r\n\r\n \r\n {driversData && driversData.drivers && !!driversData.drivers.length ? (\r\n driversData.drivers.map(\r\n ({ guid, fIndex, name, specialCharacter }) => {\r\n return (\r\n \r\n \r\n {specialCharacter && (\r\n \r\n {specialCharacter}\r\n \r\n )}\r\n \r\n );\r\n },\r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PropertySearchFormTabs;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n Typography,\r\n Row,\r\n Col,\r\n Divider,\r\n Descriptions,\r\n Button,\r\n Spin,\r\n Dropdown,\r\n Menu,\r\n Icon,\r\n} from 'antd';\r\nimport {\r\n propertySearchDetailsClear,\r\n exportPropertyDetailsAsync,\r\n searchXosDocument,\r\n} from './PropertySearchDetails.actions';\r\nimport {\r\n BasicDrawer,\r\n AttributeValuePair,\r\n formatLongDate,\r\n TableSizeNames,\r\n CommonTable,\r\n IconTypeNames,\r\n Sizes,\r\n LOADING,\r\n formatSize,\r\n PrintButton,\r\n} from 'common';\r\nimport { FullPropertyDetails, PolicyInformation } from '../models';\r\nimport { AppState } from 'store';\r\nimport ButtonGroup from 'antd/lib/button/button-group';\r\nimport { formatDate, getAccessToken } from 'common/helpers';\r\nimport Column from 'antd/lib/table/Column';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Text } = Typography;\r\n\r\nconst PropertySearchDetails: React.FC<{\r\n searchId: number;\r\n data: FullPropertyDetails;\r\n}> = (props: { searchId: number; data: FullPropertyDetails }) => {\r\n const dispatch = useDispatch();\r\n const { county, owners } = props.data.parent;\r\n\r\n const { loading }: any = useSelector((state: AppState) => ({\r\n loading: state.propertySearchDetails.loading,\r\n }));\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const {\r\n taxRollYear,\r\n propertyInformation,\r\n propertyIdentifier,\r\n buildingInformation,\r\n description,\r\n policyInformation,\r\n } = props.data.details;\r\n const {\r\n acres,\r\n squareFootage,\r\n land,\r\n lotSize,\r\n total,\r\n zoning,\r\n yearBuilt,\r\n lotGroup,\r\n structure,\r\n } = description;\r\n const { itemNumber, schoolCode, swissCode, city, address } =\r\n propertyInformation;\r\n const {\r\n section,\r\n subSection,\r\n block,\r\n lot,\r\n subLot,\r\n printKey,\r\n suffix,\r\n district,\r\n subBlock,\r\n unitNumber,\r\n buildingNumber,\r\n volume,\r\n filedMapInformation,\r\n } = propertyIdentifier;\r\n\r\n const handleSearch = (company: string, docDesc: string, county: string) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n searchXosDocument(company, docDesc, county, response.accessToken),\r\n );\r\n });\r\n }\r\n };\r\n\r\n const handleDetailsExport = React.useCallback(\r\n (format: string, action: 'print' | 'save') => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n exportPropertyDetailsAsync(\r\n props.data,\r\n props.searchId,\r\n format,\r\n action,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n },\r\n [dispatch, instance, account, inProgress, props.data, props.searchId],\r\n );\r\n\r\n return (\r\n dispatch(propertySearchDetailsClear())}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleDetailsExport('html', 'print')}\r\n />\r\n handleDetailsExport(key, 'save')}>\r\n \r\n \r\n MS Word\r\n \r\n \r\n \r\n PDF\r\n \r\n \r\n \r\n HTML\r\n \r\n \r\n \r\n Text\r\n \r\n \r\n }\r\n >\r\n \r\n Export \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {county}\r\n \r\n \r\n {city}\r\n \r\n \r\n {address}\r\n \r\n \r\n {itemNumber}\r\n \r\n \r\n {schoolCode}\r\n \r\n {swissCode}\r\n \r\n\r\n \r\n {owners.map((item, index) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n\r\n \r\n \r\n {district}\r\n \r\n \r\n {section}\r\n \r\n \r\n {subSection}\r\n \r\n \r\n {block}\r\n \r\n \r\n {subBlock}\r\n \r\n {printKey}\r\n {lot}\r\n {subLot}\r\n {suffix}\r\n \r\n {buildingNumber}\r\n \r\n {unitNumber}\r\n {volume}\r\n \r\n {filedMapInformation}\r\n \r\n \r\n\r\n {buildingInformation && (\r\n \r\n \r\n {buildingInformation.description}\r\n \r\n \r\n )}\r\n\r\n {description && (\r\n \r\n \r\n {`${acres === 0 ? '' : acres}${\r\n acres !== 0 && squareFootage !== 0 ? '/' : ''\r\n }${squareFootage === 0 ? '' : squareFootage}`}\r\n \r\n \r\n {lotSize === '0.00X0.00' ? 'NA' : lotSize}\r\n \r\n \r\n {zoning === '' ? 'NA' : zoning}\r\n \r\n \r\n {formatSize(land)}\r\n \r\n \r\n {formatSize(total)}\r\n \r\n \r\n {yearBuilt}\r\n \r\n \r\n {lotGroup}\r\n \r\n \r\n {structure}\r\n \r\n \r\n )}\r\n\r\n {policyInformation && policyInformation.length > 0 && (\r\n \r\n )}\r\n\r\n {policyInformation && policyInformation.length > 0 && (\r\n \r\n {\r\n return formatDate(text);\r\n }}\r\n />\r\n \r\n \r\n \r\n (\r\n <>\r\n \r\n handleSearch(record.company, record.orderNumber, county)\r\n }\r\n title=\"Click to export policy document\"\r\n >\r\n Export as PDF\r\n \r\n \r\n *\r\n

\r\n

Fee applied on Export

\r\n \r\n *\r\n

\r\n \r\n )}\r\n />\r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n This report is intended for informational purposes only, and may not\r\n include assessment of other agencies including villages.\r\n \r\n \r\n \r\n Generated: {formatLongDate(new Date())}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PropertySearchDetails;\r\n","import React, { useMemo } from 'react';\r\nimport { Table, Button } from 'antd';\r\nimport {\r\n IconTypeNames,\r\n FileFormatNames,\r\n TableSizeNames,\r\n SkeletonHOC,\r\n ButtonShapes,\r\n CommonTable,\r\n ButtonTypes,\r\n PrintButton,\r\n} from 'common';\r\nimport { formatDate, formatTime, getAccessToken } from 'common/helpers';\r\nimport { COLUMN_NAMES } from './RecentReports.constants';\r\nimport { Report } from './models';\r\nimport { useDispatch } from 'react-redux';\r\nimport { exportReport, RecentReportsDOMType } from '.';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nconst { Column } = Table;\r\n\r\ninterface Props {\r\n recentReports: Report[];\r\n}\r\n\r\nconst getIconType = (dataIndex: string) => {\r\n switch (dataIndex) {\r\n case FileFormatNames.TIFF:\r\n return IconTypeNames.TIFF;\r\n case FileFormatNames.PDF:\r\n return IconTypeNames.PDF;\r\n case FileFormatNames.HTML:\r\n return IconTypeNames.HTML;\r\n case FileFormatNames.DOC:\r\n return IconTypeNames.WORD;\r\n default:\r\n return IconTypeNames.FILE;\r\n }\r\n};\r\n\r\nconst RecentReportsTable: React.FC = ({ recentReports }) => {\r\n const dispatch = useDispatch();\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const getRender =\r\n (columnName: string, dispatch: any) =>\r\n (text: string, record: RecentReportsDOMType) => {\r\n switch (columnName) {\r\n case COLUMN_NAMES.fileFormat.dataIndex:\r\n return (\r\n <>\r\n exportReportClick(record)}\r\n >\r\n Download\r\n \r\n {record.fileFormat === FileFormatNames.HTML && (\r\n exportReportClick(record, true)}\r\n >\r\n Print\r\n \r\n )}\r\n \r\n );\r\n default:\r\n return text;\r\n }\r\n };\r\n\r\n const exportReportClick = (record: RecentReportsDOMType, print = false) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(exportReport(record, print, response.accessToken));\r\n });\r\n }\r\n };\r\n\r\n const reports = useMemo(\r\n () =>\r\n recentReports.map((report) => ({\r\n ...report,\r\n // set status to pending if the record is finished but file storage id is still 0\r\n status:\r\n report.status === 'finished' && report.fileStorageId <= 0\r\n ? 'pending'\r\n : report.status,\r\n [COLUMN_NAMES.date.dataIndex]: formatDate(new Date(report.createDate)),\r\n [COLUMN_NAMES.time.dataIndex]: formatTime(new Date(report.createDate)),\r\n })),\r\n [recentReports],\r\n );\r\n\r\n return (\r\n \r\n {Object.values(COLUMN_NAMES).map(({ title, dataIndex, width }, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default SkeletonHOC({ initProp: 'recentReports', rows: 8 })(\r\n RecentReportsTable,\r\n);\r\n","import { AppState } from 'store';\r\nimport { ReducerNames } from 'common';\r\nimport { RecentReportsResult } from './models';\r\n\r\nconst { RECENT_REPORTS } = ReducerNames;\r\n\r\nexport const recentReportsSelector = ({\r\n [RECENT_REPORTS]: { recentReports },\r\n}: AppState): RecentReportsResult => recentReports;\r\n","import { Dispatch } from 'redux';\r\nimport {\r\n fetchStatesService,\r\n searchBankruptcyService,\r\n} from './XosImage.services';\r\nimport {\r\n GetStatesSuccessType,\r\n SetResultLoadingType,\r\n GET_XOSIMAGE_STATES_SUCCESS,\r\n SET_LOADING,\r\n RESET_RESULTS,\r\n ResetResultsType,\r\n} from './XosImage.types';\r\nimport {\r\n httpError,\r\n json,\r\n showWarnNotification,\r\n showSuccessNotification,\r\n} from 'common';\r\nimport { XosImageStates } from './models';\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: SET_LOADING,\r\n loading,\r\n});\r\n\r\nconst getStatesSuccess = (\r\n xosImageStates: XosImageStates,\r\n): GetStatesSuccessType => ({\r\n type: GET_XOSIMAGE_STATES_SUCCESS,\r\n xosImageStates,\r\n});\r\n\r\nexport const getStates = (bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchStatesService(bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getStatesSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(`States`, error.message);\r\n });\r\n};\r\n\r\nexport const searchXosImage =\r\n (formValues: any, exportFormat: string, token: string) =>\r\n (dispatch: Dispatch) => {\r\n const body = {\r\n items: formValues.items.map(\r\n ({\r\n hobCodes: { stateHob, districtCode },\r\n individuals,\r\n corporations,\r\n }: any) => ({\r\n districtCode: districtCode || stateHob,\r\n individuals,\r\n corporations,\r\n }),\r\n ),\r\n exportFormat,\r\n };\r\n dispatch(setResultLoading(true));\r\n dispatch(resetResults());\r\n searchBankruptcyService(body, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n showSuccessNotification(\r\n 'Document Images Online',\r\n `Your documents will be ready soon. Please check \"Recent Reports\".`,\r\n );\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error: any) => {\r\n showWarnNotification('Document Images Online', error.message);\r\n dispatch(setResultLoading(false));\r\n });\r\n };\r\n\r\nexport const resetResults = (): ResetResultsType => ({\r\n type: RESET_RESULTS,\r\n});\r\n","import {\r\n SearchByNameResult,\r\n SearchByOtherResultItem,\r\n SearchByPropertyResultItem,\r\n} from './models';\r\nimport {\r\n SearchState,\r\n SearchDataActionTypes,\r\n SEARCH_LOADING,\r\n SEARCH_CLEAR,\r\n SEARCH_PROPERTY_ADD,\r\n SEARCH_NAME_ADD,\r\n SEARCH_OTHER_ADD,\r\n SEARCH_MULTI_ADD,\r\n SEARCH_IS_SELECTED_UPDATE,\r\n SEARCH_SHOW_REFERNCES_UPDATE,\r\n SEARCH_EXPORT_TYPE_UPDATE,\r\n SEARCH_TOGGLE_SELECT_ALL,\r\n} from './Search.types';\r\n\r\nconst defaultState: SearchState = {\r\n propertyData: null,\r\n nameData: null,\r\n otherData: null,\r\n multiData: null,\r\n loading: false,\r\n};\r\n\r\nconst updateIsSelectedInItems = (\r\n arr: any[],\r\n guid: string,\r\n isSelected: boolean,\r\n) => {\r\n return arr.map((item: { guid: string }) =>\r\n item.guid === guid ? { ...item, isSelected } : item,\r\n );\r\n};\r\n\r\nconst reduceSelectAllPropertyResults = (\r\n results: SearchByPropertyResultItem[],\r\n resultItemIndex: number,\r\n documentType: string,\r\n selectAll: boolean,\r\n): SearchByPropertyResultItem[] => {\r\n // TODO validate documentType in order to be able to remove the ts-ignores in this method\r\n return results?.reduce(\r\n (acc: SearchByPropertyResultItem[], cur: SearchByPropertyResultItem) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n [documentType]: {\r\n // @ts-ignore:\r\n ...cur[documentType],\r\n // @ts-ignore:\r\n items: cur[documentType].items.map((item) => ({\r\n ...item,\r\n isSelected: selectAll,\r\n })),\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceSelectAllNameResults = (\r\n results: SearchByNameResult[],\r\n resultItemIndex: number,\r\n documentType: string,\r\n selectAll: boolean,\r\n): SearchByNameResult[] => {\r\n // TODO validate documentType in order to be able to remove the ts-ignores in this method\r\n return results.reduce(\r\n (acc: SearchByNameResult[], cur: SearchByNameResult) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n [documentType]: {\r\n // @ts-ignore:\r\n ...cur[documentType],\r\n // @ts-ignore:\r\n items: cur[documentType].items.map((item) => ({\r\n ...item,\r\n isSelected: selectAll,\r\n })),\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceSelectAllOtherResults = (\r\n results: SearchByOtherResultItem[],\r\n resultItemIndex: number,\r\n documentType: string,\r\n selectAll: boolean,\r\n): SearchByOtherResultItem[] => {\r\n return results?.reduce(\r\n (acc: SearchByOtherResultItem[], cur: SearchByOtherResultItem) => {\r\n if (cur.index === resultItemIndex && cur.searchBy === documentType) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n // @ts-ignore:\r\n items: cur.items.map((item) => ({\r\n ...item,\r\n isSelected: selectAll,\r\n })),\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceIsSelectedPropertyResults = (\r\n results: SearchByPropertyResultItem[],\r\n resultItemIndex: number,\r\n documentType: string,\r\n guid: string,\r\n isSelected: boolean,\r\n): SearchByPropertyResultItem[] => {\r\n // TODO validate documentType in order to be able to remove the ts-ignores in this method\r\n return results.reduce(\r\n (acc: SearchByPropertyResultItem[], cur: SearchByPropertyResultItem) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n [documentType]: {\r\n // @ts-ignore:\r\n ...cur[documentType],\r\n ...(() => {\r\n switch (documentType) {\r\n case 'recordedDocuments':\r\n case 'liens': {\r\n return {\r\n items: updateIsSelectedInItems(\r\n // @ts-ignore:\r\n cur[documentType].items,\r\n guid,\r\n isSelected,\r\n ),\r\n };\r\n }\r\n case 'assessment': {\r\n return { isSelected };\r\n }\r\n }\r\n })(),\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceIsSelectedNameResults = (\r\n results: SearchByNameResult[],\r\n resultItemIndex: number,\r\n documentType: string,\r\n guid: string,\r\n isSelected: boolean,\r\n): SearchByNameResult[] => {\r\n // TODO validate documentType in order to be able to remove the ts-ignores in this method\r\n return results.reduce(\r\n (acc: SearchByNameResult[], cur: SearchByNameResult) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n [documentType]: {\r\n // @ts-ignore:\r\n ...cur[documentType],\r\n // @ts-ignore:\r\n items: updateIsSelectedInItems(\r\n // @ts-ignore:\r\n cur[documentType].items,\r\n guid,\r\n isSelected,\r\n ),\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceIsSelectedOtherResults = (\r\n results: SearchByOtherResultItem[],\r\n resultItemIndex: number,\r\n documentType: string,\r\n guid: string,\r\n isSelected: boolean,\r\n): SearchByOtherResultItem[] => {\r\n // @ts-ignore:\r\n return results.reduce(\r\n // @ts-ignore:\r\n (acc: SearchByOtherResultItem[], cur: SearchByOtherResultItem) => {\r\n if (cur.index === resultItemIndex && cur.searchBy === documentType) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n items: updateIsSelectedInItems(cur.items, guid, isSelected),\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceExportTypePropertyResults = (\r\n results: SearchByPropertyResultItem[] | undefined,\r\n resultItemIndex: number,\r\n exportType: string,\r\n) => {\r\n return results?.reduce(\r\n (acc: SearchByPropertyResultItem[], cur: SearchByPropertyResultItem) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n liens: {\r\n ...cur.liens,\r\n exportType,\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceExportTypeNameResults = (\r\n results: SearchByNameResult[] | undefined,\r\n resultItemIndex: number,\r\n exportType: string,\r\n documentType: string,\r\n) => {\r\n // TODO validate documentType in order to be able to remove the ts-ignores in this method\r\n return results?.reduce(\r\n (acc: SearchByNameResult[], cur: SearchByNameResult) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n [documentType]: {\r\n // @ts-ignore:\r\n ...cur[documentType],\r\n exportType,\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceShowReferencesPropertyResults = (\r\n results: SearchByPropertyResultItem[] | undefined,\r\n resultItemIndex: number,\r\n showReferences: boolean,\r\n) => {\r\n return results?.reduce(\r\n (acc: SearchByPropertyResultItem[], cur: SearchByPropertyResultItem) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n recordedDocuments: {\r\n ...cur.recordedDocuments,\r\n showReferences,\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nconst reduceShowReferencesNameResults = (\r\n results: SearchByNameResult[] | undefined,\r\n resultItemIndex: number,\r\n showReferences: boolean,\r\n documentType: string,\r\n) => {\r\n // TODO validate documentType in order to be able to remove the ts-ignores in this method\r\n return results?.reduce(\r\n (acc: SearchByNameResult[], cur: SearchByNameResult) => {\r\n if (cur.index === resultItemIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...cur,\r\n [documentType]: {\r\n // @ts-ignore:\r\n ...cur[documentType],\r\n showReferences,\r\n },\r\n },\r\n ];\r\n }\r\n return [...acc, cur];\r\n },\r\n [],\r\n );\r\n};\r\n\r\nexport function searchReducer(\r\n state = defaultState,\r\n action: SearchDataActionTypes,\r\n): SearchState {\r\n switch (action.type) {\r\n case SEARCH_TOGGLE_SELECT_ALL: {\r\n const {\r\n dataTypeName,\r\n documentType,\r\n selectAll,\r\n resultItemIndex,\r\n resultType,\r\n } = action.payload;\r\n\r\n switch (dataTypeName) {\r\n case 'propertyData': {\r\n return state?.propertyData?.results\r\n ? {\r\n ...state,\r\n propertyData: {\r\n ...state.propertyData,\r\n results: reduceSelectAllPropertyResults(\r\n state?.propertyData?.results,\r\n resultItemIndex,\r\n documentType,\r\n selectAll,\r\n ),\r\n },\r\n }\r\n : { ...state };\r\n }\r\n case 'nameData': {\r\n return state?.nameData?.results\r\n ? {\r\n ...state,\r\n nameData: {\r\n ...state.nameData,\r\n results: reduceSelectAllNameResults(\r\n state?.nameData?.results,\r\n resultItemIndex,\r\n documentType,\r\n selectAll,\r\n ),\r\n },\r\n }\r\n : { ...state };\r\n }\r\n case 'otherData': {\r\n return state.otherData\r\n ? {\r\n ...state,\r\n otherData: {\r\n ...state.otherData,\r\n results: reduceSelectAllOtherResults(\r\n state.otherData.results,\r\n resultItemIndex,\r\n documentType,\r\n selectAll,\r\n ),\r\n },\r\n }\r\n : { ...state };\r\n }\r\n // @ts-ignore:\r\n case 'multiData': {\r\n switch (resultType) {\r\n case 'propertyResult': {\r\n return state?.multiData?.propertyResult?.results\r\n ? {\r\n ...state,\r\n multiData: {\r\n ...state.multiData,\r\n propertyResult: {\r\n ...state.multiData.propertyResult,\r\n results: reduceSelectAllPropertyResults(\r\n state.multiData.propertyResult.results,\r\n resultItemIndex,\r\n documentType,\r\n selectAll,\r\n ),\r\n },\r\n },\r\n }\r\n : { ...state };\r\n }\r\n case 'nameResult': {\r\n return state?.multiData?.nameResult?.results\r\n ? {\r\n ...state,\r\n multiData: {\r\n ...state.multiData,\r\n nameResult: {\r\n ...state.multiData.nameResult,\r\n results: reduceSelectAllNameResults(\r\n state.multiData.nameResult.results,\r\n resultItemIndex,\r\n documentType,\r\n selectAll,\r\n ),\r\n },\r\n },\r\n }\r\n : { ...state };\r\n }\r\n case 'otherResult': {\r\n return state?.multiData?.addressResult?.results\r\n ? {\r\n ...state,\r\n multiData: {\r\n ...state.multiData,\r\n addressResult: {\r\n ...state.multiData.addressResult,\r\n results: reduceSelectAllOtherResults(\r\n state.multiData.addressResult.results,\r\n resultItemIndex,\r\n documentType,\r\n selectAll,\r\n ),\r\n },\r\n },\r\n }\r\n : { ...state };\r\n }\r\n }\r\n }\r\n default: {\r\n return {\r\n ...state,\r\n };\r\n }\r\n }\r\n }\r\n case SEARCH_CLEAR: {\r\n return {\r\n ...defaultState,\r\n };\r\n }\r\n case SEARCH_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case SEARCH_PROPERTY_ADD: {\r\n return {\r\n ...state,\r\n propertyData: action.payload,\r\n };\r\n }\r\n case SEARCH_IS_SELECTED_UPDATE: {\r\n const {\r\n dataTypeName,\r\n documentType,\r\n guid,\r\n isSelected,\r\n resultItemIndex,\r\n resultType,\r\n } = action.payload;\r\n const newData =\r\n dataTypeName &&\r\n state[dataTypeName] &&\r\n (() => {\r\n switch (dataTypeName) {\r\n case 'propertyData': {\r\n return state?.propertyData?.results\r\n ? {\r\n ...state.propertyData,\r\n results: reduceIsSelectedPropertyResults(\r\n state.propertyData.results,\r\n resultItemIndex,\r\n documentType,\r\n guid,\r\n isSelected,\r\n ),\r\n }\r\n : { ...state.propertyData };\r\n }\r\n case 'otherData': {\r\n return state?.otherData?.results\r\n ? {\r\n ...state.otherData,\r\n results: reduceIsSelectedOtherResults(\r\n state.otherData.results,\r\n resultItemIndex,\r\n documentType,\r\n guid,\r\n isSelected,\r\n ),\r\n }\r\n : { ...state.otherData };\r\n }\r\n case 'nameData': {\r\n return state?.nameData?.results\r\n ? {\r\n ...state.nameData,\r\n results: reduceIsSelectedNameResults(\r\n state.nameData.results,\r\n resultItemIndex,\r\n documentType,\r\n guid,\r\n isSelected,\r\n ),\r\n }\r\n : { ...state.nameData };\r\n }\r\n case 'multiData': {\r\n switch (resultType) {\r\n case 'propertyResult': {\r\n return state?.multiData?.propertyResult?.results\r\n ? {\r\n ...state.multiData,\r\n propertyResult: {\r\n ...state.multiData?.propertyResult,\r\n results: reduceIsSelectedPropertyResults(\r\n state?.multiData?.propertyResult?.results,\r\n resultItemIndex,\r\n documentType,\r\n guid,\r\n isSelected,\r\n ),\r\n },\r\n }\r\n : { ...state.multiData };\r\n }\r\n case 'nameResult': {\r\n return state?.multiData?.nameResult?.results\r\n ? {\r\n ...state.multiData,\r\n nameResult: {\r\n ...state.multiData?.nameResult,\r\n results: reduceIsSelectedNameResults(\r\n state.multiData?.nameResult.results,\r\n resultItemIndex,\r\n documentType,\r\n guid,\r\n isSelected,\r\n ),\r\n },\r\n }\r\n : { ...state.multiData };\r\n }\r\n case 'otherResult': {\r\n return state?.multiData?.addressResult?.results\r\n ? {\r\n ...state.multiData,\r\n addressResult: {\r\n ...state.multiData.addressResult,\r\n results: reduceIsSelectedOtherResults(\r\n state.multiData.addressResult.results,\r\n resultItemIndex,\r\n documentType,\r\n guid,\r\n isSelected,\r\n ),\r\n },\r\n }\r\n : { ...state.multiData };\r\n }\r\n }\r\n }\r\n }\r\n })();\r\n return newData\r\n ? {\r\n ...state,\r\n [dataTypeName]: newData,\r\n }\r\n : { ...state };\r\n }\r\n case SEARCH_EXPORT_TYPE_UPDATE: {\r\n const {\r\n dataTypeName,\r\n documentType,\r\n exportType,\r\n resultItemIndex,\r\n resultType,\r\n } = action.payload;\r\n const newData = (() => {\r\n switch (dataTypeName) {\r\n case 'propertyData': {\r\n const newResults = reduceExportTypePropertyResults(\r\n state?.propertyData?.results,\r\n resultItemIndex,\r\n exportType,\r\n );\r\n return {\r\n ...state.propertyData,\r\n results: newResults,\r\n };\r\n }\r\n case 'nameData': {\r\n const newResults = reduceExportTypeNameResults(\r\n state?.nameData?.results,\r\n resultItemIndex,\r\n exportType,\r\n documentType,\r\n );\r\n return {\r\n ...state[dataTypeName],\r\n results: newResults,\r\n };\r\n }\r\n case 'multiData': {\r\n switch (resultType) {\r\n case 'propertyResult': {\r\n const newResults = reduceExportTypePropertyResults(\r\n state?.multiData?.propertyResult?.results,\r\n resultItemIndex,\r\n exportType,\r\n );\r\n return {\r\n ...state.multiData,\r\n propertyResult: {\r\n ...state.multiData?.propertyResult,\r\n results: newResults,\r\n },\r\n };\r\n }\r\n case 'nameResult': {\r\n const newResults = reduceExportTypeNameResults(\r\n state?.multiData?.nameResult?.results,\r\n resultItemIndex,\r\n exportType,\r\n documentType,\r\n );\r\n return {\r\n ...state.multiData,\r\n nameResult: {\r\n ...state.multiData?.nameResult,\r\n results: newResults,\r\n },\r\n };\r\n }\r\n }\r\n }\r\n }\r\n })();\r\n\r\n return newData\r\n ? {\r\n ...state,\r\n [dataTypeName]: newData,\r\n }\r\n : { ...state };\r\n }\r\n case SEARCH_SHOW_REFERNCES_UPDATE: {\r\n const {\r\n dataTypeName,\r\n documentType,\r\n showReferences,\r\n resultItemIndex,\r\n resultType,\r\n } = action.payload;\r\n\r\n const newData = (() => {\r\n switch (dataTypeName) {\r\n case 'propertyData': {\r\n const newResults = reduceShowReferencesPropertyResults(\r\n state?.propertyData?.results,\r\n resultItemIndex,\r\n showReferences,\r\n );\r\n return {\r\n ...state.propertyData,\r\n results: newResults,\r\n };\r\n }\r\n case 'nameData': {\r\n const newResults = reduceShowReferencesNameResults(\r\n state?.nameData?.results,\r\n resultItemIndex,\r\n showReferences,\r\n documentType,\r\n );\r\n return {\r\n ...state.nameData,\r\n results: newResults,\r\n };\r\n }\r\n case 'multiData': {\r\n switch (resultType) {\r\n case 'propertyResult': {\r\n const newResults = reduceShowReferencesPropertyResults(\r\n state?.multiData?.propertyResult?.results,\r\n resultItemIndex,\r\n showReferences,\r\n );\r\n return {\r\n ...state.multiData,\r\n propertyResult: {\r\n ...state.multiData?.propertyResult,\r\n results: newResults,\r\n },\r\n };\r\n }\r\n case 'nameResult': {\r\n const newResults = reduceShowReferencesNameResults(\r\n state?.multiData?.nameResult?.results,\r\n resultItemIndex,\r\n showReferences,\r\n documentType,\r\n );\r\n return {\r\n ...state.multiData,\r\n nameResult: {\r\n ...state.multiData?.nameResult,\r\n results: newResults,\r\n },\r\n };\r\n }\r\n }\r\n }\r\n }\r\n })();\r\n\r\n return newData\r\n ? {\r\n ...state,\r\n [dataTypeName]: newData,\r\n }\r\n : { ...state };\r\n }\r\n\r\n case SEARCH_NAME_ADD: {\r\n return {\r\n ...state,\r\n nameData: action.payload,\r\n };\r\n }\r\n case SEARCH_OTHER_ADD: {\r\n return {\r\n ...state,\r\n otherData: action.payload,\r\n };\r\n }\r\n case SEARCH_MULTI_ADD: {\r\n return {\r\n ...state,\r\n multiData: action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { createSelector } from 'reselect';\r\nimport { AppState } from 'store';\r\nimport { DataTypeName, DocumentTypeName, ResultTypeName } from '.';\r\n\r\nexport const showReferencesSelector = createSelector(\r\n (state: AppState) => state.search,\r\n (search) =>\r\n (\r\n dataTypeName: DataTypeName,\r\n documentType: DocumentTypeName,\r\n resultItemIndex: number,\r\n resultType: ResultTypeName,\r\n ) => {\r\n switch (dataTypeName) {\r\n case 'propertyData': {\r\n const showReferences =\r\n // @ts-ignore:\r\n search?.propertyData?.results?.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].showReferences;\r\n return showReferences;\r\n }\r\n case 'nameData': {\r\n const showReferences =\r\n // @ts-ignore:\r\n search?.nameData?.results?.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].showReferences;\r\n return showReferences;\r\n }\r\n case 'multiData': {\r\n switch (resultType) {\r\n case 'propertyResult': {\r\n const showReferences =\r\n // @ts-ignore:\r\n search?.multiData?.propertyResult?.results?.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].showReferences;\r\n return showReferences;\r\n }\r\n case 'nameResult': {\r\n const showReferences =\r\n // @ts-ignore:\r\n search?.multiData?.nameResult?.results.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].showReferences;\r\n return showReferences;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n);\r\n\r\nexport const exportTypeSelector = createSelector(\r\n (state: AppState) => state.search,\r\n (search) =>\r\n (\r\n dataTypeName: DataTypeName,\r\n documentType: DocumentTypeName,\r\n resultItemIndex: number,\r\n resultType: ResultTypeName,\r\n ) => {\r\n switch (dataTypeName) {\r\n case 'propertyData': {\r\n // @ts-ignore:\r\n return search?.propertyData?.results?.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].exportType;\r\n }\r\n case 'nameData': {\r\n const exportType =\r\n // @ts-ignore:\r\n search?.nameData?.results?.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].exportType;\r\n return exportType;\r\n }\r\n case 'multiData': {\r\n switch (resultType) {\r\n case 'propertyResult': {\r\n // @ts-ignore:\r\n return search?.multiData?.propertyResult?.results?.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].exportType;\r\n }\r\n case 'nameResult': {\r\n const exportType =\r\n // @ts-ignore:\r\n search?.multiData?.nameResult?.results?.find(\r\n (result) => result.index === resultItemIndex,\r\n )[documentType].exportType;\r\n return exportType;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n);\r\n\r\nexport const isSelectedSelector = createSelector(\r\n (state: AppState) => state.search,\r\n (search) =>\r\n (\r\n dataTypeName: DataTypeName,\r\n documentType: DocumentTypeName,\r\n guid: string,\r\n resultItemIndex: number,\r\n resultType: ResultTypeName,\r\n ) => {\r\n switch (dataTypeName) {\r\n case 'propertyData': {\r\n const { isSelected } =\r\n // @ts-ignore:\r\n search?.propertyData?.results\r\n ?.find((result) => result.index === resultItemIndex)\r\n [documentType].items?.find((item: any) => item.guid === guid);\r\n return isSelected;\r\n }\r\n case 'otherData': {\r\n // @ts-ignore:\r\n const { isSelected } =\r\n // @ts-ignore:\r\n search?.otherData?.results\r\n ?.find(\r\n (result) =>\r\n result.index === resultItemIndex &&\r\n result.searchBy === documentType,\r\n )\r\n // @ts-ignore:\r\n ?.items?.find((item) => item.guid === guid);\r\n return isSelected;\r\n }\r\n case 'nameData': {\r\n if (search?.nameData && resultItemIndex >= 0) {\r\n return (\r\n // @ts-ignore:\r\n search.nameData.results\r\n ?.find((result) => result.index === resultItemIndex)\r\n [documentType].items.find((x: any) => x.guid === guid)\r\n .isSelected\r\n );\r\n }\r\n return false;\r\n }\r\n case 'multiData': {\r\n switch (resultType) {\r\n case 'propertyResult': {\r\n const { isSelected } =\r\n // @ts-ignore:\r\n search?.multiData?.propertyResult?.results\r\n ?.find((result) => result.index === resultItemIndex)\r\n [documentType].items?.find((item: any) => item.guid === guid);\r\n return isSelected;\r\n }\r\n case 'otherResult': {\r\n // @ts-ignore:\r\n const { isSelected } =\r\n // @ts-ignore:\r\n search?.multiData?.addressResult?.results\r\n ?.find(\r\n (result) =>\r\n result.index === resultItemIndex &&\r\n result.searchBy === documentType,\r\n )\r\n // @ts-ignore:\r\n ?.items?.find((item) => item.guid === guid);\r\n return isSelected;\r\n }\r\n case 'nameResult': {\r\n if (search.multiData?.nameResult && resultItemIndex >= 0) {\r\n return (\r\n // @ts-ignore:\r\n search.multiData?.nameResult.results\r\n .find((result) => result.index === resultItemIndex)\r\n [documentType].items.find((x: any) => x.guid === guid)\r\n .isSelected\r\n );\r\n }\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n);\r\n","import {\r\n SearchDetailsState,\r\n SearchDetailsActionTypes,\r\n SEARCH_DETAILS_ADD,\r\n SEARCH_DETAILS_CLEAR,\r\n SEARCH_DETAILS_LOADING,\r\n} from './SearchDetails.types';\r\n\r\nconst defaultState: SearchDetailsState = {\r\n details: null,\r\n loading: false,\r\n};\r\n\r\nexport function searchDetailsReducer(\r\n state = defaultState,\r\n action: SearchDetailsActionTypes,\r\n): SearchDetailsState {\r\n switch (action.type) {\r\n case SEARCH_DETAILS_CLEAR: {\r\n return {\r\n ...defaultState,\r\n };\r\n }\r\n case SEARCH_DETAILS_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case SEARCH_DETAILS_ADD: {\r\n return {\r\n ...state,\r\n details: action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n SearchExportState,\r\n SearchExportActionTypes,\r\n SEARCH_EXPORT_CLEAR,\r\n SEARCH_EXPORT_LOADING,\r\n} from 'pages/Search';\r\n\r\nconst defaultState: SearchExportState = {\r\n export: [\r\n {\r\n header: '',\r\n assessments: [],\r\n recordedDocuments: [],\r\n federalTaxLiens: [],\r\n liens: [],\r\n environmentalControlBoardJudgments: [],\r\n transitAdjudicationBureauJudgments: [],\r\n parkingViolationJudgments: [],\r\n uniformCommercialCodes: [],\r\n emergencyRepairs: [],\r\n },\r\n ],\r\n loading: false,\r\n};\r\n\r\nexport function searchExportReducer(\r\n state = defaultState,\r\n action: SearchExportActionTypes,\r\n): SearchExportState {\r\n switch (action.type) {\r\n case SEARCH_EXPORT_CLEAR: {\r\n // Redux-form is changing defaultState somehow! It's a bug!!!\r\n return {\r\n export: [\r\n {\r\n header: '',\r\n assessments: [],\r\n recordedDocuments: [],\r\n federalTaxLiens: [],\r\n liens: [],\r\n environmentalControlBoardJudgments: [],\r\n transitAdjudicationBureauJudgments: [],\r\n parkingViolationJudgments: [],\r\n uniformCommercialCodes: [],\r\n emergencyRepairs: [],\r\n },\r\n ],\r\n loading: false,\r\n };\r\n }\r\n case SEARCH_EXPORT_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { ExportResult } from 'pages/Search/models';\r\n\r\nexport interface SearchExportState {\r\n export: ExportResult[];\r\n loading: boolean;\r\n}\r\n\r\nexport interface FilePrintOptions {\r\n showReferences: boolean;\r\n leantsPrintType: 'summary' | 'details';\r\n}\r\n\r\nexport const SEARCH_EXPORT_CLEAR = 'SEARCH_EXPORT_CLEAR';\r\nexport const SEARCH_EXPORT_LOADING = 'SEARCH_EXPORT_LOADING';\r\n\r\ninterface SearchExportClearAction {\r\n type: typeof SEARCH_EXPORT_CLEAR;\r\n}\r\n\r\ninterface SearchExportLoadingAction {\r\n type: typeof SEARCH_EXPORT_LOADING;\r\n payload: boolean;\r\n}\r\n\r\nexport type SearchExportActionTypes =\r\n | SearchExportClearAction\r\n | SearchExportLoadingAction;\r\n","import {\r\n SearchHistoryState,\r\n SearchHistoryActionTypes,\r\n SEARCH_HISTORY_ADD,\r\n SEARCH_HISTORY_CLEAR,\r\n SEARCH_HISTORY_LOADING,\r\n} from './SearchHistory.types';\r\n\r\nconst defaultState: SearchHistoryState = {\r\n history: [],\r\n loading: false,\r\n};\r\n\r\nexport function searchHistoryReducer(\r\n state = defaultState,\r\n action: SearchHistoryActionTypes,\r\n): SearchHistoryState {\r\n switch (action.type) {\r\n case SEARCH_HISTORY_CLEAR: {\r\n return {\r\n ...defaultState,\r\n };\r\n }\r\n case SEARCH_HISTORY_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case SEARCH_HISTORY_ADD: {\r\n return {\r\n ...state,\r\n history: action.payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Dispatch } from 'redux';\r\nimport {\r\n fetchStatesService,\r\n searchBankruptcyService,\r\n} from './Bankruptcy.services';\r\nimport {\r\n GetStatesSuccessType,\r\n SetResultLoadingType,\r\n GET_BAKRUPTCY_STATES_SUCCESS,\r\n SET_LOADING,\r\n RESET_RESULTS,\r\n ResetResultsType,\r\n} from './Bankruptcy.types';\r\nimport {\r\n httpError,\r\n json,\r\n showWarnNotification,\r\n showSuccessNotification,\r\n} from 'common';\r\nimport { BankruptcyStates } from './models';\r\n\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: SET_LOADING,\r\n loading,\r\n});\r\n\r\nconst getStatesSuccess = (\r\n bankruptcyStates: BankruptcyStates,\r\n): GetStatesSuccessType => ({\r\n type: GET_BAKRUPTCY_STATES_SUCCESS,\r\n bankruptcyStates,\r\n});\r\n\r\nexport const getStates = (bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n fetchStatesService(bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getStatesSuccess(response));\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setResultLoading(false));\r\n showWarnNotification(`States`, error.message);\r\n });\r\n};\r\n\r\nexport const searchBankruptcy =\r\n (formValues: any, exportFormat: string, token: string) =>\r\n (dispatch: Dispatch) => {\r\n const body = {\r\n items: formValues.items.map(\r\n ({\r\n hobCodes: { stateHob, districtCode },\r\n individuals,\r\n corporations,\r\n }: any) => ({\r\n districtCode: districtCode || stateHob,\r\n individuals,\r\n corporations,\r\n }),\r\n ),\r\n exportFormat,\r\n };\r\n dispatch(setResultLoading(true));\r\n dispatch(resetResults());\r\n searchBankruptcyService(body, token)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response: any) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n showSuccessNotification(\r\n 'National Name Database',\r\n `Your documents will be ready soon. Please check \"Recent Reports\".`,\r\n );\r\n dispatch(setResultLoading(false));\r\n })\r\n .catch((error: any) => {\r\n showWarnNotification('National Name Database', error.message);\r\n dispatch(setResultLoading(false));\r\n });\r\n };\r\n\r\nexport const resetResults = (): ResetResultsType => ({\r\n type: RESET_RESULTS,\r\n});\r\n","import { Dispatch } from 'redux';\r\nimport { setLicenseAgreement } from './License.services';\r\nimport { httpError, json, showWarnNotification } from 'common';\r\n\r\nimport { SetResultLoadingType, LICENSE_SET_LOADING } from './License.types';\r\n\r\nfunction go2dashboard() {\r\n const str = window.location.href.replace('license', 'dashboard');\r\n window.location.href = str;\r\n //window.location = window.location.host;\r\n}\r\n\r\nexport const setLicenseFlag =\r\n (username: string, bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setResultLoading(true));\r\n //alert(\"Save\");\r\n setLicenseAgreement(username, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n go2dashboard();\r\n /*showSuccessNotification(\r\n 'End User License Agreement',\r\n 'Accepted the End User License Agreement Successfully\".',\r\n ); */\r\n })\r\n .catch((error) => {\r\n showWarnNotification(`License Agreement`, error.message);\r\n });\r\n };\r\nconst setResultLoading = (loading: boolean): SetResultLoadingType => ({\r\n type: LICENSE_SET_LOADING,\r\n loading,\r\n});\r\n","import { fetchPost } from 'common';\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const setLicenseAgreement = (user: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/authentication/license/${user}`, bearerToken);\r\n\r\nexport const saveLicenseAgreement = (user: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/documentimages/setlicense/${user}`, bearerToken);\r\n","import React from 'react';\r\nimport { Row, Alert } from 'antd';\r\nimport { FormField, maxLength } from 'common';\r\nimport {\r\n SearchTypeFormNames,\r\n TaxTraxFormLabels,\r\n AddressSearchFormNames,\r\n OwnerSearchFormNames,\r\n} from './TaxTrax.constants';\r\nimport styles from './TaxTrax.module.scss';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport { GetDriversResult } from './models';\r\n\r\nconst warnText = [maxLength(20)];\r\n\r\ninterface Props {\r\n handleFieldFocus: any;\r\n driversData: GetDriversResult;\r\n}\r\n\r\nconst TaxTraxFormTabs: React.FC = ({\r\n handleFieldFocus,\r\n driversData,\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n {TaxTraxFormLabels.ADDRESS_SEARCH}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {TaxTraxFormLabels.OWNER_SEARCH}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {TaxTraxFormLabels.DRIVERS_SEARCH}\r\n \r\n \r\n\r\n \r\n {driversData && driversData.drivers && !!driversData.drivers.length ? (\r\n driversData.drivers.map(\r\n ({ guid, fIndex, name, specialCharacter }) => {\r\n return (\r\n \r\n \r\n {specialCharacter && (\r\n \r\n {specialCharacter}\r\n \r\n )}\r\n \r\n );\r\n },\r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TaxTraxFormTabs;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Row, Col, Divider, Descriptions, Button, Spin } from 'antd';\r\nimport { taxTraxTaxBillsClear } from './TaxTraxTaxBills.actions';\r\nimport {\r\n BasicDrawer,\r\n CommonTable,\r\n Sizes,\r\n LOADING,\r\n ExportFormatNames,\r\n} from 'common';\r\nimport { TaxTraxTaxBillsResponse, TaxBill } from '../models';\r\nimport { AppState } from 'store';\r\nimport { formatDate, getAccessToken } from 'common/helpers';\r\nimport Column from 'antd/lib/table/Column';\r\nimport { taxBillRecordSelector, taxBillSelector } from 'pages/TaxTrax';\r\nimport styles from '../TaxTrax.module.scss';\r\nimport {\r\n downloadTaxBillHtmlAsync,\r\n downloadTaxBillPdfAsync,\r\n fetchTaxTraxTaxBillRecordAsync,\r\n} from '../TaxTraxTaxBillRecord';\r\nimport TaxTraxTaxBillRecord from '../TaxTraxTaxBillRecord/TaxTraxTaxBillRecord';\r\nimport {\r\n PropertyInformationDescriptions,\r\n PropertyIdentifierDescriptions,\r\n PropertyOwnerDescriptions,\r\n} from 'common/templates';\r\nimport { Property } from 'common/models';\r\nimport { TaxTraxDisclaimer } from '../templates';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst TaxTraxTaxBills: React.FC<{\r\n taxBillsResponse: TaxTraxTaxBillsResponse;\r\n property: Property;\r\n}> = (props: {\r\n taxBillsResponse: TaxTraxTaxBillsResponse;\r\n property: Property;\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { taxBillsResponse, property } = props;\r\n const { taxBills, propertyInformation, propertyIdentifier } =\r\n taxBillsResponse;\r\n\r\n const {\r\n taxBillListLoading,\r\n taxBillRecordLoading,\r\n taxBillRecord,\r\n taxBill,\r\n }: any = useSelector((state: AppState) => ({\r\n login: state.login,\r\n taxBillListLoading: state.taxTraxTaxBills.loading,\r\n taxBillRecordLoading: state.taxTraxTaxBillRecord.loading,\r\n taxBillRecord: taxBillRecordSelector(state),\r\n taxBill: taxBillSelector(state),\r\n }));\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const handleSearch = (taxBill: TaxBill) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken) {\r\n dispatch(\r\n fetchTaxTraxTaxBillRecordAsync(\r\n taxBill,\r\n property,\r\n response.accessToken,\r\n ),\r\n );\r\n }\r\n });\r\n }\r\n };\r\n\r\n const downloadBillRequest = (\r\n token: string,\r\n taxBill: TaxBill,\r\n fileFormat: ExportFormatNames,\r\n ) => {\r\n if (fileFormat === ExportFormatNames.HTML)\r\n dispatch(downloadTaxBillHtmlAsync(taxBill, property.hob, token));\r\n else if (fileFormat === ExportFormatNames.PDF)\r\n dispatch(downloadTaxBillPdfAsync(taxBill, property.hob, token));\r\n };\r\n\r\n const downloadBill = (taxBill: TaxBill, fileFormat: ExportFormatNames) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n downloadBillRequest(response.accessToken, taxBill, fileFormat);\r\n });\r\n }\r\n };\r\n\r\n // group the bills by their tax type and store the approximate release date for each group\r\n const taxBillGroups = taxBills.reduce(\r\n (groups: any, taxBill: TaxBill) => ({\r\n ...groups,\r\n [taxBill.taxType]: {\r\n taxBills: [...(groups[taxBill.taxType]?.taxBills || []), taxBill],\r\n approximateReleaseDate: taxBill.approximateReleaseDate\r\n ? taxBill.approximateReleaseDate\r\n : groups[taxBill.taxType]?.approximateReleaseDate,\r\n hasAtLeastOneDownloadableBill: groups[taxBill.taxType]?.taxBills?.some(\r\n (taxBill: TaxBill) => taxBill.billFlag,\r\n ),\r\n },\r\n }),\r\n {},\r\n );\r\n\r\n return (\r\n dispatch(taxTraxTaxBillsClear())}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n {Object.keys(taxBillGroups).map((groupKey) => {\r\n return (\r\n \r\n \r\n \r\n {taxBillGroups[groupKey].approximateReleaseDate ?? 'N/A'}\r\n \r\n \r\n \r\n \r\n formatDate(text)}\r\n />\r\n (\r\n <>\r\n handleSearch(record)}\r\n title=\"Click to see payment status\"\r\n >\r\n Details\r\n \r\n \r\n *\r\n

\r\n \r\n )}\r\n />\r\n {taxBillGroups[groupKey].hasAtLeastOneDownloadableBill && (\r\n (\r\n <>\r\n \r\n downloadBill(record, ExportFormatNames.HTML)\r\n }\r\n title={\r\n record.billFlag\r\n ? 'Click to download bill preview'\r\n : 'This bill is not available at this time'\r\n }\r\n disabled={!record.billFlag}\r\n >\r\n Html\r\n \r\n {record.billFlag ? (\r\n \r\n *\r\n

\r\n ) : (\r\n <>N/A\r\n )}\r\n \r\n )}\r\n />\r\n )}\r\n {taxBillGroups[groupKey].hasAtLeastOneDownloadableBill && (\r\n (\r\n <>\r\n \r\n downloadBill(record, ExportFormatNames.PDF)\r\n }\r\n title={\r\n record.billFlag\r\n ? 'Click to download bill'\r\n : 'This bill is not available at this time'\r\n }\r\n disabled={!record.billFlag}\r\n >\r\n PDF\r\n \r\n {record.billFlag ? (\r\n \r\n *\r\n

\r\n ) : (\r\n <>N/A\r\n )}\r\n \r\n )}\r\n />\r\n )}\r\n \r\n

\r\n \r\n *\r\n \r\n Fee applied on Click\r\n \r\n *\r\n \r\n

\r\n \r\n );\r\n })}\r\n
\r\n\r\n {taxBillRecord && taxBill && property && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TaxTraxTaxBills;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n Row,\r\n Col,\r\n Divider,\r\n Descriptions,\r\n Button,\r\n Spin,\r\n Dropdown,\r\n Menu,\r\n Icon,\r\n} from 'antd';\r\nimport {\r\n exportTaxBillRecordAsync,\r\n taxTraxTaxBillRecordClear,\r\n} from './TaxTraxTaxBillRecord.actions';\r\nimport {\r\n BasicDrawer,\r\n TableSizeNames,\r\n CommonTable,\r\n IconTypeNames,\r\n Sizes,\r\n LOADING,\r\n PrintButton,\r\n ExportFormatNames,\r\n formatDate,\r\n formatPriceString,\r\n} from 'common';\r\nimport {\r\n TaxBill,\r\n TaxBillPayment,\r\n TaxBillPaymentDetail,\r\n TaxBillRecord,\r\n} from '../models';\r\nimport { AppState } from 'store';\r\nimport ButtonGroup from 'antd/lib/button/button-group';\r\nimport Column from 'antd/lib/table/Column';\r\nimport styles from '../TaxTrax.module.scss';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport {\r\n Property,\r\n PropertyIdentifier,\r\n PropertyInformation,\r\n} from 'common/models';\r\nimport {\r\n PropertyIdentifierDescriptions,\r\n PropertyInformationDescriptions,\r\n PropertyOwnerDescriptions,\r\n} from 'common/templates';\r\nimport { TaxTraxDisclaimer } from '../templates';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst TaxTraxTaxBillRecord: React.FC<{\r\n taxBillRecord: TaxBillRecord;\r\n taxBill: TaxBill;\r\n property: Property;\r\n propertyInformation: PropertyInformation;\r\n propertyIdentifier: PropertyIdentifier;\r\n handleBillDownload: (taxBill: TaxBill, fileFormat: ExportFormatNames) => void;\r\n}> = (props: {\r\n taxBillRecord: TaxBillRecord;\r\n taxBill: TaxBill;\r\n property: Property;\r\n propertyInformation: PropertyInformation;\r\n propertyIdentifier: PropertyIdentifier;\r\n handleBillDownload: (taxBill: TaxBill, fileFormat: ExportFormatNames) => void;\r\n}) => {\r\n const dispatch = useDispatch();\r\n const {\r\n taxBillRecord,\r\n taxBill,\r\n property,\r\n propertyInformation,\r\n propertyIdentifier,\r\n handleBillDownload,\r\n } = props;\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const { loading }: any = useSelector((state: AppState) => ({\r\n loading: state.taxTraxTaxBillRecord.loading,\r\n }));\r\n\r\n const handleDetailsExport = React.useCallback(\r\n (format: string, action: 'print' | 'save') => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n exportTaxBillRecordAsync(\r\n taxBillRecord,\r\n taxBill,\r\n property,\r\n propertyInformation,\r\n propertyIdentifier,\r\n format,\r\n action,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n },\r\n [\r\n dispatch,\r\n instance,\r\n account,\r\n inProgress,\r\n taxBillRecord,\r\n taxBill,\r\n property,\r\n propertyInformation,\r\n propertyIdentifier,\r\n ],\r\n );\r\n\r\n return (\r\n dispatch(taxTraxTaxBillRecordClear())}\r\n >\r\n \r\n \r\n \r\n {taxBill.billFlag && (\r\n <>\r\n \r\n handleBillDownload(taxBill, ExportFormatNames.HTML)\r\n }\r\n className={globalStyles.button}\r\n >\r\n Bill Preview *\r\n \r\n \r\n handleBillDownload(taxBill, ExportFormatNames.PDF)\r\n }\r\n className={globalStyles.button}\r\n >\r\n Bill Download *\r\n \r\n

\r\n \r\n *\r\n \r\n Fee applied on Bill Preview and Bill Download\r\n \r\n *\r\n \r\n

\r\n \r\n )}\r\n \r\n \r\n \r\n handleDetailsExport('html', 'print')}\r\n />\r\n handleDetailsExport(key, 'save')}>\r\n \r\n \r\n MS Word\r\n \r\n \r\n \r\n PDF\r\n \r\n \r\n \r\n HTML\r\n \r\n \r\n \r\n Text\r\n \r\n \r\n }\r\n >\r\n \r\n Export \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n {taxBill && (\r\n \r\n \r\n {taxBill.taxTypeName}\r\n \r\n \r\n {taxBill.displayYear}\r\n \r\n \r\n {formatDate(taxBill.postDate)}\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n record.paymentDetails.map(\r\n (paymentDetail: TaxBillPaymentDetail, index: number) => {\r\n const paymentDetailDate = paymentDetail.paidDate\r\n ? `Paid ${formatDate(paymentDetail.paidDate)}`\r\n : '';\r\n return (\r\n \r\n {paymentDetail.name}:{' '}\r\n {formatPriceString(paymentDetail.amount)}{' '}\r\n {paymentDetailDate}\r\n \r\n );\r\n },\r\n )\r\n }\r\n />\r\n formatPriceString(text)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TaxTraxTaxBillRecord;\r\n","import React from 'react';\r\nimport { RecordedDocument, Transaction } from 'pages/Search/models';\r\nimport {\r\n Descriptions,\r\n Table,\r\n List,\r\n Col,\r\n Row,\r\n Typography,\r\n Button,\r\n Spin,\r\n Dropdown,\r\n Menu,\r\n Icon,\r\n} from 'antd';\r\nimport {\r\n Date,\r\n Money,\r\n CommonTable,\r\n TableSizeNames,\r\n IconTypeNames,\r\n Sizes,\r\n PrintButton,\r\n} from 'common';\r\nimport { RecordedDocumentReferences } from '..';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { exportDetailsAsync } from 'pages/Search';\r\nimport { AppState } from 'store';\r\nimport ButtonGroup from 'antd/lib/button/button-group';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Text } = Typography;\r\nconst { Column, ColumnGroup } = Table;\r\n\r\ntype RecordedDocumentDetailsProps = {\r\n searchId: number;\r\n document: RecordedDocument;\r\n};\r\n\r\nconst boroConvert = (boro: number): string => {\r\n switch (boro) {\r\n case 1:\r\n return 'New York';\r\n case 2:\r\n return 'Bronx';\r\n case 3:\r\n return 'Kings';\r\n case 4:\r\n return 'Queens';\r\n case 5:\r\n return 'Richmond';\r\n default:\r\n return 'ERROR';\r\n }\r\n};\r\n\r\nconst RecordedDocumentDetails: React.FC = ({\r\n searchId,\r\n document,\r\n}: RecordedDocumentDetailsProps) => {\r\n const dispatch = useDispatch();\r\n const { loading }: any = useSelector((state: AppState) => ({\r\n loading: state.searchExport.loading,\r\n }));\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const {\r\n boro,\r\n reelFileNumber,\r\n instr,\r\n crfn,\r\n dated,\r\n remarks,\r\n amount,\r\n documentType,\r\n dateRec,\r\n entered,\r\n lots,\r\n firstSideOfTransaction,\r\n secondSideOfTransaction,\r\n documentReferences,\r\n documentTypeDetails,\r\n documentID,\r\n pageOFileNumber,\r\n } = document;\r\n\r\n const {\r\n firstSideOfTransactionHeaderName,\r\n secondSideOfTransactionHeaderName,\r\n } = documentTypeDetails;\r\n\r\n const handleDetailsExport = React.useCallback(\r\n (format: string, action: 'print' | 'save') => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n exportDetailsAsync(\r\n document,\r\n searchId,\r\n 'recordedDocument',\r\n format,\r\n action,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n },\r\n [dispatch, instance, account, inProgress, document, searchId],\r\n );\r\n\r\n return (\r\n \r\n \r\n Instrument\r\n \r\n handleDetailsExport('html', 'print')}\r\n />\r\n handleDetailsExport(key, 'save')}>\r\n \r\n \r\n MS Word\r\n \r\n \r\n \r\n PDF\r\n \r\n \r\n \r\n HTML\r\n \r\n \r\n \r\n Text\r\n \r\n \r\n }\r\n >\r\n \r\n Export \r\n \r\n \r\n \r\n \r\n \r\n }\r\n column={3}\r\n >\r\n {documentID}\r\n {crfn}\r\n {instr}\r\n\r\n {documentType === 'uniformCommercialCodes' ||\r\n documentType === 'federalTaxLiens' ? (\r\n \r\n {amount}\r\n \r\n ) : (\r\n amount > 0 && (\r\n \r\n {amount}\r\n \r\n )\r\n )}\r\n\r\n \r\n {dateRec}\r\n \r\n\r\n {documentType === 'recordedDocuments' && (\r\n \r\n {dated}\r\n \r\n )}\r\n\r\n {documentType === 'recordedDocuments' && (\r\n \r\n {entered}\r\n \r\n )}\r\n\r\n {documentType === 'recordedDocuments' && (\r\n <>\r\n \r\n {crfn === '' ? reelFileNumber : ''}\r\n \r\n \r\n {crfn === '' ? pageOFileNumber : ''}\r\n \r\n \r\n )}\r\n {(documentType === 'uniformCommercialCodes' ||\r\n documentType === 'federalTaxLiens') && (\r\n <>\r\n \r\n {reelFileNumber}\r\n \r\n \r\n {pageOFileNumber}\r\n \r\n \r\n )}\r\n \r\n {boroConvert(boro)}\r\n \r\n \r\n\r\n \r\n {lots && lots.length > 0 && (\r\n \r\n There are {lots.length} lots in the table\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {((firstSideOfTransaction && firstSideOfTransaction.length > 0) ||\r\n (secondSideOfTransaction && secondSideOfTransaction.length > 0)) && (\r\n \r\n \r\n {firstSideOfTransaction && firstSideOfTransaction.length > 0 && (\r\n \r\n {firstSideOfTransactionHeaderName\r\n ? firstSideOfTransactionHeaderName\r\n : 'Party 1 Names'}\r\n \r\n }\r\n size=\"small\"\r\n dataSource={firstSideOfTransaction}\r\n renderItem={(transaction: Transaction) => (\r\n <>\r\n {transaction.name}\r\n {`${transaction.address}`}\r\n \r\n )}\r\n />\r\n )}\r\n \r\n \r\n {secondSideOfTransaction && secondSideOfTransaction.length > 0 && (\r\n \r\n {secondSideOfTransactionHeaderName\r\n ? secondSideOfTransactionHeaderName\r\n : 'Party 2 Names'}\r\n \r\n }\r\n size=\"small\"\r\n dataSource={secondSideOfTransaction}\r\n renderItem={(transaction: Transaction) => (\r\n <>\r\n {transaction.name}\r\n {`${transaction.address}`}\r\n \r\n )}\r\n />\r\n )}\r\n \r\n \r\n )}\r\n\r\n {remarks && remarks.length > 0 && (\r\n Remarks}\r\n size=\"small\"\r\n dataSource={remarks}\r\n renderItem={(item) => {item.remarkText}}\r\n />\r\n )}\r\n\r\n {documentReferences && documentReferences.length > 0 && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RecordedDocumentDetails;\r\n","import React from 'react';\r\nimport { Lien } from 'pages/Search/models';\r\nimport {\r\n Typography,\r\n List,\r\n Row,\r\n Col,\r\n Button,\r\n Divider,\r\n Spin,\r\n Alert,\r\n Dropdown,\r\n Menu,\r\n Icon,\r\n} from 'antd';\r\nimport {\r\n AttributeValuePair,\r\n TableSizeNames,\r\n IconTypeNames,\r\n Sizes,\r\n PrintButton,\r\n} from 'common';\r\nimport { formatDate, getAccessToken } from 'common/helpers';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { exportDetailsAsync } from 'pages/Search';\r\nimport ButtonGroup from 'antd/lib/button/button-group';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Title, Text } = Typography;\r\n\r\nconst LienDetails: React.FC<{ searchId: number; lien: Lien }> = (props: {\r\n searchId: number;\r\n lien: Lien;\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const { loading }: any = useSelector((state: AppState) => ({\r\n loading: state.searchExport.loading,\r\n }));\r\n\r\n const {\r\n documentTypeTitle,\r\n controlNumber,\r\n lienType,\r\n court,\r\n county,\r\n clerk,\r\n clerkSequence,\r\n effectiveDate,\r\n debtor,\r\n creditor,\r\n docketDate,\r\n block,\r\n lot,\r\n date,\r\n attorney,\r\n docType,\r\n satisfaction,\r\n controlDate,\r\n amount,\r\n indexNumber,\r\n accidentDate,\r\n remarks,\r\n totalDebtors,\r\n documentNumber,\r\n operatorId,\r\n sheriffsExecutions,\r\n against,\r\n } = props.lien;\r\n\r\n let totalDebtorsLabel = 'ERROR';\r\n let indexNumberLabel = 'ERROR';\r\n let dispositionLabel = 'ERROR';\r\n\r\n let attorneyHeader = 'ERROR';\r\n let debtorHeader = 'ERROR';\r\n let creditorHeader = 'ERROR';\r\n let dispositionHeader = 'ERROR';\r\n let againsHeader = 'ERROR';\r\n\r\n switch (lienType) {\r\n case '01':\r\n indexNumberLabel = 'Index # ';\r\n totalDebtorsLabel = 'Total Debtors ';\r\n dispositionLabel = 'Disposition ';\r\n\r\n attorneyHeader = 'Creditor Attorney';\r\n againsHeader = 'Against Whom Claimed';\r\n creditorHeader = 'Creditor';\r\n debtorHeader = 'Debtor / Corporation';\r\n dispositionHeader = 'Satisfaction Data';\r\n break;\r\n case '02':\r\n indexNumberLabel = 'Lien # ';\r\n totalDebtorsLabel = 'Total Debtors ';\r\n dispositionLabel = 'Type ';\r\n\r\n attorneyHeader = 'Lienor Attorney';\r\n againsHeader = 'Alleged Liable';\r\n creditorHeader = 'Claimant';\r\n debtorHeader = 'Recipient / Corporation';\r\n dispositionHeader = 'Satisfaction Data';\r\n break;\r\n case '03':\r\n indexNumberLabel = 'Index # ';\r\n totalDebtorsLabel = 'Total Blocks & Lots ';\r\n dispositionLabel = 'Disposition ';\r\n\r\n attorneyHeader = 'Lienor Attorney';\r\n againsHeader = 'Against Whom Claimed';\r\n creditorHeader = 'Lienor';\r\n debtorHeader = 'Owner / Corporation';\r\n dispositionHeader = 'Disposition Data';\r\n break;\r\n case '04':\r\n indexNumberLabel = 'Loan # ';\r\n totalDebtorsLabel = 'Total Blocks & Lots ';\r\n dispositionLabel = 'Disposition ';\r\n\r\n attorneyHeader = 'Lienor Attorney';\r\n againsHeader = 'Against Whom Claimed';\r\n creditorHeader = 'Lender';\r\n debtorHeader = 'Borrower / Corporation';\r\n dispositionHeader = 'Disposition Data';\r\n break;\r\n case '05':\r\n indexNumberLabel = 'Index # ';\r\n totalDebtorsLabel = 'Total Blocks & Lots ';\r\n dispositionLabel = 'Disposition ';\r\n\r\n attorneyHeader = 'Lienor Attorney';\r\n creditorHeader = '1st Named Plaintiff / Corporation';\r\n debtorHeader = '1st Named Defendant / Corporation';\r\n dispositionHeader = 'Disposition Data';\r\n break;\r\n case '06':\r\n indexNumberLabel = 'Index # ';\r\n totalDebtorsLabel = 'Total Blocks & Lots ';\r\n dispositionLabel = 'Disposition ';\r\n\r\n attorneyHeader = 'Lienor Attorney';\r\n creditorHeader = 'Claimant';\r\n debtorHeader = 'Owner / Corporation';\r\n dispositionHeader = 'Cancellation Data';\r\n break;\r\n case '07':\r\n indexNumberLabel = 'Index # ';\r\n totalDebtorsLabel = 'Total Debtors ';\r\n dispositionLabel = 'Type ';\r\n\r\n attorneyHeader = 'Lienor Attorney';\r\n debtorHeader = 'Debtor / Corporation';\r\n dispositionHeader = 'Satisfaction Data';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const handleDetailsExport = React.useCallback(\r\n (format: string, action: 'print' | 'save') => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n exportDetailsAsync(\r\n props.lien,\r\n props.searchId,\r\n 'lien',\r\n format,\r\n action,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n },\r\n [dispatch, instance, account, inProgress, props.lien, props.searchId],\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {`${documentTypeTitle} - Control Number ${controlNumber}`}\r\n \r\n\r\n {(lienType === '03' || lienType === '04') && (\r\n {`For Block: ${parseInt(block)} Lot: ${parseInt(\r\n lot,\r\n )} in ${county} COUNTY`}\r\n )}\r\n\r\n {(lienType === '01' || lienType === '02') && (\r\n {`For ${debtor.name} in ${county} COUNTY`}\r\n )}\r\n \r\n

LienDetails

\r\n \r\n handleDetailsExport('html', 'print')}\r\n />\r\n handleDetailsExport(key, 'save')}>\r\n \r\n \r\n MS Word\r\n \r\n \r\n \r\n PDF\r\n \r\n \r\n \r\n HTML\r\n \r\n \r\n \r\n Text\r\n \r\n \r\n }\r\n >\r\n \r\n Export \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n Docketing Data} size=\"small\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Source Document} size=\"small\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lienType === '02' && (\r\n <>\r\n  \r\n \r\n \r\n )}\r\n {(lienType === '03' ||\r\n lienType === '05' ||\r\n lienType === '06') && (\r\n <>\r\n  \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {(lienType === '03' ||\r\n lienType === '04' ||\r\n lienType === '05' ||\r\n lienType === '06') && (\r\n \r\n Premises} size=\"small\">\r\n \r\n \r\n \r\n {(block === '' || lot === '') && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n {(lienType === '01' || lienType === '03' || lienType === '04') && (\r\n \r\n {attorneyHeader}}\r\n size=\"small\"\r\n >\r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {debtorHeader}} size=\"small\">\r\n \r\n \r\n  \r\n \r\n \r\n {(lienType === '01' || lienType === '02' || lienType === '07') && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {(lienType === '02' || lienType === '03' || lienType === '04') && (\r\n \r\n {againsHeader}} size=\"small\">\r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n )}\r\n {(lienType === '01' ||\r\n lienType === '02' ||\r\n lienType === '03' ||\r\n lienType === '04' ||\r\n lienType === '05' ||\r\n lienType === '06') && (\r\n \r\n {creditorHeader}}\r\n size=\"small\"\r\n >\r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {dispositionHeader}}\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {(lienType === '01' ||\r\n lienType === '02' ||\r\n lienType === '07') && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {remarks && remarks.length > 0 ? (\r\n Remarks}\r\n size=\"small\"\r\n dataSource={remarks}\r\n renderItem={(item) => (\r\n \r\n \r\n \r\n )}\r\n />\r\n ) : (\r\n Remarks: N\r\n )}\r\n \r\n \r\n {date && (\r\n \r\n \r\n }\r\n type=\"warning\"\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default LienDetails;\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { searchDetailsClear } from './SearchDetails.actions';\r\nimport { AppState } from 'store';\r\nimport RecordedDocumentDetails from '../templates/RecordedDocumentDetails/RecordedDocumentDetails';\r\nimport { RecordedDocument, Lien } from '../models';\r\nimport LienDetails from '../templates/LienDetails/LienDetails';\r\nimport { BasicDrawer } from 'common';\r\n\r\nconst SearchDetails: React.FC<{ searchId: number }> = (props: {\r\n searchId: number;\r\n}) => {\r\n const dispatch = useDispatch();\r\n const searchDetails = useSelector((state: AppState) => state.searchDetails);\r\n\r\n return (\r\n dispatch(searchDetailsClear())}\r\n >\r\n {searchDetails.details?.documentType === 'recordedDocuments' && (\r\n \r\n )}\r\n {searchDetails.details?.documentType === 'uniformCommercialCodes' && (\r\n \r\n )}\r\n {searchDetails.details?.documentType === 'federalTaxLiens' && (\r\n \r\n )}\r\n {searchDetails.details?.documentType === 'liens' && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default SearchDetails;\r\n","import { Dispatch } from 'redux';\r\nimport { getTaxBills } from './TaxTraxTaxBills.services';\r\nimport { httpError, json, showWarnNotification } from 'common';\r\nimport {\r\n TAXTRAX_TAX_BILLS_ADD,\r\n TAXTRAX_TAX_BILLS_CLEAR,\r\n TAXTRAX_TAX_BILLS_LOADING,\r\n} from './TaxTraxTaxBills.types';\r\nimport { TaxTraxTaxBillsResponse } from '../models';\r\nimport { Property } from 'common/models';\r\n\r\nexport function taxTraxTaxBillsAdd(\r\n property: Property,\r\n response: TaxTraxTaxBillsResponse,\r\n) {\r\n return {\r\n type: TAXTRAX_TAX_BILLS_ADD,\r\n payload: { property, response },\r\n };\r\n}\r\n\r\nexport function taxTraxTaxBillsClear() {\r\n return {\r\n type: TAXTRAX_TAX_BILLS_CLEAR,\r\n };\r\n}\r\n\r\nexport function taxTraxTaxBillsLoading(loading: boolean) {\r\n return {\r\n type: TAXTRAX_TAX_BILLS_LOADING,\r\n payload: loading,\r\n };\r\n}\r\n\r\nexport function fetchTaxBillsAsync(property: Property, bearerToken: string) {\r\n const requestBody = {\r\n property,\r\n };\r\n return (dispatch: Dispatch) => {\r\n dispatch(taxTraxTaxBillsLoading(true));\r\n getTaxBills(requestBody, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n return response;\r\n })\r\n .then((response: TaxTraxTaxBillsResponse) => {\r\n dispatch(taxTraxTaxBillsLoading(false));\r\n return dispatch(taxTraxTaxBillsAdd(property, response));\r\n })\r\n .catch((error) => {\r\n dispatch(taxTraxTaxBillsLoading(false));\r\n showWarnNotification(`Fetch tax bills`, error.message);\r\n });\r\n };\r\n}\r\n","import { fetchPost } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const getTaxBills = (body: any, bearerToken: string) =>\r\n fetchPost(`${apiUri}/taxtrax/taxbills`, body, bearerToken);\r\n","module.exports = \"data:image/png;base64,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\"","export const LICENSE_SET_LOADING = 'LICENSE_SET_LOADING';\r\nexport interface SetResultLoadingType {\r\n type: typeof LICENSE_SET_LOADING;\r\n loading: boolean;\r\n}\r\nexport interface LicenseState {\r\n loading: boolean;\r\n}\r\n\r\nexport type LicenseTypes = SetResultLoadingType;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"Individuals_input__1T8Ax\",\"input__noAddButton\":\"Individuals_input__noAddButton__2ndFC\"};","export const PREACRIS_ONLINE_FORM = 'preacris';\r\nexport const EMPTY_VALUE = '';\r\nexport const TAB_INDEX = '1000';\r\n\r\nexport const PREACRIS_ONLINE_FORM_INITIAL_VALUES = {\r\n stateHob: EMPTY_VALUE,\r\n countyHob: EMPTY_VALUE,\r\n documentDescription: EMPTY_VALUE,\r\n cmtdocId: EMPTY_VALUE,\r\n driversData: EMPTY_VALUE,\r\n xdetailsData: EMPTY_VALUE,\r\n};\r\n\r\nexport enum PreacrisFormLabels {\r\n STATE = 'State',\r\n COUNTY = 'County',\r\n CMT = 'Document Type',\r\n}\r\nexport enum LocationFormNames {\r\n STATE = 'stateHob',\r\n COUNTY = 'countyHob',\r\n CMT = 'documentDescription',\r\n /*STATE = 'hobCodes.stateHob',\r\n COUNTY = 'hobCodes.countyHob', \r\n CMT = 'hobCodes.countyHob',*/\r\n}\r\nexport enum PreacrisFormPlaceholders {\r\n STATE = 'Choose State',\r\n COUNTY = 'Choose County',\r\n CMT = 'Choose Service',\r\n}\r\n\r\nexport enum SearchTypeFormNames {\r\n DRIVERS_SEARCH = 'driversSearch',\r\n HOB_CODES = 'hobCodes',\r\n}\r\n\r\nexport enum PreacrisSavedFormFieldNames {\r\n STATE = 'preacrisSavedFormFieldState',\r\n COUNTY = 'preacrisSavedFormFieldCounty',\r\n CMT = 'preacrisSavedFormFieldCmt',\r\n}\r\n","import { AccountInfo, LogLevel } from '@azure/msal-browser';\r\n\r\nconst clientId: string = process.env.REACT_APP_AZURE_AD_CLIENT_ID ?? '';\r\nconst apiClientId: string = process.env.REACT_APP_AZURE_AD_API_CLIENT_ID ?? '';\r\nconst instance: string = process.env.REACT_APP_AZURE_AD_INSTANCE ?? '';\r\nconst tenant: string = process.env.REACT_APP_AZURE_AD_TENANT ?? '';\r\nconst tenantId: string = process.env.REACT_APP_AZURE_AD_TENANT_ID ?? '';\r\nconst apiScopeName: string =\r\n process.env.REACT_APP_AZURE_AD_API_SCOPE_NAME ?? '';\r\nconst appUri: string = process.env.REACT_APP_URI ?? '';\r\nexport const appBaseName: string = process.env.REACT_APP_BASENAME ?? '';\r\nexport const stPortalUrl: string = process.env.REACT_APP_ST_PORTAL_URL ?? '';\r\nconst employeeSignInPolicy = 'b2c_1a_b2e_signin';\r\nexport const signInPolicy = 'B2C_1A_FA_EIDv2_Signin';\r\nexport const wellsFargoSignInPolicy = 'B2C_1A_FA_PN_WELLS_DT_Signupsignin';\r\nexport const forgotUsernamePolicy = 'B2C_1A_FA_EIDv2_ForgotUsername';\r\nexport const forgotPasswordPolicy = 'B2C_1A_FA_EIDv2_ForgotPassword';\r\nexport const profileViewPolicy = 'B2C_1A_FA_EIDv2_ProfileView';\r\nexport const profileEditPolicy = 'B2C_1A_FA_EIDv2_ProfileEdit';\r\nexport const editAuthenticationPhonePolicy = 'B2C_1A_FA_EIDv2_PhoneEdit';\r\nexport const editEmailPolicy = 'B2C_1A_FA_EIDv2_EmailEdit';\r\nexport const resetPasswordPolicy = 'B2C_1A_FA_EIDv2_ResetPassword';\r\nexport const onDemandMFAPhonePolicy = 'B2C_1A_FA_EIDv2_MFAPhone';\r\nconst baseAuthority = `${instance}/${tenantId}`;\r\nexport const employeeSignInAuthority = `${baseAuthority}/${employeeSignInPolicy}`;\r\nexport const signInAuthority = `${baseAuthority}/${signInPolicy}`;\r\nexport const wellsFargoSignInAuthority = `${baseAuthority}/${wellsFargoSignInPolicy}`;\r\nconst forgotUsernameAuthority = `${baseAuthority}/${forgotUsernamePolicy}`;\r\nconst forgotPasswordAuthority = `${baseAuthority}/${forgotPasswordPolicy}`;\r\nconst profileViewAuthority = `${baseAuthority}/${profileViewPolicy}`;\r\nconst profileEditAuthority = `${baseAuthority}/${profileEditPolicy}`;\r\nconst resetPasswordAuthority = `${baseAuthority}/${resetPasswordPolicy}`;\r\nconst editAuthenticationPhoneAuthority = `${baseAuthority}/${editAuthenticationPhonePolicy}`;\r\nconst editEmailAuthority = `${baseAuthority}/${editEmailPolicy}`;\r\nconst baseUrl = `${appUri}/${appBaseName}`;\r\nconst baseRelativeUrl = `/${appBaseName}`;\r\nexport const relativeForgotUsernameUrl = `${baseRelativeUrl}/public/forgot-username`;\r\nexport const relativeForgotPasswordUrl = `${baseRelativeUrl}/public/forgot-password`;\r\nexport const relativeProfileViewUrl = `${baseRelativeUrl}/public/profile-view`;\r\nexport const relativeProfileEditUrl = `${baseRelativeUrl}/public/edit-profile`;\r\nexport const relativeEditAuthenticationPhoneUrl = `${baseRelativeUrl}/public/edit-authentication-phone`;\r\nexport const relativeEditEmailPhoneUrl = `${baseRelativeUrl}/public/edit-email`;\r\nexport const relativeResetPasswordUrl = `${baseRelativeUrl}/public/update-password`;\r\nexport const relativeOnDemandMFAPhoneUrl = `${baseRelativeUrl}/public/on-demand-mfa-phone`;\r\nconst loginUrl = `${baseUrl}/public/login`;\r\nconst accessTokenRequestUserScope = `https://${tenant}/${apiClientId}/${apiScopeName}`;\r\n\r\nexport const msalConfig = {\r\n auth: {\r\n clientId: clientId,\r\n authority: employeeSignInAuthority,\r\n knownAuthorities: [instance, tenant],\r\n redirectUri: baseUrl,\r\n postLogoutRedirectUri: loginUrl,\r\n navigateToLoginRequestUrl: false,\r\n },\r\n cache: {\r\n cacheLocation: 'sessionStorage', // This configures where your cache will be stored\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level: any, message: any, containsPii: any) => {\r\n if (containsPii) {\r\n return;\r\n }\r\n switch (level) {\r\n case LogLevel.Error:\r\n console.error(message);\r\n return;\r\n case LogLevel.Info:\r\n console.info(message);\r\n return;\r\n case LogLevel.Verbose:\r\n console.debug(message);\r\n return;\r\n case LogLevel.Warning:\r\n console.warn(message);\r\n return;\r\n }\r\n },\r\n piiLoggingEnabled: true,\r\n },\r\n },\r\n};\r\n\r\n// Add scopes here for ID token to be used at Microsoft identity platform endpoints.\r\nexport const loginRequest = {\r\n authority: signInAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const employeeLoginRequest = {\r\n authority: employeeSignInAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const wellsFargoLoginRequest = {\r\n authority: wellsFargoSignInAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const forgotUsernameRequest = {\r\n authority: forgotUsernameAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const forgotPasswordRequest = {\r\n authority: forgotPasswordAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const profileViewRequest = {\r\n authority: profileViewAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const editEmailRequest = {\r\n authority: editEmailAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const profileEditRequest = {\r\n authority: profileEditAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const resetPasswordRequest = {\r\n authority: resetPasswordAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const editAuthenticationPhoneRequest = {\r\n authority: editAuthenticationPhoneAuthority,\r\n scopes: [],\r\n};\r\n\r\nexport const getApiAccessRequestSilent = (\r\n account: AccountInfo | null,\r\n authority: string,\r\n) => {\r\n return {\r\n scopes: [accessTokenRequestUserScope],\r\n account: account ?? undefined,\r\n authority: authority,\r\n };\r\n};\r\n\r\nexport const getApiAccessRequest = (authority: string) => {\r\n return {\r\n scopes: [accessTokenRequestUserScope],\r\n authority: authority,\r\n };\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Public_header__1CwMc\",\"ccpanotice\":\"Public_ccpanotice__J6UJs\",\"content-min\":\"Public_content-min__2ib0O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"Individuals_input__1L4ng\",\"checkboxWarn\":\"Individuals_checkboxWarn__sxbtJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"License_bold__1VqbD\",\"img\":\"License_img__JyNs_\"};","export const BANKRUPTCY_FORM = 'bankruptcy';\r\nexport const TAB_INDEX = '1000';\r\nexport const EMPTY_VALUE = '';\r\n\r\nexport enum FormNames {\r\n HOB_CODES = 'hobCodes',\r\n COUNTY = 'hobCodes.сountyHob',\r\n DISTRICT = 'hobCodes.districtCode',\r\n STATE = 'hobCodes.stateHob',\r\n}\r\n\r\nexport enum FieldGroupNames {\r\n INDIVIDUALS = 'individuals',\r\n CORPORATIONS = 'corporations',\r\n}\r\n\r\nexport enum SearchByNames {\r\n SEARCH_BY = 'searchBy',\r\n INDIVIDUAL = 'individual',\r\n CORPORATION = 'corporation',\r\n}\r\n\r\nexport enum BankruptcyFormLabels {\r\n STATE = 'State',\r\n COUNTY = 'County',\r\n DISTRICT = 'District',\r\n}\r\n\r\nexport enum BankruptcyFormPlaceholders {\r\n COUNTY = 'All Counties',\r\n STATE = 'Choose State',\r\n DISTRICT = 'All Districts',\r\n}\r\n\r\nexport const INDIVIDUAL_INITIAL_VALUES = {\r\n firstName: EMPTY_VALUE,\r\n middleName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n};\r\n\r\nexport const CORPORATIONS_INITIAL_VALUES = {\r\n corporationName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n};\r\n\r\nexport const BANKRUPTCY_FORM_INITIAL_ITEM_GROUP = {\r\n [FormNames.HOB_CODES]: {\r\n stateHob: EMPTY_VALUE,\r\n сountyHob: EMPTY_VALUE,\r\n districtCode: EMPTY_VALUE,\r\n },\r\n [FieldGroupNames.INDIVIDUALS]: [INDIVIDUAL_INITIAL_VALUES],\r\n [FieldGroupNames.CORPORATIONS]: [CORPORATIONS_INITIAL_VALUES],\r\n};\r\n\r\nexport const BANKRUPTCY_FORM_INITIAL_VALUES = {\r\n items: [\r\n BANKRUPTCY_FORM_INITIAL_ITEM_GROUP,\r\n BANKRUPTCY_FORM_INITIAL_ITEM_GROUP,\r\n ],\r\n};\r\n","export const TAX_MAPS_FORM = 'taxMaps';\r\nexport const TAB_INDEX = '1000';\r\nexport const EMPTY_VALUE = '';\r\n\r\nexport enum SearchTypeFormNames {\r\n DRIVERS_SEARCH = 'driversSearch',\r\n HOB_CODES = 'hobCodes',\r\n}\r\n\r\nexport enum LocationFormNames {\r\n COUNTY = 'hobCodes.countyHob',\r\n CITY = 'hobCodes.cityHob',\r\n VILLAGE = 'hobCodes.villageHob',\r\n}\r\n\r\nexport enum PropertyFormLabels {\r\n COUNTY = 'County',\r\n CITY = 'Town',\r\n DRIVERS_SEARCH = 'Block Lot Search',\r\n VILLAGE = 'Village',\r\n}\r\n\r\nexport enum PropertyFormPlaceholders {\r\n COUNTY = 'Choose County',\r\n CITY = 'All Towns',\r\n VILLAGE = 'All Villages',\r\n}\r\n\r\nexport enum USStateCodes {\r\n NY = 'NY',\r\n NJ = 'NJ',\r\n}\r\n\r\nexport const TAX_MAPS_FORM_INITIAL_VALUES = {\r\n [SearchTypeFormNames.HOB_CODES]: {\r\n countyHob: EMPTY_VALUE,\r\n cityHob: EMPTY_VALUE,\r\n villageHob: EMPTY_VALUE,\r\n },\r\n [SearchTypeFormNames.DRIVERS_SEARCH]: {},\r\n};\r\n\r\nexport const COLUMN_NAMES = {\r\n taxMapImageId: { title: 'File Download', dataIndex: 'taxMapImageId' },\r\n};\r\n","export const XOSIMAGE_FORM = 'xosimages';\r\nexport const TAB_INDEX = '1000';\r\nexport const EMPTY_VALUE = '';\r\n\r\nexport enum FormNames {\r\n HOB_CODES = 'hobCodes',\r\n COUNTY = 'hobCodes.сountyHob',\r\n DISTRICT = 'hobCodes.districtCode',\r\n STATE = 'hobCodes.stateHob',\r\n}\r\n\r\nexport enum FieldGroupNames {\r\n INDIVIDUALS = 'individuals',\r\n CORPORATIONS = 'corporations',\r\n}\r\n\r\nexport enum SearchByNames {\r\n SEARCH_BY = 'searchBy',\r\n INDIVIDUAL = 'individual',\r\n CORPORATION = 'corporation',\r\n}\r\n\r\nexport enum XosImageFormLabels {\r\n STATE = 'State',\r\n COUNTY = 'County',\r\n DISTRICT = 'District',\r\n}\r\n\r\nexport enum XosImageFormPlaceholders {\r\n COUNTY = 'All Counties',\r\n STATE = 'Choose State',\r\n DISTRICT = 'All Districts',\r\n}\r\n\r\nexport const INDIVIDUAL_INITIAL_VALUES = {\r\n firstName: EMPTY_VALUE,\r\n middleName: EMPTY_VALUE,\r\n lastName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n};\r\n\r\nexport const CORPORATIONS_INITIAL_VALUES = {\r\n corporationName: EMPTY_VALUE,\r\n bankruptcySearch: false,\r\n patriotSearch: false,\r\n};\r\n\r\nexport const XOSIMAGE_FORM_INITIAL_ITEM_GROUP = {\r\n [FormNames.HOB_CODES]: {\r\n stateHob: EMPTY_VALUE,\r\n сountyHob: EMPTY_VALUE,\r\n districtCode: EMPTY_VALUE,\r\n },\r\n [FieldGroupNames.INDIVIDUALS]: [INDIVIDUAL_INITIAL_VALUES],\r\n [FieldGroupNames.CORPORATIONS]: [CORPORATIONS_INITIAL_VALUES],\r\n};\r\n\r\nexport const XOSIMAGE_FORM_INITIAL_VALUES = {\r\n items: [XOSIMAGE_FORM_INITIAL_ITEM_GROUP],\r\n};\r\n","import React from 'react';\r\nimport {\r\n formatDate,\r\n formatTime,\r\n formatDateTime,\r\n formatMonthYear,\r\n} from 'common/helpers';\r\nimport moment from 'moment';\r\n\r\nconst Date: React.FC<{\r\n type?: 'date' | 'time' | 'dateTime' | 'monthYear';\r\n children: any;\r\n}> = (props: { type?: string; children: any }) => {\r\n if (!props.children) {\r\n return <>;\r\n }\r\n\r\n const date = moment(props.children).toDate();\r\n let result = <>{formatDate(date)};\r\n\r\n switch (props.type) {\r\n case 'dateTime':\r\n result = <>{formatDateTime(date)};\r\n break;\r\n case 'monthYear':\r\n result = <>{formatMonthYear(date)};\r\n break;\r\n case 'time':\r\n result = <>{formatTime(date)};\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport default Date;\r\n","import React from 'react';\r\nimport { formatPriceString } from 'common/helpers';\r\n\r\nconst Money: React.FC<{ children: any }> = (props: { children: any }) => {\r\n const result = <>{formatPriceString(props.children)};\r\n\r\n return result;\r\n};\r\n\r\nexport default Money;\r\n","import React from 'react';\r\nimport { Typography } from 'antd';\r\nimport { Date, Money } from 'common';\r\n\r\nconst { Text } = Typography;\r\n\r\nconst AttributeValuePair: React.FC<{\r\n attribute: string;\r\n value: string | number | Date | boolean;\r\n valueType?: 'date' | 'time' | 'dateTime' | 'money' | 'boolean';\r\n}> = (props: {\r\n attribute: string;\r\n value: string | number | Date | boolean;\r\n valueType?: string;\r\n}) => {\r\n const attribute = {`${props.attribute}:`};\r\n\r\n if (props.value === 'undefined' || props.value === null) {\r\n return <>{attribute};\r\n }\r\n\r\n let result = (\r\n <>\r\n {attribute} {props.value}\r\n \r\n );\r\n\r\n switch (props.valueType) {\r\n case 'date':\r\n result = (\r\n <>\r\n {attribute} {props.value}\r\n \r\n );\r\n break;\r\n case 'time':\r\n result = (\r\n <>\r\n {attribute} {props.value}\r\n \r\n );\r\n break;\r\n case 'dateTime':\r\n result = (\r\n <>\r\n {attribute} {props.value}\r\n \r\n );\r\n break;\r\n case 'money':\r\n result = (\r\n <>\r\n {attribute} {props.value}\r\n \r\n );\r\n break;\r\n case 'boolean':\r\n result = (\r\n <>\r\n {attribute} {props.value ? 'YES' : 'NO'}\r\n \r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport default AttributeValuePair;\r\n","import React from 'react';\r\nimport {\r\n Form,\r\n Input,\r\n Radio,\r\n Checkbox,\r\n Select,\r\n Tooltip,\r\n AutoComplete,\r\n InputNumber,\r\n DatePicker,\r\n} from 'antd';\r\nimport { Field } from 'redux-form';\r\nimport moment, { Moment } from 'moment';\r\nimport { defaultDateFormat, InputTypes } from 'common';\r\n\r\nconst FormItem = Form.Item;\r\nconst RadioGroup = Radio.Group;\r\nconst componentStyle = {\r\n minWidth: '213.4px',\r\n};\r\n\r\nconst makeField =\r\n (Component: any, style?: any) =>\r\n ({ input, meta, children, label, className, tooltip, ...rest }: any) => {\r\n const hasWarning = meta.touched && meta.warning;\r\n const hasError = meta.error;\r\n const validateStatus = hasError\r\n ? 'error'\r\n : hasWarning\r\n ? 'warning'\r\n : 'success';\r\n\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n };\r\n// TODO Workaround!!! Should be fixed!!!\r\nconst makeDatePickerField =\r\n (Component: any, style?: any) =>\r\n ({\r\n input,\r\n meta,\r\n children,\r\n label,\r\n className,\r\n tooltip,\r\n datepickervalue,\r\n }: any) => {\r\n const hasWarning = meta.touched && meta.warning;\r\n const hasError = meta.error;\r\n const validateStatus = hasError\r\n ? 'error'\r\n : hasWarning\r\n ? 'warning'\r\n : 'success';\r\n return (\r\n \r\n \r\n {\r\n dateString === ''\r\n ? input.onChange(dateString)\r\n : input.onChange(moment(dateString).format(defaultDateFormat));\r\n }}\r\n >\r\n {children}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\nconst input = makeField(Input);\r\nconst radio = makeField(Radio);\r\nconst checkbox = makeField(Checkbox);\r\nconst radioGroup = makeField(RadioGroup);\r\nconst select = makeField(Select);\r\nconst autoComplete = makeField(AutoComplete);\r\nconst inputNumber = makeField(InputNumber, componentStyle);\r\nconst password = makeField(Input.Password);\r\nconst datePicker = makeDatePickerField(DatePicker);\r\n\r\nconst getComponent = (inputType: string | undefined) => {\r\n switch (inputType) {\r\n case InputTypes.RADIO_GROUP:\r\n return radioGroup;\r\n case InputTypes.CHECK_BOX:\r\n return checkbox;\r\n case InputTypes.RADIO:\r\n return radio;\r\n case InputTypes.SELECT:\r\n return select;\r\n case InputTypes.AUTOCOMPLETE:\r\n return autoComplete;\r\n case InputTypes.INPUT_NUMBER:\r\n return inputNumber;\r\n case InputTypes.PASSWORD:\r\n return password;\r\n case InputTypes.DATE_PICKER:\r\n return datePicker;\r\n default:\r\n return input;\r\n }\r\n};\r\n\r\nconst FormField: React.FC<{\r\n name: string;\r\n id?: string;\r\n className?: string;\r\n label?: string;\r\n inputType?: string;\r\n prefix?: any;\r\n placeholder?: string;\r\n children?: any;\r\n value?: any;\r\n datepickervalue?: Moment;\r\n onFocus?: any;\r\n tabIndex?: any;\r\n autoFocus?: any;\r\n tooltip?: string;\r\n warn?: any;\r\n validate?: any;\r\n disabled?: boolean;\r\n addonAfter?: any;\r\n suffix?: any;\r\n dataSource?: any;\r\n onSelect?: any;\r\n onChange?: any;\r\n allowClear?: boolean;\r\n buttonStyle?: any;\r\n showSearch?: any;\r\n filterOption?: any;\r\n ref?: any;\r\n style?: any;\r\n}> = ({ inputType, value, datepickervalue, ...rest }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default FormField;\r\n","import React, { useState } from 'react';\r\nimport { Table } from 'antd';\r\n\r\nconst { Column } = Table;\r\n\r\nconst BasicTable: React.FC<{\r\n items: any[];\r\n rowKey?: string;\r\n scrollHeight?: number;\r\n renderRow: (text: any, record: any, index: number) => React.ReactNode;\r\n}> = ({ items, rowKey, renderRow, scrollHeight }) => {\r\n const [pageSize, setPageSize] = useState(10);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n\r\n const gefaultPaginationConfig: any = {\r\n showSizeChanger: true,\r\n defaultPageSize: 40,\r\n position: 'both',\r\n size: 'small',\r\n onChange: (page: number, pageSize?: number) => {\r\n setCurrentPage(page);\r\n if (pageSize) setPageSize(pageSize);\r\n },\r\n };\r\n\r\n const renderRowCallback = React.useCallback(\r\n (text: any, record: any, index: number) => {\r\n return renderRow(text, record, (currentPage - 1) * pageSize + index);\r\n },\r\n [currentPage, pageSize, renderRow],\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(BasicTable);\r\n","import {\r\n SET_LOADING,\r\n GET_BAKRUPTCY_STATES_SUCCESS,\r\n BankruptcyState,\r\n BankruptcyTypes,\r\n BANKRUPTCY_RESULT_SUCCESS,\r\n RESET_RESULTS,\r\n} from './Bankruptcy.types';\r\nimport { alphabeticalSort } from 'common/helpers';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n bankruptcyStates: null,\r\n result: null,\r\n driversData: null,\r\n};\r\n\r\nexport function bankruptcyReducer(\r\n state = defaultState,\r\n action: BankruptcyTypes,\r\n): BankruptcyState {\r\n console.log(action.type);\r\n switch (action.type) {\r\n case GET_BAKRUPTCY_STATES_SUCCESS: {\r\n return {\r\n ...state,\r\n // @ts-ignore:\r\n bankruptcyStates: alphabeticalSort(\r\n action.bankruptcyStates.map((usState) => ({\r\n ...usState,\r\n name: usState.name.toUpperCase(),\r\n coutnies: alphabeticalSort(usState.counties, 'name'),\r\n })),\r\n 'name',\r\n ),\r\n loading: false,\r\n };\r\n }\r\n case SET_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n case BANKRUPTCY_RESULT_SUCCESS: {\r\n return {\r\n ...state,\r\n result: action.result,\r\n loading: false,\r\n };\r\n }\r\n case RESET_RESULTS: {\r\n return {\r\n ...state,\r\n result: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import React, { useState, useCallback } from 'react';\r\nimport { Table, Typography } from 'antd';\r\n\r\nconst { Column } = Table;\r\nconst { Text } = Typography;\r\nconst defaultPageSize = 40;\r\nconst defaultCurrentPage = 1;\r\n\r\nconst CommonTable: React.FC<{\r\n items: any[];\r\n rowKey?: string;\r\n scrollHeight?: number;\r\n className?: string;\r\n disablePagination?: boolean;\r\n fixedHeightInsideModal?: boolean; // when true, ensure's height of table does not exceed height of page when inside a modal\r\n}> = ({\r\n items,\r\n rowKey,\r\n children,\r\n scrollHeight,\r\n className,\r\n disablePagination = false,\r\n fixedHeightInsideModal = false,\r\n}) => {\r\n const [pageSize, setPageSize] = useState(defaultPageSize);\r\n const [currentPage, setCurrentPage] = useState(defaultCurrentPage);\r\n const onPaginationChange = useCallback((page: number, pageSize?: number) => {\r\n setCurrentPage(page);\r\n if (pageSize) setPageSize(pageSize);\r\n }, []);\r\n\r\n const onSizeChange = useCallback(\r\n () => setCurrentPage(defaultCurrentPage),\r\n [],\r\n );\r\n\r\n const getNumber = useCallback(\r\n (index) => `#${(currentPage - 1) * pageSize + index + 1}`,\r\n [currentPage, pageSize],\r\n );\r\n\r\n const gefaultPaginationConfig: any = {\r\n defaultPageSize: defaultPageSize,\r\n current: currentPage,\r\n showSizeChanger: true,\r\n position: 'both',\r\n size: 'small',\r\n onChange: onPaginationChange,\r\n onShowSizeChange: onSizeChange,\r\n };\r\n\r\n if (fixedHeightInsideModal) {\r\n className = `${className ? className : ''} modal-table-fixed-height`;\r\n }\r\n\r\n return (\r\n \r\n (\r\n {getNumber(index)}\r\n )}\r\n />\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default CommonTable;\r\n","import React from 'react';\r\nimport { Drawer, PageHeader } from 'antd';\r\nimport { DrawerProps } from 'antd/lib/drawer';\r\n\r\nconst BasicDrawer: React.FC<{\r\n title: string | undefined;\r\n onBack: any;\r\n children: any;\r\n placement?: DrawerProps['placement'];\r\n}> = ({ title, onBack, children, placement = 'left' }) => {\r\n return (\r\n \r\n }\r\n width={`80%`}\r\n visible={true}\r\n maskClosable={false}\r\n closable={false}\r\n placement={placement}\r\n >\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default BasicDrawer;\r\n","import React from 'react';\r\nimport { Button, Tooltip } from 'antd';\r\nimport { ButtonTypes, ButtonShapes, notSupportedMessage } from 'common';\r\nimport { browserName } from 'common/helpers';\r\nconst badBrowser = browserName === 'ie' || browserName === 'edge';\r\nconst PrintButton: React.FC<{\r\n size: 'small' | 'default' | 'large';\r\n icon: string;\r\n onClick: () => void;\r\n disabled?: boolean;\r\n shape?: 'circle' | 'round' | 'circle-outline';\r\n type?: 'link' | 'default' | 'ghost' | 'primary' | 'dashed' | 'danger';\r\n className?: string;\r\n}> = ({\r\n size,\r\n icon,\r\n onClick,\r\n disabled = false,\r\n shape = ButtonShapes.ROUND,\r\n type = ButtonTypes.PRIMARY,\r\n className = '',\r\n}) => {\r\n return (\r\n <>\r\n {badBrowser ? (\r\n \r\n \r\n Print\r\n \r\n \r\n ) : (\r\n \r\n Print\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PrintButton;\r\n","import { notification } from 'antd';\r\n\r\nexport const showSuccessNotification = (message: string, description: string) =>\r\n notification['success']({ message, description, duration: 10 });\r\nexport const showErrorNotification = (message: string, description: string) =>\r\n notification['error']({ message, description, duration: 10 });\r\nexport const showInfoNotification = (message: string, description: string) =>\r\n notification['info']({ message, description, duration: 10 });\r\nexport const showWarnNotification = (message: string, description: string) =>\r\n notification['warn']({ message, description, duration: 10 });\r\n","export const required = (value: any) =>\r\n value || typeof value === 'number' ? undefined : 'Required';\r\nexport const maxLength = (max: number) => (value: string) =>\r\n value && value.length > max ? `Must be ${max} chars or less` : undefined;\r\nexport const minLength = (min: number) => (value: string) =>\r\n value && value.length < min ? `Must be ${min} chars or more` : undefined;\r\nexport const number = (value: any) =>\r\n value && isNaN(Number(value)) ? 'Must be a number' : undefined;\r\nexport const alphaNumeric = (value: string) =>\r\n value && /[^a-zA-Z0-9 ]/i.test(value) ? 'Only alphanumeric chars' : undefined;\r\n","export const scrollTop = () => {\r\n document.body.scrollTop = 0; // For Safari\r\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\r\n};\r\n","import { AppState } from 'store';\r\nimport { EMPTY_STRING } from 'common';\r\nimport { createSelector } from 'reselect';\r\nimport { formValueSelector } from 'redux-form';\r\nimport { NYC_DB_FORM_NAME, Tabs } from 'pages/Search/SearchForm/consts';\r\n\r\nexport const usernameSelector = ({ login: { user } }: AppState) =>\r\n (user && user.name) || EMPTY_STRING;\r\n\r\nexport const loadingSelector =\r\n (propertyName: string) =>\r\n ({ [propertyName]: { loading } }: any): boolean =>\r\n loading;\r\n\r\nexport const loginSelector = createSelector(\r\n (state: AppState) => state.login,\r\n (login) => login,\r\n);\r\n\r\nexport const tabSelector = createSelector(\r\n (state: AppState) => formValueSelector(NYC_DB_FORM_NAME)(state, 'tab'),\r\n (tabName) => tabName,\r\n);\r\n\r\nexport const getDataTypeName = (tabName: string) => {\r\n switch (tabName) {\r\n case Tabs.Property: {\r\n return 'propertyData';\r\n }\r\n case Tabs.Name: {\r\n return 'nameData';\r\n }\r\n case Tabs.Other: {\r\n return 'otherData';\r\n }\r\n case Tabs.Multi: {\r\n return 'multiData';\r\n }\r\n default: {\r\n return 'propertyData';\r\n }\r\n }\r\n};\r\n","export enum ReducerNames {\r\n SEARCH = 'search',\r\n SEARCH_EXPORT = 'searchExport',\r\n SEARCH_DETAILS = 'searchDetails',\r\n LOGIN = 'login',\r\n FORM = 'form',\r\n SEARCH_HISTORY = 'searchHistory',\r\n PROPERTY_SEARCH = 'propertySearch',\r\n PROPERTY_SEARCH_DETAILS = 'propertySearchDetails',\r\n RECENT_REPORTS = 'recentReports',\r\n TAX_MAPS = 'taxMaps',\r\n DEP_ONLINE = 'depOnline',\r\n XOSIMAGE = 'xosImage',\r\n DOCIMAGES = 'docimages',\r\n DEP_ONLINE_DETAILS = 'depOnlineDetails',\r\n BANKRUPTCY = 'bankruptcy',\r\n BANKRUPTCY_DETAILS = 'bankruptcyDetails',\r\n PREACRIS = 'preacris',\r\n LICENSE = 'license',\r\n USER_USAGE_REPORT = 'userUsageReport',\r\n TAXTRAX = 'taxTrax',\r\n TAXTRAX_TAX_BILLS = 'taxTraxTaxBills',\r\n TAXTRAX_TAX_BILL_RECORD = 'taxTraxTaxBillRecord',\r\n MAINTENANCE_MESSAGE = 'maintenanceMessage',\r\n}\r\n","import { httpError, fetchPost, blob } from 'common';\r\nimport { Dispatch } from 'redux';\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const userExportService = (\r\n body: any,\r\n token: string,\r\n dispatch: Dispatch,\r\n) =>\r\n fetchPost(`${apiUri}/userExport/report/file`, body, token)\r\n .then(httpError(dispatch))\r\n .then(blob);\r\n","import React, { useEffect } from 'react';\r\nimport styles from './Pages.module.scss';\r\nimport globalStyles from 'common/global.module.scss';\r\nimport {\r\n Layout,\r\n Row,\r\n Col,\r\n Typography,\r\n Menu,\r\n Icon,\r\n Divider,\r\n Button,\r\n Avatar,\r\n Alert,\r\n Breadcrumb,\r\n Spin,\r\n Dropdown,\r\n} from 'antd';\r\nimport logo from 'assets/img/logo.png';\r\nimport {\r\n Switch,\r\n Route,\r\n Redirect,\r\n Link,\r\n useRouteMatch,\r\n useLocation,\r\n useHistory,\r\n} from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from 'store';\r\nimport { Sizes, LOADING, TableSizeNames } from 'common';\r\nimport { loginPagesLoading } from './Login';\r\nimport { searchHistoryClear } from './Search';\r\nimport { MenuItem, routes } from 'pages';\r\nimport { disclaimer1, disclaimer2 } from './constants';\r\nimport {\r\n getUserUsageReportAccessFlag,\r\n userUsageReportAccessFlagSelector,\r\n userUsageReportClear,\r\n} from './UserUsageReport';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { useAccount, useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken, logoutAdUser } from 'common/helpers';\r\nimport { AzureAdClaims } from 'common/models';\r\nimport {\r\n editAuthenticationPhonePolicy,\r\n editAuthenticationPhoneRequest,\r\n editEmailPolicy,\r\n editEmailRequest,\r\n profileEditPolicy,\r\n profileEditRequest,\r\n profileViewPolicy,\r\n profileViewRequest,\r\n resetPasswordPolicy,\r\n resetPasswordRequest,\r\n} from 'authConfig';\r\nimport ButtonGroup from 'antd/lib/button/button-group';\r\nimport MaintenanceMessage from 'common/components/MaintenanceMessage/MaintenanceMessage';\r\n\r\nconst { Header, Footer, Sider, Content } = Layout;\r\nconst { Text, Title, Paragraph } = Typography;\r\n\r\nconst Pages: React.FC = () => {\r\n const { path, url } = useRouteMatch();\r\n const { pathname } = useLocation();\r\n const login = useSelector((state: AppState) => state.login);\r\n const pagesLoading = login.pagesLoading;\r\n const isAuthenticated = useIsAuthenticated();\r\n const userUsageReportAccessFlag = useSelector((state: AppState) =>\r\n userUsageReportAccessFlagSelector(state),\r\n );\r\n const dispatch = useDispatch();\r\n const uriArray = pathname.split('/');\r\n const menuItems: MenuItem[] = Object.values(routes).filter(\r\n ({ visible }) => visible,\r\n );\r\n\r\n const current = menuItems\r\n .filter((item) => item.link === uriArray[uriArray.length - 1])\r\n .map((item) => item.text)[0];\r\n\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n const refreshAdUserSession: any = localStorage.getItem(\r\n 'refreshadusersession',\r\n );\r\n const isPublicUser: any = localStorage.getItem('ispublicuser');\r\n const isWellsFargoUser: any = localStorage.getItem('iswellsfargouser');\r\n const history = useHistory();\r\n\r\n const triggerAdPolicy = (policy: string) => {\r\n let request;\r\n switch (policy) {\r\n case profileViewPolicy:\r\n request = profileViewRequest;\r\n break;\r\n case profileEditPolicy:\r\n request = profileEditRequest;\r\n break;\r\n case resetPasswordPolicy:\r\n request = resetPasswordRequest;\r\n break;\r\n case editAuthenticationPhonePolicy:\r\n request = editAuthenticationPhoneRequest;\r\n break;\r\n case editEmailPolicy:\r\n request = editEmailRequest;\r\n break;\r\n }\r\n\r\n if (request) instance.loginRedirect(request);\r\n };\r\n\r\n const getAvatarCharacter = (azureAdClaims: AzureAdClaims | undefined) => {\r\n let avatarCharacterToDisplay = '';\r\n if (azureAdClaims?.onpremADusername) {\r\n const indexOfLastBackslash =\r\n azureAdClaims.onpremADusername.lastIndexOf('\\\\');\r\n avatarCharacterToDisplay = azureAdClaims.onpremADusername\r\n .substring(indexOfLastBackslash + 1, indexOfLastBackslash + 2)\r\n ?.toUpperCase();\r\n } else if (azureAdClaims?.UserName) {\r\n avatarCharacterToDisplay = azureAdClaims.UserName.substring(\r\n 0,\r\n 1,\r\n )?.toUpperCase();\r\n }\r\n return avatarCharacterToDisplay;\r\n };\r\n\r\n const getUserNameDisplay = (azureAdClaims: AzureAdClaims | undefined) => {\r\n let userNameToDisplay = '';\r\n if (azureAdClaims?.onpremADusername) {\r\n userNameToDisplay = azureAdClaims?.onpremADemailaddress\r\n ? `${azureAdClaims.onpremADusername} (${azureAdClaims.onpremADemailaddress})`\r\n : azureAdClaims.onpremADusername;\r\n } else if (azureAdClaims?.UserName) {\r\n userNameToDisplay = azureAdClaims?.Email\r\n ? `${azureAdClaims.UserName} (${azureAdClaims.Email})`\r\n : azureAdClaims.UserName;\r\n }\r\n return userNameToDisplay;\r\n };\r\n\r\n // clear user usage report state whenever user is no longer logged in\r\n useEffect(() => {\r\n if (!isAuthenticated) dispatch(userUsageReportClear());\r\n }, [dispatch, isAuthenticated]);\r\n\r\n useEffect(() => {\r\n // log the user back in if they pressed the refresh button and still have a session that is not expired\r\n if (localStorage.getItem('refreshadusersession') === 'true') {\r\n if (isPublicUser === 'true') {\r\n if (isWellsFargoUser === 'true') {\r\n history.push(\r\n `/public/wells-fargo-signin?return_to=${encodeURIComponent(\r\n pathname,\r\n )}`,\r\n );\r\n } else {\r\n history.push(\r\n `/public/signin?return_to=${encodeURIComponent(pathname)}`,\r\n );\r\n }\r\n } else if (isPublicUser === 'false') {\r\n history.push(\r\n `/public/employee-signin?return_to=${encodeURIComponent(pathname)}`,\r\n );\r\n }\r\n }\r\n }, [history, isPublicUser, isWellsFargoUser, pathname, refreshAdUserSession]);\r\n\r\n // user authorization and user usage report flag retrieval for azure ad login functionality\r\n useEffect(() => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n // set pages to loading while we confirm the user's access after logging in\r\n dispatch(loginPagesLoading(true));\r\n getAccessToken(instance, account, inProgress)\r\n .then((response) => {\r\n if (response?.accessToken) {\r\n dispatch(\r\n getUserUsageReportAccessFlag(response.accessToken, instance),\r\n );\r\n }\r\n })\r\n .catch(() => {\r\n // failed to retrieve access token\r\n logoutAdUser(instance);\r\n });\r\n }\r\n }, [dispatch, instance, account, inProgress]);\r\n\r\n const azureAdClaims: AzureAdClaims | undefined = account?.idTokenClaims as\r\n | AzureAdClaims\r\n | undefined;\r\n\r\n if (!isAuthenticated) {\r\n const isPublicUser = localStorage.getItem('ispublicuser');\r\n if (isPublicUser !== 'true' && isPublicUser !== 'false') {\r\n localStorage.removeItem('refreshadusersession');\r\n } else {\r\n localStorage.setItem('refreshadusersession', 'true');\r\n }\r\n }\r\n\r\n return (\r\n // If you are authenticated - go to the application else - go to login page (it is done for manual URI changes)\r\n isAuthenticated ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n {menuItems\r\n .filter(\r\n (item) =>\r\n item.version.indexOf(\r\n process.env.REACT_APP_VERSION as string,\r\n ) !== -1,\r\n )\r\n .sort((a, b) => a.index - b.index)\r\n .map((item) => {\r\n return (\r\n (!item.requiresBillingInfoAccess ||\r\n userUsageReportAccessFlag) && (\r\n \r\n \r\n \r\n {item.text}\r\n \r\n \r\n )\r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Title and Property Report Services\r\n \r\n \r\n {isAuthenticated && account && (\r\n \r\n \r\n {getAvatarCharacter(azureAdClaims)}\r\n  \r\n \r\n {getUserNameDisplay(azureAdClaims)}\r\n \r\n {isAuthenticated && account && azureAdClaims?.UserName && (\r\n \r\n triggerAdPolicy(key)}\r\n >\r\n \r\n View Profile\r\n \r\n \r\n }\r\n >\r\n \r\n Manage Account \r\n \r\n \r\n \r\n \r\n )}\r\n {\r\n dispatch(searchHistoryClear());\r\n if (isAuthenticated && account) {\r\n logoutAdUser(instance);\r\n }\r\n }}\r\n type=\"link\"\r\n size=\"small\"\r\n data-cy=\"singout-button\"\r\n >\r\n Sign out\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n {current && (\r\n \r\n \r\n \r\n \r\n \r\n  \r\n Dashboard\r\n \r\n \r\n {current}\r\n \r\n \r\n \r\n \r\n \r\n Here is a{' '}\r\n \r\n user guide\r\n {' '}\r\n and{' '}\r\n \r\n video tutorial\r\n {' '}\r\n for this site.\r\n \r\n \r\n )}\r\n \r\n \r\n {Object.values(routes).map(({ link, component }) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {disclaimer1}\r\n {disclaimer2}\r\n \r\n }\r\n />\r\n \r\n
\r\n Copyright © 2007-{new Date().getFullYear()} DataTrace\r\n Information Services, LLC. All rights reserved. \r\n \r\n Privacy Policy\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default Pages;\r\n","import React from 'react';\r\nimport { Layout, Row, Button } from 'antd';\r\nimport { Switch, Route, Redirect, Link, useRouteMatch } from 'react-router-dom';\r\nimport { Login, Services, Faq } from 'pages';\r\nimport logo from 'assets/img/logo.png';\r\nimport styles from './Public.module.scss';\r\nimport EmployeeSignIn from './azure-ad-pages/EmployeeSignIn';\r\nimport SignIn from './azure-ad-pages/SignIn';\r\nimport { checkCookie, setCookie } from 'common/helpers';\r\nimport WellsFargoSignIn from './azure-ad-pages/WellsFargoSignIn';\r\n\r\nconst { Header, Footer, Content } = Layout;\r\nconst ButtonGroup = Button.Group;\r\n\r\nconst Public: React.FC = () => {\r\n const { path } = useRouteMatch();\r\n\r\n document.addEventListener('DOMContentLoaded', function () {\r\n //dom is fully loaded, but maybe waiting on images & css files\r\n checkCookie();\r\n });\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n \r\n \r\n \r\n Corporate\r\n \r\n \r\n \r\n Contact\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Copyright © 2007-{new Date().getFullYear()} DataTrace Information\r\n Services, LLC. All rights reserved. \r\n \r\n Privacy Policy\r\n \r\n
\r\n \r\n

\r\n PRIVACY NOTICE\r\n

\r\n

\r\n This website uses cookies and similar technologies to manage your\r\n sessions, manage content, and improve your website experience. To\r\n learn more about these technologies, your options, and about other\r\n categories of personal information we collect through this website and\r\n how we may use it, please see our{' '}\r\n \r\n privacy policy\r\n \r\n . This notice is effective for your use of this website for the next\r\n 14 days.\r\n

\r\n setCookie('priv3', 'yes')}\r\n >\r\n GOT IT\r\n \r\n

\r\n \r\n {/*

*/}\r\n
\r\n );\r\n};\r\n\r\nexport default Public;\r\n","import React from 'react';\r\nimport { Tabs, Typography, Card, Collapse } from 'antd';\r\nimport map from 'assets/img/map.png';\r\n\r\nconst { TabPane } = Tabs;\r\nconst { Title, Text, Paragraph } = Typography;\r\nconst { Panel } = Collapse;\r\n\r\nconst terms = [\r\n {\r\n title: 'Taxes & Munis',\r\n body: [\r\n {\r\n title: \"Assessor's Card\",\r\n text: \"We obtain and provide a copy of the assessor's card from the Assessor's Office. The information on the card should include the date of construction, assessed valuation, owner of record, and/ or other pertinent information.\",\r\n },\r\n {\r\n title: 'Articles of Organization',\r\n text: 'Articles of Organization',\r\n },\r\n {\r\n title: 'Air Resources Information Search',\r\n text: 'NYC only: A search to determine if violations exist with the Department of Air Resources. The report includes the current status of fuel burning and compacting equipment.',\r\n },\r\n {\r\n title: 'Building History Report',\r\n text: 'NYC only: We search for and document Building Department records to determine the exact timeline of alterations and improvements for a given building.',\r\n },\r\n {\r\n title: 'Certificate of Occupancy Search',\r\n text: \"We create and provide an abstract of building department records reporting all Certificates of Occupancy, Certificates of Compliance/Completion, and all open building permits. We include copies of all certificates found. If no Certificate of Occupancy is on file, the abstract will include information from other municipal agencies and the Assessor's Office regarding the structure(s), the use and the approximate year the structure was erected. In NYC, we provide a copy of the last CO of record, plus any subsequent plans filed that either change or propose to change the legal use.\",\r\n },\r\n {\r\n title: 'Copy / Review of Plans',\r\n text: 'We obtain a copy of the building plans as maintained by the Building Department and, if requested, provide a review to identify any specific structures.',\r\n },\r\n {\r\n title: 'Division of Housing and Renewal Search',\r\n text: 'AKA Rent Roll. NYC only: We search for and document if units in a building are subject to rent control and/or rent stabilization. All reports are certified by the New York State - Division of Housing Community Renewal. (A copy of deed and a letter of authorization must be supplied by the owner.) ',\r\n },\r\n {\r\n title: 'Dwelling Search Report ',\r\n text: 'Dwelling Search Report ',\r\n },\r\n {\r\n title: 'Emergency Repairs Violation Search',\r\n text: 'We search for and document any repairs or services provided to said property of an emergency nature where property owner was negligent in responding shown in the municipal records of the appropriate municipality.',\r\n },\r\n {\r\n title: 'Fire Violations Search',\r\n text: \"We search for and report on any violations of record with the Fire Department's local and/or central files.\",\r\n },\r\n {\r\n title: 'Locate Survey',\r\n text: 'We obtain and provide a copy of the latest available guaranteed and/or certified survey from the Building Department. If no guaranteed or certified survey is on file, we provide the most recent survey available instead.',\r\n },\r\n {\r\n title: 'Flood Zone Search',\r\n text: 'We provide you with a Flood Zone Report or a Flood Zone Hazard Certification, using the Federal Flood Insurance Rate Maps to determine the classification of the particular site in question.',\r\n },\r\n {\r\n title: 'Gas and Electric Violation Search',\r\n text: 'NYC only: We search for and document any recorded violations regarding wiring, gas leakage, etc.',\r\n },\r\n {\r\n title: 'Housing and Building Violation Search',\r\n text: 'AKA Building Violation Search. We search for and document all pending violations of the local building code and in NYC, the New York State Multiple Dwelling Law, found at the Housing Department and Building Department.',\r\n },\r\n {\r\n title: 'Health Department Violation Search',\r\n text: 'We search for and report on all violations found at the Health Department.',\r\n },\r\n {\r\n title: 'Highway / Sidewalk Violation Search',\r\n text: 'We search for and document any outstanding sidewalk violations. (Please note that this does not provide street maintenance information.)',\r\n },\r\n {\r\n title: 'Landmark Search',\r\n text: 'We provide a report showing if the property is a designated landmark or within a historic district. In New York City, this will include any violation information found.',\r\n },\r\n {\r\n title: 'Tax Lien Satisfaction Letter',\r\n text: 'We obtain and provide a letter indicating that a specified tax lien has been satisfied.',\r\n },\r\n {\r\n title: 'Multiple Dwelling Registration Card',\r\n text: 'NYC only: We provide a report indicating the legality of the property.',\r\n },\r\n {\r\n title: 'Miscellaneous Departmental Request',\r\n text: 'If no other available search seems to include for the departmental information you are looking for, please use this to request what you need.',\r\n },\r\n {\r\n title: 'Fuel Oil Search',\r\n text: 'AKA Fuel Oil Permit Search. NYC only: A search of Fire Department records for any existing Fuel Oil Permit, including the permit number, capacity of the current oil tank and current status of the annual fee.',\r\n },\r\n {\r\n title: 'Pest Control Violation Search',\r\n text: 'NYC only: We search for and document violations regarding pest control recorded with the NYC Health Department.',\r\n },\r\n {\r\n title: 'Photo Property Inspection',\r\n text: 'We conduct an exterior walkaround, take photos of pertinent features, and provide copies of those photos.',\r\n },\r\n {\r\n title: 'Tax Lien Payoff',\r\n text: 'We obtain and provide a report which indicates the amount due to satisfy a tax lien.',\r\n },\r\n {\r\n title: 'Patriot Search',\r\n text: 'A search to determine if an individual or business are included on the Specially Designated Nationals & Block Persons\" list issued by President Bush under Executive Order 13224. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Survey Inspection with Photos',\r\n text: 'We conduct an on-site inspection to determine any apparent physical changes to the existing structure(s), possible encroachments and the addition of new structure(s) as compared to the survey supplied. We also conduct an exterior walkaround, take photos of pertinent features, and provide copies of those photos.',\r\n },\r\n {\r\n title: 'Quick Tax Search',\r\n text: 'A handwritten/printout report indicating current tax information without water charges.The amounts due, including arrears is provided.',\r\n },\r\n {\r\n title: 'Sanborn Map',\r\n text: 'NYC only: We obtain and provide a copy of the requested Sanborn or Belcher Hyde Map.',\r\n },\r\n {\r\n title: 'Street Report',\r\n text: 'NYC only: We search for and document the current street width, and report on any applications for street widening on file at the Highway Department.',\r\n },\r\n {\r\n title: 'Street Maintenance Report',\r\n text: 'We search for and document the party responsible for street maintenance.',\r\n },\r\n {\r\n title: 'Survey Inspection',\r\n text: 'We conduct an on-site inspection to determine any apparent physical changes to the existing structure(s), possible encroachments and the addition of new structure(s) as compared to the survey supplied.',\r\n },\r\n {\r\n title: 'Sewer Report',\r\n text: 'Nassau County: A search to determine if a property conforms to the Department of Public Works Ordinance #266 of the Public Health Ordinance of Nassau County, which mandates all properties within the Nassau County Sewer District be connected to said sewer within one year of official notice. Suffolk County: This search indicates whether or not the property is located within a Municipal Sewer District. If the property does in fact lie within the district, the search will indicate the amount due.',\r\n },\r\n {\r\n title: \"Tax Assessor's Letter\",\r\n text: \"We obtain a letter based provided by the Assessor's Office which may include the date of construction, assessed valuation, record owner and/or other pertinent information.\",\r\n },\r\n {\r\n title: 'Tax Bill',\r\n text: 'We obtain and provide a copy of the current tax bill.',\r\n },\r\n {\r\n title: 'Tax Search Continuation',\r\n text: 'We provide a continuation of an already completed Tax Search.',\r\n },\r\n {\r\n title: 'Tax Figure Report',\r\n text: 'We provide a report indicating the most current tax figures for a specific tax year for a parcel.',\r\n },\r\n {\r\n title: 'Tax History Report',\r\n text: 'NYC only: We provide a NYC Department of Finance printout with current information by tax borough block and lot. The tax history contains such information as real estate tax, frontage meter charges and other tax assessments. It will further indicate whether assessments are open or paid. If paid, payment information including pay date is provided. It will also show (if applicable) over-payments, credits, cancellation of assessments, abatement info, lien info, etc.',\r\n },\r\n {\r\n title: 'Tax Search With Interest',\r\n text: 'We search for and report on county and local tax records to ascertain the existence of arrears, tax liens and to determine the current status of payments.',\r\n },\r\n {\r\n title: 'Tideland Search',\r\n text: 'Tideland Search',\r\n },\r\n {\r\n title: 'Miscellaneous Tax Search',\r\n text: 'If no other available tax search seems to include for the tax information you are looking for, please use this to request what you need.',\r\n },\r\n {\r\n title: 'Tax Payment',\r\n text: 'NYC only: Barretta Realty Skyline can make payments of current and past due taxes (including S.C.R.I.E. taxes, restored taxes, etc.) Tax lien sale payments are also available.',\r\n },\r\n {\r\n title: 'Tax Search',\r\n text: 'We search for and report on county and local tax records to ascertain the existence of arrears, tax liens and to determine the current status of payments.',\r\n },\r\n {\r\n title: 'Underground Storage Permit Search',\r\n text: 'NYC only: We search for and document any underground fuel storage containment on the property. Normally this is associated with commercial property such as a gas station.',\r\n },\r\n {\r\n title: 'Vault Tax Search',\r\n text: 'NYC only: A report indicating the taxes on the vault of a property. A vault is considered any underground storage which physically goes underneath a street rather than under a building. (While this tax has been done away with as of 1997/1998, there may be older outstanding charges.)',\r\n },\r\n {\r\n title: 'Water Tax Bill',\r\n text: 'NYC only: We provide a copy of the current water tax bill.',\r\n },\r\n {\r\n title: 'Wetland Search',\r\n text: 'Wetland Search',\r\n },\r\n {\r\n title: 'Water Payment',\r\n text: 'NYC only: Barretta Realty Skyline can make payments in NYC to the Department of Environmental Protection for current or outstanding water charges.',\r\n },\r\n {\r\n title: 'Zoning Report',\r\n text: 'We provide a report showing zoning classifications of a tax lot and a brief description of said classification.',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Abstract Reports',\r\n body: [\r\n {\r\n title: 'Abstract of Foreclosure Action',\r\n text: 'We obtain and abstract the complete record of a specified foreclosure action.',\r\n },\r\n {\r\n title: 'Air Rights Search',\r\n text: 'We search for and report on the ownership of the air space over the lot(s). (There is a fee per lot.)',\r\n },\r\n {\r\n title: \"Attorney's Search\",\r\n text: 'We search for and document the last owner and deed-chain covering 2 years or when they encounter the last good-deed of record, whichever comes first. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Back-chain Title Examination',\r\n text: 'BRS will provide a complete title back-chain. This search will confirm title into the last know grantor/grantee (or the first known Acris grantor in the four Acris counties). It will include all deeds, open mortgages, abstracted surrogate proceedings, easements covenants, and restrictions, found within the back-chain timeframe',\r\n },\r\n {\r\n title: 'Business Certificate Search',\r\n text: \"AKA - DBA Certificate Search. We search for and document any business certificates on file with the County's Clerks Office. (This does not search state-level records for LLC's.)\",\r\n },\r\n {\r\n title: 'Building Loan Search',\r\n text: 'We search for and document any open construction/building loans, noting names, amounts and dates.',\r\n },\r\n {\r\n title: 'Recording Correction Request (Block & Lot)',\r\n text: 'This is to request a re-recording of a document following an erroneous original recording.',\r\n },\r\n {\r\n title: 'Copy of Certified Document Request',\r\n text: 'We obtain and provide a certified copy of the requested document, certified by the issuing municipality.',\r\n },\r\n {\r\n title: 'Civil Court Search',\r\n text: 'We search for and report on any Civil Court violations.',\r\n },\r\n {\r\n title: 'Copy of Document Request',\r\n text: 'We obtain and provide a copy of the requested document, found in the identified book/reel/volume.',\r\n },\r\n {\r\n title: 'Copy of Filing Request',\r\n text: 'We obtain and provide a copy of the requested document, found in the identified book/reel/volume.',\r\n },\r\n {\r\n title: 'CO-OP Search (For Proprietary Leasehold Insurance)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative. We report on all open mortgages and liens against the property and against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. We also search for all county-level UCC violations, as well as any covenants & restrictions on the property from the time the cooperative was formed. We can provide copies of findings upon request.',\r\n },\r\n {\r\n title: 'Co-Operative Search Follow-Up',\r\n text: 'This is used to request additional information or services for an already completed search on a co-operative building or unit',\r\n },\r\n {\r\n title: 'CO-OP Title Search (Regular)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative. We report on all open mortgages and liens against the property and against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. We also search for all county-level UCC violations. We provide copies of the last deed of record along with any UCC violations found. We can provide copies of other findings upon request. This search includes one free continuation if ordered within 6 months.',\r\n },\r\n {\r\n title: 'CO-OP Title Search (Reissue)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative on the identified closing title report we are reissuing from, or starting from a specified date. We report on all open mortgages and liens against the property and against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. We also search for all county-level UCC violations. We provide copies of the last deed of record along with any UCC violations found. We can provide copies of other findings upon request.',\r\n },\r\n {\r\n title: 'Current Owner Search ',\r\n text: 'Current Owner Search ',\r\n },\r\n {\r\n title: 'CO-OP Title Search (Limited Liability With Tax)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative. We report on all open mortgages and liens against the property and all liens and bankruptcies against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. The search includes a check for state- and county-level UCC violations. We also search for and report on county and local tax records to ascertain the existence of arrears, tax liens and to determine the current status of payments. We provide copies of the last deed of record along with any UCC violations found along with the typed report. We can provide copies of other findings upon request.',\r\n },\r\n {\r\n title: 'CO-OP Title Search (Limited Liability Without Tax)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative. We report on all open mortgages and liens against the property and all liens and bankruptcies against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. The search includes a check for state- and county-level UCC violations. We provide copies of the last deed of record along with any UCC violations found along with the typed report. We can provide copies of other findings upon request.',\r\n },\r\n {\r\n title: 'Covenants and Restrictions Search',\r\n text: 'We search for and document any property covenants/restrictions on file. ',\r\n },\r\n {\r\n title: 'Title Search Continuation (Not our search)',\r\n text: 'We provide a continuation of a title search where the original search was not done by BARRETTA REALTY SKYLINE.',\r\n },\r\n {\r\n title: 'Condominium Unit Search',\r\n text: 'We search for and document the last owner and deed-chain covering the Condominium Unit under examination. We report on all open mortgages and liens against the unit and against any name searched. We also search for covenants, restrictions and easements against the unit within the time frame of the search. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Cover Record',\r\n text: 'Cover Record',\r\n },\r\n {\r\n title: 'Cover Record Standalone ',\r\n text: 'Cover Record Standalone ',\r\n },\r\n {\r\n title: 'Deed and Lease Chain Report',\r\n text: 'We search for and document the history of recorded deed instruments for the specified property. This search covers the last 40 years or until a deed showing good consideration is found, whichever goes farther back in time.',\r\n },\r\n {\r\n title: 'Document Retrieval Request',\r\n text: 'We obtain, and provide a copy of the requested document.',\r\n },\r\n {\r\n title: 'Environmental Lien Search (from 1982)',\r\n text: 'We search for and document the history of recorded deed instruments for the specified property back to the year 1982 and provide it along with a copy of the last deed of record. We also document whether and where any Environmental Covenants and Restrictions are discovered during the search.',\r\n },\r\n {\r\n title: 'Environmental Lien Search (from 1940)',\r\n text: 'We search for and document the history of recorded deed instruments for the specified property back to the year 1940 and provide it along with a copy of the last deed of record. We also document whether and where any Environmental Covenants and Restrictions are discovered during the search.',\r\n },\r\n {\r\n title: 'Federal Court Search',\r\n text: 'We search for and document any violations on file within the Federal Courts system.',\r\n },\r\n {\r\n title: 'Foreclosure Search',\r\n text: 'We search for and document the last owner and deed-chain starting with the deed into the item being foreclosed. We report on all open mortgages and liens against the property and against any name searched. We provide a full copy of the mortgage or other document being foreclosed. Copies of other documents are available upon request.',\r\n },\r\n {\r\n title: 'Foreclosure Search with Reading',\r\n text: 'We search for and document the last owner and deed-chain starting with the deed into the item being foreclosed. We report on all open mortgages and liens against the property and against any name searched. We provide a full copy of the mortgage or other document being foreclosed. Copies of other documents are available upon request.',\r\n },\r\n {\r\n title: 'Foreclosure Search with Upper Court Search',\r\n text: 'We search for and document the last owner and deed-chain starting with the deed into the item being foreclosed. We report on all open mortgages and liens against the property and against any name searched. We provide a full copy of the mortgage or other document being foreclosed. Copies of other documents are available upon request.',\r\n },\r\n {\r\n title: 'Full Reading Commitment',\r\n text: 'Full Reading Commitment',\r\n },\r\n {\r\n title: 'Full Title Reading',\r\n text: 'We examine the results of a title search covering 40 or more years, and provide a report detailing all potential exceptions for title insurance, covering but not limited to: open mortgages, liens vs. the premises, judgments and/or liens vs. the current owners and purchasers, returns against prior owners within the last 10 years, covenants and restrictions vs. the property, and any other clearance issues. The report includes information about the last title insurer if available.',\r\n },\r\n {\r\n title: 'Full Title Search',\r\n text: 'We search for and document the last owner and deed-chain covering the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Full Title Search 20 years',\r\n text: 'We search for and document the last owner and deed-chain covering the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Full Title Search 30 years',\r\n text: 'We search for and document the last owner and deed-chain covering the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Full Title Search 40 years',\r\n text: 'We search for and document the last owner and deed-chain covering the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Full Title Search 60 years',\r\n text: 'We search for and document the last owner and deed-chain covering the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Grantor/Grantee or Mortgagor/Mortgagee Report',\r\n text: 'AKA REO Search. We search for and document all open mortgages and real estate owned by the specified name.',\r\n },\r\n {\r\n title: 'Hazardous Waste Violation Search',\r\n text: 'We search for and document any hazardous waste violations.',\r\n },\r\n {\r\n title: 'Last Deed of Record',\r\n text: 'We search for and document the last deed of record, and provide a copy of the deed if fouond.',\r\n },\r\n {\r\n title: 'Litigation Search',\r\n text: 'We search for and document any open actions in the county courts indexes for the name searched. We also include any judgments, Federal Tax Liens, state and county-level UCC’s, and bankruptcy information. In NYC we also search for PVB and ECB records; in Richmond County we search DMV records.',\r\n },\r\n {\r\n title: 'Last Owner Report (Mortgages & Liens)',\r\n text: 'We search for and document the last owner of record, and any open mortgages and liens.',\r\n },\r\n {\r\n title: 'Last Owner and Mortgages Report',\r\n text: 'We provide a report showing the last owner of record and any open mortgages (no lien information included.)',\r\n },\r\n {\r\n title: 'Last Owner, Lis Pendens, In-Rem, and Surrogates',\r\n text: 'We search for and report on the last deed of record, verifying that the last deed is the current owner of the specified premises. We also check for any Lis Pendens, In-Rem proceedings, and Surrogate Court records affecting the premises or any grantees.',\r\n },\r\n {\r\n title: 'Lis Pendens Search',\r\n text: 'We search for and report on any recorded notifications of pending litigation regarding the identified property or any name searched. This includes providing a copy of the current minutes of the action.',\r\n },\r\n {\r\n title: 'Filed Lien Search (no mortgages/recorded liens)',\r\n text: 'We search for and report on any open filed liens against the identified property or any name searched, including Mechanic’s Liens, and any Lis Pendens found. (To receive a report detailing recorded liens, order a Last Owner, Mortgages, and Liens search.)',\r\n },\r\n {\r\n title: 'Miscellaneous Real Property Request',\r\n text: 'If no other available search seems to include for the real property information you are looking for, please use this to request what you need.',\r\n },\r\n {\r\n title: \"Mechanic's Lien Search\",\r\n text: \"We search for and report on any Mechanic's Liens found filed against the property being searched.\",\r\n },\r\n {\r\n title: 'Real Property Follow-Up',\r\n text: 'This search item is used to request a follow-up on a recently completed real property search.',\r\n },\r\n {\r\n title: 'Open Mortgage Search',\r\n text: 'This search item is used to request a follow-up on a recently completed real property search.',\r\n },\r\n {\r\n title: 'RedVision-Certified Document Request',\r\n text: 'We obtain and provide a certified copy of the requested document, certified by a Barretta Realty Skyline attorney.',\r\n },\r\n {\r\n title: 'Refinance Examination (w Covenants & Restrictions)',\r\n text: 'We search for and document the last owner and deed-chain covering the last 2 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants and restrictions against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Refinance Search',\r\n text: 'We search for and document the last owner and deed-chain covering the last 2 years. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Reissue Examination',\r\n text: 'We search for and document the last owner and deed-chain based on the identified closing title report we are reissuing from, or starting from a specified date. Open mortgages and liens against the property and against any name searched that are found within the search are reported. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Real Estate Owned',\r\n text: 'We search for and document the last owner and deed-chain covering a minimum of the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We also include an abstract of the pending or completed foreclosure proceeding is applicable . We can provide copies upon request.',\r\n },\r\n {\r\n title: 'REO Commitment Report',\r\n text: 'REO Commitment Report',\r\n },\r\n {\r\n title: 'Recorded Document Search',\r\n text: 'We search for and verify the proper recording of an identified instrument.',\r\n },\r\n {\r\n title: 'Refinance Reading Commitment ',\r\n text: 'Refinance Reading Commitment ',\r\n },\r\n {\r\n title: 'Reading for Refinance Exam',\r\n text: 'We examine the results of a title search and provide a report detailing all potential exceptions for title insurance for a refinance transaction, covering but not limited to: open mortgages, liens vs. the premises, judgments and/or liens vs. the current owners and purchasers, returns against prior owners within the last 10 years, and any other clearance issues. The report includes information about the last title insurer if available.',\r\n },\r\n {\r\n title: 'Single and Separate Search',\r\n text: 'We search for and determine if the current lot was originally a part of a larger lot (apportioned into separate lots), or the lot was formed by combining other lots (merged into a single lot.) We provide information for all adjoining lots in addition to the target lot. We provide deed chains for all lots searched.',\r\n },\r\n {\r\n title: 'Surrogates Court Search',\r\n text: 'We search for and document any information from the appropriate surrogates file.',\r\n },\r\n {\r\n title: 'Second Mortgage Search',\r\n text: 'We search for and document the last owner and deed-chain starting at the identified recorded first mortgage. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Stub Search',\r\n text: 'We search for and document any open or satisfied bank mortgages. If no bank mortgages are found, a more thorough search is initiated.',\r\n },\r\n {\r\n title: 'Short-to-Full Exam',\r\n text: 'This is used to request a real property exam upgrade from short length to full length.',\r\n },\r\n {\r\n title: 'Survey Reading',\r\n text: 'We examine the provided survey and provide a report detailing the strutures and items noted on the premises. Please request affirmative insurance language as needed. If the reading requires a new survey inspection, please order that separately.',\r\n },\r\n {\r\n title: 'Transit Adjudication Bureau Violation Search',\r\n text: 'NYC Only: We search for and report on violations recorded with the NYC Taxi and Limo Commission. In Richmond County, this is a check with the Department of Motor Vehicles instead. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Two Owner Search with C & R (Mortgage & Liens)',\r\n text: 'Two Owner Search with C & R (Mortgage & Liens)',\r\n },\r\n {\r\n title: 'Ten-Year Examination',\r\n text: 'We search for and document the last owner and deed-chain covering the last 10 years. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Ten-Year Examination (w Covenants & Restrictions)',\r\n text: 'We search for and document the last owner and deed-chain covering the last 10 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants and restrictions against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Two Owner Search (Mortgage & Liens)',\r\n text: 'Two Owner Search (Mortgage & Liens)',\r\n },\r\n {\r\n title: 'Real Property Exam Update (up to 11 months)',\r\n text: 'An update to a title report where the original request is between 3 and 11 months old.',\r\n },\r\n {\r\n title: 'Real Property Exam Update (12 - 23 months)',\r\n text: 'An update to a title report where the original request is between 12 and 23 months old. (Searches more than 2 years old cannot be updated and requires a new report.)',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Name Searches',\r\n body: [\r\n {\r\n title: 'Bankruptcy Search',\r\n text: 'A search of available, computerized Federal Bankruptcy Court records for both individual and/or corporate names. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Certificate of Incorporation',\r\n text: 'We search for and provide a copy of the Certificate of Incorporation filed with the New York State Department’s Division of Corporations for the name searched. (For LLC’s, this is known as Articles of Organization. There is a fee per name.)',\r\n },\r\n {\r\n title: 'County Judgment Search',\r\n text: 'County Judgment Search',\r\n },\r\n {\r\n title: 'Certificate of Compliance',\r\n text: 'Certificate of Compliance',\r\n },\r\n {\r\n title: 'Corporate Status Report',\r\n text: 'Corporate Status Report',\r\n },\r\n {\r\n title: 'Environmental Control Board Lien Search',\r\n text: 'NYC only: A search revealing any liens in default of judgment status, including liens with various New York City agencies. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'NYS Entity Search',\r\n text: \"We create and provide an Enitity Status Report for the name given, which includes the entity's name, address, type, status, county in which conducting business, state of jurisdiction, the date of the filing and the registered agent if any. (There is a fee per name.)\",\r\n },\r\n {\r\n title: 'Franchise Tax Search',\r\n text: 'We search to see if there are any outstanding taxes owed on a corporation. This only applies to companies with direct written premiums who must file and pay tax for all or part of each calendar/fiscal year. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Certificate of Good Standing Search',\r\n text: 'AKA Certificate of Existence. This certificate will show that your company/corporation is in \"good standing\", meaning all required reports have been filed and registration fees have been paid as of the date the certificate has been issued. Also, to officially prove that your company has not been suspended or cancelled.',\r\n },\r\n {\r\n title: 'Good Standing LLC Long Form',\r\n text: 'Good Standing LLC Long Form',\r\n },\r\n {\r\n title: 'Good Standing LLC Short Form',\r\n text: 'Good Standing LLC Short Form',\r\n },\r\n {\r\n title: 'Good Standing Certificate Short Form',\r\n text: 'Good Standing Certificate Short Form',\r\n },\r\n {\r\n title: 'Litigation Search',\r\n text: 'We search for and document any open actions in the county courts indexes for the name searched. We also include any judgments, Federal Tax Liens, state and county-level UCC’s, and bankruptcy information. In NYC we also search for PVB and ECB records; in Richmond County we search DMV records.',\r\n },\r\n {\r\n title: 'Name Run',\r\n text: 'We search for and document any outstanding liens against any name searched in the specified county. This includes a search for recorded judgments and Federal Tax Liens. In the boroughs of NYC we also include searches of the City’s Parking Violations Bureau (PVB) and Environmental Control Board (ECB) records. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Name Run with County UCC',\r\n text: 'We search for and document any outstanding liens against any name searched in the specified county. This includes a search for recorded judgments, county-level UCC violations, and Federal Tax Liens. In the boroughs of NYC we also include searches of the City’s Parking Violations Bureau (PVB) and Environmental Control Board (ECB) records. We provide copies of anything found. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Patriot Search',\r\n text: 'A search to determine if an individual or business are included on the Specially Designated Nationals & Block Persons\" list issued by President Bush under Executive Order 13224. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Parking Violations Bureau Violations Search',\r\n text: 'NYC only: We search the NYC Parking Violations Bureau records and document any outstanding violations against the names searched. Note that there are no PVB records for Richmond County. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'State UCC Search and FTL Search',\r\n text: 'A search of state records to determine if claims have been filed with New York State against collateral which an applicant pledges on a loan. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'UCC Search (County)',\r\n text: 'A search of county records to determine if claims have been filed against collateral which an applicant pledges on a loan. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'UCC Search State Certified',\r\n text: 'UCC Search State Certified',\r\n },\r\n {\r\n title: 'Upper Court Search',\r\n text: 'Upper Court Search',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Contins',\r\n body: [\r\n {\r\n title: 'Building Loan Continuation',\r\n text: 'An abstracted continuation of an already completed building loan search. (Normally ordered prior to each disbursement of construction funds.)',\r\n },\r\n {\r\n title: 'Emergency Repair Continuation',\r\n text: 'A continuation on an Emergency Repairs search. This is highly recommended prior to closings, especially in tenant occupied buildings during the winter.',\r\n },\r\n {\r\n title: 'Title Search Continuation',\r\n text: 'We provide a continuation of an already completed title search.',\r\n },\r\n {\r\n title: 'Title Search Continuation (Not our search)',\r\n text: 'We provide a continuation of a title search where the original search was not done by BARRETTA REALTY SKYLINE.',\r\n },\r\n {\r\n title: 'Tax Search Continuation',\r\n text: 'We provide a continuation of an already completed Tax Search.',\r\n },\r\n {\r\n title: 'Upper Court Continuation Search',\r\n text: 'NJ Upper Court Continuation Search',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Most Popular',\r\n body: [\r\n {\r\n title: 'Bankruptcy Search',\r\n text: 'A search of available, computerized Federal Bankruptcy Court records for both individual and/or corporate names. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Certificate of Occupancy Search',\r\n text: \"We create and provide an abstract of building department records reporting all Certificates of Occupancy, Certificates of Compliance/Completion, and all open building permits. We include copies of all certificates found. If no Certificate of Occupancy is on file, the abstract will include information from other municipal agencies and the Assessor's Office regarding the structure(s), the use and the approximate year the structure was erected. In NYC, we provide a copy of the last CO of record, plus any subsequent plans filed that either change or propose to change the legal use.\",\r\n },\r\n {\r\n title: 'Current Owner Search ',\r\n text: 'Current Owner Search',\r\n },\r\n {\r\n title: 'Emergency Repairs Violation Search',\r\n text: 'We search for and document any repairs or services provided to said property of an emergency nature where property owner was negligent in responding shown in the municipal records of the appropriate municipality.',\r\n },\r\n {\r\n title: 'Foreclosure Search with Upper Court Search',\r\n text: 'We search for and document the last owner and deed-chain starting with the deed into the item being foreclosed. We report on all open mortgages and liens against the property and against any name searched. We provide a full copy of the mortgage or other document being foreclosed. Copies of other documents are available upon request.',\r\n },\r\n {\r\n title: 'Fire Violations Search',\r\n text: \"We search for and report on any violations of record with the Fire Department's local and/or central files.\",\r\n },\r\n {\r\n title: 'Full Title Search',\r\n text: 'We search for and document the last owner and deed-chain covering the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Housing and Building Violation Search',\r\n text: 'AKA Building Violation Search. We search for and document all pending violations of the local building code and in NYC, the New York State Multiple Dwelling Law, found at the Housing Department and Building Department.',\r\n },\r\n {\r\n title: 'Name Run',\r\n text: 'We search for and document any outstanding liens against any name searched in the specified county. This includes a search for recorded judgments and Federal Tax Liens. In the boroughs of NYC we also include searches of the City’s Parking Violations Bureau (PVB) and Environmental Control Board (ECB) records. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Patriot Search',\r\n text: 'A search to determine if an individual or business are included on the Specially Designated Nationals & Block Persons\" list issued by President Bush under Executive Order 13224. (There is a fee per name.)',\r\n },\r\n {\r\n title: 'Refinance Search',\r\n text: 'We search for and document the last owner and deed-chain covering the last 2 years. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Street Report',\r\n text: 'NYC only: We search for and document the current street width, and report on any applications for street widening on file at the Highway Department.',\r\n },\r\n {\r\n title: 'Street Maintenance Report',\r\n text: 'We search for and document the party responsible for street maintenance.',\r\n },\r\n {\r\n title: 'Sewer Report',\r\n text: 'Nassau County: A search to determine if a property conforms to the Department of Public Works Ordinance #266 of the Public Health Ordinance of Nassau County, which mandates all properties within the Nassau County Sewer District be connected to said sewer within one year of official notice. Suffolk County: This search indicates whether or not the property is located within a Municipal Sewer District. If the property does in fact lie within the district, the search will indicate the amount due.',\r\n },\r\n {\r\n title: 'Tideland Search',\r\n text: 'Tideland Search',\r\n },\r\n {\r\n title: 'Tax Search',\r\n text: 'We search for and report on county and local tax records to ascertain the existence of arrears, tax liens and to determine the current status of payments.',\r\n },\r\n {\r\n title: 'Upper Court Search',\r\n text: 'NJ Upper Court Search ',\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Continuable Searches',\r\n body: [\r\n {\r\n title: \"Attorney's Search\",\r\n text: 'We search for and document the last owner and deed-chain covering 2 years or when they encounter the last good-deed of record, whichever comes first. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Building Loan Continuation',\r\n text: 'An abstracted continuation of an already completed building loan search. (Normally ordered prior to each disbursement of construction funds.)',\r\n },\r\n {\r\n title: 'CO-OP Search (For Proprietary Leasehold Insurance)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative. We report on all open mortgages and liens against the property and against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. We also search for all county-level UCC violations, as well as any covenants & restrictions on the property from the time the cooperative was formed. We can provide copies of findings upon request.',\r\n },\r\n {\r\n title: 'CO-OP Title Search (Regular)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative. We report on all open mortgages and liens against the property and against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. We also search for all county-level UCC violations. We provide copies of the last deed of record along with any UCC violations found. We can provide copies of other findings upon request. This search includes one free continuation if ordered within 6 months.',\r\n },\r\n {\r\n title: 'CO-OP Title Search (Reissue)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative on the identified closing title report we are reissuing from, or starting from a specified date. We report on all open mortgages and liens against the property and against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. We also search for all county-level UCC violations. We provide copies of the last deed of record along with any UCC violations found. We can provide copies of other findings upon request.',\r\n },\r\n {\r\n title: 'CO-OP Title Search (Limited Liability With Tax)',\r\n text: 'We search for and document the last owner and deed of record into the Cooperative. We report on all open mortgages and liens against the property and all liens and bankruptcies against any name searched. If the Cooperative includes for a leasehold, we will report the lease information. The search includes a check for state- and county-level UCC violations. We also search for and report on county and local tax records to ascertain the existence of arrears, tax liens and to determine the current status of payments. We provide copies of the last deed of record along with any UCC violations found along with the typed report. We can provide copies of other findings upon request.',\r\n },\r\n {\r\n title: 'Title Search Continuation',\r\n text: 'We provide a continuation of an already completed title search.',\r\n },\r\n {\r\n title: 'Title Search Continuation (Not our search)',\r\n text: 'We provide a continuation of a title search where the original search was not done by BARRETTA REALTY SKYLINE.',\r\n },\r\n {\r\n title: 'Foreclosure Search',\r\n text: 'We search for and document the last owner and deed-chain starting with the deed into the item being foreclosed. We report on all open mortgages and liens against the property and against any name searched. We provide a full copy of the mortgage or other document being foreclosed. Copies of other documents are available upon request.',\r\n },\r\n {\r\n title: 'Foreclosure Search with Upper Court Search',\r\n text: 'We search for and document the last owner and deed-chain starting with the deed into the item being foreclosed. We report on all open mortgages and liens against the property and against any name searched. We provide a full copy of the mortgage or other document being foreclosed. Copies of other documents are available upon request.',\r\n },\r\n {\r\n title: 'Full Title Search',\r\n text: 'We search for and document the last owner and deed-chain covering the last 40 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants, restrictions and easements against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Last Owner Report (Mortgages & Liens)',\r\n text: 'We search for and document the last owner of record, and any open mortgages and liens.',\r\n },\r\n {\r\n title: 'Owners & Encumbrance',\r\n text: 'Owners & Encumbrances',\r\n },\r\n {\r\n title: 'Refinance Examination (w Covenants & Restrictions)',\r\n text: 'We search for and document the last owner and deed-chain covering the last 2 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants and restrictions against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Refinance Search',\r\n text: 'We search for and document the last owner and deed-chain covering the last 2 years. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Reissue Examination',\r\n text: 'We search for and document the last owner and deed-chain based on the identified closing title report we are reissuing from, or starting from a specified date. Open mortgages and liens against the property and against any name searched that are found within the search are reported. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Second Mortgage Search',\r\n text: 'We search for and document the last owner and deed-chain starting at the identified recorded first mortgage. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Stub Search',\r\n text: 'We search for and document any open or satisfied bank mortgages. If no bank mortgages are found, a more thorough search is initiated.',\r\n },\r\n {\r\n title: 'Short-to-Full Exam',\r\n text: 'This is used to request a real property exam upgrade from short length to full length.',\r\n },\r\n {\r\n title: 'Ten-Year Examination',\r\n text: 'We search for and document the last owner and deed-chain covering the last 10 years. We report on all open mortgages and liens against the property and against any name searched. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Ten-Year Examination (w Covenants & Restrictions)',\r\n text: 'We search for and document the last owner and deed-chain covering the last 10 years. We report on all open mortgages and liens against the property and against any name searched. We also search for all covenants and restrictions against the property. We can provide copies upon request.',\r\n },\r\n {\r\n title: 'Two Owner Search (Mortgage & Liens)',\r\n text: 'Two Owner Search (Mortgage & Liens)',\r\n },\r\n {\r\n title: 'Real Property Exam Update (up to 11 months)',\r\n text: 'An update to a title report where the original request is between 3 and 11 months old.',\r\n },\r\n {\r\n title: 'Real Property Exam Update (12 - 23 months)',\r\n text: 'An update to a title report where the original request is between 12 and 23 months old. (Searches more than 2 years old cannot be updated and requires a new report.)',\r\n },\r\n ],\r\n },\r\n];\r\n\r\nconst Services: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n The single-source solution: DataTrace offers the most comprehensive\r\n and precise collection of real estate information in the New York\r\n market.\r\n \r\n \r\n {terms.map((item, index) => {\r\n return (\r\n \r\n {item.body.map((item) => {\r\n return (\r\n <>\r\n {item.title}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n For more information on a specific search, simply click on it.\r\n \r\n \r\n \r\n \r\n Abstract, Municipal, Tax and State Level Research\r\n \r\n We provide searches in all 62 counties in New York:\r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Services;\r\n","import React from 'react';\r\nimport { Typography, Card, Popover } from 'antd';\r\nimport styles from './Faq.module.scss';\r\nimport foreclosure from 'assets/img/foreclosure.png';\r\nimport surrogate from 'assets/img/surrogate.png';\r\nimport condemnation from 'assets/img/CONDEMNATION.png';\r\n\r\nconst Faq: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
What was the Mennonite decision?
\r\n The court declared that all parties with an interest in the real\r\n estate must be notified of an In Rem proceeding from 1976 to\r\n date. We must show all mortgages as to enable the client to make\r\n sure the mortgagees were served with notice of the In Rem action\r\n so as to cut off their interest in the property.\r\n
 
\r\n What year is the cut-off date for mortgages on a parcel with an\r\n In Rem foreclosure due to the Mennonite decision ?\r\n
\r\n You must show all mortgages beginning with the In Rem deed\r\n recorded in 1976.\r\n
 
\r\n What determines if we should run a lending institution that has\r\n been in title for judgments and liens ?\r\n
\r\n Run all lending institutions except for federal agencies, such\r\n as Federal National Mortgage Association, Federal Home Loan\r\n Mortgage Agency, etc.\r\n
 
\r\n Assume you have an open mortgage on an examination taken by an\r\n owner of the parcel some twenty years ago – they have since\r\n conveyed out, and would not fall into the ten-year period which\r\n is searched; do we still run that individual for judgments as a\r\n result of that open mortgage, or are they now moot because the\r\n party has not been in title for over ten years?\r\n
\r\n We must show the mortgage, however only run the parties in title\r\n for the last ten years.\r\n
 
\r\n Do we need to indicate the type of deed being abstracted – i.e.\r\n Bargain and Sale, Quitclaim, Warranty, etc.?\r\n
Yes, always
 
\r\n Condemnations and Land Dispositions – do these definitively cut\r\n off Covenants and Restrictions prior, or are there exceptions?\r\n If so, what are the exceptions?\r\n
\r\n No, they do not cut off any C&R’s – always turn them out\r\n
 
\r\n If you have a Lis Pendens but the mortgage being foreclosed is\r\n satisfied, do you show the LP ?\r\n
\r\n Yes, show the LP and clerk’s minutes and put a comment that the\r\n mortgage is satisfied with the recording info of the sat.\r\n
 
\r\n When you are running a name and you find a judgment over 10\r\n years old, should you show it ?\r\n
\r\n No, as long as it is not extended or renewed – ALWAYS check the\r\n remarks. Keep iin mind that federal judgments are good for 20\r\n years and are filed in the same index as federal tax liens.\r\n
 
\r\n How far back do we turn out welfare liens for ?\r\n
\r\n If the lien is filed within the mortgage index it is good\r\n forever. If it is filed within the judgment index it is good for\r\n 10 years.\r\n
 
\r\n For consideration amount on deeds, do you really want us to put\r\n the standard verbiage on deeds if they show no amount as $10.00\r\n or $1.00 ? For example if transfer tax is 495.00 and deed says\r\n $10.00 ?\r\n
\r\n If the actual consideration (sales price) is stated then show\r\n it. If not then put the consideration stated on the deed.\r\n
 
\r\n What is negative amortization in a mortgage ?\r\n
\r\n Negative amortization is a mortgage that has a fixed or maximum\r\n monthly payment – therefore if the interest rate rises then the\r\n amount due is more that the monthly payment. This cause the\r\n excess interest to be added to the principal. You must show BOTH\r\n the face amount and the maximum amount of the mortgage.\r\n
 
\r\n What do we as a company take as closing off a foreclosure\r\n action? I was taught that an lis pendens is good for three years\r\n from the last court minutes. I have been taught that if it goes\r\n to judgment of foreclosure, this extends it and makes it a valid\r\n LP for 10 years. Can we take just a stipulation of\r\n discontinuance as cutting off the lp? What about if the judgment\r\n of fcl is cancelled? The action itself is still good?\r\n
\r\n By statute, a lis pendens is good for three years, unless it is\r\n extended. If it goes to judgment of foreclosure, the judgment is\r\n effective for 6 years. If a stipulation of discontinuance of the\r\n action, there should still be filed a stipulation discontinuing\r\n the lis pendens. Both the Lis Pendens AND the clerk’s minutes\r\n need to indicate a cancellation. If the correct procedure is not\r\n followed, show the lis pendens and clerk’s minutes and put\r\n comments. If the lis pendens in a foreclosure action is over 3\r\n years old and there is no judgment of foreclosure and no other\r\n current activity on the clerk’s minutes, then it is not\r\n necessary to show the lis pendens. Remember to ALWAYS turn out a\r\n lis pendens by a governmental agency FOREVER.\r\n
 
\r\n When we have a dysfunctional satisfaction, I have the examiners\r\n turn everything out on the abstract sheet with a copy of the sat\r\n as an fyi. Do I need to do this if the sat amount is correct but\r\n they don’t list both liber and pages of a consolidation?\r\n
\r\n A good satisfaction must list every mortgage being satisfied,\r\n not only the consolidation. If the satisfaction is defective you\r\n must abstract all of the mortgages AND provide a copy of the sat\r\n AND add a comment. List all of the mortgages as open on your\r\n certification sheet.\r\n
 
What is a stub search ?
\r\n A stub search is basically another name for an attorney search,\r\n an LML, a second mortgage search, a short, a refi – different\r\n locales use different labels.\r\n
 
\r\n Whenever I abstract a foreclosure action and it goes to sale,\r\n where in the file would you find the question pertaining to the\r\n date of notice of sale served?\r\n
\r\n The notice of sale is published in a newspaper and you would\r\n find the affidavit of publication in the file. You will also\r\n find an affidavit of service of the notice of sale.\r\n
 
\r\n In rare cases I find a deed from the Bankruptcy Court. Does this\r\n deed take care of open mortgages and other liens that precede\r\n this deed?{' '}\r\n
\r\n Although the bankruptcy action may wipe out mortgages and liens,\r\n you must show them since without examining the bankruptcy action\r\n you are unable to determine if the liens are cut off. This\r\n should be left for the reader to decide.\r\n
 
\r\n How long are Federal Tax Liens good for ?\r\n
10 years unless extended or refilled
 
\r\n For how many years do we show Federal judgments ?\r\n
\r\n Federal judgments are good for 20 years and are filed in the\r\n same index as federal tax liens.\r\n
 
How long are UCC’s good for ?
\r\n UCC’s are good for 5 years and must be continued within that\r\n time. UCC’s on a co-op apartment do not expire and should be\r\n shown forever.\r\n
 
\r\n If you are running the last name Williamson, should you show a\r\n return on Williamsen ?\r\n
\r\n ABSOLUTELY – this could be a typo – we should show anything\r\n within reason to prevent claims.\r\n
 
\r\n How would you search the name “Marie St. Fleur” ?\r\n
\r\n You should search: St. Fleur, Ma - Saint Fleur, Ma - Fleur, Ma\r\n
 
\r\n What variations should be taken when running names ?\r\n
\r\n We must show anything the person conceivably could be called –\r\n different spelling should ALWAYS be taken as should any possible\r\n nicknames – play it safe, when in doubt – turn it out.\r\n
 
\r\n What is the proper way to search a name ?\r\n
\r\n When running names, you should only put in a few letters of the\r\n last name and the first two letters of the first name. If it is\r\n a VERY common last name then it is permissible to put in more\r\n letters of the last name. Turn out any judgment vs the person,\r\n within reason, that the debtor may be called – if you are\r\n searching “Rob” you would show: Robert, Rob, Robby, Roberto,\r\n Robin, etc. When you are running a corporation or other entity,\r\n you should only input the complete first word and the only the\r\n first letter of the second work of the entity, at the most. Be\r\n careful to not spell out any word that could be abbreviated –\r\n such as “manufacturing” might be inputed as “mfg” by the clerk.\r\n Our job is to find any lien that may affect the debtor – the\r\n less we input, the more we can find.\r\n
 
\r\n How should Asian names be searched ?\r\n
\r\n If you are searching “Ho Tse Wong” you should search all\r\n possible variations:\r\n
\r\n Wong, Ho - Wong, Ts - Ho, Ts - Ho, Wo - Tse, Ho - Tse,Wo\r\n
 
\r\n If there is a mortgage foreclosure that goes to judgment, but\r\n then the mortgage is satisfied, do we still need to show the\r\n action ?\r\n
\r\n The judgment of foreclosure should still be vacated and the\r\n action cancelled. If it is not then show the lis pendens and the\r\n clerk’s minutes and comment that the mortgage is satisfied.\r\n
 
\r\n A Lis Pendens is valid for 3 years. If the mortgage is still\r\n open after the 3 years has expired, do we give a copy of the lis\r\n pendens ?\r\n
\r\n A Lis Pendens is good for 3 years unless it is extended or\r\n refilled. As long as the LP has not gone to judgment, it is not\r\n necessary to show the lis pendens after the 3 years has expired.\r\n It should be noted that you should always use some common sense\r\n – if the 3 years was up yesterday, then you might want to turn\r\n it out.\r\n
 
\r\n Do you run trustees as a corporation or as an individual{' '}\r\n
\r\n {' '}\r\n If running “Trustees of the estate of John Doe” then run as\r\n corporation. If running “Mary Roe, trustee” then run as\r\n individual. You should play it safe and run it both ways.\r\n
 
\r\n On a refi must you always give a 24 monthy deed chain, even if\r\n the only deed within the 24 months was insured by a title\r\n company ?\r\n
\r\n Yes, you must always start your deed chain with a deed that is\r\n at least 24 months old and that is not family to family. In\r\n addition, you must run all names beginning with the grantee in\r\n the oldest deed. Note that on an LML or an ATT it is NOT\r\n necessary to give a 24 month chain – just start with a bonafide\r\n deed (not family to family).\r\n
 
\r\n When you search a name, what is the period that you search it\r\n for ?\r\n
\r\n All names are searched from 10 years ago until they conveyed\r\n out. If they conveyed to a family member or to someone for no\r\n consideration or nominal consideration then you must search the\r\n name until the family conveys out. People sell to family members\r\n thinking they can avoid a judgment – we must make sure this does\r\n not happen.\r\n
 
\r\n On tax lien foreclosures if the tax lien being foreclosed\r\n precedes 2 tax liens do those specific tax liens always get\r\n turned up on the search even though the city of New York is a\r\n party defendant?\r\n
\r\n Yes, tax liens cannot get cut off – all tax liens must always be\r\n shown as should all mortgages.\r\n
 
Who has rights in an alleyway ?
\r\n To determine who has rights in an alleyway we must locate the\r\n agreement or declaration that created said alleyway. At times\r\n the alleyway or easement can be created by a common owner by\r\n reference in the deeds as he sells off each piece of property\r\n that has an interest in the alleyway.\r\n
 
What are air rights ?
\r\n Air rights refers to the interest in the air space of a parcel\r\n of land. The fee owner owns the land “up to the heavens” – but\r\n he may sell them to another party or grant an easement over the\r\n air rights.\r\n
 
\r\n Should I show a mortgage on the air rights of the property I am\r\n searching ?\r\n
\r\n Yes, unless you are specifically asked not to search the air\r\n rights parcel OR if your air rights have been conveyed to\r\n another bonafide party.\r\n
 
What is a condemnation ?
\r\n A condemnation is an action by which the sovereign (the\r\n government) uses the concept of eminent domain to acquire a\r\n piece of land that is determined to be in the government’s best\r\n interests.\r\n
 
\r\n How long are Notices of Lending good for ?\r\n
Forever
 
\r\n How important are sidewalk violations from the 1960’s ?\r\n
\r\n Sidewalk Violations do not expire and are therefore still a\r\n lien.\r\n
 
\r\n How should I certify a Regulatory Agreement ?\r\n
\r\n Regulatory Agreements should be listed with your mortgage\r\n documents.\r\n
 
\r\n When there is more than 1 extension agreement, which one do I\r\n show ?\r\n
\r\n It is only necessary to show the LAST extension agreement,\r\n however you must show ALL consolidation agreements.\r\n
 
\r\n On a short search, if the grantor on the deed or record is the\r\n surviving tenant, spouse, etc. of a deceased person, (assuming\r\n no prior deeds are needed) does that person need to be ran for\r\n surrogates?{' '}\r\n
\r\n No, as long as that deed is considered a good starting point.\r\n
 
\r\n On a short search, if you are only turning out one deed in your\r\n title and it happens to be an executor’s deed with full\r\n consideration, can u stop there?{' '}\r\n
\r\n Yes, as long as it is not family to family and is at least 24\r\n months old.\r\n
 
\r\n On a short search, do individual mortgagees need to be ran for\r\n surrogates? What is the reason? Individual mortgagees don’t\r\n necessarily have to live in that county.\r\n
\r\n Yes, individual mortgagees need to be run in surrogates – if\r\n they are deceased that will show who needs to be contacted to\r\n satisfy the mortgage and sign the satisfaction. This is one\r\n reason why it is important to list the mortgagee’s address – the\r\n client will know where to search Surrogate’s Court.\r\n
 
\r\n When running names, if you have to turn out JOSEPH RODRIGUEZ for\r\n JOSE RODRIGUEZ as a variation, would I also turn out MARY for\r\n MARIA, PETER for PEDRO, LOUIS for LUIS, etc…?\r\n
\r\n Usually yes – on a very common name such as Rodriguez it is ok\r\n to take less variation BUT in these rare occurrences you must\r\n specifically state: “Did not take Joseph” (if running Jose)\r\n
 
\r\n If a lis pendens to foreclose a mechanics lien is put on prior\r\n to a mechanic lien’s expiration (other than the intended\r\n foreclosed ml), does that extend all the other mechanics liens\r\n that are active in the time period?{' '}\r\n
\r\n Yes – any LP extends all mechanic’s liens that are still\r\n effective at the time of the LP filing.\r\n
 
\r\n If a deed into the current owners is recent, do we still run\r\n surrogates?\r\n
\r\n Use some discretion – if it is very recent and the names match\r\n the names given on the order form, then it is not necessary.\r\n
 
\r\n What exactly are the necessary documents that need to be on the\r\n clerks minutes in an lp after a judgment has been filed for us\r\n to not have to turn it out?\r\n
\r\n Always show a lis pendens that has a judgment of foreclosure\r\n filed unless the judgment is vacated or it has been 6 years\r\n since the filing of the judgment.\r\n
 
\r\n What is the difference between an open-ended and closed-ended\r\n mortgage?\r\n
\r\n In an open-ended mortgage you get a checkbook and can\r\n continuously write checks up to the amount of the mortgage as\r\n you need the money. You can even pay down the mortgage and then\r\n write more checks. In a closed-ended mortgage, upon the closing\r\n you are given the full amount of the mortgage all at one time.\r\n
 
\r\n A City mortgage always seem to have a miniscule amount -\r\n wouldn’t that be considered an open ended mortgage?\r\n
\r\n The amount of a mortgage has no bearing on whether or not it\r\n would be considered open-ended.\r\n
 
\r\n On a condominium when the property is sold and no release has\r\n been recorded do you always have to recite the base lot\r\n mortgages as open even though the unit has a new mortgage\r\n recorded against it?\r\n
\r\n Yes, the mortgages on the base lot are still a lien on every\r\n unit lot unless the unit lot is released from the lien of the\r\n mortgage.\r\n
 
\r\n When doing a reissue and you search a common name can you start\r\n your name search from the point of the last date. For example if\r\n the search was done on 6/2006 and the name is Juan Rodriguez do\r\n you have to do the name full or do you run that name from 6/2006\r\n to present date?\r\n
\r\n We should always search the name IN FULL so as to pick up all of\r\n the judgments and liens that currently affect – it’s possible\r\n that some of the old liens may have been satisfied.\r\n
 
\r\n If a judgment is older than 10 yrs but is on the head, should we\r\n show it?\r\n
\r\n Check the remarks to see if the judgment is extended or renewed\r\n – use some discretion, if a few months over 10 years, show it.\r\n
 
\r\n When should we stop taking variations of names?\r\n
\r\n Only if it is an extremely common name – and then make a note\r\n stating how the name was run\r\n
 
\r\n When should a contin be charged as a reissue ?\r\n
\r\n If a contin was requested by the client but you see that the\r\n title was already closed by the same client then it should be\r\n billed as a reissue.{' '}\r\n
 
How do we run a contin ?
\r\n Whenever you are doing a contin, it is ALWAYS necessary to\r\n abstract any new documents found – giving a printout is NOT\r\n enough. Come from the search “as of” date forward and pick up\r\n any new liens. In addition, you must check any mortgages or\r\n liens shown in the original search and see if they have been\r\n satisfied. Also check the clerk’s minutes for any action to\r\n determine if there are any new filings. The contin is the last\r\n chance that we have to pick up something that should have been\r\n shown in the original search – if you happen to see a judgment\r\n or lien that is prior to your “as of” date – do a diligent job\r\n and make sure that the original searcher actually turned it up\r\n in his search. This helps prevent any possible claim.{' '}\r\n
 
\r\n Some people say that judgments are good for longer than 10 yrs.\r\n Is this true?\r\n
\r\n Only federal judgments that are indexed in the federal tax lien\r\n index are good for 20 years.\r\n
 
\r\n How long should we actually check back for C&R’s?\r\n
\r\n C&R’s and easements are good forever. You should check back\r\n as far as possible –at least 100 years - using whatever indices\r\n are available in your county. Prior deeds on your parcel should\r\n be spot-checked for any recitals. Deeds into and out of the\r\n builder, if any, should always be checked. Keep in mind that\r\n when there is a builder involved, most C&R’s and easements\r\n are made between the time when builder buys the property and the\r\n time when he starts selling off the individual lots.\r\n
 
\r\n Some people say that you shouldn’t turn out a really old mtg(\r\n ex: 1945) if it is not sat. Is this true?\r\n
\r\n Possibly some people feel that the old mortgage is really paid\r\n off but not satisfied of record. We still must, however, show\r\n the mortgage as open since it is a cloud on title and must be\r\n satisfied of record.\r\n
 
\r\n Why is Richmond the only county with DMV’s? Are they really a\r\n lien at a closing?\r\n
\r\n DMV’s are really a lien with the same effect as any judgment.\r\n They should be filed in each county in NYC.\r\n
 
\r\n When doing an LSN should we only run Block and Lot in system?{' '}\r\n
\r\n It is only necessary to run the block and lot (and any prior\r\n lots) in BOTH the computer system and any applicable books that\r\n may be prior to the system.\r\n
 
\r\n At what point does a mortgage become an “ancient” mortgage?\r\n
\r\n A mortgage in the face amount of not more than $15,000.00 which\r\n MATURED more than 30 years ago and which has NOT been recited in\r\n the chain of title for 20 years or more is considered an\r\n “ancient” mortgage as long as the present owner or an ancestor\r\n was not the mortgagor. Since affidavits must be signed it is\r\n necessary for examiners to show ALL open mortgages – it is up to\r\n the reader to decide if the mortgage can be omitted as an\r\n “ancient” mortgage.\r\n
 
\r\n What is the threshold of deviance from the tax map allowed on a\r\n metes and bounds description before reference deeds must be\r\n given?\r\n
\r\n If the variance is ¼ inch or less it is NOT necessary to show\r\n reference deeds.\r\n
 
What is an enforcement mortgage ?
\r\n An enforcement mortgage is basically a supplement or subsidy to\r\n the purchase price, usually in low-income housing. It is a\r\n mortgage given by NYC to the purchaser, in most cases as a\r\n second mortgage. If certain conditions are met, the mortgage\r\n need not be re-paid and the mortgage is satisfied.\r\n
 
What is a “Notice of Lending” ?
\r\n A Notice of Lending is a lien filed under Lien Law# 73and is\r\n filed in conjunction with a mortgage. The Notice of Lending\r\n should be shown as long as the mortgage is still open of record.\r\n In the event the mortgage is NOT recorded, then the Notice of\r\n Lending should be turned out indefinitely.\r\n
 
\r\n What is a Severance or Splitter Agreement ?\r\n
\r\n This agreement splits a recorded mortgage into two or more\r\n liens. This can be accomplished in two ways:\r\n
\r\n 1- The entire remaining indebtedness is reflected in two or more\r\n substitute mortgages – this replaces the entire back mortgage\r\n chain, or\r\n
\r\n 2- The remaining indebtedness is reflected in one or more\r\n substitute mortgages AND the “continuing lien” of the original\r\n mortgage – the entire back mortgage chain must be abstracted, as\r\n it is still open\r\n
\r\n To determine that you are looking at it correctly, make sure\r\n that the remaining indebtedness equals the substitute mortgages\r\n combined amounts.\r\n
 
\r\n What is a Subordination Agreement ?\r\n
\r\n This agreement changes the priority of lines. It takes an\r\n existing mortgage and makes it subordinate to a new mortgage or\r\n consolidation agreement that is about to be recorded. It may\r\n also make the existing mortgages subordinate to a declaration of\r\n condo or a land disposition agreement. When abstracting this\r\n agreement – look for the Document ID of the existing mortgage\r\n AND the amount of the mortgage that is to be recorded.\r\n
 
Surrogate’s Proceeding:
\r\n There are different types of proceedings:\r\n
\r\n
\r\n
    \r\n
  1. \r\n Probate – decedent dies testate, WITH a will – executor will\r\n be appointed\r\n
  2. \r\n
  3. \r\n Administration – decedent dies WITHOUT a will –\r\n administrator will be appointed\r\n
  4. \r\n
  5. \r\n Administration CTA – decedent dies WITH a will but no\r\n executor qualified – administrator will be appointed\r\n
  6. \r\n
  7. \r\n Ancillary probate – decedent dies a resident of another\r\n jurisdiction and the will was probated in that jurisdiction\r\n – there will be an executor appointed in the county where\r\n decedent owned real estate for the purpose of selling the\r\n property\r\n
  8. \r\n
\r\n ALWAYS include a FULL copy of the will, if any AND of the order\r\n appointing the executor or administrator – look to see if the\r\n order in any way restricts the fiduciary from selling or\r\n encumbering the property – if so, highlight it\r\n
\r\n
\r\n For court orders to be valid they must be dated and signed by a\r\n judge.\r\n
\r\n
\r\n All heirs must waive and consent in a probate proceeding or sign\r\n a renunciation in an administration proceeding\r\n
\r\n
\r\n Executors and administrators must sign an oath and designation\r\n for their appointment to be valid\r\n
\r\n
\r\n See Surrogate’s proceeding \r\n \r\n }\r\n >\r\n EXHIBIT\r\n \r\n
 
Foreclosure Proceeding:
\r\n Must include copies of ALL affidavits of service and notices of\r\n appearance\r\n
\r\n
\r\n Must include copies of the specific allegations in the complaint\r\n showing why all governmental agencies were made a party\r\n defendant\r\n
\r\n
\r\n Include copy of any order to appoint substitute referee\r\n
\r\n
\r\n Include copy of any assignment of bid\r\n
\r\n
\r\n Include copy of judgment of foreclosure\r\n
\r\n
\r\n Make sure the referee appointed in the order of reference is the\r\n same as the referee in the judgment of foreclosure and the\r\n referee’s report of sale\r\n
\r\n
\r\n Any order must be signed and dated to be valid\r\n
\r\n
\r\n Put your abstract of the foreclosure in the following order:\r\n
\r\n
\r\n Clerk’s minutes, lis pendens, abstract form, specific\r\n allegations,affidavits of service and notices of appearance,\r\n judgment of foreclosure, any other document needed\r\n
\r\n
\r\n See Foreclosure proceeding  \r\n \r\n }\r\n >\r\n EXHIBIT\r\n \r\n
 
Condemnation Proceeding:
\r\n This is a proceeding where the sovereign (The City of New York)\r\n acquires title for public use by filing a lis pendens and damage\r\n map\r\n
\r\n
\r\n You must include:\r\n
\r\n
\r\n
    \r\n
  1. The petition to condemn
  2. \r\n
  3. The order of condemnation
  4. \r\n
  5. The damage map showing your parcel
  6. \r\n
  7. \r\n The grid from the damage map listing all parcels and their\r\n values\r\n
  8. \r\n
  9. Clerk’s minutes
  10. \r\n
\r\n Please note that the damage map will contain a damage parcel\r\n number, as well as the tax lot number\r\n
\r\n
\r\n See Condemnation proceeding  \r\n \r\n }\r\n >\r\n EXHIBIT\r\n \r\n
 
How To Perform A Name Run
\r\n Objective- Find any returns that could be your parties\r\n without being overly time consuming and counterproductive so as\r\n to prevent monetary loss to the company\r\n Rules-\r\n
  • \r\n If two people take title as husband and wife, you must run the\r\n wife with the husband’s last name.\r\n
  • \r\n
  • \r\n If there is an obvious typo on deed or mortgage, you must run\r\n the name that way also.\r\n
  • \r\n
  • \r\n You must run all names that the person is known as. (any AKA,\r\n FKA, NKA)\r\n
  • \r\n
  • You must run names as stated on the application.
  • \r\n
  • \r\n When running a hyphenated name, you must split the name.\r\n
  • \r\n
    \r\n Ex. Mary Tyler-Moore – you would run Mary Tyler and Mary Moore\r\n
    \r\n
    \r\n Input- Uncommon Names-\r\n
    \r\n
  • \r\n Input NO MORE than four letters of last name and two letters\r\n of first name\r\n
  • \r\n
  • \r\n Do not go past double letters (ex. Mary Sutter Input- Sut, Ma)\r\n
  • \r\n
    \r\n
    \r\n Input- Common Names (ex. Jose Rodriguez)\r\n
    \r\n
  • \r\n Input whole name but state “no variations taken” on\r\n certification page\r\n
  • \r\n
    \r\n
    \r\n Selection-\r\n
    \r\n
  • Take last name only
  • \r\n
  • Take all last name with first initial
  • \r\n
  • \r\n Take all nicknames for that name that you can see on the\r\n screen\r\n
  • \r\n
  • Take exact name
  • \r\n
  • *ALWAYS disregard middle initial*
  • \r\n
    \r\n
    \r\n Examples-\r\n
    \r\n 1. Name- Charles Mauro\r\n
    \r\n Input- Maur, Ch\r\n
    \r\n Take- Mauro, C Mauro, Charles Mauro, Charlie Mauro,\r\n Chucky Mauro, Chuck Mauro, Chuckie Mauro, Chaz Mauro , Chas\r\n Mauro, etc.\r\n
    \r\n Any of these including middle initial\r\n
    \r\n
    \r\n 2. Name – Margaret Smith\r\n
    \r\n Input- Smith, Ma\r\n
    \r\n Take- Smith, M Smith, Margie Smith, Margaret Smith, etc.\r\n
    \r\n Any of these including middle initial\r\n
    \r\n DO NOT have to run Peg or Peggy\r\n
    \r\n
    \r\n 3. Name- I. Brice Moses\r\n
    \r\n Input #1- Mose, I
    \r\n Take- Moses, I Moses, Ignatius Moses, Isabel Moses, Izzy\r\n Moses etc\r\n
    \r\n Input#2- Mose, Br\r\n
    \r\n Take- Moses, Bri Moses, Brice Moses, etc\r\n
    \r\n Any of these including middle initial\r\n
    \r\n
    \r\n Input- Corporations\r\n
    \r\n
  • Input as little of the name as possible
  • \r\n
  • \r\n Never type in the suffix of the corporation (Inc., Co., Corp.\r\n etc)\r\n
  • \r\n
  • \r\n If the corporation name is numerical, run with the number AND\r\n with the number spelled out (Ex. Sixth Avenue Electronics\r\n would be ran as Sixth and 6th)\r\n
  • \r\n Selection-\r\n
  • Take any variation of corporation name
  • \r\n
    \r\n
    \r\n Examples-\r\n
    \r\n 1. Name- Best Home Properties, LLC
    \r\n Input – Best Home Pr\r\n
    \r\n Take- Best Home Properties, Inc. Best Home Properties,\r\n Best Home Prop, Best Home Prp, Best Home Prop Limited , Etc{' '}\r\n
    \r\n 2. Name – First Food Inc.\r\n
    \r\n Input #1– First Fo\r\n
    \r\n Take – First Food LLC, First Food HDCP Inc. , Etc.\r\n
    \r\n Input #2- 1st Fo
    \r\n Take – 1st Food Inc., 1st Food LLC, 1st Food, Etc.
    \r\n 3. Name- The Allied Parking Group\r\n
    \r\n Input #1 – The Allied\r\n
    \r\n Take- The Allied Pkg Grp, The allied Group , etc\r\n
    \r\n Input #2- Allied P
    \r\n Take- Allied Parking, Allied Prk Grp\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Faq;\r\n","import React from 'react';\r\nimport { Row, Col, Card, Typography } from 'antd';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { AppState } from 'store';\r\nimport { useSelector } from 'react-redux';\r\nconst { Title } = Typography;\r\n\r\nconst links = [\r\n {\r\n url: 'https://www.datatracetitle.com/hubfs/NYC-ONLINE-ABSTRACT-GUIDE-03-2020.pdf',\r\n text: 'Online Services - User Guide',\r\n },\r\n {\r\n url: 'https://www.datatracetitle.com/hubfs/NYC-Online-Abstract-Tutorial.mp4',\r\n text: 'Online Services - Video Tutorial',\r\n },\r\n {\r\n url: 'https://www.datatracetitle.com/hubfs/DTNY-DocuTrax-How-To.pdf',\r\n text: 'DocuTrax: Document Images - User Guide',\r\n },\r\n {\r\n url: 'https://www.datatracetitle.com/hubfs/ARB%20Help%20FIles-02-2021-FINAL.pdf',\r\n text: 'DocuTrax: NYC Indices - User Guide',\r\n },\r\n {\r\n url: 'https://www.datatracetitle.com/hubfs/TaxTrax-User-Guide.pdf',\r\n text: 'TaxTrax - User Guide',\r\n },\r\n];\r\n\r\nconst UserManual: React.FC = () => {\r\n const login = useSelector((state: AppState) => state.login);\r\n\r\n if (login.user?.licenseflag == 'False') {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n User Manual\r\n\r\n {links.map((link, index) => {\r\n return (\r\n \r\n \r\n \r\n {link.text}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default UserManual;\r\n","import Dashboard from './Dashboard/Dashboard';\r\nimport Search from './Search/Search';\r\nimport {\r\n PropertySearch,\r\n TaxMaps,\r\n RecentReports,\r\n DepOnline,\r\n Bankruptcy,\r\n XosImages,\r\n Preacris,\r\n License,\r\n UserManual,\r\n UserUsageReport,\r\n TaxTrax,\r\n} from 'pages';\r\n\r\nexport default {\r\n dashboard: {\r\n index: -1,\r\n link: 'dashboard',\r\n header: '',\r\n icon: 'dashboard',\r\n text: 'Dashboard',\r\n component: Dashboard,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n nycDataBase: {\r\n index: 0,\r\n link: 'nyc-online-abstract',\r\n header: 'NYC Online Abstract',\r\n icon: 'database',\r\n text: 'NYC Online Abstract',\r\n component: Search,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n propertySearch: {\r\n index: 1,\r\n link: 'property-look-up',\r\n header: 'Property Look Up',\r\n icon: 'search',\r\n text: 'Property Look Up',\r\n component: PropertySearch,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n taxMaps: {\r\n index: 2,\r\n link: 'tax-maps',\r\n header: 'Tax Maps',\r\n icon: 'environment',\r\n text: 'Tax Maps',\r\n component: TaxMaps,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n depOnline: {\r\n index: 3,\r\n link: 'dep-online',\r\n header: 'NYC DEP Online',\r\n icon: 'home',\r\n text: 'NYC DEP Online',\r\n component: DepOnline,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n bankruptcy: {\r\n index: 4,\r\n link: 'bankruptcy',\r\n header: 'National Name Database',\r\n icon: 'global',\r\n text: 'National Name DB',\r\n component: Bankruptcy,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n preacris: {\r\n index: 5,\r\n link: 'preacris',\r\n header: 'DocuTrax',\r\n icon: 'file',\r\n text: 'DocuTrax',\r\n component: Preacris,\r\n visible: true,\r\n version: ['Dev', 'Dev', 'Prod', 'Staging'],\r\n },\r\n taxTrax: {\r\n index: 6,\r\n link: 'taxtrax',\r\n header: 'TaxTrax',\r\n icon: 'dollar',\r\n text: 'TaxTrax',\r\n component: TaxTrax,\r\n visible: true,\r\n version: ['Dev', 'Dev', 'Prod', 'Staging'],\r\n },\r\n /*xosImages: {\r\n index: 5,\r\n link: 'xosimages',\r\n header: 'Document Images',\r\n icon: 'file',\r\n text: 'Document Images',\r\n component:XosImages,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },*/\r\n recentReports: {\r\n index: 7,\r\n link: 'recent-reports',\r\n header: 'Recent Reports',\r\n icon: 'file-search',\r\n text: 'Recent Reports',\r\n component: RecentReports,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n userUsageReport: {\r\n index: 8,\r\n link: 'usage-report',\r\n header: 'Usage Report',\r\n icon: 'team',\r\n text: 'Usage Report',\r\n component: UserUsageReport,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n requiresBillingInfoAccess: true,\r\n },\r\n license: {\r\n index: 9,\r\n link: 'license',\r\n header: 'license',\r\n icon: 'file-search',\r\n text: 'License Aagreement',\r\n component: License,\r\n visible: false,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n userManual: {\r\n index: 10,\r\n link: 'user-manual',\r\n header: 'User Manual',\r\n icon: 'question-circle',\r\n text: 'User Manual',\r\n component: UserManual,\r\n visible: true,\r\n version: ['Test', 'Dev', 'Prod', 'Staging'],\r\n },\r\n};\r\n","import React from 'react';\r\nimport { Card, Skeleton } from 'antd';\r\n\r\ninterface ConfigType {\r\n initProp: string;\r\n rows: number;\r\n fullWidth?: boolean;\r\n}\r\n\r\nexport const SkeletonHOC =\r\n ({ initProp, rows, fullWidth = false }: ConfigType) =>\r\n (WrappedComponent: any) =>\r\n (props: any) =>\r\n (\r\n <>\r\n {props[initProp] ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"autoComplete\":\"SearchHistory_autoComplete__3yPQT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"owner\":\"PropertyTab_owner__19FRH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topSpacing\":\"MultiTab_topSpacing__X5rUy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"maintenanceText\":\"MaintenanceMessage_maintenanceText__fLVZ5\"};","module.exports = __webpack_public_path__ + \"static/media/map.e4b6de2c.png\";","module.exports = __webpack_public_path__ + \"static/media/foreclosure.ae4a4edd.png\";","module.exports = __webpack_public_path__ + \"static/media/surrogate.5fe63666.png\";","module.exports = __webpack_public_path__ + \"static/media/CONDEMNATION.4dc27fa1.png\";","export { default as Login } from './Login/Login';\r\nexport { default as Search } from './Search/Search';\r\nexport { default as Dashboard } from './Dashboard/Dashboard';\r\nexport { default as Pages } from './Pages';\r\nexport { default as Public } from './Public';\r\nexport { default as PropertySearch } from './PropertySearch/PropertySearch';\r\nexport { default as RecentReports } from './RecentReports/RecentReports';\r\nexport { default as TaxMaps } from './TaxMaps/TaxMaps';\r\nexport { default as DepOnline } from './DepOnline/DepOnline';\r\nexport { default as XosImages } from './XosImages/XosImages';\r\nexport { default as Bankruptcy } from './Bankruptcy/Bankruptcy';\r\n//export { default as Documentimages } from './Documentimages/Documentimages';\r\nexport { default as Preacris } from './Preacris/Preacris';\r\nexport { default as License } from './License/License';\r\nexport { default as Services } from './Services/Services';\r\nexport { default as Faq } from './Faq/Faq';\r\nexport { default as UserManual } from './UserManual/UserManual';\r\nexport { default as UserUsageReport } from './UserUsageReport/UserUsageReport';\r\nexport { default as TaxTrax } from './TaxTrax/TaxTrax';\r\nexport { default as routes } from './routes';\r\nexport * from './constants';\r\nexport * from './Pages.types';\r\n\r\n// azure AD components\r\nexport * from './azure-ad-pages/EmployeeSignIn';\r\nexport * from './azure-ad-pages/SignIn';\r\nexport * from './azure-ad-pages/WellsFargoSignIn';\r\n","import {\r\n SET_TAXTRAX_LOADING,\r\n GET_TAXTRAX_STATES_SUCCESS,\r\n TaxTraxState,\r\n TaxTraxTypes,\r\n GET_TAXTRAX_DRIVERS_SUCCESS,\r\n TAXTRAX_RESULT_SUCCESS,\r\n RESET_TAXTRAX_DRIVERS_DATA,\r\n RESET_TAXTRAX_RESULTS,\r\n SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY,\r\n SET_AVAILABLE_MUNICIPALITIES_LOADING,\r\n GET_AVAILABLE_MUNICIPALITIES_SUCCESS,\r\n} from './TaxTrax.types';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n usStates: null,\r\n result: null,\r\n driversData: null,\r\n availableMunicipalities: null,\r\n showAvailableMunicipalitiesModal: false,\r\n availableMunicipalitiesLoading: false,\r\n};\r\n\r\nexport function taxTraxReducer(\r\n state = defaultState,\r\n action: TaxTraxTypes,\r\n): TaxTraxState {\r\n switch (action.type) {\r\n case GET_TAXTRAX_STATES_SUCCESS: {\r\n return {\r\n ...state,\r\n usStates: action.usStates,\r\n loading: false,\r\n };\r\n }\r\n case SET_TAXTRAX_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n case GET_AVAILABLE_MUNICIPALITIES_SUCCESS: {\r\n return {\r\n ...state,\r\n availableMunicipalities: action.availableMunicipalities,\r\n };\r\n }\r\n case SET_AVAILABLE_MUNICIPALITIES_LOADING: {\r\n return {\r\n ...state,\r\n availableMunicipalitiesLoading: action.availableMunicipalitiesLoading,\r\n };\r\n }\r\n case SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY: {\r\n return {\r\n ...state,\r\n showAvailableMunicipalitiesModal:\r\n action.showAvailableMunicipalitiesModal,\r\n };\r\n }\r\n case TAXTRAX_RESULT_SUCCESS: {\r\n return {\r\n ...state,\r\n result: action.result,\r\n loading: false,\r\n };\r\n }\r\n case GET_TAXTRAX_DRIVERS_SUCCESS: {\r\n return {\r\n ...state,\r\n driversData: action.driversData,\r\n loading: false,\r\n };\r\n }\r\n case RESET_TAXTRAX_DRIVERS_DATA: {\r\n return {\r\n ...state,\r\n driversData: null,\r\n };\r\n }\r\n case RESET_TAXTRAX_RESULTS: {\r\n return {\r\n ...state,\r\n result: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n TaxTraxTaxBillsState,\r\n TaxTraxTaxBillsActionTypes,\r\n TAXTRAX_TAX_BILLS_ADD,\r\n TAXTRAX_TAX_BILLS_CLEAR,\r\n TAXTRAX_TAX_BILLS_LOADING,\r\n} from './TaxTraxTaxBills.types';\r\n\r\nconst defaultState: TaxTraxTaxBillsState = {\r\n response: null,\r\n property: null,\r\n loading: false,\r\n};\r\n\r\nexport function taxTraxTaxBillsReducer(\r\n state = defaultState,\r\n action: TaxTraxTaxBillsActionTypes,\r\n): TaxTraxTaxBillsState {\r\n switch (action.type) {\r\n case TAXTRAX_TAX_BILLS_CLEAR: {\r\n return {\r\n ...defaultState,\r\n };\r\n }\r\n case TAXTRAX_TAX_BILLS_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case TAXTRAX_TAX_BILLS_ADD: {\r\n return {\r\n ...state,\r\n response: action.payload.response,\r\n property: action.payload.property,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n SearchByPropertyResult,\r\n SearchByNameResultWithSearchCriteria,\r\n SearchByOtherResult,\r\n} from './models';\r\nimport { SearchByMultiResult } from './models/result/SearchByMultiResult';\r\n\r\nexport interface SearchState {\r\n propertyData: SearchByPropertyResult | null;\r\n nameData: SearchByNameResultWithSearchCriteria | null;\r\n otherData: SearchByOtherResult | null;\r\n multiData: SearchByMultiResult | null;\r\n loading: boolean;\r\n}\r\n\r\nexport const SEARCH_CLEAR = 'SEARCH_CLEAR';\r\nexport const SEARCH_LOADING = 'SEARCH_LOADING';\r\nexport const SEARCH_PROPERTY_ADD = 'SEARCH_PROPERTY_ADD';\r\nexport const SEARCH_NAME_ADD = 'SEARCH_NAME_ADD';\r\nexport const SEARCH_OTHER_ADD = 'SEARCH_OTHER_ADD';\r\nexport const SEARCH_MULTI_ADD = 'SEARCH_MULTI_ADD';\r\nexport const SEARCH_IS_SELECTED_UPDATE = 'SEARCH_IS_SELECTED_UPDATE';\r\nexport const SEARCH_EXPORT_TYPE_UPDATE = 'SEARCH_EXPORT_TYPE_UPDATE';\r\nexport const SEARCH_SHOW_REFERNCES_UPDATE = 'SEARCH_SHOW_REFERNCES_UPDATE';\r\nexport const SEARCH_TOGGLE_SELECT_ALL = 'SEARCH_TOGGLE_SELECT_ALL';\r\n\r\ninterface SearchClearAction {\r\n type: typeof SEARCH_CLEAR;\r\n}\r\n\r\ninterface SearchToggleSelectAllAction {\r\n type: typeof SEARCH_TOGGLE_SELECT_ALL;\r\n payload: any;\r\n}\r\n\r\ninterface SearchLoadingAction {\r\n type: typeof SEARCH_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SearchPropertyAddAction {\r\n type: typeof SEARCH_PROPERTY_ADD;\r\n payload: SearchByPropertyResult;\r\n}\r\n\r\ninterface SearchNameAddAction {\r\n type: typeof SEARCH_NAME_ADD;\r\n payload: SearchByNameResultWithSearchCriteria;\r\n}\r\n\r\ninterface SearchOtherAddAction {\r\n type: typeof SEARCH_OTHER_ADD;\r\n payload: SearchByOtherResult;\r\n}\r\n\r\ninterface SearchMultiAddAction {\r\n type: typeof SEARCH_MULTI_ADD;\r\n payload: SearchByMultiResult;\r\n}\r\n\r\nexport type DocumentTypeName =\r\n | 'recordedDocuments'\r\n | 'liens'\r\n | 'federalTaxLiens'\r\n | 'uniformCommercialCodes'\r\n | 'assessment';\r\n\r\nexport type DataTypeName =\r\n | 'propertyData'\r\n | 'nameData'\r\n | 'otherData'\r\n | 'multiData';\r\n\r\nexport type ResultTypeName =\r\n | 'propertyResult'\r\n | 'nameResult'\r\n | 'otherResult'\r\n | undefined;\r\n\r\nexport interface SearchIsSelectedUpdate {\r\n type: typeof SEARCH_IS_SELECTED_UPDATE;\r\n payload: {\r\n dataTypeName: DataTypeName;\r\n documentType: DocumentTypeName;\r\n guid: string;\r\n isSelected: boolean;\r\n resultItemIndex: number;\r\n resultType: ResultTypeName;\r\n };\r\n}\r\n\r\nexport interface SearchShowReferncesUpdate {\r\n type: typeof SEARCH_SHOW_REFERNCES_UPDATE;\r\n payload: {\r\n dataTypeName: DataTypeName;\r\n documentType: DocumentTypeName;\r\n showReferences: boolean;\r\n resultItemIndex: number;\r\n resultType: ResultTypeName;\r\n };\r\n}\r\n\r\nexport interface SearchExportTypeUpdate {\r\n type: typeof SEARCH_EXPORT_TYPE_UPDATE;\r\n payload: {\r\n dataTypeName: DataTypeName;\r\n documentType: DocumentTypeName;\r\n exportType: string;\r\n resultItemIndex: number;\r\n resultType: ResultTypeName;\r\n };\r\n}\r\n\r\nexport type SearchDataActionTypes =\r\n | SearchClearAction\r\n | SearchLoadingAction\r\n | SearchPropertyAddAction\r\n | SearchNameAddAction\r\n | SearchOtherAddAction\r\n | SearchMultiAddAction\r\n | SearchIsSelectedUpdate\r\n | SearchShowReferncesUpdate\r\n | SearchExportTypeUpdate\r\n | SearchToggleSelectAllAction;\r\n","import { formValueSelector } from 'redux-form';\r\nimport { AppState } from 'store';\r\nimport {\r\n TaxTraxFormPlaceholders,\r\n TAXTRAX_FORM,\r\n EMPTY_VALUE,\r\n SearchTypeFormNames,\r\n} from './TaxTrax.constants';\r\nimport {\r\n AvailableMunicipalities,\r\n GetDriversResult,\r\n TaxTraxResult,\r\n} from './models';\r\nimport { Cities, Counties, USStates, Villages } from 'common/models';\r\n\r\ntype LocationsType = {\r\n name: string;\r\n hobCode: string;\r\n}[];\r\n\r\nexport const usStatesSelector = ({\r\n taxTrax: { usStates },\r\n}: AppState): USStates => usStates;\r\n\r\nexport const showAvailableMunicipalitiesModalSelector = ({\r\n taxTrax: { showAvailableMunicipalitiesModal },\r\n}: AppState): boolean => showAvailableMunicipalitiesModal;\r\n\r\nexport const availalableMunicipalitiesLoadingSelector = ({\r\n taxTrax: { availableMunicipalitiesLoading },\r\n}: AppState): boolean => availableMunicipalitiesLoading;\r\n\r\nexport const availableMunicipalitiesSelector = ({\r\n taxTrax: { availableMunicipalities },\r\n}: AppState): AvailableMunicipalities => availableMunicipalities;\r\n\r\nexport const resultSelector = ({\r\n taxTrax: { result },\r\n}: AppState): TaxTraxResult => result;\r\n\r\nexport const driversSelector = ({\r\n taxTrax: { driversData },\r\n}: AppState): GetDriversResult => driversData;\r\n\r\nexport const taxBillsResponseSelector = ({\r\n taxTraxTaxBills: { response },\r\n}: AppState) => response;\r\n\r\nexport const propertySelector = ({ taxTraxTaxBills: { property } }: AppState) =>\r\n property;\r\n\r\nexport const detailsLoadingSelector = ({\r\n taxTraxTaxBills: { loading },\r\n}: AppState) => loading;\r\n\r\nexport const taxBillRecordSelector = ({\r\n taxTraxTaxBillRecord: { taxBillRecord },\r\n}: AppState) => taxBillRecord;\r\n\r\nexport const taxBillSelector = ({\r\n taxTraxTaxBillRecord: { taxBill },\r\n}: AppState) => taxBill;\r\n\r\nexport const valueSelector = (state: AppState, fieldName: string) =>\r\n formValueSelector(TAXTRAX_FORM)(state, fieldName);\r\n\r\nexport const getCounties = (\r\n usStates: USStates | undefined,\r\n stateHob: string,\r\n) => {\r\n const usState = usStates?.find(({ stateCode }) => stateCode === stateHob);\r\n return usState ? usState.counties : [];\r\n};\r\n\r\nexport const getCities = (counties: Counties | null, countyHob: string) => {\r\n const county = counties?.find(({ hobCode }) => hobCode === countyHob);\r\n return county ? county.cities : [];\r\n};\r\n\r\nexport const getVillages = (cities: Cities | null, cityHob: string) => {\r\n const city = cities?.find(({ hobCode }) => hobCode === cityHob);\r\n return city ? city.villages : [];\r\n};\r\n\r\nconst getPlaceHolder = (text: string) => [\r\n {\r\n value: EMPTY_VALUE,\r\n text,\r\n },\r\n];\r\n\r\nconst getOptions = (locations: LocationsType) =>\r\n locations.map(({ name: text, hobCode: value }) => ({ value, text }));\r\n\r\nconst getStateOptionsArray = (states: USStates) =>\r\n states.map(({ stateCode: text, stateCode: value }) => ({ value, text }));\r\n\r\nexport const getStateOptions = (states: USStates) =>\r\n states?.length > 1\r\n ? [\r\n ...getPlaceHolder(TaxTraxFormPlaceholders.STATE),\r\n ...getStateOptionsArray(states),\r\n ]\r\n : [...getStateOptionsArray(states)];\r\n\r\nexport const getCountyOptions = (counties: Counties) =>\r\n counties?.length > 1\r\n ? [\r\n ...getPlaceHolder(TaxTraxFormPlaceholders.COUNTY),\r\n ...getOptions(counties),\r\n ]\r\n : [...getOptions(counties)];\r\n\r\nexport const getCityOptions = (cities: Cities) => [\r\n ...getPlaceHolder(TaxTraxFormPlaceholders.CITY),\r\n ...getOptions(cities),\r\n];\r\n\r\nexport const getVillageOptions = (villages: Villages) => [\r\n ...getPlaceHolder(TaxTraxFormPlaceholders.VILLAGE),\r\n ...getOptions(villages),\r\n];\r\n\r\nexport const getHobCode = ({ countyHob, cityHob, villageHob }: any) =>\r\n villageHob || cityHob || countyHob || EMPTY_VALUE;\r\n\r\nexport const searchByAddressBody = ({\r\n [SearchTypeFormNames.ADDRESS_SEARCH]: {\r\n streetNumber = EMPTY_VALUE,\r\n streetName = EMPTY_VALUE,\r\n },\r\n hobCodes,\r\n}: any) => {\r\n const hobCode = getHobCode(hobCodes);\r\n return {\r\n streetNumber,\r\n streetName,\r\n hob: hobCode,\r\n };\r\n};\r\n\r\nexport const searchByOwnerBody = ({\r\n [SearchTypeFormNames.OWNER_SEARCH]: {\r\n firstName = EMPTY_VALUE,\r\n lastName = EMPTY_VALUE,\r\n corporationName = EMPTY_VALUE,\r\n },\r\n hobCodes,\r\n}: any) => {\r\n const hobCode = getHobCode(hobCodes);\r\n return {\r\n firstName,\r\n lastName,\r\n corporationName,\r\n hob: hobCode,\r\n };\r\n};\r\n","import { saveAs } from 'file-saver';\r\n\r\nexport const saveFile = (blob: any, name: any) => saveAs(blob, name);\r\n","export const printFile = (blob: Blob) => {\r\n const fileURL = (window.URL ? URL : webkitURL).createObjectURL(blob);\r\n\r\n const popup = window.open(\r\n fileURL,\r\n '_blank',\r\n 'top=150,left=200,width=750,height=480,titlebar=no,location=no,menubar=no,status=no,toolbar=no,resizable=no',\r\n );\r\n if (popup) {\r\n popup.focus();\r\n popup.print();\r\n }\r\n};\r\n","import { detect } from 'detect-browser';\r\nconst browser = detect();\r\nexport const browserName = browser ? browser.name : '';\r\n","import {\r\n AccountInfo,\r\n InteractionRequiredAuthError,\r\n InteractionStatus,\r\n IPublicClientApplication,\r\n} from '@azure/msal-browser';\r\nimport {\r\n employeeSignInAuthority,\r\n getApiAccessRequest,\r\n getApiAccessRequestSilent,\r\n signInAuthority,\r\n wellsFargoSignInAuthority,\r\n} from 'authConfig';\r\nimport { authorizeUser } from 'pages/Login';\r\nimport { Dispatch } from 'redux';\r\n\r\nexport const getAccessToken = (\r\n instance: IPublicClientApplication,\r\n account: AccountInfo | null,\r\n inProgress: InteractionStatus,\r\n) => {\r\n const isPublicUser = localStorage.getItem('ispublicuser') !== 'false';\r\n const isWellsFargoUser = localStorage.getItem('iswellsfargouser') === 'true';\r\n const accessTokenRequestAuthority = isPublicUser\r\n ? isWellsFargoUser\r\n ? wellsFargoSignInAuthority\r\n : signInAuthority\r\n : employeeSignInAuthority;\r\n\r\n return instance\r\n .acquireTokenSilent(\r\n getApiAccessRequestSilent(account, accessTokenRequestAuthority),\r\n )\r\n .catch((error) => {\r\n // in case if silent token acquisition fails, fallback to an interactive method\r\n if (error instanceof InteractionRequiredAuthError) {\r\n if (account && inProgress === InteractionStatus.None) {\r\n instance.acquireTokenRedirect(\r\n getApiAccessRequest(accessTokenRequestAuthority),\r\n );\r\n // returning the callback promise associated with the acquire token redirect method\r\n return instance.handleRedirectPromise();\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const logoutAdUser = (instance: IPublicClientApplication) => {\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('refreshadusersession');\r\n localStorage.removeItem('ispublicuser');\r\n localStorage.removeItem('iswellsfargouser');\r\n instance.logoutRedirect();\r\n};\r\n\r\nexport const invalidUserRedirectWithError = (\r\n instance: IPublicClientApplication,\r\n) => {\r\n logoutAdUser(instance);\r\n};\r\n\r\nexport const refreshAdUserSession = (\r\n instance: IPublicClientApplication,\r\n account: AccountInfo | null,\r\n dispatch: Dispatch,\r\n postAuthorizationAction: (...args: unknown[]) => unknown,\r\n preAuthorizationAction?: (...args: unknown[]) => unknown,\r\n) => {\r\n if (preAuthorizationAction) {\r\n preAuthorizationAction();\r\n }\r\n getAccessToken(instance, account, InteractionStatus.None)\r\n .then((response) => {\r\n if (response?.accessToken)\r\n // if user doesn't exist in our databse, authorize user will throw an error which we catch below\r\n authorizeUser(response?.accessToken, dispatch, instance)\r\n .then(() => {\r\n postAuthorizationAction();\r\n })\r\n .catch(() => {\r\n // failed to authorize user\r\n logoutAdUser(instance);\r\n });\r\n })\r\n .catch(() => {\r\n // failed to retrieve access token\r\n logoutAdUser(instance);\r\n });\r\n};\r\n\r\n// TODO started looking for a way to further refactor and remove boilerplate code for api requests that use the new azure ad access tokens\r\n// however, still now sure if this is worth it if it makes the code less readable. Also, this still doesn't handle access tokens that call multiplle requests\r\n// at once or api requests that accept parameters. Keeping it here in case we decide to try to implement this further\r\n// export const fetchWithAccessToken = (\r\n// dispatch: Dispatch,\r\n// legacyToken: string,\r\n// instance: IPublicClientApplication,\r\n// account: AccountInfo | null,\r\n// inProgress: InteractionStatus,\r\n// apiRequestMethod: Function,\r\n// apiData: any,\r\n// ) => {\r\n// const isPublicUser = getCookie('ispublicuser') !== 'false';\r\n// const accessTokenRequestAuthority = isPublicUser ? signInAuthority : employeeSignInAuthority;\r\n// if (legacyToken && apiData === null) {\r\n// dispatch(apiRequestMethod(legacyToken));\r\n// } else if (account && inProgress === InteractionStatus.None && apiData === null) {\r\n// instance.acquireTokenSilent(getApiAccessRequestSilent(account, accessTokenRequestAuthority)).then((response) => {\r\n// dispatch(apiRequestMethod(response.accessToken));\r\n// }).catch((error) => {\r\n// // in case if silent token acquisition fails, fallback to an interactive method\r\n// if (error instanceof InteractionRequiredAuthError) {\r\n// if (account && inProgress === InteractionStatus.None) {\r\n// instance.acquireTokenPopup(getApiAccessRequest(accessTokenRequestAuthority)).then((response) => {\r\n// dispatch(apiRequestMethod(response.accessToken));\r\n// }).catch(error => console.log(error));\r\n// }\r\n// }\r\n// });\r\n// }\r\n// };\r\n","export const setCookie = (name: string, val: string) => {\r\n const date = new Date();\r\n const value = val;\r\n\r\n // Set it expire in 14 days\r\n date.setTime(date.getTime() + 14 * 24 * 60 * 60 * 1000);\r\n // Set it\r\n document.cookie =\r\n name + '=' + value + '; expires=' + date.toUTCString() + '; path=/';\r\n const div = document.getElementById('ccpa-notice');\r\n if (div != null) {\r\n div.style.display = 'none';\r\n }\r\n};\r\n\r\nexport const getCookie = (cname: string) => {\r\n const name = cname + '=';\r\n const decodedCookie = decodeURIComponent(document.cookie);\r\n const ca = decodedCookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return '';\r\n};\r\n\r\nexport const checkCookie = () => {\r\n //alert(getCookie(\"priv3\"));\r\n if (getCookie('priv3') === 'yes') {\r\n const div = document.getElementById('ccpa-notice');\r\n if (div != null) {\r\n div.style.display = 'none';\r\n // alert(\"cookie!\");\r\n }\r\n }\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"PropertySearch_select__2oijD\",\"row\":\"PropertySearch_row__1w8Rm\",\"button\":\"PropertySearch_button__QETX6\",\"input\":\"PropertySearch_input__2MN9E\",\"noLabel\":\"PropertySearch_noLabel__2zRGL\",\"specialCharacter\":\"PropertySearch_specialCharacter__1fj4k\"};","import {\r\n TaxTraxResult,\r\n GetDriversResult,\r\n AvailableMunicipalities,\r\n} from './models';\r\nimport { Nullable } from 'common';\r\nimport { USStates } from 'common/models';\r\n\r\nexport const GET_TAXTRAX_STATES_SUCCESS = 'GET_TAXTRAX_STATES_SUCCESS';\r\nexport const SET_TAXTRAX_LOADING = 'SET_TAXTRAX_LOADING';\r\nexport const GET_AVAILABLE_MUNICIPALITIES_SUCCESS =\r\n 'GET_AVAILABLE_MUNICIPALITIES_SUCCESS';\r\nexport const SET_AVAILABLE_MUNICIPALITIES_LOADING =\r\n 'SET_AVAILABLE_MUNICIPALITIES_LOADING';\r\nexport const SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY =\r\n 'SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY';\r\nexport const GET_TAXTRAX_DRIVERS_SUCCESS = 'GET_TAXTRAX_DRIVERS_SUCCESS';\r\nexport const RESET_TAXTRAX_DRIVERS_DATA = 'RESET_TAXTRAX_DRIVERS_DATA';\r\nexport const RESET_TAXTRAX_RESULTS = 'RESET_TAXTRAX_RESULTS';\r\nexport const TAXTRAX_RESULT_SUCCESS = 'TAXTRAX_RESULT_SUCCESS';\r\n\r\nexport interface TaxTraxState {\r\n loading: boolean;\r\n usStates: Nullable;\r\n result: Nullable;\r\n driversData: Nullable;\r\n availableMunicipalities: Nullable;\r\n showAvailableMunicipalitiesModal: boolean;\r\n availableMunicipalitiesLoading: boolean;\r\n}\r\n\r\nexport interface SetResultLoadingType {\r\n type: typeof SET_TAXTRAX_LOADING;\r\n loading: boolean;\r\n}\r\n\r\nexport interface SetAvailableMunicipalitiesLoadingType {\r\n type: typeof SET_AVAILABLE_MUNICIPALITIES_LOADING;\r\n availableMunicipalitiesLoading: boolean;\r\n}\r\n\r\nexport interface SetAvailableMunicipalitiesModalType {\r\n type: typeof SET_AVAILABLE_MUNICIPALITIES_MODAL_VISIBILITY;\r\n showAvailableMunicipalitiesModal: boolean;\r\n}\r\n\r\nexport interface GetAvailableMunicipalitiesSuccessType {\r\n type: typeof GET_AVAILABLE_MUNICIPALITIES_SUCCESS;\r\n availableMunicipalities: AvailableMunicipalities;\r\n}\r\n\r\n/* GET_STATES */\r\n\r\nexport interface GetStatesSuccessType {\r\n type: typeof GET_TAXTRAX_STATES_SUCCESS;\r\n usStates: USStates;\r\n}\r\n\r\n/* GET_DRIVERS */\r\n\r\nexport interface GetDriversSuccessType {\r\n type: typeof GET_TAXTRAX_DRIVERS_SUCCESS;\r\n driversData: GetDriversResult;\r\n}\r\n\r\nexport interface SearchResultSuccessType {\r\n type: typeof TAXTRAX_RESULT_SUCCESS;\r\n result: TaxTraxResult;\r\n}\r\n\r\nexport interface ResetDriversDataType {\r\n type: typeof RESET_TAXTRAX_DRIVERS_DATA;\r\n}\r\n\r\nexport interface ResetResultsType {\r\n type: typeof RESET_TAXTRAX_RESULTS;\r\n}\r\n\r\nexport type TaxTraxTypes =\r\n | GetStatesSuccessType\r\n | SetResultLoadingType\r\n | GetAvailableMunicipalitiesSuccessType\r\n | SetAvailableMunicipalitiesLoadingType\r\n | SetAvailableMunicipalitiesModalType\r\n | GetDriversSuccessType\r\n | SearchResultSuccessType\r\n | ResetDriversDataType\r\n | ResetResultsType;\r\n","import {\r\n SET_LOADING,\r\n GET_XOSIMAGE_STATES_SUCCESS,\r\n XosImageState,\r\n XosImageTypes,\r\n XOSIMAGE_RESULT_SUCCESS,\r\n RESET_RESULTS,\r\n} from './XosImage.types';\r\nimport { alphabeticalSort } from 'common/helpers';\r\n\r\nconst defaultState = {\r\n loading: false,\r\n xosImagesStates: null,\r\n result: null,\r\n driversData: null,\r\n};\r\n\r\nexport function xosImageReducer(\r\n state = defaultState,\r\n action: XosImageTypes,\r\n): XosImageState {\r\n console.log(action.type);\r\n switch (action.type) {\r\n case GET_XOSIMAGE_STATES_SUCCESS: {\r\n return {\r\n ...state,\r\n // @ts-ignore:\r\n xosImagesStates: alphabeticalSort(\r\n action.xosImageStates.map((usState) => ({\r\n ...usState,\r\n name: usState.name.toUpperCase(),\r\n counties: alphabeticalSort(usState.counties, 'name'),\r\n })),\r\n 'name',\r\n ),\r\n loading: false,\r\n };\r\n }\r\n case SET_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n };\r\n }\r\n case XOSIMAGE_RESULT_SUCCESS: {\r\n return {\r\n ...state,\r\n result: action.result,\r\n loading: false,\r\n };\r\n }\r\n case RESET_RESULTS: {\r\n return {\r\n ...state,\r\n result: null,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n GetUserUsageReportCustomersSuccessType,\r\n GetUserUsageReportsSuccessType,\r\n GET_USER_USAGE_REPORTS_SUCCESS,\r\n GET_USER_USAGE_REPORT_ACCESS_FLAG_SUCCESS,\r\n GET_USER_USAGE_REPORT_CUSTOMERS_SUCCESS,\r\n USER_USAGE_REPORT_CLEAR,\r\n USER_USAGE_REPORT_LOADING,\r\n} from './UserUsageReport.types';\r\nimport { Dispatch } from 'redux';\r\nimport {\r\n fetchCustomersService,\r\n fetchExcelExportFile,\r\n fetchHasBillingInfoPermissions,\r\n fetchUserUsageReportsService,\r\n} from '.';\r\nimport {\r\n httpError,\r\n json,\r\n showSuccessNotification,\r\n showWarnNotification,\r\n} from 'common';\r\nimport {\r\n CustomerUsageReport,\r\n UserCustomer,\r\n UserUsageReportFormData,\r\n UserUsageReportResult,\r\n} from './models';\r\nimport { blob, saveFile } from 'common/helpers';\r\nimport { loginPagesLoading } from 'pages/Login';\r\nimport { IPublicClientApplication } from '@azure/msal-browser';\r\n\r\nexport const userUsageReportClear = () => {\r\n return {\r\n type: USER_USAGE_REPORT_CLEAR,\r\n };\r\n};\r\n\r\nexport const getUserUsageReportAccessFlag =\r\n (bearerToken: string, instance?: IPublicClientApplication) =>\r\n (dispatch: Dispatch) => {\r\n dispatch(setUserUsageReportLoading(true));\r\n dispatch(loginPagesLoading(true));\r\n fetchHasBillingInfoPermissions(bearerToken)\r\n .then(httpError(dispatch, instance))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n dispatch(getUserUsageReportAccessFlagSuccess(response));\r\n dispatch(setUserUsageReportLoading(false));\r\n dispatch(loginPagesLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setUserUsageReportLoading(false));\r\n showWarnNotification(`Usage Report Access Flag`, error.message);\r\n });\r\n };\r\n\r\nexport const getUserUsageReportAccessFlagSuccess = (accessFlag: boolean) => {\r\n return {\r\n type: GET_USER_USAGE_REPORT_ACCESS_FLAG_SUCCESS,\r\n accessFlag,\r\n };\r\n};\r\n\r\nexport const getCustomers = (bearerToken: string) => (dispatch: Dispatch) => {\r\n dispatch(setUserUsageReportLoading(true));\r\n fetchCustomersService(bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) {\r\n throw Error(response.errorMessage);\r\n }\r\n dispatch(getCustomersSuccess(response));\r\n dispatch(setUserUsageReportLoading(false));\r\n })\r\n .catch((error) => {\r\n dispatch(setUserUsageReportLoading(false));\r\n showWarnNotification(`Customers`, error.message);\r\n });\r\n};\r\n\r\nconst getCustomersSuccess = (\r\n customers: UserCustomer[],\r\n): GetUserUsageReportCustomersSuccessType => {\r\n return {\r\n type: GET_USER_USAGE_REPORT_CUSTOMERS_SUCCESS,\r\n customers,\r\n };\r\n};\r\n\r\nexport const getUserUsageReportsByCustomer = (\r\n params: UserUsageReportFormData,\r\n bearerToken: string,\r\n) => {\r\n const searchRequest: any = {\r\n customerCode: params?.customer ?? '',\r\n from: params?.from,\r\n to: params?.to,\r\n };\r\n\r\n return (dispatch: Dispatch) => {\r\n dispatch(setUserUsageReportLoading(true));\r\n fetchUserUsageReportsService(searchRequest, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(json)\r\n .then((response) => {\r\n if (response.errorMessage) throw Error(response.errorMessage);\r\n return response;\r\n })\r\n .then((result: UserUsageReportResult) => {\r\n dispatch(getUserUsageReportsSuccess(result));\r\n })\r\n .catch((error) => {\r\n dispatch(setUserUsageReportLoading(false));\r\n showWarnNotification(`User Usage Reports`, error.message);\r\n });\r\n };\r\n};\r\n\r\nexport const setUserUsageReportLoading = (loading: boolean) => {\r\n return {\r\n type: USER_USAGE_REPORT_LOADING,\r\n payload: loading,\r\n };\r\n};\r\n\r\nconst getUserUsageReportsSuccess = (\r\n result: UserUsageReportResult,\r\n): GetUserUsageReportsSuccessType => {\r\n return {\r\n type: GET_USER_USAGE_REPORTS_SUCCESS,\r\n result,\r\n };\r\n};\r\n\r\nexport const exportReportsToExcel = (\r\n reports: CustomerUsageReport[],\r\n searchCriteria: string,\r\n bearerToken: string,\r\n) => {\r\n return (dispatch: Dispatch) => {\r\n const searchRequest: UserUsageReportResult = {\r\n reports: reports,\r\n searchCriteria: searchCriteria,\r\n };\r\n\r\n dispatch(setUserUsageReportLoading(true));\r\n fetchExcelExportFile(searchRequest, bearerToken)\r\n .then(httpError(dispatch))\r\n .then(blob)\r\n .then((blob) => {\r\n dispatch(setUserUsageReportLoading(false));\r\n saveFile(blob, `Report.xlsx`);\r\n showSuccessNotification(`Fetch file`, `File was exported`);\r\n })\r\n .catch((error) => {\r\n dispatch(setUserUsageReportLoading(false));\r\n showWarnNotification(`Fetch file`, error.message);\r\n });\r\n };\r\n};\r\n","import { Nullable } from 'common';\r\nimport {\r\n CustomerUsageReport,\r\n UserCustomer,\r\n UserUsageReportResult,\r\n} from './models';\r\n\r\nexport interface UserUsageReportState {\r\n customers: Nullable;\r\n reports: Nullable;\r\n searchCriteria: string;\r\n loading: boolean;\r\n accessFlag: Nullable;\r\n}\r\n\r\nexport const USER_USAGE_REPORT_CLEAR = 'USER_USAGE_REPORT_CLEAR';\r\nexport const USER_USAGE_REPORT_LOADING = 'USER_USAGE_REPORT_LOADING';\r\nexport const GET_USER_USAGE_REPORT_CUSTOMERS_SUCCESS =\r\n 'GET_USER_USAGE_REPORT_CUSTOMERS_SUCCESS';\r\nexport const GET_USER_USAGE_REPORTS_SUCCESS = 'GET_USER_USAGE_REPORTS_SUCCESS';\r\nexport const GET_USER_USAGE_REPORT_ACCESS_FLAG_SUCCESS =\r\n 'GET_USER_USAGE_REPORT_ACCESS_FLAG_SUCCESS';\r\n\r\ninterface UserUsageReportClearAction {\r\n type: typeof USER_USAGE_REPORT_CLEAR;\r\n}\r\n\r\ninterface UserUsageReportLoadingAction {\r\n type: typeof USER_USAGE_REPORT_LOADING;\r\n payload: boolean;\r\n}\r\n\r\nexport interface GetUserUsageReportCustomersSuccessType {\r\n type: typeof GET_USER_USAGE_REPORT_CUSTOMERS_SUCCESS;\r\n customers: UserCustomer[];\r\n}\r\n\r\nexport interface GetUserUsageReportsSuccessType {\r\n type: typeof GET_USER_USAGE_REPORTS_SUCCESS;\r\n result: UserUsageReportResult;\r\n}\r\n\r\nexport interface GetUserUsageReportAccessFlagSuccessType {\r\n type: typeof GET_USER_USAGE_REPORT_ACCESS_FLAG_SUCCESS;\r\n accessFlag: boolean;\r\n}\r\n\r\nexport type UserUsageReportDataActionTypes =\r\n | UserUsageReportClearAction\r\n | UserUsageReportLoadingAction\r\n | GetUserUsageReportCustomersSuccessType\r\n | GetUserUsageReportsSuccessType\r\n | GetUserUsageReportAccessFlagSuccessType;\r\n","import { Nullable } from 'common';\r\nimport { formValueSelector } from 'redux-form';\r\nimport { AppState } from 'store';\r\nimport { UserCustomer } from './models';\r\nimport { USER_USAGE_REPORT_FORM } from './UserUsageReport.constants';\r\n\r\nexport const userUsageReportAccessFlagSelector = ({\r\n userUsageReport: { accessFlag },\r\n}: AppState): Nullable => accessFlag;\r\n\r\nexport const customersSelector = ({\r\n userUsageReport: { customers },\r\n}: AppState): Nullable => customers;\r\n\r\nexport const valueSelector = (state: AppState, fieldName: string) =>\r\n formValueSelector(USER_USAGE_REPORT_FORM)(state, fieldName);\r\n","import {\r\n UserUsageReportState,\r\n UserUsageReportDataActionTypes,\r\n USER_USAGE_REPORT_LOADING,\r\n USER_USAGE_REPORT_CLEAR,\r\n GET_USER_USAGE_REPORT_CUSTOMERS_SUCCESS,\r\n GET_USER_USAGE_REPORTS_SUCCESS,\r\n GET_USER_USAGE_REPORT_ACCESS_FLAG_SUCCESS,\r\n} from './UserUsageReport.types';\r\n\r\nconst defaultState: UserUsageReportState = {\r\n customers: null,\r\n reports: null,\r\n searchCriteria: '',\r\n loading: false,\r\n accessFlag: null,\r\n};\r\n\r\nexport function userUsageReportReducer(\r\n state = defaultState,\r\n action: UserUsageReportDataActionTypes,\r\n): UserUsageReportState {\r\n switch (action.type) {\r\n case USER_USAGE_REPORT_CLEAR: {\r\n return {\r\n ...defaultState,\r\n customers: state.customers,\r\n accessFlag: state.accessFlag,\r\n };\r\n }\r\n case USER_USAGE_REPORT_LOADING: {\r\n return {\r\n ...state,\r\n loading: action.payload,\r\n };\r\n }\r\n case GET_USER_USAGE_REPORT_CUSTOMERS_SUCCESS: {\r\n return {\r\n ...state,\r\n customers: action.customers,\r\n loading: false,\r\n };\r\n }\r\n case GET_USER_USAGE_REPORTS_SUCCESS: {\r\n return {\r\n ...state,\r\n reports: action.result.reports,\r\n searchCriteria: action.result.searchCriteria,\r\n loading: false,\r\n };\r\n }\r\n case GET_USER_USAGE_REPORT_ACCESS_FLAG_SUCCESS: {\r\n return {\r\n ...state,\r\n accessFlag: action.accessFlag,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { fetchPost, fetchGet } from 'common';\r\n\r\nconst apiUri: string = process.env.REACT_APP_API_URI as string;\r\n\r\nexport const fetchCustomersService = (bearerToken: string) => {\r\n // TODO ?expires=Date.Now() is to prevent caching of the API result in IE11 which leads to unwanted behavior. There might be a better way to handle this.\r\n const customersTask = fetchGet(\r\n `${apiUri}/userusagereport/customers?expires=${Date.now()}`,\r\n bearerToken,\r\n );\r\n\r\n return customersTask;\r\n};\r\n\r\nexport const fetchUserUsageReportsService = (\r\n searchRequest: any,\r\n bearerToken: string,\r\n) => {\r\n const userUsageReportsTask = fetchPost(\r\n `${apiUri}/userusagereport/reports`,\r\n searchRequest,\r\n bearerToken,\r\n );\r\n\r\n return userUsageReportsTask;\r\n};\r\n\r\nexport const fetchHasBillingInfoPermissions = (bearerToken: string) => {\r\n // TODO ?expires=Date.Now() is to prevent caching of the API result in IE11 which leads to unwanted behavior. There might be a better way to handle this.\r\n const hasBillingInfoPermissions = fetchGet(\r\n `${apiUri}/userusagereport/haspermissions?expires=${Date.now()}`,\r\n bearerToken,\r\n );\r\n\r\n return hasBillingInfoPermissions;\r\n};\r\n\r\nexport const fetchExcelExportFile = (\r\n searchRequest: any,\r\n bearerToken: string,\r\n) => {\r\n const getExcelExportFile = fetchPost(\r\n `${apiUri}/userusagereport/export`,\r\n searchRequest,\r\n bearerToken,\r\n );\r\n\r\n return getExcelExportFile;\r\n};\r\n","import { formValueSelector } from 'redux-form';\r\nimport { AppState } from 'store';\r\nimport {\r\n PropertyFormPlaceholders,\r\n PROPERTY_SEARCH_FORM,\r\n EMPTY_VALUE,\r\n SearchTypeFormNames,\r\n} from './PropertySearch.constants';\r\nimport { GetDriversResult, PropertySearchResult } from './models';\r\nimport { Cities, Counties, USState } from 'common/models';\r\n\r\ntype LocationsType = {\r\n name: string;\r\n hobCode: string;\r\n}[];\r\n\r\nexport const usStateSelector = ({\r\n propertySearch: { usState },\r\n}: AppState): USState => usState;\r\n\r\nexport const resultSelector = ({\r\n propertySearch: { result },\r\n}: AppState): PropertySearchResult => result;\r\n\r\nexport const driversSelector = ({\r\n propertySearch: { driversData },\r\n}: AppState): GetDriversResult => driversData;\r\n\r\nexport const detailsSelector = ({\r\n propertySearchDetails: { details },\r\n}: AppState) => details;\r\n\r\nexport const detailsLoadingSelector = ({\r\n propertySearchDetails: { loading },\r\n}: AppState) => loading;\r\n\r\nexport const valueSelector = (state: AppState, fieldName: string) =>\r\n formValueSelector(PROPERTY_SEARCH_FORM)(state, fieldName);\r\n\r\nexport const getCities = (counties: Counties, countyHob: string) => {\r\n const county = counties.find(({ hobCode }) => hobCode === countyHob);\r\n return county ? county.cities : null;\r\n};\r\n\r\nconst getPlaceHolder = (text: string) => [\r\n {\r\n value: EMPTY_VALUE,\r\n text,\r\n },\r\n];\r\n\r\nconst getOptions = (locations: LocationsType) =>\r\n locations.map(({ name: text, hobCode: value }) => ({ value, text }));\r\n\r\nexport const getCountyOptions = (counties: Counties) => [\r\n ...getPlaceHolder(PropertyFormPlaceholders.COUNTY),\r\n ...getOptions(counties),\r\n];\r\n\r\nexport const getCityOptions = (counties: Counties, countyHob: string) => {\r\n const placeHolder = getPlaceHolder(PropertyFormPlaceholders.CITY);\r\n if (counties && counties.length && countyHob) {\r\n const county = counties.find(({ hobCode }) => hobCode === countyHob);\r\n return county && county.cities.length\r\n ? [...placeHolder, ...getOptions(county.cities)]\r\n : placeHolder;\r\n }\r\n return placeHolder;\r\n};\r\n\r\nexport const getVillageOptions = (cities: Cities | null, cityHob: string) => {\r\n const placeHolder = getPlaceHolder(PropertyFormPlaceholders.VILLAGE);\r\n if (cities && cities.length && cityHob) {\r\n const city = cities.find(({ hobCode }) => hobCode === cityHob);\r\n return city && city.villages.length\r\n ? [...placeHolder, ...getOptions(city.villages)]\r\n : placeHolder;\r\n }\r\n return placeHolder;\r\n};\r\n\r\nexport const getHobCode = ({ countyHob, cityHob, villageHob }: any) =>\r\n villageHob || cityHob || countyHob || EMPTY_VALUE;\r\n\r\nexport const searchByAddressBody = ({\r\n [SearchTypeFormNames.ADDRES_SEARCH]: {\r\n streetNumber = EMPTY_VALUE,\r\n streetName = EMPTY_VALUE,\r\n },\r\n hobCodes,\r\n}: any) => {\r\n const hobCode = getHobCode(hobCodes);\r\n return {\r\n streetNumber,\r\n streetName,\r\n hob: hobCode,\r\n };\r\n};\r\n\r\nexport const searchByOwnerBody = ({\r\n [SearchTypeFormNames.OWNER_SEARCH]: {\r\n firstName = EMPTY_VALUE,\r\n lastName = EMPTY_VALUE,\r\n corporationName = EMPTY_VALUE,\r\n },\r\n hobCodes,\r\n}: any) => {\r\n const hobCode = getHobCode(hobCodes);\r\n return {\r\n firstName,\r\n lastName,\r\n corporationName,\r\n hob: hobCode,\r\n };\r\n};\r\n","import React from 'react';\r\nimport { Lien } from 'pages/Search/models';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { createSelector } from 'reselect';\r\nimport {\r\n Button,\r\n Descriptions,\r\n Typography,\r\n Row,\r\n Tooltip,\r\n Checkbox,\r\n Divider,\r\n} from 'antd';\r\nimport {\r\n AttributeValuePair,\r\n formatDate,\r\n tabSelector,\r\n getDataTypeName,\r\n} from 'common';\r\nimport {\r\n searchDetailsAdd,\r\n searchIsSelectedUpdate,\r\n isSelectedSelector,\r\n} from 'pages/Search';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst { Text } = Typography;\r\n\r\nconst selector = createSelector(\r\n tabSelector,\r\n isSelectedSelector,\r\n (tabName, getIsSelected) => ({\r\n tabName,\r\n getIsSelected,\r\n }),\r\n);\r\n\r\nconst LiensListItem: React.FC<{\r\n searchId: number;\r\n lien: Lien;\r\n index: number;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({ index, lien, resultType, resultItemIndex }) => {\r\n const {\r\n remarks,\r\n indexNumber,\r\n controlNumber,\r\n debtor,\r\n creditor,\r\n docType,\r\n docketDate,\r\n block,\r\n attorney,\r\n lot,\r\n amount,\r\n guid,\r\n controlDate,\r\n satisfaction,\r\n county,\r\n documentType,\r\n } = lien;\r\n const dispatch = useDispatch();\r\n const { tabName, getIsSelected } = useSelector(selector);\r\n\r\n const onChange = ({ target: { checked } }: any) => {\r\n dispatch(\r\n searchIsSelectedUpdate(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n checked,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n };\r\n\r\n const isSelected = React.useMemo(() => {\r\n return getIsSelected(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n }, [documentType, getIsSelected, guid, resultItemIndex, resultType, tabName]);\r\n\r\n return (\r\n \r\n \r\n #{index + 1} \r\n \r\n \r\n \r\n \r\n dispatch(searchDetailsAdd(lien))}\r\n >\r\n Details\r\n \r\n \r\n }\r\n column={5}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {remarks && !!remarks.length ? (\r\n remarks.map((item, index) => (\r\n \r\n \r\n
    \r\n
    \r\n ))\r\n ) : (\r\n Remarks: N\r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(LiensListItem);\r\n","import React from 'react';\r\nimport { Date } from 'common';\r\n\r\nconst OptionalLienParameters: React.FC<{\r\n from?: Date;\r\n to?: Date;\r\n bookTypeText?: string;\r\n}> = ({ from, to, bookTypeText }) => {\r\n const getDateDisplay = (date: Date | undefined, displayText: string) => {\r\n if (from || to) {\r\n return date ? (\r\n <>\r\n {' '}\r\n {displayText} {date}\r\n \r\n ) : (\r\n <> {displayText} Not Entered\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {getDateDisplay(from, 'from')}\r\n {getDateDisplay(to, 'to')}\r\n {bookTypeText && <> for {bookTypeText} Book Type}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(OptionalLienParameters);\r\n","import React from 'react';\r\nimport { Lien, Liens } from 'pages/Search/models';\r\nimport { createSelector } from 'reselect';\r\nimport LiensListItem from '../LiensListItem/LiensListItem';\r\nimport { Empty, Row, Col, Radio, Tooltip } from 'antd';\r\nimport { BasicTable, getDataTypeName, tabSelector } from 'common';\r\nimport { TableHeader } from '..';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { searchExportTypeUpdate, exportTypeSelector } from 'pages/Search';\r\nimport RadioGroup from 'antd/lib/radio/group';\r\nimport OptionalLienParameters from '../OptionalLienParameters/OptionalLienParameters';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst selector = createSelector(\r\n exportTypeSelector,\r\n tabSelector,\r\n (getExportType, tabName) => ({\r\n getExportType,\r\n tabName,\r\n }),\r\n);\r\n\r\nconst LiensList: React.FC<{\r\n searchId: number;\r\n liens: Liens;\r\n groupName: string;\r\n compName: string;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({\r\n searchId,\r\n groupName,\r\n compName,\r\n liens: { header, items, from, to, bookTypeText },\r\n resultType,\r\n resultItemIndex,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { getExportType, tabName } = useSelector(selector);\r\n\r\n const exportType = React.useMemo(() => {\r\n // @ts-ignore:\r\n return getExportType(\r\n getDataTypeName(tabName),\r\n // @ts-ignore:\r\n compName,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n }, [compName, getExportType, resultItemIndex, tabName, resultType]);\r\n\r\n const exportTypeHandler = React.useCallback(\r\n ({ target: { value } }: any) => {\r\n dispatch(\r\n searchExportTypeUpdate(\r\n getDataTypeName(tabName),\r\n // @ts-ignore:\r\n compName,\r\n value,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n },\r\n [compName, dispatch, groupName, tabName, resultType],\r\n );\r\n\r\n return !!items.length ? (\r\n <>\r\n \r\n \r\n \r\n \r\n Export Type:\r\n \r\n \r\n Summary\r\n Details\r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {`No Liens Found (${header})`}\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(LiensList);\r\n","import React from 'react';\r\nimport {\r\n ParkingViolationJudgments as ParkingViolationJudgmentsModel,\r\n ParkingViolationJudgment,\r\n} from 'pages/Search/models';\r\nimport { Table, Empty, Tooltip, Checkbox, Row } from 'antd';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { searchIsSelectedUpdate, isSelectedSelector } from 'pages/Search';\r\nimport { TableHeader } from '..';\r\nimport {\r\n CommonTable,\r\n formatPriceString,\r\n AttributeValuePair,\r\n getDataTypeName,\r\n tabSelector,\r\n} from 'common';\r\nimport { createSelector } from 'reselect';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst { Column } = Table;\r\n\r\nconst selector = createSelector(\r\n tabSelector,\r\n isSelectedSelector,\r\n (tabName, getIsSelected) => ({\r\n tabName,\r\n getIsSelected,\r\n }),\r\n);\r\n\r\nconst ParkingViolationJudgments: React.FC<{\r\n judgments: ParkingViolationJudgmentsModel;\r\n groupName: string;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({\r\n groupName,\r\n judgments: { header, items, loadDate },\r\n resultType,\r\n resultItemIndex,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n const { tabName, getIsSelected } = useSelector(selector);\r\n\r\n const onChange = (checked: boolean, { documentType, guid }: any) => {\r\n dispatch(\r\n searchIsSelectedUpdate(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n checked,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n };\r\n\r\n const isSelected = React.useCallback(\r\n (record: any) => {\r\n return getIsSelected(\r\n getDataTypeName(tabName),\r\n record.documentType,\r\n record.guid,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n },\r\n [getIsSelected, resultItemIndex, resultType, tabName],\r\n );\r\n\r\n return !!items.length ? (\r\n <>\r\n \r\n \r\n (\r\n \r\n onChange(e.target.checked, record)}\r\n // @ts-ignore:\r\n checked={isSelected(record)}\r\n defaultChecked={true}\r\n />\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\r\n return formatPriceString(parseFloat(text));\r\n }}\r\n />\r\n {\r\n return formatPriceString(parseFloat(text));\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ParkingViolationJudgments;\r\n","import React from 'react';\r\nimport { RecordedDocument } from 'pages/Search/models';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport {\r\n Button,\r\n Descriptions,\r\n Row,\r\n Typography,\r\n Tooltip,\r\n Divider,\r\n Checkbox,\r\n} from 'antd';\r\nimport {\r\n AttributeValuePair,\r\n loginSelector,\r\n tabSelector,\r\n getDataTypeName,\r\n} from 'common';\r\nimport {\r\n searchDetailsAdd,\r\n fetchDetailsAsync,\r\n fetchExternalDetailsAsync,\r\n searchIsSelectedUpdate,\r\n isSelectedSelector,\r\n} from 'pages/Search';\r\nimport { RecordedDocumentReferences } from '..';\r\nimport { createSelector } from 'reselect';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\nimport { getAccessToken } from 'common/helpers';\r\n\r\nconst { Text } = Typography;\r\n\r\nconst selector = createSelector(\r\n loginSelector,\r\n tabSelector,\r\n isSelectedSelector,\r\n (login, tabName, getIsSelected) => ({\r\n login,\r\n tabName,\r\n getIsSelected,\r\n }),\r\n);\r\n\r\nconst DocumentsListItem: React.FC<{\r\n document: RecordedDocument;\r\n index: number;\r\n showReferences?: boolean;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({ document, index, showReferences, resultType, resultItemIndex }) => {\r\n const {\r\n documentType,\r\n firstSideOfTransaction,\r\n secondSideOfTransaction,\r\n guid,\r\n remarks,\r\n documentsIds,\r\n documentID,\r\n boro,\r\n reelFileNumber,\r\n amount,\r\n instr,\r\n dated,\r\n pageOFileNumber,\r\n crfn,\r\n dateRec,\r\n documentTypeDetails,\r\n documentReferences,\r\n } = document;\r\n const dispatch = useDispatch();\r\n const { tabName, getIsSelected } = useSelector(selector);\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n let { firstSideOfTransactionHeaderName, secondSideOfTransactionHeaderName } =\r\n documentTypeDetails;\r\n\r\n firstSideOfTransactionHeaderName = firstSideOfTransactionHeaderName\r\n ? firstSideOfTransactionHeaderName\r\n : 'Party 1 Names';\r\n secondSideOfTransactionHeaderName = secondSideOfTransactionHeaderName\r\n ? secondSideOfTransactionHeaderName\r\n : 'Party 2 Names';\r\n\r\n const onChange = ({ target: { checked } }: any) => {\r\n dispatch(\r\n searchIsSelectedUpdate(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n checked,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n };\r\n\r\n const fetchDetails = () => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n fetchDetailsAsync(\r\n documentType,\r\n boro,\r\n documentID,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n };\r\n\r\n const fetchExternalDetails = () => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n fetchExternalDetailsAsync(documentsIds, response.accessToken),\r\n );\r\n });\r\n }\r\n };\r\n\r\n const isSelected = React.useMemo(() => {\r\n return getIsSelected(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n }, [documentType, getIsSelected, guid, resultItemIndex, resultType, tabName]);\r\n\r\n const boroConvert = (boro: number): string => {\r\n switch (boro) {\r\n case 1:\r\n return 'New York';\r\n case 2:\r\n return 'Bronx';\r\n case 3:\r\n return 'Kings';\r\n case 4:\r\n return 'Queens';\r\n case 5:\r\n return 'Richmond';\r\n default:\r\n return 'ERROR';\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n #{index + 1} \r\n \r\n \r\n \r\n   Instrument: {instr}\r\n \r\n {\r\n documentType === 'federalTaxLiens'\r\n ? dispatch(searchDetailsAdd(document))\r\n : fetchDetails();\r\n }}\r\n >\r\n Details\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n\r\n {documentType === 'recordedDocuments' && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {(documentType === 'uniformCommercialCodes' ||\r\n documentType === 'federalTaxLiens') && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {firstSideOfTransaction.map((item, index) => {\r\n return (\r\n \r\n {index === 0 ? (\r\n \r\n ) : (\r\n item.name\r\n )}\r\n {(documentType === 'uniformCommercialCodes' ||\r\n documentType === 'federalTaxLiens') && (\r\n <>\r\n
    \r\n {`${item.address}`}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n {secondSideOfTransaction.map((item, index) => {\r\n return (\r\n \r\n {index === 0 ? (\r\n \r\n ) : (\r\n item.name\r\n )}\r\n {(documentType === 'uniformCommercialCodes' ||\r\n documentType === 'federalTaxLiens') && (\r\n <>\r\n
    \r\n {`${item.address}`}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n {documentsIds && documentsIds.length < 1 ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {`Document ID:`} \r\n \r\n {\r\n fetchExternalDetails();\r\n }}\r\n >\r\n {documentID}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {documentType === 'uniformCommercialCodes' ||\r\n documentType === 'federalTaxLiens' ? (\r\n \r\n \r\n \r\n ) : (\r\n amount > 0 && (\r\n \r\n \r\n \r\n )\r\n )}\r\n\r\n {documentType === 'recordedDocuments' && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {`Remarks:`} \r\n {remarks && remarks.length > 0 ? (\r\n remarks.map((item, index) => (\r\n \r\n {item.remarkText}\r\n
    \r\n
    \r\n ))\r\n ) : (\r\n N\r\n )}\r\n
    \r\n {showReferences && documentReferences && documentReferences.length > 0 && (\r\n \r\n \r\n {`DOC References:`} \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(DocumentsListItem);\r\n","import React from 'react';\r\nimport { createSelector } from 'reselect';\r\nimport { RecordedDocument, RecordedDocuments } from 'pages/Search/models';\r\nimport DocumentsListItem from '../DocumentsListItem/DocumentsListItem';\r\nimport { Empty, Row, Col, Radio, Tooltip } from 'antd';\r\nimport { BasicTable, tabSelector, getDataTypeName } from 'common';\r\nimport { TableHeader } from '../';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport {\r\n searchShowReferncesUpdate,\r\n showReferencesSelector,\r\n} from 'pages/Search';\r\nimport { AppState } from 'store';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst RadioGroup = Radio.Group;\r\n\r\nconst selector = createSelector(\r\n showReferencesSelector,\r\n tabSelector,\r\n (state: AppState) =>\r\n state.search.nameData && state.search.nameData.searchCriteria,\r\n (getShowReferences, tabName, searchCriteria) => ({\r\n getShowReferences,\r\n tabName,\r\n searchCriteria,\r\n }),\r\n);\r\n\r\nconst DocumentsList: React.FC<{\r\n documents: RecordedDocuments;\r\n groupName: string;\r\n compName?: string;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({ documents, groupName, compName = '', resultType, resultItemIndex }) => {\r\n const { getShowReferences, tabName, searchCriteria } = useSelector(selector);\r\n const { header, items } = documents;\r\n const dispatch = useDispatch();\r\n\r\n const showReferences = React.useMemo(() => {\r\n // @ts-ignore:\r\n return getShowReferences(\r\n getDataTypeName(tabName),\r\n // @ts-ignore:\r\n compName,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n }, [compName, getShowReferences, resultItemIndex, tabName, resultType]);\r\n\r\n const showReferencesHandler = React.useCallback(\r\n ({ target: { value } }: any) => {\r\n dispatch(\r\n searchShowReferncesUpdate(\r\n getDataTypeName(tabName),\r\n // @ts-ignore:\r\n compName,\r\n value,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n },\r\n [compName, dispatch, groupName, tabName],\r\n );\r\n\r\n const emptyDescription = React.useMemo(() => {\r\n const noDocsFound = `No Documents Found (${header})`;\r\n const isRichmondSearch = searchCriteria?.includes('Richmond County');\r\n\r\n if (!items?.length && isRichmondSearch && header) {\r\n switch (true) {\r\n case header.startsWith('FTLs:'): {\r\n return 'FTLs IN RICHMOND COUNTY ARE FOUND WITHIN THE JUDGMENT AND LIEN SEARCH!';\r\n }\r\n case header.startsWith('UCCs'): {\r\n return 'UCCs FOR RICHMOND COUNTY ARE NOT AVAILABLE!';\r\n }\r\n default:\r\n return noDocsFound;\r\n }\r\n }\r\n return noDocsFound;\r\n }, [header, items, searchCriteria]);\r\n\r\n //const isRichmondSearch = searchCriteria?.includes('Richmond County');\r\n\r\n return items?.length ? (\r\n <>\r\n \r\n \r\n \r\n \r\n Show References:\r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(DocumentsList);\r\n","import React from 'react';\r\nimport { Assessment } from 'pages/Search/models';\r\nimport {\r\n Row,\r\n Col,\r\n Divider,\r\n Tooltip,\r\n Checkbox,\r\n Descriptions,\r\n Empty,\r\n} from 'antd';\r\nimport {\r\n formatPriceString,\r\n tabSelector,\r\n getDataTypeName,\r\n formatSize,\r\n} from 'common';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { searchIsSelectedUpdate } from 'pages/Search';\r\n\r\nconst Assesments: React.FC<{\r\n assessment: Assessment;\r\n searchCriteria: string;\r\n resultItemIndex: number;\r\n}> = ({\r\n assessment,\r\n assessment: { guid, documentType },\r\n searchCriteria,\r\n resultItemIndex,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const tabName = useSelector(tabSelector);\r\n const { transitionalValues, actualValues, marketValue, hasValues } =\r\n assessment;\r\n\r\n const onChange = ({ target: { checked } }: any) => {\r\n dispatch(\r\n searchIsSelectedUpdate(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n checked,\r\n resultItemIndex,\r\n ),\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {hasValues ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {assessment.propertyInformation.county}\r\n \r\n \r\n {assessment.propertyInformation.sec}\r\n \r\n \r\n {assessment.propertyInformation.vol}\r\n \r\n \r\n {parseInt(assessment.propertyInformation.block)}\r\n \r\n \r\n {parseInt(assessment.propertyInformation.lot)}\r\n \r\n \r\n {assessment.propertyInformation.easement}\r\n \r\n\r\n \r\n {assessment.propertyInformation.address}\r\n \r\n \r\n {assessment.propertyInformation.owner}\r\n \r\n \r\n {assessment.propertyInformation.apartmentNumber}\r\n \r\n \r\n {assessment.propertyInformation.attorneyGroup}\r\n \r\n \r\n {assessment.propertyInformation.exemptions}\r\n \r\n \r\n {assessment.propertyInformation.zoning}\r\n \r\n \r\n {assessment.propertyInformation.reuc}\r\n \r\n \r\n {assessment.propertyInformation.taxClass}\r\n \r\n \r\n \r\n \r\n {assessment.buildingInformation.buildingClass}\r\n \r\n \r\n {assessment.buildingInformation.gar}\r\n \r\n \r\n {assessment.buildingInformation.yearBuilt}\r\n \r\n \r\n {assessment.buildingInformation.coopApts}\r\n \r\n \r\n {assessment.buildingInformation.stories}\r\n \r\n \r\n {assessment.buildingInformation.buildings}\r\n \r\n \r\n {assessment.buildingInformation.totalUnits}\r\n \r\n \r\n {assessment.buildingInformation.lotFrontage}\r\n \r\n \r\n {assessment.buildingInformation.lotDepth}\r\n \r\n \r\n {assessment.buildingInformation.apartmentNumber}\r\n \r\n \r\n {assessment.buildingInformation.buildingFrontage}\r\n \r\n \r\n {assessment.buildingInformation.buildingDepth}\r\n \r\n \r\n {assessment.buildingInformation.condoNumber}\r\n \r\n \r\n {assessment.buildingInformation.cornerStatus}\r\n \r\n \r\n {assessment.buildingInformation.irregular}\r\n \r\n \r\n {formatPriceString(marketValue)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {formatSize(transitionalValues.assessedLand)}\r\n \r\n \r\n {formatSize(transitionalValues.assessedTotal)}\r\n \r\n \r\n {formatSize(transitionalValues.exemptLand)}\r\n \r\n \r\n {formatSize(transitionalValues.exemptTotal)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {formatSize(actualValues.assessedLand)}\r\n \r\n \r\n {formatSize(actualValues.assessedTotal)}\r\n \r\n \r\n {formatSize(actualValues.exemptLand)}\r\n \r\n \r\n {formatSize(actualValues.exemptTotal)}\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Assesments);\r\n","import React from 'react';\r\nimport { SearchByPropertyResultItem } from 'pages/Search/models';\r\nimport LiensList from '../LiensList/LiensList';\r\nimport DocumentsList from '../DocumentsList/DocumentsList';\r\nimport Assesments from '../Assesment/Assesments';\r\nimport { Tabs, Badge } from 'antd';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\nconst SearchByPropertyResultTabs: React.FC<{\r\n result: SearchByPropertyResultItem | null;\r\n searchId: number;\r\n}> = (props: {\r\n result: SearchByPropertyResultItem | null;\r\n searchId: number;\r\n}) => {\r\n const { result, searchId } = props;\r\n const resultType: ResultTypeName = 'propertyResult';\r\n\r\n return (\r\n \r\n {result && result.assessment && (\r\n \r\n Assessment Data \r\n \r\n \r\n }\r\n key=\"assesments\"\r\n >\r\n \r\n \r\n )}\r\n {result && result.recordedDocuments && (\r\n \r\n Recorded Documents \r\n \r\n \r\n }\r\n key=\"recordedDocuments\"\r\n >\r\n \r\n \r\n )}\r\n {result && result.liens && (\r\n \r\n Filed Liens \r\n \r\n \r\n }\r\n key=\"liens\"\r\n >\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(SearchByPropertyResultTabs);\r\n","import React from 'react';\r\nimport {\r\n SearchByPropertyResult,\r\n SearchByPropertyResultItem,\r\n} from 'pages/Search/models';\r\nimport { Typography, Row, Col, Divider, Tabs, Icon } from 'antd';\r\nimport SearchExport from 'pages/Search/SearchExport/SearchExport';\r\nimport { AttributeValuePair } from 'common';\r\nimport SearchByPropertyResultTabs from './SearchByPropertyResultTabs';\r\n\r\nconst { Title } = Typography;\r\nconst { TabPane } = Tabs;\r\n\r\nconst ResultReports: React.FC<{\r\n result: SearchByPropertyResult | null;\r\n}> = (props: { result: SearchByPropertyResult | null }) => {\r\n const { result } = props;\r\n\r\n return (\r\n <>\r\n \r\n {result && (\r\n \r\n Search Criteria: {result.searchCriteria}\r\n {result.results.length === 1 &&\r\n result.results[0].listOfProperties?.length === 1 && (\r\n <>\r\n {result.results[0].listOfProperties[0].county && (\r\n \r\n )}\r\n  \r\n \r\n  \r\n {result.results[0].listOfProperties[0].ease && (\r\n <>\r\n \r\n  \r\n \r\n )}\r\n  \r\n {result.results[0].listOfProperties[0].address && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n \r\n {result?.results?.length &&\r\n result?.results?.map(\r\n (resultItem: SearchByPropertyResultItem, index: number) => (\r\n \r\n \r\n  \r\n {resultItem.tabTitle}\r\n \r\n }\r\n key={`${index}`}\r\n >\r\n \r\n \r\n ),\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(ResultReports);\r\n","import React from 'react';\r\nimport { SearchByPropertyResultItem } from 'pages/Search/models';\r\nimport { Table, Typography, Button } from 'antd';\r\nimport { PropertyAddress, PropertyOwner } from 'pages/common/models/index';\r\nimport { CommonTable } from 'common';\r\n\r\nconst { Title, Text } = Typography;\r\nconst { Column } = Table;\r\n\r\nconst ResultTable: React.FC<{\r\n result: SearchByPropertyResultItem;\r\n searchCriteria: string;\r\n onClickDetails: any;\r\n}> = (props: {\r\n result: SearchByPropertyResultItem;\r\n searchCriteria: string;\r\n onClickDetails: any;\r\n}) => {\r\n const count = props.result.listOfProperties.length;\r\n const resultsNoun = count === 1 ? 'result' : 'result';\r\n\r\n return (\r\n <>\r\n Search Criteria: {props.searchCriteria}\r\n \r\n Your search has returned {count} {resultsNoun}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n record.map((address: PropertyAddress, index: number) => {\r\n //put string's to table to filter it out and then join the rest of it which are not empty\r\n const textToDisplay = [\r\n address.houseNumber,\r\n address.street,\r\n address.streetUnit,\r\n address.city,\r\n address.postCode,\r\n ]\r\n .filter((x) => typeof x === 'string' && x.length > 0)\r\n .join(' ');\r\n\r\n return (\r\n \r\n {textToDisplay}\r\n
    \r\n
    \r\n );\r\n })\r\n }\r\n />\r\n \r\n record.map((owner: PropertyOwner, index: number) => {\r\n return (\r\n \r\n {owner.name}\r\n
    \r\n
    \r\n );\r\n })\r\n }\r\n />\r\n (\r\n props.onClickDetails(record)}\r\n >\r\n Details\r\n \r\n )}\r\n />\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(ResultTable);\r\n","import React from 'react';\r\nimport { SearchByNameResult } from 'pages/Search/models';\r\nimport {\r\n LiensList,\r\n ParkingViolationJudgments,\r\n TransitAdjudicationBureauJudgments,\r\n EnvironmentalControlBoardJudgments,\r\n} from '..';\r\nimport DocumentsList from '../DocumentsList/DocumentsList';\r\nimport { Tabs, Badge } from 'antd';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\nconst SearchByNameResultTabs: React.FC<{\r\n nameResult: SearchByNameResult;\r\n}> = (props: { nameResult: SearchByNameResult }) => {\r\n const { nameResult } = props;\r\n const resultType: ResultTypeName = 'nameResult';\r\n\r\n return (\r\n \r\n {nameResult.liens && nameResult.liens.items && (\r\n \r\n Judgments/Liens \r\n \r\n \r\n }\r\n key=\"liens\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {nameResult.federalTaxLiens && nameResult.federalTaxLiens.items && (\r\n \r\n FTL's \r\n \r\n \r\n }\r\n key=\"federalTaxLiens\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {nameResult.parkingViolationJudgments &&\r\n nameResult.parkingViolationJudgments.items && (\r\n \r\n PVB's \r\n \r\n \r\n }\r\n key=\"parkingViolationJudgments\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {nameResult.environmentalControlBoardJudgments &&\r\n nameResult.environmentalControlBoardJudgments.items && (\r\n \r\n ECB's \r\n \r\n \r\n }\r\n key=\"environmentalControlBoardJudgments\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {nameResult.transitAdjudicationBureauJudgments &&\r\n nameResult.transitAdjudicationBureauJudgments.items && (\r\n \r\n TAB's \r\n \r\n \r\n }\r\n key=\"transitAdjudicationBureauJudgments\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {nameResult.uniformCommercialCodes &&\r\n nameResult.uniformCommercialCodes.items && (\r\n \r\n UCC's \r\n \r\n \r\n }\r\n key=\"uniformCommercialCodes\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {nameResult.recordedDocuments && nameResult.recordedDocuments.items && (\r\n \r\n Recorded Documents \r\n \r\n \r\n }\r\n key=\"recordedDocuments\"\r\n >\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(SearchByNameResultTabs);\r\n","import React from 'react';\r\nimport {\r\n SearchByNameResult,\r\n SearchByNameResultWithSearchCriteria,\r\n} from 'pages/Search/models';\r\nimport { Typography, Row, Col, Divider, Tabs, Icon } from 'antd';\r\nimport SearchExport from 'pages/Search/SearchExport/SearchExport';\r\nimport SearchByNameResultTabs from './SearchByNameResultTabs';\r\n\r\nconst { Title } = Typography;\r\nconst { TabPane } = Tabs;\r\n\r\nconst ResultGrid: React.FC<{\r\n results: SearchByNameResultWithSearchCriteria;\r\n}> = (props: { results: SearchByNameResultWithSearchCriteria }) => {\r\n const { results, searchCriteria } = props.results;\r\n\r\n return (\r\n <>\r\n \r\n \r\n Search Criteria: {searchCriteria}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {results.length > 0 &&\r\n results.map((result: SearchByNameResult, index: number) => (\r\n \r\n \r\n  \r\n {result.header}\r\n \r\n }\r\n key={`${index}`}\r\n >\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(ResultGrid);\r\n","import React from 'react';\r\nimport {\r\n SearchByMultiResult,\r\n SearchByNameResult,\r\n SearchByOtherResult,\r\n SearchByPropertyResultItem,\r\n} from 'pages/Search/models';\r\nimport { Typography, Row, Col, Divider, Tabs, Icon, Badge } from 'antd';\r\nimport SearchExport from 'pages/Search/SearchExport/SearchExport';\r\nimport SearchByPropertyResultTabs from '../ResultReports/SearchByPropertyResultTabs';\r\nimport SearchByNameResultTabs from '../ResultGrid/SearchByNameResultTabs';\r\nimport { SearchByOtherResultTable } from '..';\r\nimport { Tabs as TabNames } from 'pages/Search/SearchForm/consts';\r\n\r\nconst { TabPane } = Tabs;\r\nconst { Title } = Typography;\r\n\r\nconst MultiSearchResults: React.FC<{\r\n multiResult: SearchByMultiResult | null;\r\n}> = (props: { multiResult: SearchByMultiResult | null }) => {\r\n const { multiResult } = props;\r\n const addressResults: SearchByOtherResult[] = [];\r\n\r\n multiResult?.addressResult?.results?.forEach((result) => {\r\n const resultIndex = result.index;\r\n addressResults[resultIndex] = addressResults[resultIndex] || {};\r\n addressResults[resultIndex].results =\r\n addressResults[resultIndex].results || [];\r\n addressResults[resultIndex].results.push(result);\r\n });\r\n\r\n const getTabTitle = (searchBy: string) => {\r\n if (searchBy === 'environmentalControlBoardJudgments') {\r\n return 'ECBs by Address';\r\n } else if (searchBy === 'emergencyRepairs') {\r\n return 'NYC Emergency Repairs';\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {multiResult && (\r\n \r\n {multiResult.searchByBlockLotSearchCriteria && (\r\n \r\n Search Criteria: {multiResult.searchByBlockLotSearchCriteria}\r\n \r\n )}\r\n {multiResult.searchByNameSearchCriteria && (\r\n \r\n Search Criteria: {multiResult.searchByNameSearchCriteria}\r\n \r\n )}\r\n {multiResult.searchByAddressSearchCriteria && (\r\n \r\n Search Criteria: {multiResult.searchByAddressSearchCriteria}\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n \r\n {multiResult?.propertyResult?.results?.length &&\r\n multiResult.propertyResult.results.map(\r\n (resultItem: SearchByPropertyResultItem, index: number) => (\r\n \r\n \r\n  \r\n {resultItem.tabTitle}\r\n \r\n }\r\n key={`propertyresult${index}`}\r\n >\r\n {resultItem && (\r\n \r\n )}\r\n \r\n ),\r\n )}\r\n {multiResult?.nameResult?.results?.length &&\r\n multiResult.nameResult.results.map(\r\n (result: SearchByNameResult, index: number) => (\r\n \r\n \r\n  \r\n {result.header}\r\n \r\n }\r\n key={`nameresult${index}`}\r\n >\r\n \r\n \r\n ),\r\n )}\r\n\r\n {multiResult &&\r\n addressResults?.length &&\r\n addressResults.map((addressResult, resultIndex) => {\r\n return (\r\n \r\n \r\n  \r\n {addressResult.results[0].addressTabTitle}\r\n \r\n }\r\n key={`addressresult${resultIndex}`}\r\n >\r\n \r\n {addressResult?.results?.length &&\r\n addressResult.results.map(\r\n (addressResultItem, resultItemIndex) => {\r\n return (\r\n \r\n {getTabTitle(addressResultItem.searchBy)} \r\n \r\n \r\n }\r\n key={`${resultItemIndex}`}\r\n >\r\n \r\n \r\n );\r\n },\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(MultiSearchResults);\r\n","import React from 'react';\r\nimport {\r\n TransitAdjudicationBureauJudgments as TransitAdjudicationBureauJudgmentsModel,\r\n TransitAdjudicationBureauJudgment,\r\n} from 'pages/Search/models';\r\nimport { Table, Empty, Tooltip, Checkbox, Row } from 'antd';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n Date,\r\n Money,\r\n CommonTable,\r\n AttributeValuePair,\r\n tabSelector,\r\n getDataTypeName,\r\n} from 'common';\r\nimport {\r\n searchIsSelectedUpdate,\r\n isSelectedSelector,\r\n ResultTypeName,\r\n} from 'pages/Search';\r\nimport { TableHeader } from '..';\r\nimport { createSelector } from 'reselect';\r\n\r\nconst { Column, ColumnGroup } = Table;\r\n\r\nconst selector = createSelector(\r\n tabSelector,\r\n isSelectedSelector,\r\n (tabName, getIsSelected) => ({\r\n tabName,\r\n getIsSelected,\r\n }),\r\n);\r\n\r\nconst TransitAdjudicationBureauJudgments: React.FC<{\r\n judgments: TransitAdjudicationBureauJudgmentsModel;\r\n groupName: string;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({\r\n groupName,\r\n judgments: { header, items, loadDate },\r\n resultType,\r\n resultItemIndex,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { tabName, getIsSelected } = useSelector(selector);\r\n\r\n const onChange = (checked: boolean, { documentType, guid }: any) => {\r\n dispatch(\r\n searchIsSelectedUpdate(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n checked,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n };\r\n\r\n const isSelected = React.useCallback(\r\n (record: any) => {\r\n return getIsSelected(\r\n getDataTypeName(tabName),\r\n record.documentType,\r\n record.guid,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n },\r\n [getIsSelected, resultItemIndex, resultType, tabName],\r\n );\r\n\r\n return !!items.length ? (\r\n <>\r\n \r\n \r\n (\r\n \r\n onChange(e.target.checked, record)}\r\n checked={isSelected(record)}\r\n />\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {text}}\r\n />\r\n {text}}\r\n />\r\n {text}}\r\n />\r\n {text}}\r\n />\r\n {text}}\r\n />\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TransitAdjudicationBureauJudgments;\r\n","import React from 'react';\r\nimport {\r\n EnvironmentalControlBoardJudgment as EnvironmentalControlBoardJudgmentModel,\r\n EnvironmentalControlBoardJudgments as EnvironmentalControlBoardJudgmentsModel,\r\n} from 'pages/Search/models';\r\nimport { EnvironmentalControlBoardJudgment, TableHeader } from '../';\r\nimport { Empty, Row } from 'antd';\r\nimport { BasicTable, AttributeValuePair, tabSelector } from 'common';\r\nimport { useSelector } from 'react-redux';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst EnvironmentalControlBoardJudgments: React.FC<{\r\n judgments: EnvironmentalControlBoardJudgmentsModel;\r\n groupName: string;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({\r\n judgments: { header, items, loadDate },\r\n groupName,\r\n resultType,\r\n resultItemIndex,\r\n}) => {\r\n const tabName = useSelector(tabSelector);\r\n\r\n return !!items.length ? (\r\n <>\r\n \r\n {\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EnvironmentalControlBoardJudgments;\r\n","import React from 'react';\r\nimport { SearchByOtherResult } from 'pages/Search/models';\r\nimport { SearchByOtherResultTable } from '..';\r\nimport { Typography, Row, Col, Divider, Tabs, Icon } from 'antd';\r\nimport SearchExport from 'pages/Search/SearchExport/SearchExport';\r\nimport { Tabs as TabNames } from 'pages/Search/SearchForm/consts';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\nconst { Title } = Typography;\r\n\r\nconst ResultDocs: React.FC<{ result: SearchByOtherResult }> = (props: {\r\n result: SearchByOtherResult;\r\n}) => {\r\n const { result } = props;\r\n const { searchCriteria } = result;\r\n\r\n return (\r\n <>\r\n \r\n \r\n Search Criteria: {searchCriteria}\r\n \r\n\r\n \r\n \r\n \r\n\r\n {result?.results && result.results.length === 1 ? (\r\n \r\n ) : (\r\n \r\n {result.results.map((otherResult, index) => {\r\n return (\r\n \r\n \r\n  \r\n {otherResult.addressTabTitle}\r\n \r\n }\r\n key={`${index}`}\r\n >\r\n \r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ResultDocs;\r\n","import React from 'react';\r\nimport {\r\n SearchByOtherResultItem,\r\n RecordedDocument,\r\n Lien,\r\n EmergencyRepair as EmergencyRepairModel,\r\n EnvironmentalControlBoardJudgment as EnvironmentalControlBoardJudgmentModel,\r\n} from 'pages/Search/models';\r\nimport {\r\n EnvironmentalControlBoardJudgment,\r\n LiensListItem,\r\n DocumentsListItem,\r\n EmergencyRepairsListItem,\r\n} from '..';\r\nimport { Col, Empty, Row, Typography } from 'antd';\r\nimport { BasicTable } from 'common';\r\nimport { Tabs } from 'pages/Search/SearchForm/consts';\r\nimport SearchSelectAll from 'pages/Search/SearchSelectAll/SearchSelectAll';\r\nimport { ResultTypeName } from 'pages/Search';\r\n\r\nconst { Text } = Typography;\r\n\r\nconst SearchByOtherResultTable: React.FC<{\r\n result: SearchByOtherResultItem;\r\n tabName: Tabs;\r\n searchId: number;\r\n resultType?: ResultTypeName;\r\n}> = (props: {\r\n result: SearchByOtherResultItem;\r\n tabName: Tabs;\r\n searchId: number;\r\n resultType?: ResultTypeName;\r\n}) => {\r\n const { result, tabName, searchId, resultType } = props;\r\n const { items, searchBy } = result;\r\n const selected = items.filter((item) => item.isSelected).length;\r\n const count = items.length;\r\n const resultsNoun = count === 1 ? 'result' : 'results';\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Your search has returned {count} {resultsNoun} ({selected} selected for\r\n print/export)\r\n \r\n {count > 0 ? (\r\n {\r\n if ((record as Lien).lienId)\r\n return (\r\n \r\n );\r\n if ((record as RecordedDocument).documentID)\r\n return (\r\n \r\n );\r\n if ((record as EmergencyRepairModel).fileNumber)\r\n return (\r\n \r\n );\r\n if (\r\n (record as EnvironmentalControlBoardJudgmentModel).violationNumber\r\n )\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default SearchByOtherResultTable;\r\n","import React from 'react';\r\nimport { EnvironmentalControlBoardJudgment as EnvironmentalControlBoardJudgmentModel } from 'pages/Search/models';\r\nimport { Descriptions, Tooltip, Checkbox } from 'antd';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Date, formatPriceString, tabSelector, getDataTypeName } from 'common';\r\nimport { searchIsSelectedUpdate, isSelectedSelector } from 'pages/Search';\r\nimport { createSelector } from 'reselect';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst selector = createSelector(\r\n tabSelector,\r\n isSelectedSelector,\r\n (tabName, getIsSelected) => ({\r\n tabName,\r\n getIsSelected,\r\n }),\r\n);\r\nconst EnvironmentalControlBoardJudgment: React.FC<{\r\n judgment: EnvironmentalControlBoardJudgmentModel;\r\n index: number;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({ judgment, index, resultType, resultItemIndex }) => {\r\n const dispatch = useDispatch();\r\n const { tabName, getIsSelected } = useSelector(selector);\r\n\r\n const {\r\n firstName,\r\n lastName,\r\n address,\r\n orderDate,\r\n noticeDate,\r\n docketDate,\r\n balance,\r\n violationNumber,\r\n guid,\r\n documentType,\r\n } = judgment;\r\n\r\n const onChange = ({ target: { checked } }: any) => {\r\n dispatch(\r\n searchIsSelectedUpdate(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n checked,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n };\r\n\r\n const isSelected = React.useMemo(() => {\r\n return getIsSelected(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n }, [documentType, getIsSelected, guid, resultItemIndex, resultType, tabName]);\r\n\r\n return (\r\n <>\r\n \r\n #{index + 1} \r\n \r\n \r\n \r\n {`${firstName} ${lastName}`}\r\n {address}\r\n \r\n {orderDate}\r\n \r\n \r\n {noticeDate}\r\n \r\n \r\n {docketDate}\r\n \r\n \r\n {formatPriceString(balance)}\r\n \r\n \r\n {violationNumber}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(EnvironmentalControlBoardJudgment);\r\n","import React from 'react';\r\nimport { Row, Col, Typography } from 'antd';\r\nimport SearchSelectAll from 'pages/Search/SearchSelectAll/SearchSelectAll';\r\nimport { Tabs } from 'pages/Search/SearchForm/consts';\r\nimport { OptionalLienParameters } from '..';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst { Title, Text } = Typography;\r\n\r\nconst TableHeader: React.FC<{\r\n title: string;\r\n items: { isSelected: boolean }[];\r\n group: string;\r\n documentType: string;\r\n tabName: string;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n to?: Date;\r\n from?: Date;\r\n bookTypeText?: string;\r\n}> = ({\r\n title,\r\n items,\r\n group,\r\n documentType,\r\n tabName,\r\n resultType,\r\n resultItemIndex,\r\n to,\r\n from,\r\n bookTypeText,\r\n}) => {\r\n const selected = items.filter((item) => item.isSelected).length;\r\n const count = items.length;\r\n const resultNoun = count === 1 ? 'result' : 'results';\r\n\r\n return (\r\n \r\n \r\n {title}\r\n \r\n Your search has\r\n returned {count} {resultNoun} ({selected} selected for print/export)\r\n \r\n \r\n {documentType === 'recordedDocuments' &&\r\n group?.includes('Richmond County') && (\r\n \r\n

    Please note: results for Richmond County only include\r\n documents recorded on ACRIS.\r\n
    \r\n )}\r\n \r\n \r\n {(tabName === Tabs.Property ||\r\n tabName === Tabs.Name ||\r\n tabName === Tabs.Multi) && (\r\n \r\n )}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TableHeader;\r\n","import React from 'react';\r\nimport { EmergencyRepair } from 'pages/Search/models';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Descriptions, Typography, Row, Tooltip, Checkbox } from 'antd';\r\nimport { formatPriceString, getDataTypeName, tabSelector } from 'common';\r\nimport { searchIsSelectedUpdate, isSelectedSelector } from 'pages/Search';\r\nimport { createSelector } from 'reselect';\r\nimport { ResultTypeName } from 'pages/Search/Search.types';\r\n\r\nconst { Text } = Typography;\r\n\r\nconst selector = createSelector(\r\n tabSelector,\r\n isSelectedSelector,\r\n (tabName, getIsSelected) => ({\r\n tabName,\r\n getIsSelected,\r\n }),\r\n);\r\n\r\nconst EmergencyRepairsListItem: React.FC<{\r\n er: EmergencyRepair;\r\n index: number;\r\n resultType: ResultTypeName;\r\n resultItemIndex: number;\r\n}> = ({ er, index, resultType, resultItemIndex }) => {\r\n const { street, streetCode, fileNumber, amount, guid, county, documentType } =\r\n er;\r\n const dispatch = useDispatch();\r\n const { tabName, getIsSelected } = useSelector(selector);\r\n\r\n const onChange = ({ target: { checked } }: any) => {\r\n dispatch(\r\n searchIsSelectedUpdate(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n checked,\r\n resultItemIndex,\r\n resultType,\r\n ),\r\n );\r\n };\r\n\r\n const isSelected = React.useMemo(() => {\r\n return getIsSelected(\r\n getDataTypeName(tabName),\r\n documentType,\r\n guid,\r\n resultItemIndex,\r\n resultType,\r\n );\r\n }, [documentType, getIsSelected, guid, resultItemIndex, resultType, tabName]);\r\n\r\n return (\r\n \r\n \r\n #{index + 1} \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {streetCode}\r\n {street}\r\n\r\n {fileNumber}\r\n \r\n {formatPriceString(amount)}\r\n \r\n {county}\r\n \r\n );\r\n};\r\n\r\nexport default EmergencyRepairsListItem;\r\n","import React from 'react';\r\nimport { Table, Tooltip, Button } from 'antd';\r\nimport { CommonTable } from 'common';\r\nimport { DocumentReference } from 'pages/Search/models';\r\nimport { useDispatch } from 'react-redux';\r\nimport { fetchExternalDetailsAsync, fetchDetailsAsync } from 'pages/Search';\r\nimport { useAccount, useMsal } from '@azure/msal-react';\r\nimport { getAccessToken } from 'common/helpers';\r\nimport { InteractionStatus } from '@azure/msal-browser';\r\n\r\nconst { Column } = Table;\r\nconst RecordedDocumentReferences: React.FC<{\r\n items: DocumentReference[];\r\n}> = ({ items }) => {\r\n const dispatch = useDispatch();\r\n const { instance, accounts, inProgress } = useMsal();\r\n const account = useAccount(accounts[0] || {});\r\n\r\n const fetchExternalDetails = (record: DocumentReference) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n fetchExternalDetailsAsync(\r\n record.documentsIds,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n };\r\n\r\n const fetchDetails = (record: DocumentReference) => {\r\n if (account && inProgress === InteractionStatus.None) {\r\n getAccessToken(instance, account, inProgress).then((response) => {\r\n if (response?.accessToken)\r\n dispatch(\r\n fetchDetailsAsync(\r\n record.documentType,\r\n record.referenceBoro,\r\n record.documentId,\r\n response.accessToken,\r\n ),\r\n );\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n record.referenceCrfn === '' ? text : ''\r\n }\r\n />\r\n \r\n record.referenceCrfn === '' ? text : ''\r\n }\r\n />\r\n \r\n \r\n \r\n {\r\n return record.documentsIds && !!record.documentsIds.length ? (\r\n <>\r\n \r\n fetchExternalDetails(record)}\r\n >\r\n {record.documentId}\r\n \r\n \r\n \r\n ) : (\r\n <>{record.documentId}\r\n );\r\n }}\r\n />\r\n {\r\n return (\r\n {\r\n record.documentType === 'federalTaxLiens'\r\n ? console.log('Tech Debt')\r\n : fetchDetails(record);\r\n }}\r\n >\r\n Details\r\n \r\n );\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(RecordedDocumentReferences);\r\n","import React from 'react';\r\nimport { Row } from 'antd';\r\nimport { FormField, maxLength, alphaNumeric } from 'common';\r\n\r\nconst warnBlock = [maxLength(5)];\r\nconst warnLot = (value: string) =>\r\n value &&\r\n !/^[0-9]{1,4}(-[0-9]{1,4})?(, ?[0-9]{1,4}(-[0-9]{1,4})?)*$/.test(value)\r\n ? 'Invalid lot value'\r\n : undefined;\r\nconst warnEasement = [maxLength(4), alphaNumeric];\r\n\r\nconst BlockLotFormFields: React.FC<{\r\n handleFieldFocus: any;\r\n tabNamePrefix: string;\r\n rowStyle: string;\r\n inputStyle: string;\r\n autoFocusFirstField?: boolean;\r\n startingTabIndex?: number;\r\n}> = ({\r\n handleFieldFocus,\r\n tabNamePrefix,\r\n rowStyle,\r\n inputStyle,\r\n autoFocusFirstField = true,\r\n startingTabIndex = 0,\r\n}) => {\r\n let tabIndex = startingTabIndex;\r\n const getNextTabIndex = (): number => {\r\n if (tabIndex === 0) return tabIndex;\r\n return (tabIndex += 100);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(BlockLotFormFields);\r\n","import React from 'react';\r\nimport { Row } from 'antd';\r\nimport { FormField } from 'common';\r\n\r\nconst PropertyDocumentTypeFormFields: React.FC<{\r\n tabNamePrefix: string;\r\n rowStyle?: string;\r\n recordedDocumentsFieldNameSuffix?: string;\r\n}> = ({\r\n tabNamePrefix,\r\n rowStyle = '',\r\n recordedDocumentsFieldNameSuffix = '',\r\n}) => {\r\n const assessmentFieldName = `${tabNamePrefix}.assessment`;\r\n const recordedDocumentsFieldName = `${tabNamePrefix}.recordedDocuments${recordedDocumentsFieldNameSuffix}`;\r\n const filedLiensFieldName = `${tabNamePrefix}.filedLiens`;\r\n\r\n return (\r\n <>\r\n \r\n \r\n Assessment\r\n \r\n \r\n Recorded Documents\r\n \r\n \r\n Filed Liens\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(PropertyDocumentTypeFormFields);\r\n","import React from 'react';\r\nimport { Row } from 'antd';\r\nimport { FormField, maxLength, alphaNumeric } from 'common';\r\n\r\nconst warnHouse = [maxLength(30)];\r\nconst warnStreet = [maxLength(30), alphaNumeric];\r\nconst warnApartment = [maxLength(10), alphaNumeric];\r\n\r\nconst AddressFormFields: React.FC<{\r\n tabNamePrefix: string;\r\n rowStyle: string;\r\n inputStyle: string;\r\n handleFieldFocus?: any;\r\n startingTabIndex?: number;\r\n includeApartmentNumberField?: boolean;\r\n fieldsDisabled?: boolean;\r\n index?: number;\r\n}> = ({\r\n tabNamePrefix,\r\n rowStyle,\r\n inputStyle,\r\n handleFieldFocus,\r\n includeApartmentNumberField = true,\r\n startingTabIndex = 0,\r\n fieldsDisabled = false,\r\n index = 0,\r\n}) => {\r\n let tabIndex = startingTabIndex;\r\n const getNextTabIndex = (): number => {\r\n if (tabIndex === 0) return tabIndex;\r\n return (tabIndex += 100);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {includeApartmentNumberField && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(AddressFormFields);\r\n","import React from 'react';\r\nimport { Button, Divider, Tooltip } from 'antd';\r\nimport AddressFormFields from './AddressFormFields';\r\nimport { HouseAddress } from 'pages/Search/models';\r\n\r\nconst ButtonGroup = Button.Group;\r\n\r\nconst AddressesFormFields: any = ({\r\n fields,\r\n meta: { error },\r\n rowStyle,\r\n inputStyle,\r\n handleFieldFocus,\r\n startingTabIndex = 0,\r\n includeApartmentNumberField = false,\r\n fieldsDisabled = false,\r\n}: any) => {\r\n const addLimit = 5;\r\n const removeLimit = 1;\r\n let tabIndex: number = startingTabIndex;\r\n const tabIndexIncrement: number = includeApartmentNumberField ? 300 : 200;\r\n\r\n const getNextStartingTabIndex = (addressIndex: number): number => {\r\n if (tabIndex === 0 || addressIndex === 0) return tabIndex;\r\n return (tabIndex += tabIndexIncrement);\r\n };\r\n\r\n return (\r\n <>\r\n {fields.map((address: HouseAddress, index: number) => (\r\n
    \r\n \r\n \r\n \r\n fields.remove(index)}\r\n disabled={fields.length === removeLimit}\r\n >\r\n Remove Address\r\n \r\n \r\n {fields.length - 1 === index && (\r\n \r\n fields.push({ houseNumber: '', street: '' })}\r\n disabled={fields.length >= addLimit}\r\n >\r\n Add Address\r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default AddressesFormFields;\r\n","import { AppState } from 'store';\r\nimport { XosImageFormPlaceholders, EMPTY_VALUE } from './XosImage.constants';\r\nimport { XosImageStates, XosImageResult } from './models';\r\nimport { createSelector } from 'reselect';\r\n\r\ntype LocationsType = {\r\n name: string;\r\n hobCode: string;\r\n}[];\r\n\r\nexport const xosimageStatesSelector = ({\r\n xosImage: { xosImageStates },\r\n}: AppState): XosImageStates => xosImageStates;\r\n\r\nexport const getCounties = (usStates: XosImageStates, stateHob: string) => {\r\n const usState = usStates.find(({ hobCode }) => hobCode === stateHob);\r\n return usState ? usState.counties : null;\r\n};\r\n\r\nexport const resultSelector = ({\r\n xosImage: { result },\r\n}: AppState): XosImageResult => result;\r\n\r\nconst getPlaceHolder = (text: string) => [\r\n {\r\n value: EMPTY_VALUE,\r\n text,\r\n },\r\n];\r\n\r\nconst getOptions = (locations: LocationsType) =>\r\n locations\r\n ? locations.map(({ name: text, hobCode: value }) => ({\r\n value,\r\n text: text === 'MT' ? 'MONTANA' : text, //`${text} ${value}`,\r\n }))\r\n : [];\r\n\r\nexport const getXosImageStatesOptions = (xosImageStates: XosImageStates) => [\r\n ...getPlaceHolder(XosImageFormPlaceholders.STATE),\r\n ...getOptions(xosImageStates),\r\n];\r\n\r\nexport const xosImageCountyOptionsSelector = createSelector(\r\n (state: AppState) => state.xosImage,\r\n (xosImage) => (stateHob: string) => {\r\n const placeHolder = getPlaceHolder(XosImageFormPlaceholders.COUNTY);\r\n const xosImageState =\r\n stateHob &&\r\n xosImage &&\r\n // @ts-ignore:\r\n xosImage.xosImageStates &&\r\n // @ts-ignore:\r\n xosImage.xosImageStates.find(\r\n (usState: any) => usState.hobCode === stateHob,\r\n );\r\n if (xosImageState) {\r\n // @ts-ignore:\r\n return [\r\n ...placeHolder,\r\n ...getOptions(\r\n // @ts-ignore:\r\n xosImageState.counties,\r\n ),\r\n ];\r\n }\r\n return getPlaceHolder(XosImageFormPlaceholders.COUNTY);\r\n },\r\n);\r\n\r\nexport const xosImageDistrictSelector = createSelector(\r\n (state: AppState) => state.xosImage,\r\n (xosImage) => (stateHob: string, countyHob: string) => {\r\n const county =\r\n stateHob &&\r\n countyHob &&\r\n // @ts-ignore:\r\n xosImage.xosImageStates &&\r\n // @ts-ignore:\r\n xosImage.xosImageStates\r\n .find((usState: any) => usState.hobCode === stateHob)\r\n .counties.find((county: any) => county.hobCode === countyHob);\r\n return county && county.district ? county.district : null;\r\n },\r\n);\r\n\r\nexport const minNameLength = 2;\r\nexport const requiredWarn = 'Required';\r\n\r\nexport const getCurrentSection = (formValues: any, sectionNo: string) =>\r\n formValues.items && formValues?.items[parseInt(sectionNo)];\r\n\r\nexport const getCurrentIndividual = (\r\n formValues: any,\r\n sectionNo: string,\r\n individualNo: string,\r\n) =>\r\n formValues.items &&\r\n formValues.items[parseInt(sectionNo)] &&\r\n formValues.items[parseInt(sectionNo)].individuals[parseInt(individualNo)];\r\n\r\nexport const getCurrentCorporation = (\r\n formValues: any,\r\n sectionNo: string,\r\n corporationNo: string,\r\n) =>\r\n formValues.items &&\r\n formValues.items[parseInt(sectionNo)] &&\r\n formValues.items[parseInt(sectionNo)].corporations[parseInt(corporationNo)];\r\n\r\nexport const getCurrentSectionNo = (fieldName: any) =>\r\n fieldName.match(/\\[(.*?)\\]/)[1];\r\n\r\n// @ts-ignore:\r\nexport const getIsNamesFilled = ({ individuals, corporations }) => {\r\n // @ts-ignore:\r\n const individualsTouched = individuals.some(\r\n // @ts-ignore:\r\n ({ firstName, middleName, lastName }) =>\r\n // !(firstName.length < minNameLength) ||\r\n // !(middleName.length < minNameLength) ||\r\n // !(lastName.length < minNameLength),\r\n !!firstName || !!middleName || !!lastName,\r\n );\r\n // @ts-ignore:\r\n const corporationsTouched = corporations.some(\r\n // @ts-ignore:\r\n ({ corporationName }) => !!corporationName,\r\n );\r\n return individualsTouched || corporationsTouched;\r\n};\r\n\r\n// @ts-ignore:\r\nexport const getIsBankruptcySelected = ({ individuals, corporations }) => {\r\n const individualsBankruptcySelected = individuals.some(\r\n // @ts-ignore:\r\n ({ bankruptcySearch }) => bankruptcySearch,\r\n );\r\n const isCorporationsBankruptcySelected = corporations.some(\r\n // @ts-ignore:\r\n ({ bankruptcySearch }) => bankruptcySearch,\r\n );\r\n return individualsBankruptcySelected || isCorporationsBankruptcySelected;\r\n};\r\n\r\n// @ts-ignore:\r\nexport const getIsPatriotSelected = ({ individuals, corporations }) => {\r\n const individualsPatriotSelected = individuals.some(\r\n // @ts-ignore:\r\n ({ patriotSearch }) => patriotSearch,\r\n );\r\n const isCorporationsPatriotSelected = corporations.some(\r\n // @ts-ignore:\r\n ({ patriotSearch }) => patriotSearch,\r\n );\r\n return individualsPatriotSelected || isCorporationsPatriotSelected;\r\n};\r\n","import { AppState } from 'store';\r\nimport {\r\n BankruptcyFormPlaceholders,\r\n EMPTY_VALUE,\r\n} from './Bankruptcy.constants';\r\nimport { BankruptcyStates, BankruptcyResult } from './models';\r\nimport { createSelector } from 'reselect';\r\n\r\ntype LocationsType = {\r\n name: string;\r\n hobCode: string;\r\n}[];\r\n\r\nexport const bankruptcyStatesSelector = ({\r\n bankruptcy: { bankruptcyStates },\r\n}: AppState): BankruptcyStates => bankruptcyStates;\r\n\r\nexport const getCounties = (usStates: BankruptcyStates, stateHob: string) => {\r\n const usState = usStates.find(({ hobCode }) => hobCode === stateHob);\r\n return usState ? usState.counties : null;\r\n};\r\n\r\nexport const resultSelector = ({\r\n bankruptcy: { result },\r\n}: AppState): BankruptcyResult => result;\r\n\r\nconst getPlaceHolder = (text: string) => [\r\n {\r\n value: EMPTY_VALUE,\r\n text,\r\n },\r\n];\r\n\r\nconst getOptions = (locations: LocationsType) =>\r\n locations\r\n ? locations.map(({ name: text, hobCode: value }) => ({\r\n value,\r\n text: text === 'MT' ? 'MONTANA' : text, //`${text} ${value}`,\r\n }))\r\n : [];\r\n\r\nexport const getBankruptcyStatesOptions = (\r\n bankruptcyStates: BankruptcyStates,\r\n) => [\r\n ...getPlaceHolder(BankruptcyFormPlaceholders.STATE),\r\n ...getOptions(bankruptcyStates),\r\n];\r\n\r\nexport const bankruptcyCountyOptionsSelector = createSelector(\r\n (state: AppState) => state.bankruptcy,\r\n (bankruptcy) => (stateHob: string) => {\r\n const placeHolder = getPlaceHolder(BankruptcyFormPlaceholders.COUNTY);\r\n const bankruptcyState =\r\n stateHob &&\r\n bankruptcy &&\r\n // @ts-ignore:\r\n bankruptcy.bankruptcyStates &&\r\n // @ts-ignore:\r\n bankruptcy.bankruptcyStates.find(\r\n (usState: any) => usState.hobCode === stateHob,\r\n );\r\n if (bankruptcyState) {\r\n // @ts-ignore:\r\n return [\r\n ...placeHolder,\r\n ...getOptions(\r\n // @ts-ignore:\r\n bankruptcyState.counties,\r\n ),\r\n ];\r\n }\r\n return getPlaceHolder(BankruptcyFormPlaceholders.COUNTY);\r\n },\r\n);\r\n\r\nexport const bankruptcyDistrictSelector = createSelector(\r\n (state: AppState) => state.bankruptcy,\r\n (bankruptcy) => (stateHob: string, countyHob: string) => {\r\n const county =\r\n stateHob &&\r\n countyHob &&\r\n // @ts-ignore:\r\n bankruptcy.bankruptcyStates &&\r\n // @ts-ignore:\r\n bankruptcy.bankruptcyStates\r\n .find((usState: any) => usState.hobCode === stateHob)\r\n .counties.find((county: any) => county.hobCode === countyHob);\r\n return county && county.district ? county.district : null;\r\n },\r\n);\r\n\r\nexport const minNameLength = 2;\r\nexport const requiredWarn = 'Required';\r\n\r\nexport const getCurrentSection = (formValues: any, sectionNo: string) =>\r\n formValues.items && formValues?.items[parseInt(sectionNo)];\r\n\r\nexport const getCurrentIndividual = (\r\n formValues: any,\r\n sectionNo: string,\r\n individualNo: string,\r\n) =>\r\n formValues.items &&\r\n formValues.items[parseInt(sectionNo)] &&\r\n formValues.items[parseInt(sectionNo)].individuals[parseInt(individualNo)];\r\n\r\nexport const getCurrentCorporation = (\r\n formValues: any,\r\n sectionNo: string,\r\n corporationNo: string,\r\n) =>\r\n formValues.items &&\r\n formValues.items[parseInt(sectionNo)] &&\r\n formValues.items[parseInt(sectionNo)].corporations[parseInt(corporationNo)];\r\n\r\nexport const getCurrentSectionNo = (fieldName: any) =>\r\n fieldName.match(/\\[(.*?)\\]/)[1];\r\n\r\n// @ts-ignore:\r\nexport const getIsNamesFilled = ({ individuals, corporations }) => {\r\n // @ts-ignore:\r\n const individualsTouched = individuals.some(\r\n // @ts-ignore:\r\n ({ firstName, middleName, lastName }) =>\r\n // !(firstName.length < minNameLength) ||\r\n // !(middleName.length < minNameLength) ||\r\n // !(lastName.length < minNameLength),\r\n !!firstName || !!middleName || !!lastName,\r\n );\r\n // @ts-ignore:\r\n const corporationsTouched = corporations.some(\r\n // @ts-ignore:\r\n ({ corporationName }) => !!corporationName,\r\n );\r\n return individualsTouched || corporationsTouched;\r\n};\r\n\r\n// @ts-ignore:\r\nexport const getIsBankruptcySelected = ({ individuals, corporations }) => {\r\n const individualsBankruptcySelected = individuals.some(\r\n // @ts-ignore:\r\n ({ bankruptcySearch }) => bankruptcySearch,\r\n );\r\n const isCorporationsBankruptcySelected = corporations.some(\r\n // @ts-ignore:\r\n ({ bankruptcySearch }) => bankruptcySearch,\r\n );\r\n return individualsBankruptcySelected || isCorporationsBankruptcySelected;\r\n};\r\n\r\n// @ts-ignore:\r\nexport const getIsPatriotSelected = ({ individuals, corporations }) => {\r\n const individualsPatriotSelected = individuals.some(\r\n // @ts-ignore:\r\n ({ patriotSearch }) => patriotSearch,\r\n );\r\n const isCorporationsPatriotSelected = corporations.some(\r\n // @ts-ignore:\r\n ({ patriotSearch }) => patriotSearch,\r\n );\r\n return individualsPatriotSelected || isCorporationsPatriotSelected;\r\n};\r\n"],"sourceRoot":""}