{"version":3,"sources":["components/regomakemodel/actions.js","policy/components/disclosure/actions.js","dashboard/dealership/login/actions.js","policy/components/disclosure/list/components/actions.js","components/asyncComponent.js","webservices/list/actions.js","financecompanies/list/actions.js","webservices/execute/actions.js","policylists/mbid/actions.js","elog/saleslog/actions.js","webservices/fnlist/actions.js","components/forms/Error.js","policyactions/copypolicy/actions.js","history.js","policyactions/archive/actions.js","dashboard/dealership/copydealership/actions.js","dashboard/vehicleconfigs/list/components/actions.js","policy/components/disclosure/pending/components/actions.js","policy/reducer.js","financecompanies/edit/actions.js","dashboard/dealership/list/configs/components/actions.js","developer/recentwslogs/actions.js","claims/list/actions.js","components/WhiteIcon.js","dashboard/exports/components/actions.js","reducer.js","auth/login/reducer.js","auth/reducer.js","dashboard/reducer.js","dashboard/dealership/list/components/reducer.js","dashboard/user/list/components/reducer.js","dashboard/vehicleconfigs/list/components/reducer.js","policy/components/disclosure/list/components/reducer.js","policy/components/disclosure/pending/components/reducer.js","dashboard/notifications/list/components/reducer.js","dashboard/user/roles/reducer.js","dashboard/config/reducer.js","dashboard/user/edit/reducer.js","dashboard/vehicleconfigs/edit/reducer.js","dashboard/notifications/edit/reducer.js","dashboard/usernotifications/reducer.js","dashboard/user/userblock/reducer.js","policy/components/disclosure/reducer.js","dashboard/dealership/list/configs/components/reducer.js","dashboard/dealership/edit/reducer.js","dashboard/dealership/login/reducer.js","dashboard/dealership/rates/reducer.js","dashboard/mydealers/reducer.js","dashboard/bdmdealers/reducer.js","dashboard/mviquickquote/reducer.js","dashboard/mciquickquote/reducer.js","dashboard/pciquickquote/reducer.js","dashboard/mbiquickquote/reducer.js","dashboard/exports/components/reducer.js","policyactions/requestmodification/reducer.js","policyactions/requestregomodification/reducer.js","policyactions/modifypolicy/reducer.js","policyactions/archive/reducer.js","policyactions/cancellation/reducer.js","policyactions/errorreport/reducer.js","policyactions/wording/reducer.js","policylists/components/reducer.js","policylists/mbid/reducer.js","elog/components/reducer.js","elog/month/reducer.js","elog/saleslog/reducer.js","developer/recentwslogs/reducer.js","webservices/list/reducer.js","webservices/execute/reducer.js","financecompanies/list/reducer.js","financecompanies/edit/reducer.js","webservices/fnlist/reducer.js","claims/makeaclaim/reducer.js","claims/list/reducer.js","agentlocator/reducer.js","auth/selectors.js","sagas.js","api.js","auth/login/sagas.js","auth/sagas.js","dashboard/mbiquickquote/sagas.js","dashboard/mciquickquote/sagas.js","dashboard/mviquickquote/sagas.js","dashboard/pciquickquote/sagas.js","dashboard/myapplications/sagas.js","dashboard/dealership/edit/sagas.js","dashboard/dealership/copydealership/sagas.js","dashboard/dealership/list/components/sagas.js","dashboard/dealership/list/configs/components/sagas.js","dashboard/dealership/login/sagas.js","dashboard/dealership/rates/sagas.js","dashboard/dealership/sagas.js","dashboard/user/list/components/sagas.js","dashboard/user/roles/sagas.js","dashboard/user/edit/sagas.js","dashboard/user/sagas.js","dashboard/vehicleconfigs/list/components/sagas.js","dashboard/vehicleconfigs/edit/sagas.js","dashboard/vehicleconfigs/sagas.js","dashboard/usernotifications/sagas.js","dashboard/notifications/list/components/sagas.js","dashboard/notifications/edit/sagas.js","dashboard/notifications/sagas.js","dashboard/exports/components/sagas.js","dashboard/config/sagas.js","dashboard/bdmdealers/sagas.js","dashboard/sagas.js","components/regomakemodel/sagas.js","policylists/components/sagas.js","policylists/mbid/sagas.js","policyactions/archive/sagas.js","policyactions/cancellation/sagas.js","policyactions/errorreport/sagas.js","policyactions/copypolicy/sagas.js","policyactions/modifypolicy/sagas.js","policyactions/requestmodification/sagas.js","policyactions/requestregomodification/sagas.js","policyactions/rebuildcert/sagas.js","policyactions/savetoproteus/sagas.js","policyactions/wording/sagas.js","policy/components/disclosure/list/components/sagas.js","policy/components/disclosure/pending/components/sagas.js","policy/sagas.js","elog/components/sagas.js","elog/month/sagas.js","elog/saleslog/sagas.js","developer/activeusers/sagas.js","developer/recentwslogs/sagas.js","webservices/execute/sagas.js","webservices/list/sagas.js","webservices/fnlist/sagas.js","financecompanies/edit/sagas.js","financecompanies/list/sagas.js","claims/list/sagas.js","claims/makeaclaim/sagas.js","agentlocator/sagas.js","store.js","developer/activeusers/reducer.js","policyactions/copypolicy/reducer.js","dashboard/dealership/copydealership/reducer.js","policyactions/sagas.js","developer/sagas.js","elog/sagas.js","financecompanies/sagas.js","webservices/sagas.js","claims/sagas.js","dashboard/dealership/rates/actions.js","policyactions/cancellation/actions.js","policyactions/errorreport/actions.js","policyactions/wording/actions.js","developer/activeusers/actions.js","dashboard/dealership/edit/actions.js","dashboard/mydealers/actions.js","agentlocator/actions.js","components/Inner.js","components/Widget.js","components/Wait.js","components/BlackIcon.js","Frame.js","components/Alert.js","components/forms/Checkbox.js","components/ErrorBoundary.js","actions.js","dashboard/actions.js","dashboard/vehicleconfigs/edit/actions.js","components/Breadcrumb.js","Routes.js","components/forms/Label.js","components/security/ErrorPage.js","dashboard/mbiquickquote/actions.js","auth/actions.js","dashboard/myapplications/actions.js","assets/img/logo-tagline.png","bugsnagClient.js","components/Back.js","components/forms/Select.js","components/isotope/Full.js","components/Header.js","components/ResponsiveTable.js","components/DropNav.js","policyactions/savetoproteus/actions.js","policylists/components/ListTour.js","policylists/components/ListHOC.js","policyactions/rebuildcert/actions.js","components/security/LoggedInOnly.js","components/isotope/CenteredMax600px.js","dashboard/mviquickquote/actions.js","dashboard/pciquickquote/actions.js","dashboard/user/edit/actions.js","policyactions/alertmsgs/actions.js","homepage/modules/components/Toolbar.js","assets/img/canstar.png","dashboard/mciquickquote/actions.js","policy/actions.js","components/regomakemodel/regoSearchReducer.js","components/forms/Input.js","components/forms/TextArea.js","settings.js","homepage/modules/components/AppBar.js","dashboard/notifications/edit/actions.js","apiDotnet.js","dashboard/config/actions.js","dashboard/usernotifications/actions.js","components/StoreLogger.js","policyactions/modifypolicy/actions.js","claims/makeaclaim/actions.js","auth/login/actions.js","dashboard/user/roles/actions.js","policyactions/requestmodification/actions.js","elog/components/actions.js","policyactions/requestregomodification/actions.js","dashboard/notifications/list/components/actions.js","components/ErrorModal.js","components/SuccessModal.js","components/NotificationModal.js","dashboard/usernotifications/UserNotifications.js","AppContainer.js","App.js","index.js","dashboard/bdmdealers/actions.js","dashboard/dealership/list/components/actions.js","dashboard/user/list/components/actions.js","elog/month/actions.js","policylists/components/actions.js","dashboard/user/userblock/actions.js"],"names":["__webpack_require__","d","__webpack_exports__","SET_OPTION_CODE","REGO_SEARCH","regoSearch","REGO_SEARCH_NEW","regoSearchNew","REGO_VALIDATE","validateRego","VIN_VALIDATE","REGO_INVALIDATE","REGO_VEHICLE_NOT_FOUND","vehicleNotFound","REGO_SEARCH_RETRIEVED","REGO_SEARCH_MARK","regoSearchMark","REGO_SEARCH_CORRECT","regoSearchCorrect","REGO_SEARCH_INCORRECT","regoSearchIncorrect","REGO_SEARCH_CLOSE","regoSearchClose","MAKES_RETRIEVED","MAKE_SELECTED","makeSelected","MODELS_RETRIEVED","modelsRetrieved","MODEL_SELECTED","modelSelected","MCI_MODEL_SELECTED","mciModelSelected","SUBMODELS_RETRIEVED","submodelsRetrieved","REGO_SEARCH_WAIT","wait","REGO_SEARCH_FINISHED","finished","viewmodel","PolicyPackage","index","type","rego","product","option","mode","value","match","correct","productcode","optioncode","make","models","model","submodels","CLOSEDISCOVERRIDEREQMODAL","closeDiscOverrideReqModal","WAIT","INTIATE_DISC_REQ_MODAL","initiateDisclsoureReqModal","FINISHED","finishedDiscWait","SUBMITTED","submitted","SETUSER","setUser","LOGIN","login","RESET","reset","SIGNOUT","signOut","id","dealershipLogin","LOADPAGE","loadPage","PAGELOADED","pageLoaded","CHANGE_SUBMISSION_STATUS","changeSubmissionStatus","listType","page","search","activePage","recordsTotal","data","policyID","received","asyncComponent","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","importComponent","Component","constructor","props","super","this","state","component","[object Object]","default","setState","render","C","React","createElement","SETACTIVE","setActiveWSLog","SETPAGE","setPage","datefrom","dateto","reqtype","wslog","INIT","init","REEXECUTE","execute","CANCEL","cancel","document","response","searchtype","INITIALIZE","initialize","INITIALIZED","initialized","SAVE","save","monthid","saleslogid","saleslog","ui","Error","messages","valueMissing","typeMismatch","val","concat","Errors","show","wrapper","Item","field","touched","focus","StyledWrapper","children","styled","div","_templateObject","_taggedTemplateLiteral","StyledError","_templateObject2","CLOSECOPYPOLICY","closeCopyPolicy","policyid","history__WEBPACK_IMPORTED_MODULE_0__","createBrowserHistory","ARCHIVE","archive","CLOSEARCHIVEPOLICY","closeArchivePolicy","policy","archived","CLOSECOPYDEALERSHIP","closeCopyDealership","dealershipid","dealership","console","log","currentStepIndex","nextStepIndex","initialState","_components_regomakemodel_actions__WEBPACK_IMPORTED_MODULE_0__","_actions__WEBPACK_IMPORTED_MODULE_1__","_components_regomakemodel_regoSearchReducer__WEBPACK_IMPORTED_MODULE_2__","initialUI","disabled","loading","showAddressDropDown","uiwait","uiblock","saverequest","savewait","confirmrequest","disclosureConfirmrequest","confirmwait","ccwait","confirmConfirm","cancelConfirm","disclosureConfirm","validateWait","validateRequest","Steps","addressSearch","activestep","errorstep","regosearch","activevehicle","activedriver","activecycle","activerider","proposertype","Products","undefined","Vehicles","Cycles","Premiums","AreasOfGaraging","AOGLookup","FinanceCompanies","MBI","MVI","MCI","PCI","PPP","GAP","CreditCard","DirectDebit","ReferralReasons","PremiumDetails","validated","policyUpdateRunning","status","MBIOption","MVIOption","MCIOption","PCIOption","PPPOption","GAPOption","Proposer","title","company","find","step","i","name","prevStepIndex","newStep","clickable","arguments","length","action","CONTINUE_DETAILED","UPDATED","isFor","ArrayInitialState","makes","policyUpdateUI","POLICY_UPDATE_START","POLICY_UPDATE_END","SET_STEP","ERROR_STEP","NEXT_STEP","PREVIOUS_STEP","STEP_COMPLETED","CONFIRM_POLICY","SEND_DISCLOSURE","ArrayRegoSearchReducer","SET_ACTIVE_VEHICLE","SET_ACTIVE_DRIVER","SET_ACTIVE_CYCLE","SET_ACTIVE_RIDER","QUERY_REMOVE_DRIVER","queryremovedriver","CANCEL_REMOVE_DRIVER","QUERY_REMOVE_RIDER","queryremoverider","CANCEL_REMOVE_RIDER","QUERY_REMOVE_CYCLE","queryremovecycle","CANCEL_REMOVE_CYCLE","QUERY_REMOVE_VEHICLE","queryremovevehicle","CANCEL_REMOVE_VEHICLE","POWERTRAIN_SELECTED","PolicyVehicles","petrol","powertrain","endsWith","diesel","EVHYBRID_SELECTED","Electric","evhybrid","Hybrid","ENA","CLASSIC_DISP_RISK_ADDRESS","searchAddress","addresses","VEHICLE_NOT_REGISTERD","map","v","notregistered","VEHICLE_CLEAR_REGISTRATION","RegistrationNumber","VEHICLE_REGO_LOOKUP_SUCCESS","Make","Model","YearOfManufacture","year","VinNumber","vin","ORIGIN_SELECTED","import","origin","nznew","UPDATE_DISCLOSURE_REASON","DisclosureOverrideReason","reason","SET_PROPOSER_TYPE","DISPLAY_MATCH_ADDRESSES","PROPOSER_SET_PERSON","givenname","surname","dateofbirth","DD_SET_LOCATION","DD","ProposerDD","customeraddr1","addressDD1","address1","sLocationLine1","force","startsWith","customeraddr2","addressDD2","address2","sLocationLine2","customeraddr3","addressDD3","address3","sLocationLine3","customeraddr4","postcodeDD","postcode","sLocationLine4","searchbox","PROPOSER_SET_LOCATION","VEHICLE_SET_LOCATION","Vehicle1","v_locationline1","locationline1","v_locationline2","locationline2","v_locationline3","locationline3","postcode2","PostCode","slice","CLASSIC_RISK_SET_LOCATION","Vehicle","postcode1","postCode","CANCEL_NO","UI_LOAD","UI_FINISHED","CC_WAIT","CC_FINISHED","SAVE_REQUEST","SAVE_WAIT","SAVE_FINISHED","DISCLOSURE_SHOW","DISCLOSURE_NO","CONFIRM_SHOW","CONFIRM_NO","CONFIRM_REQUEST","DISCLOSURE_CONFIRM_REQUEST","CONFIRM_WAIT","confirmwrequest","UI_BLOCK_START","UI_BLOCK_END","VALIDATE_WAIT","validatewait","validaterequest","VALIDATE_REQUEST","VALIDATE_FINISHED","CLEAR_VALIDATION","CONFIRM_FINISHED","LOAD","load","LOADED","loaded","NEW","newFC","financecompany","START","start","STOP","stop","SETWSLOGS","setWSLogs","wslogs","StyledFontAwesome","FontAwesome","WhiteIcon","DO_EXPORT","doExport","filename","app","rrf","User_name","User_password","allow","user","token","Settings","tokenDotnet","help","recentPoliciesDotnet","recentQuotesDotnet","recentSignedQuotes","serviceLevel","bdm","bdms","records","dealershipRole","dealershipRoles","config","configs","notice","enabled","dealerships","otherdealerships","dealerCode","firstName","otherdealership","password","loginName","otherdealercodes","userBlocked","editmode","vehiclematch","cyclematch","notification","targetUser","targetGroup","emailMode","dashboardMode","broadcastedStatus","usernotification","notifications","check","userblock","message","apiQuery","ch","discoverridereq","SASS","MBISPPP","ddsignature","subsignature","propsignature","protectasignature","skyprinsign1","skyprinsign2","skyconsign","skydirectorsign","allowedProducts","allproducts","allowedproducts","consultants","staff","DealerConfig","AllFinanceCompanies","SelectedFinanceCompanies","AllowedProducts","RemainingProducts","DealerName","DealerCode","DealerTypes","DealerType","DealerGroups","DealerGroup","DealerBrands","DealerBrand","DealerSelectivities","SelectedFinanceCompanyCodes","mbiDealerships","ppiDealerships","gapDealerships","claimLimits","selectedProduct","mbiProductGroup","gapProductGroup","standardMbiProductGroup","standardGapProductGroup","viewWholesalePrices","viewIsTaxi","policyWordings","socList","loadingRates","loadingDealerships","loadingStandardRates","dealers","filter","filtered","initialDriverState","gender","licenceclass","licencecountry","yearslicence","accidents","atfaultaccidents","MotorVehicleInsurancePolicy","Drivers","Submodel","OvernightParking","VehicleUse","regosearchInitialState","modalVisible","MotorCycleInsurancePolicy","PolicyOption","Riders","ridingexperience","incidents5years","incidents12months","PolicyMotorCycles","regostatus","initialVehicleState","ProtectaClassicInsurancePolicy","ratingscategories","MotorVehicleBreakdownPolicy","odometer","turbo","fourwd","options","maxOdometer","today","Date","formatDate","setDate","getDate","date","month","getMonth","day","getFullYear","join","policyNumber","PolicyVehicle","Mail","ReasonForCancel","address","subject","policyList","initialstate","activewslog","executeVisible","vsible","claim","Driver","filters","region","agents","agentsTotal","getTokenDotnet","auth","setDealerCodeDotnetSaga","takeLatest","SETDEALERCODE","select","res","call","getAPIDotnet","setDealerCode","ok","json","put","setTokenDotnet","setDealerCodeSuccess","resUserState","getCurrentUserState","jsonUserState","success","setAuth","redirection","history","push","e","bugsnagClient","notify","error","userImpersonate","USER_IMPERSONATE","impersonate","userId","userResetLogin","USER_RESET","resetLogin","userImpersonateEnd","USER_IMPERSONATE_END","impersonateEnd","getAPI","api","base","window","location","href","stdOpts","credentials","headers","Headers","pragma","cache-control","authorization","stdOptsPost","method","stdOptsPostJSON","content-type","getAuth","fetch","doLogin","body","JSON","stringify","Action","getDashboardState","dealershipSignOut","getPolicies","getPolicy","getMatchingAddresses","copyPolicy","newPolicy","putPolicy","updatePolicy","calculateRIPremium","VehicleID","optionUpdatePolicy","premiumModeUpdate","overridePolicy","validatePolicy","selectPolicy","archivePolicy","addDriver","addRider","addVehicle","addCycle","removeDriver","removeRider","removeCycle","removeVehicle","creditCardPayment","saveQuickQuote","saveAsQuote","confirmPolicy","ccSuccessPolicy","result","ccresult","ccFailPolicy","emailPolicy","doRegoSearch","doRegoSearchMark","getModels","getSubmodels","getMCIRegoStatus","getRatingsCategories","calculatePremium","validateModifyPolicy","saveModifyPolicy","requestPolicyModification","policynumber","requestPolicyRegoModification","doMailFormSubmit","getActiveUsers","doKeepAlive","saveToProteus","rebuildCert","getELogMonths","getELogMonth","closeELogMonth","openELogMonth","getSalesLog","saveSalesLog","getRecentWSLogs","getWSLogs","executeWSLog","xml","b64xml","btoa","getDealerships","copyDealership","getDealership","newApplication","saveDealership","Dealership","saveQuickDealership","uploadDealership","retrieveFromProteus","getFinanceCompanies","getFinanceCompany","saveFinanceCompany","FinanceCompany","getClaims","getClaim","saveClaim","Claim","lookupClaim","getAgents","loginDotnetSaga","redirect","url","resDashboard","jsonDashboard","failed","logoutDotnetSaga","LOGOUT","mbiReset","mciReset","mviReset","pciReset","rootSaga","all","authSaga","QUERY_ALLOWED","email","loginrequired","showLogin","dealershipSignOutSaga","signedOut","initializeSaga","updatePolicySaga","UPDATE","updateQuickQuote","store","getState","MBIQuickQuote","updated","calculatePremiumsSaga","CALCULATE_PREMIUMS","QuickQuote","premiumsCalculated","continueDoSaveSaga","CONTINUE_DO_SAVE","actions","resetValidity","recentQuotes","print","quotes","urlprint","premiumsSaga","processErrors","Referred","referred","ExcessMatrix","saveSaga","fetchRecentQuotes","retrieveRatingsCategoriesSaga","YEAR_CHANGED","ratingCatsRetrived","newApplicationSaga","newDealerSetupForAdminSaga","DEALER_SETUP_ADMIN","dealershipLoadSaga","goBack","dealershipConfigLoadSaga","LOADCONFIG","getDealershipConfig","code","Code","Descriptions","loadedconfig","saveConfigSaga","SAVECONFIG","saveConfig","configComplete","getPureAgentCode","GET_PURE_CODE","dealertype","applyPureCode","pureCode","webCode","dealershipSaveSaga","showMBI","Pinnacle","Optimum","Maxi","LCV","ddRequired","newyard","affapplication","ddexeception","subRequired","confirmWait","Objective1","Objective2","Objective3","presaleservice","initiateConfig","confirmFinished","dealershipQuickSaveSaga","QUICK_SAVE","upload","dealershipUploadSaga","UPLOAD","initializeCopyDealershipSaga","showCopyDealership","loadPageSaga","getAllDealerships","loadBDMs","LOADBDMS","getAllBDMs","loadedBDMS","retrieveDealershipsSaga","RETRIEVE","getDealershipForConfigs","dealershipLoginSaga","loadDealershipRatesSaga","LOAD_RATES","loadRateLoading","getDealerRates","isTaxi","selectedClaimLimit","loadRatesSuccess","productGroups","loadStandardRatesSaga","LOAD_STANDARD_RATES","loadStandardRatesSucess","loadMBIClaimLimits","LOAD_MBI_CLAIM_LIMITS","getMBIClaimLimits","productCode","loadMBIClaimLimitsSucess","loadDealershipsForMbiSaga","LOAD_DEALERSHIPS_FOR_MBI","loadDealershipsForProduct","loadDealershipsForPpiSaga","LOAD_DEALERSHIPS_FOR_PPI","loadDealershipsForGapSaga","LOAD_DEALERSHIPS_FOR_GAP","loadAllDealershipsForMBISaga","LOAD_ALL_DEALERSHIPS_FOR_MBI_RATES","loadAllDealershipsForProduct","loadAllDealershipsForGAPSaga","LOAD_ALL_DEALERSHIPS_FOR_GAP_RATES","getDealershipsForProductRates","loadDealershipsForMbiSuccess","loadDealershipsForPpiSuccess","loadDealershipsForGapSuccess","getAllDealershipsForProductRates","loadPolicyWordingsSaga","LOAD_POLICY_WORDINGS","getPolicyWordings","loadPolicyWordingsSuccess","loadSummaryOfCoverListSaga","LOAD_SUMMARY_OF_COVER_LIST","getSummaryOfCoverList","loadSummaryOfCoverListSuccess","editSagas","listSagas","loginSagas","listConfigSagas","copySagas","ratesSagas","getUserList","changeUserStatus","CHANGE_LOGIN_STATUS","changeDealershipUserStatus","closeUserBlock","changeArchivedStatus","CHANGE_ARCHIVED_STATUS","changeUserArchivedStatus","saveRole","SAVE_ROLE","saveDealershipRole","loadRoles","uiblockend","changeStatus","CHANGE_STATUS","changeDealershipStaffRoleStatus","getRoles","LOAD_ROLES","getDealershipStaffRoles","loadedRoles","getDealershipActiveStaffRoles","LOAD_DEALERSHIPS","getActiveDealerships","loadedDealerships","saveUser","SAVE_USER","uiblockstart","applyEditUser","sendLoginDetails","SEND_LOGIN_DETAILS","getUser","roleSagas","userSagas","getVehicleConfigList","loadVehicle","LOAD_VEHICLE","loadVehicleMatch","loadedVehicle","loadModels","LOAD_MODELS","loadAllVehicleModelsForConfig","loadedVehcileModels","loadCycleModels","LOAD_CYCLE_MODELS","loadAllCycleModelsForConfig","loadedCycleModels","loadSubModels","LOAD_SUBMODELS","loadAllVehicleSubmodelsForConfig","loadedVehicleSubModels","loadCycle","LOAD_CYCLE","loadCycleMatch","loadedCycle","saveCycleMatch","SAVE_CYCLE_MATCH","saveVehicleMatch","SAVE_VEHICLE_MATCH","acceptNotifications","ACCEPT_NOTIFICATIONS","saveUserNotification","closeUserNotificationBlock","userid","getNotificationList","triggerNotificationId","TRIGGER_NOTIFICATION_ID","triggerNotificationIdUser","TRIGGER_NOTIFICATION_ID_USER","getNotification","loadUserNotification","LOAD_USER_NOTIFICATION","loadedUserNotification","saveNotification","SAVE_NOTIFICATION","triggerNotification","TRIGGER_NOTIFICATION","notificationSagas","doExportSaga","blob","FileSaver","saveAs","changeGlobalConfigStatus","loadConfigs","updateHomeBanner","UPDATE_HOME_BANNER","banner","loadedBanner","getConfigs","LOAD_CONFIGS","getGlobalConfigs","loadedConfigs","getHomeNotice","LOAD_HOME_BANNER","getHomeBannerNotice","getBDMDealerships","LOAD_BDMS","MyDealersInitialized","initializeDotnetSaga","loadDashboardDotnet","reloadDashboardSaga","SET_DEALERCODE_SUCCESS","fork","initializeRecentPolicies","fetchRecentSignedQuotes","initializeRecentPoliciesWithoutRegos","getRecentPolicies","recentPolicies","fetchRecentQuotesSaga","FETCH_RECENT_QUOTES","getRecentQuotes","fetchRecentSignedQuotesSaga","getRecentSignedQuotes","getRecentPoliciesWithoutRegos","recentPoliciesWithoutRegos","loadNotificationSaga","LOAD_NOTIFICATIONS","getPendingNotifications","initiateUserNotificationBlock","showUserNotificationBlock","regoSearchSaga","regoSearchSagaNew","searchRego","notRegistered","vehicleNotRegistered","vehicleClearRegistration","information","vehicleRegoLookupSuccess","yearOfManufacture","errorMessage","regoSearchMarkSaga","delay","regoValidateSaga","vinValidateSaga","getModelsSaga","getSubmodelsSaga","getSubModels","getMCIRegoStatusSaga","mciSpecRetrieved","getPolicyListings","mbigList","getMBIGPolicyList","archiveSaga","issueReload","doSubmitSaga","DO_SUBMIT","policyCancellation","submited","initializeCopyPolicySaga","showCopyPolicy","doInitialize","initializeModifyPolicySaga","showModifyPolicy","doSave","modifyPolicy","documentUrlsArray","Object","entries","_ref","key","replace","docUrl","saved","closeModifyPolicy","validationError","errors","initializeRequestModificationSaga","showRequestModification","saveRequestModification","closeRequestModification","initializeRequestRegoModificationSaga","showRequestRegoModification","saveRequestRegoModification","closeRequestRegoModification","rebuildCertSaga","REBUILDCERT","rebuildCertificate","saveToProteusSaga","SAVETOPROTEUS","getManualDisclosureList","getPendingDisclosureList","FOCUS_DELAY","newPolicySaga","NEW_POLICY","processPolicyResponse","continuePolicySaga","CONTINUE_POLICY","selectProductsSaga","SELECT_PRODUCTS","searchProposerAddressSaga","SEARCH_PROPOSER_ADDRESS","displayMatchAddresses","classicRiskAddressSearch","CLASSIC_RISK_ADDRESS_SEARCH","classicMatchAddresses","ccSuccessSaga","CCSUCCESS","getPolicyForCreditCardResult","resCC","jsonCC","ccFailSaga","CCFAIL","validateSummarySaga","SUMMARY_VALIDATE","errostep","getFieldFocus","nextStep","setStep","updateSaga","policyUpdateStart","changes","policyAction","policyUpdateEnd","updateProductsSaga","UPDATE_PRODUCTS","caculateRIPremium","CALCULATE_RI_PREMIUM","vehicleID","optionUpdateSaga","OPTION_UPDATE","premiumModeUpdateSaga","PREMIUM_MODE_UPDATE","validateSaga","VALIDATE","validateFinished","confirmRequest","submit","disclosureConfirmRequest","selectSaga","SELECT","icurrent","overrideSaga","OVERRIDE","requestDiscOverride","REQUEST_DISCLOSURE_OVERRIDE","updateDisclosureReason","discreqoverride","submitDisclosureOverrideRequest","discOverride","discOverrideSaga","DISC_OVERRIDE","addVehicleSaga","ADD_VEHICLE","setActiveVehicle","addDriverSaga","ADD_DRIVER","uiload","setActiveDriver","uifinished","scrollTo","addRiderSaga","ADD_RIDER","setActiveRider","addCycleSaga","ADD_CYCLE","setActiveCycle","removeDriverSaga","REMOVE_DRIVER","removeRiderSaga","REMOVE_RIDER","removeCycleSaga","REMOVE_CYCLE","removeVehicleSaga","REMOVE_VEHICLE","creditCardPaymentSaga","CREDITCARD_PAYMENT","ccFinished","saveAndExitSaga","SAVE_AND_EXIT","saveFinished","saveAsQuoteSaga","SAVE_AS_QUOTE","confirmPolicySaga","sendDisclosureSaga","sendDisclosure","emailPolicySaga","EMAIL_POLICY","cancelPolicySaga","CANCEL_POLICY","cancelPolicy","theftexcessoverride","ExcessInfo","Excess5","PaymentProtectionPolicy","GuaranteedAssetProtectionPolicy","CreditCardDetails","millis","Promise","resolve","setTimeout","doUpdate","updateMonthSaga","YES","loadMonthSaga","loadSalesLogSaga","saveSalesLogSaga","monthInitialized","updateResource","pollAPI","setUsers","activeUsersSaga","watcherInstance","take","recentWSLogsSaga","executeSaga","wslogList","fnlist","getFNPolicyList","fcLoadSaga","fcSaveSaga","financecompanyList","LoadSaga","SaveSaga","LookupSaga","PROPOSERLOOKUP","policypackage","firstname","dob","addressstr","homephone","workphone","mobilephone","vehicle","unwait","fetchAgentsSaga","FETCH_AGENTS","agentsFetched","logger","createLogger","predicate","application","collapsed","sagaMiddleware","createSagaMiddleware","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","combineReducers","SHOWMODIFYPOLICY","modifyPolicyVisible","CLOSEMODIFYPOLICY","SHOWUSERBLOCK","userBlockVisble","CLOSEUSERBLOCK","SHOW_USER_NOTIFICATION_BLOCK","userNotificationVisible","CLOSE_USER_NOTIFICATION_BLOCK","SHOWREQUESTMODIFICATION","requestModificationVisible","SHOWPPPCOVIDMSG","showPPPCovidMsg","CLOSEPPPCOVIDMSG","SHOWDISCOVERRIDEREQMODAL","showDiscOverrideModal","SHOWREQUESTREGOMODIFICATION","requestRegoModificationVisible","CLOSEREQUESTMODIFICATION","CLOSEREQUESTREGOMODIFICATION","SHOWCOPYPOLICY","copyPolicyVisible","SHOWCOPYDEALERSHIP","copyDealershipVisible","SHOWARCHIVEPOLICY","archivePolicyVisible","ERROR","SUCCESS","INFORMATION","submessage","footer","CLOSE_ERROR_MODAL","newState","CLOSE_SUCCESS_MODAL","sucessState","LOG_NONE","LOG_APPLICATION","LOG_RRF","dashboard","tab","LOADING","RECENT_QUOTES","RECENT_SIGNED_QUOTES","RECENT_POLICIES","PENDING_NOTIFICATIONS","pendingNotifications","SETACTIVETAB","SETACTIVEPOLICY","activepolicy","SET_AUTH","SET_TOKEN_DOTNET","SIGNED_OUT","selected","SHOW_LOGIN","TOGGLE_EXPERT_MODE","activeUsers","SETUSERS","users","recentWSLogs","createForms","FAILED","REDIRECT","MVIQuickQuote","actionOptions","optionCode","PREMIUMS_CALCULATED","RESET_MVI_OPTION","REFERRED","CONTINUE_SAVE","CONTINUE_WAIT","CLOSE_SAVE","MCIQuickQuote","MCI_SPEC_RETRIEVED","PCIQuickQuote","RATING_CATS_RETRIEVED","OPTION_SELECTED","EV","regosearched","incorrect","Export","SETPROPOSERTYPE","SAVED","myDealers","LOADED_BDMS","bdmlist","Cancellation","SUBMITED","ErrorReport","Wording","monthList","sure","NO","Month","SORTDATE","SalesLog","sort","a","b","SORTTYPE","salesstatus","localeCompare","APPLY_PURE_CODE","pureagentcode","webagentcode","webcode","LOADED_CONFIG","APPLY_FINANCECOMPANIES","companies","x","PRODUCT_DROPPED","droppedList","remainedList","CONFIG_WAIT","CONFIG_COMPLETE","DEALERSHIP_SIGN","signtype","signature","dealershipList","LOADEDBDMS","userList","vehicleConfigList","manualList","pendingList","notificationList","LOADED_ROLES","LOADED_CONFIGS","LOADED_HOME_BANNER","UPDATE_HOME_BANNER_CHECK","APPLY_EMAIL_CHANGE","APPLY_TARGET_USER_ID","APPLY_DASHBOARD_CHANGE","APPLY_DASHBOARD_CHANGE_USER","APPLY_EMAIL_CHANGE_USER","LOADED_USER_NOTIFICATION","APPLY_PASSWORD","APPLY_OTHERDEALERSHIPS","APPLY_LOGNAME","APPLY_ENABLE_USER","APPLY_EDIT_USER","LOADED_DEALERSHIPS","LOADED_VEHICLE","LOADED_VEHICLE_MODELS","LOADED_VEHICLE_SUBMODELS","LOADED_CYCLE_MODELS","LOADED_CYCLE","INITIATE_USER_BLOCK","INITIATE_USER_NOTIFICATION_BLOCK","dealershipConfigList","dealershipRates","LOAD_RATE_LOADING","loadingMbiDealerships","loadingGapDealerships","loadingPpiDealerships","LOAD_RATES_SUCCESS","pg","cover","LOAD_STANDARD_RATES_SUCCESS","LOAD_MBI_CLAIM_LIMITS_SUCCESS","LOAD_DEALERSHIPS_FOR_MBI_SUCCESS","LOAD_DEALERSHIPS_FOR_GAP_SUCCESS","LOAD_DEALERSHIPS_FOR_PPI_SUCCESS","LOAD_POLICY_WORDINGS_SUCCESS","LOAD_SUMMARY_OF_COVER_LIST_SUCCESS","wsExecute","visible","activefinancecompany","financecompanyEdit","claimList","claimEdit","SETACTIVESTEP","COMPLETED","completed","UNWAIT","agentLocator","AGENTS_FETCHED","applyMiddleware","thunk","run","MBIQuickQuoteSagas","MCIQuickQuoteSagas","MVIQuickQuoteSagas","PCIQuickQuoteSagas","newApplicationSagas","dealershipSagas","userNotificationSagas","vehicleConfigSagas","notificationSags","exportSagas","configSagas","bdmSagas","archiveSagas","cancellationSagas","errorReportSagas","copypolicySagas","modifypolicySagas","requestmodificationSagas","requestRegomodificationSagas","savetoproteusSagas","wordingSagas","disclosureListSaga","disclosurePendingListSaga","activeusersSagas","recentwslogsSagas","monthSagas","saleslogSagas","executeSagas","fnSagas","makeAClaimSagas","subscribe","loadRates","loadStandardRates","loadDealershipsForMbi","loadDealershipsForGap","loadDealershipsForPpi","loadAllDealershipsForMBIRates","loadAllDealershipsForGAPRates","loadPolicyWordings","loadSummaryOfCoverList","doSubmit","loadconfig","productDropped","getPureCode","quickSave","applyFinancecompanies","confirmShow","configWait","confirmNo","signatureCapture","loadBDMS","fetchAgents","Inner","assign","className","Widget","highlighted","other","react_fontawesome__WEBPACK_IMPORTED_MODULE_1__","react_fontawesome__WEBPACK_IMPORTED_MODULE_1___default","Wait","spin","BlackIcon","Logo","StyledA","src","logo","alt","Frame","connect","dispatch","isMenuOpen","handleSubmit","bind","toggleMenu","toggleExpertMode","logOut","endImpersonate","initialDealerForm","dealercode","values","preventDefault","logout","menuClass","Fragment","Row","Col","xs","IdentityNav","onClick","Menu","style","styleOpen","styleClosed","Breadcrumb","target","canstarlogo","withStyles","theme","fontSize","placeholder","toolbarStyles","root","toolbar","justifyContent","maincolor","background","flexGrow","left","flex","float","leftLinkActive","color","palette","common","white","right","display","padding","flexDirection","alignItems","textAlign","tools","marginLeft","rightLink","spacing","linkSecondary","secondary","main","idnav","FreeFormDealerCode","AdminDealerNav","NormalDealerNav","LocalForm","onSubmit","data-tour","StyledDashboardLink","to","StyledDropdownButton","pullRight","bsStyle","MyDealership","Link","DealershipMenu","BackToMyDealers","DealershipMenuItem","impersonated","Separator","PureComponent","mbireset","role","NavItem","NavLink","StyledLabel","StyledInput","autoComplete","DropdownButton","_templateObject3","label","_templateObject4","Control","text","_templateObject5","Alert","defaultProps","Checkbox","span","offset","sm","smOffset","checkbox","required","_bugsnagClient__WEBPACK_IMPORTED_MODULE_1__","_Alert__WEBPACK_IMPORTED_MODULE_2__","_StoreLogger__WEBPACK_IMPORTED_MODULE_3__","ErrorBoundary","hasError","componentDidCatch","info","StoreLogger","startKeepAlive","stopKeepAlive","showDiscOverrideReqModal","showArchivePolicy","closeErrorModal","closeSuccessModal","loadNotifications","setActiveTab","setActivePolicy","loadVehcileModels","loadVehicleSubModels","link","Standard","DealershipConfigs","DealershipStaffRoles","RatesAndSalesDocuments","showDealerRates","hasSalesDocuments","NotificationUserCreate","Notification","Policy","isNew","parseInt","DealershipQuickSetup","businessmanager","monthtext","customername","ClaimsList","AllPolicies","then","AllQuotes","Archives","RecentPolicies","RecentPoliciesWORegos","RecentQuotes","Referrals","Dealerships","DealershipUsers","ManualPendingList","ManualSubmittedList","DisclosurePendingList","DisclosureManualUploadPendingList","ActiveUsers","VehicleMatchList","CycleMatchList","NotificationRoleBased","NotificationUsersBased","NotificationUserBased","User","VehicleMatch","CycleMatch","FNPolicyList","ArchivedUsers","DealershipStaffRole","GlobalConfig","Applications","Processing","Review","DealershipConfigList","DealershipConfig","APMCExport","APMVExport","ClassicExport","ClassicFollowUp","DirectDebitExport","CreditCardExport","RenewalLogsExport","DealerSalesExport","AdjustedPremiumsExport","APMVCommisionsExport","ThisMonth","LastMonth","WSLogList","Dashboard","HomePage","ClaimsEdit","AgentLocator","MakeAClaim","Training","Privacy","MBIDirectFileProcess","DealerAgreementProcess","MBIPolicyList","FileUpload","RedbookVehicleFinder","DealershipRates","HomeNotice","routes","path","bcComponent","exact","BreadCrumb","public","Routes","Switch","route","Route","react_bootstrap_lib_Col__WEBPACK_IMPORTED_MODULE_1__","react_bootstrap_lib_Col__WEBPACK_IMPORTED_MODULE_1___default","react_bootstrap_lib_ControlLabel__WEBPACK_IMPORTED_MODULE_2__","react_bootstrap_lib_ControlLabel__WEBPACK_IMPORTED_MODULE_2___default","Label","componentClass","ControlLabel","_Frame_js__WEBPACK_IMPORTED_MODULE_1__","_components_StoreLogger__WEBPACK_IMPORTED_MODULE_2__","_components_Inner__WEBPACK_IMPORTED_MODULE_3__","_components_Widget__WEBPACK_IMPORTED_MODULE_4__","_components_isotope_CenteredMax600px__WEBPACK_IMPORTED_MODULE_5__","ErrorPage","CenteredMax600px","override","update","optionSelected","powertrainSelected","evHybridSelected","originSelected","calculatePremiums","continueSave","continueDoSave","continueWait","closeSave","queryAllowed","dealerSetUpForAdmin","module","exports","p","_bugsnag_js__WEBPACK_IMPORTED_MODULE_1__","_bugsnag_js__WEBPACK_IMPORTED_MODULE_1___default","_bugsnag_plugin_react__WEBPACK_IMPORTED_MODULE_2__","_bugsnag_plugin_react__WEBPACK_IMPORTED_MODULE_2___default","bugsnag","use","bugsnagReact","getPlugin","_history__WEBPACK_IMPORTED_MODULE_1__","_components_WhiteIcon__WEBPACK_IMPORTED_MODULE_2__","Back","handleClick","position","top","marginRight","react_redux_form__WEBPACK_IMPORTED_MODULE_1__","react_bootstrap_lib_Col__WEBPACK_IMPORTED_MODULE_2__","react_bootstrap_lib_Col__WEBPACK_IMPORTED_MODULE_2___default","_Error__WEBPACK_IMPORTED_MODULE_3__","Select","Full","StyledDiv","Header","StyledTable","table","ResponsiveTable","DropNav","bsSize","ListTour","isTourOpen","openTour","closeTour","disableBody","disableBodyScroll","enableBody","enableBodyScroll","RightButton","Tour","steps","getSteps","isOpen","onRequestClose","closeWithMask","maskSpace","onAfterOpen","onBeforeClose","content","selector","Button","ListHOC","handlePageChange","handleSearch","handleSearchClear","handleKeypress","doPageLoad","doLog","componentDidMount","pageNumber","change","event","charCode","LoggedInOnly","IsotopeItem","StyledBack","List","RecentReferrals","MenuItem","divider","Form","FormGroup","Pagination","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","onChange","InputGroup","onKeyPress","Addon","StyledAlert","ReponsiveTable","headings","row","CenteredTD","td","RightTD","MenuRow","colSpan","react_redux__WEBPACK_IMPORTED_MODULE_1__","_ErrorPage__WEBPACK_IMPORTED_MODULE_2__","StyledDiv2","yearChanged","applyPassword","applyLogName","applyEnableUser","applyOtherDealerships","loadDealerships","closePPPCovidMsg","styles","_material_ui_core_styles__WEBPACK_IMPORTED_MODULE_0__","_material_ui_core_Toolbar__WEBPACK_IMPORTED_MODULE_1__","height","breakpoints","up","Toolbar","continuePolicy","continueDetailed","ccsuccess","ccfail","validate","updateProducts","optionUpdate","errorStep","previousStep","saveAndExit","queryRemoveCycle","cancelRemoveCycle","queryRemoveVehicle","cancelRemoveVehicle","queryRemoveDriver","cancelRemoveDriver","queryRemoveRider","cancelRemoveRider","powerTrainSelected","setProposerType","searchProposerAddress","cancelNo","ccWait","saveRequest","summaryValidate","saveWait","disclosureShow","disclosureNo","requestDisclosureOverride","proposerSetPerson","proposerSetLocation","vehicleSetLocation","ddSetLocation","_actions__WEBPACK_IMPORTED_MODULE_0__","Icle","Array","isArray","regosearches","vehiclefound","regoSearchReducer","Icles","react_bootstrap_lib_InputGroup__WEBPACK_IMPORTED_MODULE_3__","react_bootstrap_lib_InputGroup__WEBPACK_IMPORTED_MODULE_3___default","_Error__WEBPACK_IMPORTED_MODULE_4__","Input","prefix","suffix","suffixClick","handleFocus","onFocus","react_redux_form__WEBPACK_IMPORTED_MODULE_2__","TextArea","textarea","placement","positionTop","TOKEN_DOTNET","getItem","setItem","localStorage","_material_ui_core_styles__WEBPACK_IMPORTED_MODULE_1__","_material_ui_core_AppBar__WEBPACK_IMPORTED_MODULE_2__","MuiAppBar","elevation","applyEmailChange","applyEmailChangeUser","applyTargetUserId","applyDashboardChange","applyDashboardChangeUser","isomorphic_fetch__WEBPACK_IMPORTED_MODULE_0__","isomorphic_fetch__WEBPACK_IMPORTED_MODULE_0___default","_settings__WEBPACK_IMPORTED_MODULE_1__","stdOptsFileUpload","file","formData","FormData","append","handleFetch","requestInfo","requestInit","handleUnauthorized","handleFileDownload","fileName","URL","createObjectURL","appendChild","download","click","remove","handleFileDownloadAsync","async","directFileDownload","dealershipAgreementDetailFileDownload","dealershipAgreementSummary","listtype","mbiDirectFileUpload","dealerAgreementProcess","getDirectFileList","getDealerAgreementFileList","getDealerAgreementSummaryDetails","onCallSupport","packageId","getClassicRatingCategories","dealerType","getDisclosureNotice","getManualSignedDisclosureDoc","DealershipConfigRequest","getJavlnVehicles","plate","getRedbookPriceDetails","rbc","getRedbookAutoCalc","getRedbookMakes","getRedbookModels","makeId","getRedbookYearGroups","familyId","getRedbookVehicles","yearGroupId","getRedbookVehicleDetails","getProductOptions","getDealerDocument","docType","getPpiPremium","request","downloadDealerRates","isRetail","downloadDealerAgreement","loadBanner","updateHomeBannerCheck","react_bootstrap_lib_Button__WEBPACK_IMPORTED_MODULE_2__","react_bootstrap_lib_Button__WEBPACK_IMPORTED_MODULE_2___default","_components_WhiteIcon__WEBPACK_IMPORTED_MODULE_3__","_store__WEBPACK_IMPORTED_MODULE_4__","InnerStoreLogger","Developer","marginBottom","newClaim","setActiveStep","proposerLookup","yes","no","ErrorModal","handleClose","includes","split","indexOf","Modal","closeButton","onHide","Body","msg","Footer","slstyle","SuccessModal","NotticationModal","Fieldset","checked","UserNotifications","handleAccept","changeAction","changeOptionAction","ModifyPolicyModal","UserBlockModal","RequestModificationModal","CovidAlertMsgForPPPModal","RequestRegoModificationModal","CopyPolicyModal","CopyDealershipModal","ArchiveModal","DiscOverrideReqModal","AppContainer","componentWillMount","componentWillUnmount","Router","aria-labelledby","NotificationModal","Provider","ReactDOM","App","getElementById","sortDate","sortType","showUserBlock","initiateUserBlock"],"mappings":"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","file":"static/js/main.bc67f087.chunk.js","sourcesContent":["export const SET_OPTION_CODE = \"REGO_SET_OPTION_CODE\";\r\nexport const setOptionCode = (viewmodel, productcode, optioncode) => {\r\n return { type: SET_OPTION_CODE, viewmodel, productcode, optioncode };\r\n};\r\n\r\nexport const REGO_SEARCH = \"REGO_SEARCH\";\r\nexport const regoSearch = (viewmodel, PolicyPackage, index) => {\r\n return { type: REGO_SEARCH, viewmodel, PolicyPackage, index };\r\n};\r\n\r\nexport const REGO_SEARCH_NEW = \"REGO_SEARCH_NEW\";\r\nexport const regoSearchNew = (viewmodel, rego, product, option, index) => {\r\n return { type: REGO_SEARCH_NEW, viewmodel, rego, product, option, index };\r\n};\r\n\r\nexport const REGO_VALIDATE = \"VALIDATE_REGO\";\r\nexport const validateRego = (viewmodel, index, rego, PolicyPackage, product, option, mode) => {\r\n return { type: REGO_SEARCH_NEW, viewmodel, index, rego, PolicyPackage, product, option, mode };\r\n};\r\n\r\nexport const VIN_VALIDATE = \"VIN_VALIDATE\";\r\nexport const validateVIN = (viewmodel, index, vin, make, model) => {\r\n return { type: VIN_VALIDATE, viewmodel, index, vin, make, model };\r\n};\r\n\r\nexport const REGO_INVALIDATE = \"REGO_INVALIDATE\";\r\nexport const invalidateRego = (viewmodel, value) => {\r\n return { type: REGO_INVALIDATE, viewmodel, value };\r\n};\r\n\r\nexport const REGO_VEHICLE_NOT_FOUND = \"REGO_VEHICLE_NOT_FOUND\";\r\nexport const vehicleNotFound = (viewmodel, value) => {\r\n return { type: REGO_VEHICLE_NOT_FOUND, viewmodel, value };\r\n};\r\n\r\nexport const REGO_SEARCH_RETRIEVED = \"REGO_SEARCH_RETRIEVED\";\r\nexport const regoSearchRetrieved = (viewmodel, index, match) => {\r\n return { type: REGO_SEARCH_RETRIEVED, viewmodel, index, match };\r\n};\r\n\r\nexport const REGO_SEARCH_MARK = \"REGO_SEARCH_MARK\";\r\nexport const regoSearchMark = (viewmodel, rego, match, correct) => {\r\n return { type: REGO_SEARCH_MARK, viewmodel, rego, match, correct };\r\n};\r\n\r\nexport const REGO_SEARCH_CORRECT = \"REGO_SEARCH_CORRECT\";\r\nexport const regoSearchCorrect = (viewmodel) => {\r\n return { type: REGO_SEARCH_CORRECT, viewmodel };\r\n};\r\n\r\nexport const REGO_SEARCH_INCORRECT = \"REGO_SEARCH_INCORRECT\";\r\nexport const regoSearchIncorrect = (viewmodel) => {\r\n return { type: REGO_SEARCH_INCORRECT, viewmodel };\r\n};\r\n\r\nexport const REGO_SEARCH_CLOSE = \"REGO_SEARCH_CLOSE\";\r\nexport const regoSearchClose = (viewmodel) => {\r\n return { type: REGO_SEARCH_CLOSE, viewmodel };\r\n};\r\n\r\nexport const RETRIEVE_MAKES = \"RETRIEVE_MAKES\";\r\nexport const retrieveMakes = (viewmodel, productcode, optioncode) => {\r\n return { type: RETRIEVE_MAKES, viewmodel, productcode, optioncode };\r\n};\r\n\r\nexport const MAKES_RETRIEVED = \"MAKES_RETRIEVED\";\r\nexport const makesRetrieved = (viewmodel, makes) => {\r\n return { type: MAKES_RETRIEVED, viewmodel, makes };\r\n};\r\n\r\nexport const MAKE_SELECTED = \"MAKE_SELECTED\";\r\nexport const makeSelected = (viewmodel, productcode, optioncode, make) => {\r\n return { type: MAKE_SELECTED, viewmodel, productcode, optioncode, make };\r\n};\r\n\r\nexport const MODELS_RETRIEVED = \"MODELS_RETRIEVED\";\r\nexport const modelsRetrieved = (viewmodel, models) => {\r\n return { type: MODELS_RETRIEVED, viewmodel, models };\r\n};\r\n\r\nexport const MODEL_SELECTED = \"MODEL_SELECTED\";\r\nexport const modelSelected = (viewmodel, productcode, optioncode, make, model) => {\r\n return { type: MODEL_SELECTED, viewmodel, productcode, optioncode, make, model };\r\n};\r\n\r\nexport const MCI_MODEL_SELECTED = \"MCI_MODEL_SELECTED\";\r\nexport const mciModelSelected = (viewmodel, productcode, optioncode, make, model) => {\r\n return { type: MCI_MODEL_SELECTED, viewmodel, productcode, optioncode, make, model };\r\n};\r\n\r\nexport const SUBMODELS_RETRIEVED = \"SUBMODELS_RETRIEVED\";\r\nexport const submodelsRetrieved = (viewmodel, submodels) => {\r\n return { type: SUBMODELS_RETRIEVED, viewmodel, submodels };\r\n};\r\n\r\nexport const SUBMODEL_SELECTED = \"SUBMODEL_SELECTED\";\r\nexport const submodelSelected = (viewmodel, PolicyPackage) => {\r\n return { type: SUBMODEL_SELECTED, viewmodel, PolicyPackage };\r\n};\r\n\r\nexport const REGO_SEARCH_WAIT = \"REGO_SEARCH_WAIT\";\r\nexport const wait = (viewmodel) => {\r\n return { type: REGO_SEARCH_WAIT, viewmodel };\r\n};\r\n\r\nexport const REGO_SEARCH_FINISHED = \"REGO_SEARCH_FINISHED\";\r\nexport const finished = (viewmodel) => {\r\n return { type: REGO_SEARCH_FINISHED, viewmodel };\r\n};\r\n","export const CLOSEDISCOVERRIDEREQMODAL = \"CLOSEDISCOVERRIDEREQMODAL\";\r\nexport const closeDiscOverrideReqModal = () => {\r\n return { type: CLOSEDISCOVERRIDEREQMODAL };\r\n};\r\nexport const WAIT = \"WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const INTIATE_DISC_REQ_MODAL = \"INTIATE_DISC_REQ_MODAL\";\r\nexport const initiateDisclsoureReqModal = (PolicyPackage) => {\r\n return { type: INTIATE_DISC_REQ_MODAL, PolicyPackage };\r\n};\r\n\r\nexport const FINISHED = \"FINISHED\";\r\nexport const finishedDiscWait = () => {\r\n return { type: FINISHED };\r\n};\r\n\r\nexport const SUBMITTED = \"SUBMITTED\";\r\nexport const submitted = () => {\r\n return { type: SUBMITTED };\r\n};\r\n","\r\nexport const SETUSER = 'DEALERSHIPLOGIN_SETUSER'\r\nexport const setUser = (id) => {\r\n return { 'type': SETUSER, id }\r\n}\r\n\r\nexport const LOGIN = 'DEALERSHIPLOGIN_LOGIN'\r\nexport const login = (dealershipLogin) => {\r\n return { 'type': LOGIN, dealershipLogin }\r\n}\r\n\r\nexport const RESET = 'DEALERSHIPLOGIN_RESET'\r\nexport const reset = () => {\r\n return { 'type': RESET }\r\n}\r\n\r\nexport const SIGNOUT = 'DEALERSHIPLOGIN_SIGNOUT'\r\nexport const signOut = () => {\r\n return { 'type': SIGNOUT }\r\n}\r\n","export const LOADPAGE = \"MANUALLIST_LOADPAGE\";\r\nexport const loadPage = (listType, page, search) => {\r\n return { type: LOADPAGE, listType, page, search };\r\n};\r\n\r\nexport const PAGELOADED = \"MANUALLIST_PAGELOADED\";\r\nexport const pageLoaded = (listType, activePage, search, recordsTotal, data) => {\r\n return { type: PAGELOADED, listType, activePage, search, recordsTotal, data };\r\n};\r\n\r\nexport const CHANGE_SUBMISSION_STATUS = \"CHANGE_SUBMISSION_STATUS\";\r\nexport const changeSubmissionStatus = (listType, activePage, search, policyID, received) => {\r\n return { type: CHANGE_SUBMISSION_STATUS, listType, activePage, search, policyID, received };\r\n};\r\n\r\nexport const WAIT = \"MANUALLIST_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"MANUALLIST_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n","import React, { Component } from 'react'\r\n\r\nexport default function asyncComponent (importComponent) {\r\n class AsyncComponent extends Component {\r\n constructor (props) {\r\n super(props)\r\n\r\n this.state = {\r\n component: null\r\n }\r\n }\r\n\r\n async componentDidMount () {\r\n const { default: component } = await importComponent()\r\n\r\n this.setState({\r\n component: component\r\n })\r\n }\r\n\r\n render () {\r\n const C = this.state.component\r\n\r\n return C ? : null\r\n }\r\n }\r\n\r\n return AsyncComponent\r\n}\r\n","export const LOADPAGE = 'WSLOG_LOADPAGE'\r\nexport const loadPage = (activePage, search, datefrom, dateto, reqtype) => {\r\n return { 'type': LOADPAGE, activePage, search, datefrom, dateto, reqtype }\r\n}\r\n\r\nexport const PAGELOADED = 'WSLOG_PAGELOADED'\r\nexport const pageLoaded = (activePage, search, datefrom, dateto, reqtype, recordsTotal, data) => {\r\n return { 'type': PAGELOADED, activePage, search, datefrom, dateto, reqtype, recordsTotal, data }\r\n}\r\n\r\nexport const WAIT = 'WSLOG_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'WSLOG_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n\r\nexport const SETACTIVE = 'WSLOG_SETACTIVE'\r\nexport const setActiveWSLog = (wslog) => {\r\n return { type: SETACTIVE, wslog }\r\n}\r\n\r\nexport const SETPAGE = 'WSLOG_SETPAGE'\r\nexport const setPage = (activePage) => {\r\n return { type: SETPAGE, activePage }\r\n}\r\n","export const LOADPAGE = 'FC_LOADPAGE'\r\nexport const loadPage = (activePage, search) => {\r\n return { 'type': LOADPAGE, activePage }\r\n}\r\n\r\nexport const PAGELOADED = 'FC_PAGELOADED'\r\nexport const pageLoaded = (activePage, search, recordsTotal, data) => {\r\n return { 'type': PAGELOADED, activePage, search, recordsTotal, data }\r\n}\r\n\r\nexport const WAIT = 'FC_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'FC_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n\r\nexport const SETACTIVE = 'FC_SETACTIVE'\r\nexport const setActiveFinanceCompany = (financecompany) => {\r\n return { type: SETACTIVE, financecompany }\r\n}\r\n\r\nexport const SETPAGE = 'FC_SETPAGE'\r\nexport const setPage = (activePage) => {\r\n return { type: SETPAGE, activePage }\r\n}\r\n","\r\nexport const INIT = 'WSLOG_REEXECUTE_INIT'\r\nexport const init = (document) => {\r\n return { type: INIT, document }\r\n}\r\n\r\nexport const REEXECUTE = 'WSLOG_REEXECUTE'\r\nexport const execute = (document) => {\r\n return { type: REEXECUTE, document }\r\n}\r\n\r\nexport const CANCEL = 'WSLOG_REEXECUTE_CANCEL'\r\nexport const cancel = () => {\r\n return { type: CANCEL }\r\n}\r\n\r\nexport const WAIT = 'WSLOG_REEXECUTE_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'WSLOG_REEXECUTE_FINISHED'\r\nexport const finished = (response) => {\r\n return { type: FINISHED, response }\r\n}\r\n","export const LOADPAGE = \"MBIG_LOADPAGE\";\r\nexport const loadPage = (activePage, search, searchtype) => {\r\n return { type: LOADPAGE, activePage, search, searchtype };\r\n};\r\n\r\nexport const PAGELOADED = \"MBIG_LOADED\";\r\nexport const pageLoaded = (activePage, search, searchtype, recordsTotal, data) => {\r\n return {\r\n type: PAGELOADED,\r\n activePage,\r\n search,\r\n searchtype,\r\n recordsTotal,\r\n data,\r\n };\r\n};\r\n\r\nexport const WAIT = \"MBIG_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"MBIG_WAIT_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n\r\nexport const SETPAGE = \"MBIG_SETPAGE\";\r\nexport const setPage = (activePage) => {\r\n return { type: SETPAGE, activePage };\r\n};\r\n","export const INITIALIZE = 'SALESLOG_INITIALIZE'\r\nexport const initialize = (monthid, saleslogid) => {\r\n return { 'type': INITIALIZE, monthid, saleslogid }\r\n}\r\n\r\nexport const INITIALIZED = 'SALESLOG_INITIALIZED'\r\nexport const initialized = (saleslog, ui) => {\r\n return { 'type': INITIALIZED, saleslog, ui }\r\n}\r\n\r\nexport const SAVE = 'SALESLOG_SAVE'\r\nexport const save = (saleslog) => {\r\n return { 'type': SAVE, saleslog }\r\n}\r\n\r\nexport const SAVED = 'SALESLOG_SAVED'\r\nexport const saved = (month) => {\r\n return { 'type': SAVED, month }\r\n}\r\n\r\nexport const WAIT = 'SALESLOG_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'SALESLOG_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n","export const LOADPAGE = \"FN_LOADPAGE\";\r\nexport const loadPage = (activePage, search, searchtype) => {\r\n return { type: LOADPAGE, activePage, search, searchtype };\r\n};\r\n\r\nexport const PAGELOADED = \"FN_PAGELOADED\";\r\nexport const pageLoaded = (\r\n activePage,\r\n search,\r\n searchtype,\r\n recordsTotal,\r\n data\r\n) => {\r\n return {\r\n type: PAGELOADED,\r\n activePage,\r\n search,\r\n searchtype,\r\n recordsTotal,\r\n data,\r\n };\r\n};\r\n\r\nexport const WAIT = \"FN_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"FN_WAIT_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n\r\nexport const SETPAGE = \"FN_SETPAGE\";\r\nexport const setPage = (activePage) => {\r\n return { type: SETPAGE, activePage };\r\n};\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Errors } from 'react-redux-form'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst Error = (props) => {\r\n let messages = {\r\n\r\n valueMissing: 'This field is required!',\r\n typeMismatch: (val) => `${val} is not a valid email.`\r\n }\r\n if(props.messages){\r\n messages=props.messages\r\n }\r\n return (\r\n \r\n )\r\n}\r\n\r\nError.propTypes = {\r\n model: PropTypes.string.isRequired\r\n}\r\n\r\nexport default Error\r\nconst show = (field) => field.touched && !field.focus\r\n//const show = (field) => !field.pristineE\r\n\r\nconst wrapper = (props) => {props.children}\r\nwrapper.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledWrapper = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding: 6px 12px;\r\n font-size: 14px;\r\n color: #555555;\r\n background-color: #f5f5f5;\r\n border: 1px solid #cccccc;\r\n border-top: 0;\r\n border-radius: 0 0 4px 4px;\r\n text-align: center;\r\n`\r\n\r\nconst Item = (props) => {props.children}\r\nItem.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledError = styled.div`\r\n color: red;\r\n`\r\n// const messages = {\r\n// valueMissing: 'This field is required!',\r\n// typeMismatch: (val) => `${val} is not a valid email.`\r\n// }\r\n","export const INITIALIZE = 'COPYPOLICY_INITIALIZE'\r\nexport const initialize = (policyid) => {\r\n return { 'type': INITIALIZE, policyid }\r\n}\r\n\r\nexport const INITIALIZED = 'COPYPOLICY_INITIALIZED'\r\nexport const initialized = (PolicyPackage, ui) => {\r\n return { 'type': INITIALIZED, PolicyPackage, ui }\r\n}\r\n\r\nexport const CLOSECOPYPOLICY = 'COPYPOLICY_CANCEL'\r\nexport const closeCopyPolicy = () => {\r\n return { 'type': CLOSECOPYPOLICY }\r\n}\r\n","import { createBrowserHistory } from 'history'\r\n\r\nexport default createBrowserHistory()\r\n","export const INITIALIZE = \"ARCHIVE_INITIALIZE\";\r\nexport const initialize = (policy) => {\r\n return { type: INITIALIZE, policy };\r\n};\r\n\r\nexport const ARCHIVE = \"ARCHIVE_DOARCHIVE\";\r\nexport const archive = (policyid, archived) => {\r\n return { type: ARCHIVE, policyid, archived };\r\n};\r\n\r\nexport const CLOSEARCHIVEPOLICY = \"ARCHIVE_CANCEL\";\r\nexport const closeArchivePolicy = () => {\r\n return { type: CLOSEARCHIVEPOLICY };\r\n};\r\n\r\nexport const ARCHIVED = \"ARCHIVE_ARCHIVED\";\r\nexport const ERROR = \"ARCHIVE_ERROR\";\r\n","export const INITIALIZE = \"COPYDEALERSHIP_INITIALIZE\";\r\nexport const initialize = (dealershipid) => {\r\n return { type: INITIALIZE, dealershipid };\r\n};\r\n\r\nexport const INITIALIZED = \"COPYDEALERSHIP_INITIALIZED\";\r\nexport const initialized = (dealership, ui) => {\r\n console.log(dealership, ui);\r\n return { type: INITIALIZED, dealership, ui };\r\n};\r\n\r\nexport const CLOSECOPYDEALERSHIP = \"COPYDEALERSHIP_CANCEL\";\r\nexport const closeCopyDealership = () => {\r\n return { type: CLOSECOPYDEALERSHIP };\r\n};\r\n","export const LOADPAGE = \"VEHICLECONFIG_LOADPAGE\";\r\nexport const loadPage = (listType, page, search) => {\r\n return { type: LOADPAGE, listType, page, search };\r\n};\r\n\r\nexport const PAGELOADED = \"VEHICLECONFIG_PAGELOADED\";\r\nexport const pageLoaded = (listType, activePage, search, recordsTotal, data) => {\r\n return { type: PAGELOADED, listType, activePage, search, recordsTotal, data };\r\n};\r\n\r\n\r\nexport const WAIT = \"VEHICLECONFIG_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"VEHICLECONFIG_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n","export const LOADPAGE = \"PENDINGLIST_LOADPAGE\";\r\nexport const loadPage = (listType, page, search) => {\r\n return { type: LOADPAGE, listType, page, search };\r\n};\r\n\r\nexport const PAGELOADED = \"PENDINGLIST_PAGELOADED\";\r\nexport const pageLoaded = (listType, activePage, search, recordsTotal, data) => {\r\n return { type: PAGELOADED, listType, activePage, search, recordsTotal, data };\r\n};\r\n\r\nexport const WAIT = \"MPENDINGLIST_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"PENDINGLIST_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n","import {\r\n SET_OPTION_CODE,\r\n REGO_SEARCH_RETRIEVED,\r\n REGO_SEARCH_CORRECT,\r\n REGO_SEARCH_INCORRECT,\r\n REGO_SEARCH_CLOSE,\r\n REGO_SEARCH_WAIT,\r\n REGO_SEARCH_FINISHED,\r\n MAKES_RETRIEVED,\r\n MODELS_RETRIEVED,\r\n SUBMODELS_RETRIEVED,\r\n REGO_INVALIDATE,\r\n REGO_VEHICLE_NOT_FOUND,\r\n} from \"../components/regomakemodel/actions\";\r\n\r\nimport {\r\n INITIALIZE,\r\n INITIALIZED,\r\n UPDATED,\r\n RESET,\r\n CONTINUE_DETAILED,\r\n SET_STEP,\r\n NEXT_STEP,\r\n PREVIOUS_STEP,\r\n STEP_COMPLETED,\r\n ERROR_STEP,\r\n CONFIRM_POLICY,\r\n SET_ACTIVE_VEHICLE,\r\n SET_ACTIVE_DRIVER,\r\n SET_ACTIVE_CYCLE,\r\n SET_ACTIVE_RIDER,\r\n QUERY_REMOVE_DRIVER,\r\n CANCEL_REMOVE_DRIVER,\r\n QUERY_REMOVE_RIDER,\r\n CANCEL_REMOVE_RIDER,\r\n QUERY_REMOVE_CYCLE,\r\n CANCEL_REMOVE_CYCLE,\r\n QUERY_REMOVE_VEHICLE,\r\n CANCEL_REMOVE_VEHICLE,\r\n POWERTRAIN_SELECTED,\r\n ORIGIN_SELECTED,\r\n SET_PROPOSER_TYPE,\r\n VEHICLE_NOT_REGISTERD,\r\n CANCEL,\r\n CANCEL_NO,\r\n WAIT,\r\n FINISHED,\r\n CC_WAIT,\r\n CC_FINISHED,\r\n SAVE_REQUEST,\r\n SAVE_WAIT,\r\n SAVE_FINISHED,\r\n CONFIRM_SHOW,\r\n CONFIRM_NO,\r\n CONFIRM_REQUEST,\r\n CONFIRM_WAIT,\r\n CONFIRM_FINISHED,\r\n VALIDATE_WAIT,\r\n VALIDATE_REQUEST,\r\n VALIDATE_FINISHED,\r\n CLEAR_VALIDATION,\r\n PROPOSER_SET_PERSON,\r\n PROPOSER_SET_LOCATION,\r\n VEHICLE_SET_LOCATION,\r\n DD_SET_LOCATION,\r\n UI_FINISHED,\r\n UI_LOAD,\r\n DISPLAY_MATCH_ADDRESSES,\r\n CLASSIC_RISK_SET_LOCATION,\r\n CLASSIC_DISP_RISK_ADDRESS,\r\n UI_BLOCK_START,\r\n UI_BLOCK_END,\r\n VEHICLE_REGO_LOOKUP_SUCCESS,\r\n VEHICLE_CLEAR_REGISTRATION,\r\n EVHYBRID_SELECTED,\r\n DISCLOSURE_SHOW,\r\n DISCLOSURE_NO,\r\n DISCLOSURE_CONFIRM_REQUEST,\r\n SEND_DISCLOSURE,\r\n UPDATE_DISCLOSURE_REASON,\r\n POLICY_UPDATE_START,\r\n POLICY_UPDATE_END,\r\n} from \"./actions\";\r\n\r\nimport { ArrayRegoSearchReducer, ArrayInitialState, isFor } from \"../components/regomakemodel/regoSearchReducer\";\r\nimport { actionTypes } from \"react-redux-form\";\r\n\r\nconst initialUI = {\r\n disabled: false,\r\n loading: true,\r\n showAddressDropDown: false,\r\n\r\n wait: false,\r\n uiwait: false,\r\n uiblock: false,\r\n\r\n saverequest: false,\r\n savewait: false,\r\n\r\n confirmrequest: false,\r\n disclosureConfirmrequest: false,\r\n confirmwait: false,\r\n\r\n ccwait: false,\r\n\r\n confirmConfirm: false,\r\n cancelConfirm: false,\r\n disclosureConfirm: false,\r\n validateWait: false,\r\n validateRequest: false,\r\n\r\n Steps: [],\r\n addressSearch: [],\r\n activestep: \"Products\",\r\n errorstep: \"\",\r\n regosearch: [],\r\n activevehicle: 0,\r\n activedriver: 0,\r\n activecycle: 0,\r\n activerider: 0,\r\n proposertype: \"Individual\",\r\n\r\n Products: undefined,\r\n Vehicles: undefined,\r\n Cycles: undefined,\r\n Premiums: undefined,\r\n AreasOfGaraging: undefined,\r\n AOGLookup: undefined,\r\n FinanceCompanies: undefined,\r\n MBI: undefined,\r\n MVI: undefined,\r\n MCI: undefined,\r\n PCI: undefined,\r\n PPP: undefined,\r\n GAP: undefined,\r\n CreditCard: undefined,\r\n DirectDebit: undefined,\r\n ReferralReasons: undefined,\r\n Errors: undefined,\r\n PremiumDetails: undefined,\r\n validated: false,\r\n policyUpdateRunning: false,\r\n};\r\n\r\nconst initialState = {\r\n viewmodel: \"policy\",\r\n PolicyPackage: {\r\n status: \"Incomplete\",\r\n MBIOption: \"\",\r\n MVIOption: \"\",\r\n MCIOption: \"\",\r\n PCIOption: \"\",\r\n PPPOption: \"\",\r\n GAPOption: \"\",\r\n Proposer: {\r\n title: \"\",\r\n company: \"\",\r\n },\r\n },\r\n ui: initialUI,\r\n};\r\n\r\nconst initialDriverState = {\r\n givenname: \"\",\r\n surname: \"\",\r\n accidents: \"\",\r\n};\r\n\r\nconst initialVehicleState = {\r\n addressSearch: [],\r\n};\r\n\r\nconst initialRiderState = {\r\n givenname: \"\",\r\n surname: \"\",\r\n accidents: \"\",\r\n};\r\n\r\nconst currentStepIndex = (Steps, activestep) => {\r\n let index = 0;\r\n Steps.find((step, i) => {\r\n if (step.name === activestep) {\r\n index = i;\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n return index;\r\n};\r\n\r\nconst nextStepIndex = (Steps, activestep) => {\r\n let newStep = currentStepIndex(Steps, activestep) + 1;\r\n //commented by kalindu\r\n // while (Steps[ newStep ] && !Steps[ newStep ].clickable) {\r\n // newStep++\r\n // }\r\n return newStep;\r\n};\r\n\r\nconst prevStepIndex = (Steps, activestep) => {\r\n let newStep = currentStepIndex(Steps, activestep) - 1;\r\n while (!Steps[newStep].clickable) {\r\n newStep--;\r\n }\r\n return newStep;\r\n};\r\n\r\nfunction policy(state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZE:\r\n case RESET:\r\n return initialState;\r\n\r\n case CONTINUE_DETAILED:\r\n return {\r\n ...state,\r\n PolicyPackage: action.PolicyPackage,\r\n ui: initialUI,\r\n };\r\n\r\n case INITIALIZED:\r\n case UPDATED:\r\n if (isFor(state, action)) {\r\n return policyUpdateUI(state, action);\r\n }\r\n\r\n return state;\r\n case POLICY_UPDATE_START:\r\n return { ...state, ui: { ...state.ui, policyUpdateRunning: true } };\r\n case POLICY_UPDATE_END:\r\n return { ...state, ui: { ...state.ui, policyUpdateRunning: false } };\r\n case SET_STEP:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activestep: action.activestep,\r\n errorstep: \"\",\r\n confirmConfirm: false,\r\n cancelConfirm: false,\r\n },\r\n };\r\n\r\n case ERROR_STEP:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n errorstep: action.errorstep,\r\n confirmConfirm: false,\r\n cancelConfirm: false,\r\n },\r\n };\r\n\r\n case NEXT_STEP:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activestep: state.ui.Steps[nextStepIndex(state.ui.Steps, state.ui.activestep)].name,\r\n errorstep: \"\",\r\n },\r\n };\r\n\r\n case PREVIOUS_STEP:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activestep: state.ui.Steps[prevStepIndex(state.ui.Steps, state.ui.activestep)].name,\r\n errorstep: \"\",\r\n },\r\n };\r\n\r\n case STEP_COMPLETED:\r\n return state;\r\n\r\n case CONFIRM_POLICY:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n },\r\n ui: {\r\n ...state.ui,\r\n confirmConfirm: false,\r\n validated: true,\r\n },\r\n };\r\n\r\n case SEND_DISCLOSURE:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n },\r\n ui: {\r\n ...state.ui,\r\n disclosureConfirm: false,\r\n validated: true,\r\n },\r\n };\r\n\r\n case REGO_SEARCH_RETRIEVED:\r\n case SET_OPTION_CODE:\r\n case REGO_SEARCH_CORRECT:\r\n case REGO_INVALIDATE:\r\n case REGO_VEHICLE_NOT_FOUND:\r\n case REGO_SEARCH_INCORRECT:\r\n case REGO_SEARCH_CLOSE:\r\n case REGO_SEARCH_WAIT:\r\n case REGO_SEARCH_FINISHED:\r\n case MAKES_RETRIEVED:\r\n case MODELS_RETRIEVED:\r\n case SUBMODELS_RETRIEVED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n regosearch: ArrayRegoSearchReducer(state.ui.regosearch, action),\r\n },\r\n };\r\n\r\n case SET_ACTIVE_VEHICLE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activevehicle: action.activevehicle,\r\n },\r\n };\r\n\r\n case SET_ACTIVE_DRIVER:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activedriver: action.activedriver,\r\n },\r\n };\r\n\r\n case SET_ACTIVE_CYCLE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activecycle: action.activecycle,\r\n },\r\n };\r\n\r\n case SET_ACTIVE_RIDER:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activerider: action.activerider,\r\n },\r\n };\r\n\r\n case QUERY_REMOVE_DRIVER:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremovedriver: true,\r\n },\r\n };\r\n\r\n case CANCEL_REMOVE_DRIVER:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremovedriver: false,\r\n },\r\n };\r\n\r\n case QUERY_REMOVE_RIDER:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremoverider: true,\r\n },\r\n };\r\n\r\n case CANCEL_REMOVE_RIDER:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremoverider: false,\r\n },\r\n };\r\n\r\n case QUERY_REMOVE_CYCLE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremovecycle: true,\r\n },\r\n };\r\n\r\n case CANCEL_REMOVE_CYCLE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremovecycle: false,\r\n },\r\n };\r\n\r\n case QUERY_REMOVE_VEHICLE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremovevehicle: true,\r\n },\r\n };\r\n\r\n case CANCEL_REMOVE_VEHICLE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n queryremovevehicle: false,\r\n },\r\n };\r\n\r\n case POWERTRAIN_SELECTED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[0], // only 1 vehicle in MBI\r\n petrol: action.powertrain.endsWith(\"petrol\"),\r\n diesel: action.powertrain.endsWith(\"diesel\"),\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case EVHYBRID_SELECTED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[0], // only 1 vehicle in MBI\r\n Electric: action.evhybrid.endsWith(\"Electric\"),\r\n Hybrid: action.evhybrid.endsWith(\"Hybrid\"),\r\n ENA: action.evhybrid.endsWith(\"ENA\"),\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case CLASSIC_DISP_RISK_ADDRESS:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[action.index], // only 1 vehicle in MBI\r\n searchAddress: action.addresses,\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case VEHICLE_NOT_REGISTERD:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: state.PolicyPackage.PolicyVehicles.map((v,i)=>\r\n action.index=== i?{...v,notregistered:action.value}:v),\r\n },\r\n };\r\n\r\n case VEHICLE_CLEAR_REGISTRATION:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: state.PolicyPackage.PolicyVehicles.map((v, i) => (action.index === i ? { ...v, RegistrationNumber: \"\" } : v)),\r\n },\r\n };\r\n\r\n case VEHICLE_REGO_LOOKUP_SUCCESS:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: state.PolicyPackage.PolicyVehicles.map((v, i) =>\r\n action.index === i\r\n ? { ...v, Make: action.make, Model: action.model, YearOfManufacture: action.year, VinNumber: action.vin, RegistrationNumber: action.rego }\r\n : v\r\n ),\r\n },\r\n };\r\n\r\n case ORIGIN_SELECTED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[0],\r\n import: action.origin.endsWith(\"import\"),\r\n nznew: action.origin.endsWith(\"nznew\"),\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case UPDATE_DISCLOSURE_REASON:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n DisclosureOverrideReason: action.reason,\r\n },\r\n };\r\n\r\n case SET_PROPOSER_TYPE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n proposertype: action.proposertype,\r\n },\r\n };\r\n\r\n case DISPLAY_MATCH_ADDRESSES:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n addressSearch: action.addresses,\r\n showAddressDropDown: true,\r\n },\r\n };\r\n\r\n case PROPOSER_SET_PERSON:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n Proposer: {\r\n ...state.PolicyPackage.Proposer,\r\n title: action.title !== null ? action.title : state.PolicyPackage.Proposer.title,\r\n givenname: action.givenname !== null ? action.givenname : state.PolicyPackage.Proposer.givenname,\r\n surname: action.surname !== null ? action.surname : state.PolicyPackage.Proposer.surname,\r\n dateofbirth: action.dateofbirth !== null ? action.dateofbirth : state.PolicyPackage.Proposer.dateofbirth,\r\n },\r\n },\r\n };\r\n case DD_SET_LOCATION:\r\n // ajk - update the proposer location fields if the user is adding to data already typed.\r\n // otherwise ignore.\r\n\r\n const DD = state.PolicyPackage.DirectDebit;\r\n const ProposerDD = state.PolicyPackage.Proposer;\r\n\r\n let customeraddr1 = DD.customeraddr1;\r\n let addressDD1 = ProposerDD.address1;\r\n if (action.sLocationLine1) {\r\n if (action.force || action.sLocationLine1.startsWith(DD.customeraddr1)) {\r\n customeraddr1 = action.sLocationLine1;\r\n addressDD1 = action.sLocationLine1;\r\n }\r\n }\r\n\r\n let customeraddr2 = DD.customeraddr2;\r\n let addressDD2 = ProposerDD.address2;\r\n if (action.sLocationLine2) {\r\n if (action.force || action.sLocationLine2.startsWith(DD.customeraddr2)) {\r\n customeraddr2 = action.sLocationLine2;\r\n addressDD2 = action.sLocationLine2;\r\n }\r\n }\r\n\r\n let customeraddr3 = DD.customeraddr3;\r\n let addressDD3 = ProposerDD.address3;\r\n if (action.sLocationLine3) {\r\n if (action.force || action.sLocationLine3.startsWith(DD.customeraddr3)) {\r\n customeraddr3 = action.sLocationLine3;\r\n addressDD3 = action.sLocationLine3;\r\n }\r\n }\r\n\r\n let customeraddr4 = DD.customeraddr4;\r\n let postcodeDD = ProposerDD.postcode;\r\n if (action.sLocationLine4) {\r\n if (action.force || action.sLocationLine4.startsWith(DD.customeraddr4)) {\r\n customeraddr4 = action.sLocationLine4;\r\n postcodeDD = action.sLocationLine4;\r\n }\r\n }\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n showAddressDropDown: false,\r\n },\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n DirectDebit: {\r\n ...state.PolicyPackage.DirectDebit,\r\n customeraddr1,\r\n customeraddr2,\r\n customeraddr3,\r\n customeraddr4,\r\n searchbox: \"\",\r\n },\r\n Proposer: {\r\n ...state.PolicyPackage.Proposer,\r\n address1: addressDD1,\r\n address2: addressDD2,\r\n address3: addressDD3,\r\n postcode: postcodeDD,\r\n searchbox: \"\",\r\n },\r\n },\r\n };\r\n\r\n case PROPOSER_SET_LOCATION:\r\n // ajk - update the proposer location fields if the user is adding to data already typed.\r\n // otherwise ignore.\r\n\r\n const Proposer = state.PolicyPackage.Proposer;\r\n\r\n let address1 = Proposer.address1;\r\n if (action.sLocationLine1) {\r\n if (action.force || action.sLocationLine1.startsWith(Proposer.address1)) {\r\n address1 = action.sLocationLine1;\r\n }\r\n }\r\n\r\n let address2 = Proposer.address2;\r\n if (action.sLocationLine2) {\r\n if (action.force || action.sLocationLine2.startsWith(Proposer.address2)) {\r\n address2 = action.sLocationLine2;\r\n }\r\n }\r\n\r\n let address3 = Proposer.address3;\r\n if (action.sLocationLine3) {\r\n if (action.force || action.sLocationLine3.startsWith(Proposer.address3)) {\r\n address3 = action.sLocationLine3;\r\n }\r\n }\r\n\r\n let postcode = Proposer.postcode;\r\n if (action.sLocationLine4) {\r\n if (action.force || action.sLocationLine4.startsWith(Proposer.postcode)) {\r\n postcode = action.sLocationLine4;\r\n }\r\n }\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n showAddressDropDown: false,\r\n },\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n Proposer: {\r\n ...state.PolicyPackage.Proposer,\r\n address1,\r\n address2,\r\n address3,\r\n postcode,\r\n searchbox: \"\",\r\n },\r\n },\r\n };\r\n\r\n case VEHICLE_SET_LOCATION:\r\n //const Vehicle1 = state.PolicyPackage.PolicyVehicles[action.index];\r\n const Vehicle1 = state.PolicyPackage.PolicyVehicles[action.index];\r\n\r\n let v_locationline1 = Vehicle1.locationline1;\r\n if (action.sLocationLine1) {\r\n if (action.force || action.sLocationLine1.startsWith(Vehicle1.locationline1)) {\r\n v_locationline1 = action.sLocationLine1;\r\n }\r\n }\r\n\r\n let v_locationline2 = Vehicle1.locationline2;\r\n if (action.sLocationLine2) {\r\n if (action.force || action.sLocationLine2.startsWith(Vehicle1.locationline2)) {\r\n v_locationline2 = action.sLocationLine2;\r\n }\r\n }\r\n\r\n let v_locationline3 = Vehicle1.locationline3;\r\n if (action.sLocationLine3) {\r\n if (action.force || action.sLocationLine3.startsWith(Vehicle1.locationline3)) {\r\n v_locationline3 = action.sLocationLine3;\r\n }\r\n }\r\n\r\n let postcode2 = Vehicle1.PostCode; \r\n\r\n if (action.sLocationLine4) {\r\n if (action.force || action.sLocationLine4.startsWith(Vehicle1.PostCode)) {\r\n postcode2 = action.sLocationLine4;\r\n }\r\n }\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n showAddressDropDown: false,\r\n },\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n ...state.PolicyPackage.PolicyVehicles.slice(0,action.index),\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[action.index], \r\n locationline1 : v_locationline1,\r\n locationline2 : v_locationline2,\r\n locationline3 : v_locationline3,\r\n postcode: postcode2\r\n },\r\n ], \r\n\r\n },\r\n };\r\n\r\n case CLASSIC_RISK_SET_LOCATION:\r\n // ajk - update the proposer location fields if the user is adding to data already typed.\r\n // otherwise ignore.\r\n\r\n const Vehicle = state.PolicyPackage.PolicyVehicles[action.index];\r\n\r\n let locationline1 = Vehicle.locationline1;\r\n if (action.sLocationLine1) {\r\n if (action.force || action.sLocationLine1.startsWith(Vehicle.locationline1)) {\r\n locationline1 = action.sLocationLine1;\r\n }\r\n }\r\n\r\n let locationline2 = Vehicle.locationline2;\r\n if (action.sLocationLine2) {\r\n if (action.force || action.sLocationLine2.startsWith(Vehicle.locationline2)) {\r\n locationline2 = action.sLocationLine2;\r\n }\r\n }\r\n\r\n let locationline3 = Vehicle.locationline3;\r\n if (action.sLocationLine3) {\r\n if (action.force || action.sLocationLine3.startsWith(Vehicle.locationline3)) {\r\n locationline3 = action.sLocationLine3;\r\n }\r\n }\r\n\r\n let postcode1 = Vehicle.postCode;\r\n if (action.postcode) {\r\n if (action.force || action.postcode.startsWith(Vehicle.postCode)) {\r\n postcode1 = action.postcode;\r\n }\r\n }\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n showAddressDropDown: false,\r\n },\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[action.index],\r\n locationline1,\r\n locationline2,\r\n locationline3,\r\n postCode: postcode1,\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case CANCEL:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n cancelConfirm: true,\r\n },\r\n };\r\n\r\n case CANCEL_NO:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n cancelConfirm: false,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case UI_LOAD:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n uiwait: true,\r\n },\r\n };\r\n\r\n case UI_FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n uiwait: false,\r\n confirmwait: false,\r\n },\r\n };\r\n\r\n case CC_WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ccwait: true,\r\n },\r\n };\r\n\r\n case CC_FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ccwait: false,\r\n },\r\n };\r\n\r\n case SAVE_REQUEST:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n saverequest: true,\r\n savewait: false,\r\n },\r\n };\r\n\r\n case SAVE_WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n saverequest: false,\r\n savewait: true,\r\n },\r\n };\r\n\r\n case SAVE_FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n saverequest: false,\r\n savewait: false,\r\n },\r\n };\r\n\r\n case DISCLOSURE_SHOW:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n disclosureConfirm: true,\r\n },\r\n };\r\n\r\n case DISCLOSURE_NO:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n disclosureConfirm: false,\r\n },\r\n };\r\n\r\n case CONFIRM_SHOW:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n confirmConfirm: true,\r\n },\r\n };\r\n\r\n case CONFIRM_NO:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n confirmConfirm: false,\r\n },\r\n };\r\n\r\n case CONFIRM_REQUEST:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n confirmrequest: true,\r\n confirmwait: false,\r\n },\r\n };\r\n\r\n case DISCLOSURE_CONFIRM_REQUEST:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n disclosureConfirmrequest: true,\r\n confirmwait: false,\r\n },\r\n };\r\n\r\n case CONFIRM_WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n confirmwrequest: false,\r\n confirmwait: true,\r\n },\r\n };\r\n case UI_BLOCK_START:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n uiblock: true,\r\n },\r\n };\r\n case UI_BLOCK_END:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n uiblock: false,\r\n },\r\n };\r\n case VALIDATE_WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n validatewait: true,\r\n validaterequest: false,\r\n },\r\n };\r\n\r\n case VALIDATE_REQUEST:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n validateWait: false,\r\n validateRequest: true,\r\n },\r\n };\r\n\r\n case VALIDATE_FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n validateWait: false,\r\n validateRequest: false,\r\n },\r\n };\r\n\r\n case CLEAR_VALIDATION:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n validated: true,\r\n validateRequest: false,\r\n },\r\n };\r\n\r\n case CONFIRM_FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n validateRequest: false,\r\n validateWait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction policyUpdateUI(state, action) {\r\n const PolicyPackage = action.PolicyPackage !== null ? action.PolicyPackage : state.PolicyPackage;\r\n const disabled = (PolicyPackage && PolicyPackage.status === \"Completed\") || (PolicyPackage && PolicyPackage.status === \"Cancelled\");\r\n\r\n const Steps = typeof action.ui.Steps !== \"undefined\" ? action.ui.Steps : state.ui.Steps;\r\n const activestep = typeof action.ui.activestep !== \"undefined\" ? action.ui.activestep : state.ui.activestep;\r\n const errorstep = typeof action.ui.errorstep !== \"\" ? action.ui.errorstep : state.ui.errorstep;\r\n const activevehicle = typeof action.ui.activevehicle !== \"undefined\" ? action.ui.activevehicle : state.ui.activevehicle;\r\n const activecycle = typeof action.ui.activecycle !== \"undefined\" ? action.ui.activecycle : state.ui.activecycle;\r\n const proposertype = typeof action.ui.proposertype !== \"undefined\" ? action.ui.proposertype : state.ui.proposertype;\r\n\r\n const Products = typeof action.ui.Products !== \"undefined\" ? action.ui.Products : state.ui.Products;\r\n const Vehicles = typeof action.ui.Vehicles !== \"undefined\" ? action.ui.Vehicles : state.ui.Vehicles;\r\n const Cycles = typeof action.ui.Cycles !== \"undefined\" ? action.ui.Cycles : state.ui.Cycles;\r\n const Premiums = typeof action.ui.Premiums !== \"undefined\" ? action.ui.Premiums : state.ui.Premiums;\r\n const AreasOfGaraging = typeof action.ui.AreasOfGaraging !== \"undefined\" ? action.ui.AreasOfGaraging : state.ui.AreasOfGaraging;\r\n const AOGLookup = typeof action.ui.AOGLookup !== \"undefined\" ? action.ui.AOGLookup : state.ui.AOGLookup;\r\n const FinanceCompanies = typeof action.ui.FinanceCompanies !== \"undefined\" ? action.ui.FinanceCompanies : state.ui.FinanceCompanies;\r\n\r\n const MBI = typeof action.ui.MBI !== \"undefined\" ? action.ui.MBI : state.ui.MBI;\r\n const MVI = typeof action.ui.MVI !== \"undefined\" ? action.ui.MVI : state.ui.MVI;\r\n const MCI = typeof action.ui.MCI !== \"undefined\" ? action.ui.MCI : state.ui.MCI;\r\n const PCI = typeof action.ui.PCI !== \"undefined\" ? action.ui.PCI : state.ui.PCI;\r\n const PPP = typeof action.ui.PPP !== \"undefined\" ? action.ui.PPP : state.ui.PPP;\r\n const GAP = typeof action.ui.GAP !== \"undefined\" ? action.ui.GAP : state.ui.GAP;\r\n\r\n const CreditCard = typeof action.ui.CreditCard !== \"undefined\" ? action.ui.CreditCard : state.ui.CreditCard;\r\n const DirectDebit = typeof action.ui.DirectDebit !== \"undefined\" ? action.ui.DirectDebit : state.ui.DirectDebit;\r\n\r\n const ReferralReasons = typeof action.ui.ReferralReasons !== \"undefined\" ? action.ui.ReferralReasons : state.ui.ReferralReasons;\r\n const Errors = typeof action.ui.Errors !== \"undefined\" ? action.ui.Errors : state.ui.Errors;\r\n const PremiumDetails = typeof action.ui.PremiumDetails !== \"undefined\" ? action.ui.PremiumDetails : state.ui.PremiumDetails;\r\n\r\n const regosearch = ArrayInitialState(\"policy\", PolicyPackage, action.ui.makes, typeof action.ui.Vehicles !== \"undefined\" ? action.ui.Vehicles : action.ui.Cycles);\r\n\r\n return {\r\n ...state,\r\n PolicyPackage,\r\n ui: {\r\n ...state.ui,\r\n disabled,\r\n loading: false,\r\n Steps,\r\n activestep,\r\n errorstep,\r\n activevehicle,\r\n activecycle,\r\n Products,\r\n Vehicles,\r\n Cycles,\r\n Premiums,\r\n AreasOfGaraging,\r\n AOGLookup,\r\n FinanceCompanies,\r\n MBI,\r\n MVI,\r\n MCI,\r\n PCI,\r\n PPP,\r\n GAP,\r\n CreditCard,\r\n DirectDebit,\r\n ReferralReasons,\r\n Errors,\r\n regosearch,\r\n proposertype,\r\n PremiumDetails,\r\n },\r\n };\r\n}\r\n\r\nexport { policy, currentStepIndex, nextStepIndex, prevStepIndex, initialState, initialDriverState, initialRiderState };\r\n","export const LOAD = 'FC_LOAD'\r\nexport const load = (id) => {\r\n return { 'type': LOAD, id }\r\n}\r\n\r\nexport const LOADED = 'FC_LOADED'\r\nexport const loaded = (financecompany, ui) => {\r\n return { 'type': LOADED, financecompany, ui }\r\n}\r\n\r\nexport const SAVE = 'FC_SAVE'\r\nexport const save = (financecompany) => {\r\n return { 'type': SAVE, financecompany }\r\n}\r\n\r\nexport const NEW = 'FC_NEW'\r\nexport const newFC = () => {\r\n return { 'type': NEW }\r\n}\r\n","export const LOADPAGE = 'DEALERSHIPCONFIGLIST_LOADPAGE'\r\nexport const loadPage = (page, search) => {\r\n return { 'type': LOADPAGE, page, search }\r\n}\r\n\r\nexport const PAGELOADED = 'DEALERSHIPCONFIGLIST_PAGELOADED'\r\nexport const pageLoaded = ( activePage, search, recordsTotal, data) => {\r\n return { 'type': PAGELOADED, activePage, search, recordsTotal, data }\r\n}\r\n\r\n\r\nexport const WAIT = 'DEALERSHIPCONFIGLIST_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'DEALERSHIPCONFIGLIST_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n\r\nexport const RETRIEVE = 'DEALERSHIPCONFIGS_RETRIEVE'\r\nexport const retrieveFromProteus = () => {\r\n return { type: RETRIEVE }\r\n}\r\n","export const START = 'RECENTWSLOGS_START'\r\nexport const start = () => ({ type: START })\r\n\r\nexport const STOP = 'RECENTWSLOGS_STOP'\r\nexport const stop = () => ({ type: STOP })\r\n\r\nexport const SETWSLOGS = 'RECENTWSLOGS_SETWSLOGS'\r\nexport const setWSLogs = wslogs => ({ type: SETWSLOGS, wslogs })\r\n\r\nexport const SETACTIVE = 'RECENTWSLOGS_SETACTIVE'\r\nexport const setActiveWSLog = wslog => ({ type: SETACTIVE, wslog })\r\n","export const LOADPAGE = 'CLAIMLIST_LOADPAGE'\r\nexport const loadPage = (page, search) => {\r\n return { 'type': LOADPAGE, page, search }\r\n}\r\n\r\nexport const PAGELOADED = 'CLAIMLIST_PAGELOADED'\r\nexport const pageLoaded = (activePage, search, recordsTotal, data) => {\r\n return { 'type': PAGELOADED, activePage, search, recordsTotal, data }\r\n}\r\n\r\nexport const WAIT = 'CLAIMLIST_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'CLAIMLIST_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n\r\nexport const RELOAD = 'CLAIMLIST_RELOAD'\r\nexport const reload = () => {\r\n return { type: RELOAD }\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components'\r\n\r\nimport FontAwesome from 'react-fontawesome'\r\n\r\nconst StyledFontAwesome = styled(FontAwesome)`\r\n color: white\r\n`\r\n\r\nconst WhiteIcon = (props) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nWhiteIcon.propTypes = {\r\n name: PropTypes.string.isRequired\r\n}\r\n\r\nexport default WhiteIcon\r\n","export const DO_EXPORT = 'EXPORT_DO'\r\nexport const doExport = (action, data, filename) => {\r\n return { 'type': DO_EXPORT, action, data, filename }\r\n}\r\n\r\nexport const WAIT = 'EXPORT_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'EXPORT_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n","import {\r\n SHOWMODIFYPOLICY,\r\n SHOWREQUESTMODIFICATION,\r\n SHOWREQUESTREGOMODIFICATION,\r\n SHOWCOPYPOLICY,\r\n SHOWCOPYDEALERSHIP,\r\n SHOWARCHIVEPOLICY,\r\n ERROR,\r\n CLOSE_ERROR_MODAL,\r\n SUCCESS,\r\n CLOSE_SUCCESS_MODAL,\r\n SHOWPPPCOVIDMSG,\r\n LOG_NONE,\r\n LOG_APPLICATION,\r\n LOG_RRF,\r\n INFORMATION,\r\n SHOWDISCOVERRIDEREQMODAL,\r\n} from \"./actions\";\r\n\r\nimport { CLOSEMODIFYPOLICY } from \"./policyactions/modifypolicy/actions\";\r\n\r\nimport { SHOWUSERBLOCK, CLOSEUSERBLOCK } from \"./dashboard/user/userblock/actions\";\r\n\r\nimport { CLOSEREQUESTMODIFICATION } from \"./policyactions/requestmodification/actions\";\r\n\r\nimport { CLOSEREQUESTREGOMODIFICATION } from \"./policyactions/requestregomodification/actions\";\r\n\r\nimport { CLOSEPPPCOVIDMSG } from \"./policyactions/alertmsgs/actions\";\r\n\r\nimport { CLOSECOPYPOLICY } from \"./policyactions/copypolicy/actions\";\r\nimport { CLOSECOPYDEALERSHIP } from \"./dashboard/dealership/copydealership/actions\";\r\n\r\nimport { CLOSEARCHIVEPOLICY } from \"./policyactions/archive/actions\";\r\nimport { SHOW_USER_NOTIFICATION_BLOCK, CLOSE_USER_NOTIFICATION_BLOCK } from \"./dashboard/usernotifications/actions\";\r\nimport { CLOSEDISCOVERRIDEREQMODAL } from \"./policy/components/disclosure/actions\";\r\n\r\nconst initialState = {\r\n log: {\r\n app: false,\r\n rrf: false,\r\n },\r\n ui: {},\r\n};\r\n\r\nfunction application(state = initialState, action) {\r\n switch (action.type) {\r\n case SHOWMODIFYPOLICY:\r\n return {\r\n ...state,\r\n modifyPolicyVisible: true,\r\n };\r\n\r\n case CLOSEMODIFYPOLICY:\r\n return {\r\n ...state,\r\n modifyPolicyVisible: false,\r\n };\r\n\r\n case SHOWUSERBLOCK:\r\n return {\r\n ...state,\r\n userBlockVisble: true,\r\n };\r\n\r\n case CLOSEUSERBLOCK:\r\n return {\r\n ...state,\r\n userBlockVisble: false,\r\n };\r\n\r\n case SHOW_USER_NOTIFICATION_BLOCK:\r\n return {\r\n ...state,\r\n userNotificationVisible: true,\r\n };\r\n\r\n case CLOSE_USER_NOTIFICATION_BLOCK:\r\n return {\r\n ...state,\r\n userNotificationVisible: false,\r\n };\r\n\r\n case SHOWREQUESTMODIFICATION:\r\n return {\r\n ...state,\r\n requestModificationVisible: true,\r\n };\r\n\r\n case SHOWPPPCOVIDMSG:\r\n return {\r\n ...state,\r\n showPPPCovidMsg: true,\r\n };\r\n\r\n case CLOSEPPPCOVIDMSG:\r\n return {\r\n ...state,\r\n showPPPCovidMsg: false,\r\n };\r\n\r\n case SHOWDISCOVERRIDEREQMODAL:\r\n return {\r\n ...state,\r\n showDiscOverrideModal: true,\r\n };\r\n\r\n case CLOSEDISCOVERRIDEREQMODAL:\r\n return {\r\n ...state,\r\n showDiscOverrideModal: false,\r\n };\r\n\r\n case SHOWREQUESTREGOMODIFICATION:\r\n return {\r\n ...state,\r\n requestRegoModificationVisible: true,\r\n };\r\n\r\n case CLOSEREQUESTMODIFICATION:\r\n return {\r\n ...state,\r\n requestModificationVisible: false,\r\n };\r\n\r\n case CLOSEREQUESTREGOMODIFICATION:\r\n return {\r\n ...state,\r\n requestRegoModificationVisible: false,\r\n };\r\n\r\n case SHOWCOPYPOLICY:\r\n return {\r\n ...state,\r\n copyPolicyVisible: true,\r\n };\r\n\r\n case SHOWCOPYDEALERSHIP:\r\n return {\r\n ...state,\r\n copyDealershipVisible: true,\r\n };\r\n\r\n case CLOSECOPYPOLICY:\r\n return {\r\n ...state,\r\n copyPolicyVisible: false,\r\n };\r\n\r\n case CLOSECOPYDEALERSHIP:\r\n return {\r\n ...state,\r\n copyDealershipVisible: false,\r\n };\r\n\r\n case SHOWARCHIVEPOLICY:\r\n return {\r\n ...state,\r\n archivePolicyVisible: true,\r\n };\r\n\r\n case CLOSEARCHIVEPOLICY:\r\n return {\r\n ...state,\r\n archivePolicyVisible: false,\r\n };\r\n\r\n case ERROR:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n error: action.message,\r\n validated: false,\r\n },\r\n };\r\n\r\n case SUCCESS:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n success: action.message,\r\n message: action.message,\r\n validated: false,\r\n },\r\n };\r\n\r\n case INFORMATION:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n message: action.message,\r\n title: action.title,\r\n submessage: action.submessage,\r\n footer: action.footer,\r\n validated: false,\r\n },\r\n };\r\n\r\n case CLOSE_ERROR_MODAL:\r\n let newState = {\r\n ...state,\r\n };\r\n delete newState.ui.error;\r\n return newState;\r\n\r\n case CLOSE_SUCCESS_MODAL:\r\n let sucessState = {\r\n ...state,\r\n };\r\n delete sucessState.ui.message;\r\n return sucessState;\r\n\r\n case LOG_NONE:\r\n return {\r\n ...state,\r\n log: {\r\n app: false,\r\n rrf: false,\r\n },\r\n };\r\n\r\n case LOG_APPLICATION:\r\n return {\r\n ...state,\r\n log: {\r\n app: true,\r\n rrf: false,\r\n },\r\n };\r\n\r\n case LOG_RRF:\r\n return {\r\n ...state,\r\n log: {\r\n app: true,\r\n rrf: true,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { application };\r\n","import { WAIT, FAILED, REDIRECT } from \"./actions\";\r\n\r\nconst initialState = {\r\n User_name: \"\",\r\n User_password: \"\",\r\n ui: {\r\n wait: false,\r\n },\r\n};\r\n\r\nfunction login(state = initialState, action) {\r\n switch (action.type) {\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: action.wait,\r\n },\r\n };\r\n\r\n case FAILED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n message: action.message,\r\n },\r\n };\r\n\r\n case REDIRECT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n url: action.url,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { login };\r\n","import * as Settings from \"../settings\";\r\n\r\nimport { TOGGLE_EXPERT_MODE } from \"../actions\";\r\n\r\nimport {\r\n SET_AUTH,\r\n SHOW_LOGIN,\r\n SIGNED_OUT,\r\n WAIT,\r\n SET_TOKEN_DOTNET,\r\n} from \"./actions\";\r\n\r\nconst initialState = {\r\n wait: true,\r\n allow: {},\r\n user: {},\r\n token: Settings.getItem(\"TOKEN\"),\r\n tokenDotnet: Settings.getItem(Settings.TOKEN_DOTNET),\r\n help: Settings.getItem(\"HELP\") !== \"false\",\r\n};\r\n\r\nfunction auth(state = initialState, action) {\r\n switch (action.type) {\r\n case SET_AUTH:\r\n return {\r\n ...state,\r\n wait: false,\r\n token: action.token,\r\n tokenDotnet: state.tokenDotnet,\r\n allow: action.allow,\r\n user: action.user,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n },\r\n };\r\n\r\n case SET_TOKEN_DOTNET:\r\n return {\r\n ...state,\r\n tokenDotnet: action.tokenDotnet,\r\n };\r\n\r\n case SIGNED_OUT:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n name: \"\",\r\n selected: false,\r\n dealerships: [],\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n wait: true,\r\n };\r\n\r\n case SHOW_LOGIN:\r\n return {\r\n ...state,\r\n wait: false,\r\n };\r\n\r\n case TOGGLE_EXPERT_MODE:\r\n return {\r\n ...state,\r\n help: !state.help,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { auth };\r\n","import { INITIALIZED, LOADING, RECENT_QUOTES, RECENT_SIGNED_QUOTES, RECENT_POLICIES, SETACTIVETAB, SETACTIVEPOLICY, PENDING_NOTIFICATIONS } from \"./actions\";\r\n\r\nconst initialState = {\r\n loading: true,\r\n recentPoliciesDotnet: [],\r\n recentQuotesDotnet: [],\r\n recentSignedQuotes: [],\r\n};\r\n\r\nfunction dashboard(state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZED:\r\n return {\r\n ...action.state,\r\n recentPoliciesDotnet: state.recentPoliciesDotnet,\r\n recentQuotesDotnet: state.recentQuotesDotnet,\r\n recentSignedQuotes: state.recentQuotesDotnet,\r\n tab: action.tab ? action.tab : state.tab,\r\n };\r\n\r\n case LOADING:\r\n return initialState;\r\n\r\n case RECENT_QUOTES:\r\n return {\r\n ...state,\r\n recentQuotesDotnet: action.recentQuotes,\r\n };\r\n\r\n case RECENT_SIGNED_QUOTES:\r\n return {\r\n ...state,\r\n recentSignedQuotes: action.recentSignedQuotes,\r\n };\r\n\r\n case RECENT_POLICIES:\r\n return {\r\n ...state,\r\n recentPoliciesDotnet: action.recentPolicies,\r\n };\r\n\r\n case PENDING_NOTIFICATIONS:\r\n return {\r\n ...state,\r\n pendingNotifications: action.pendingNotifications,\r\n };\r\n\r\n case SETACTIVETAB:\r\n return {\r\n ...state,\r\n tab: action.tab,\r\n };\r\n\r\n case SETACTIVEPOLICY:\r\n return {\r\n ...state,\r\n activepolicy: action.policy,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { dashboard };\r\n","import { PAGELOADED, WAIT, FINISHED, LOADEDBDMS } from \"./actions\";\r\n\r\nconst initialState = {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n serviceLevel: \"\",\r\n bdm: 0,\r\n bdms: [],\r\n data: {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction dealershipList(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n serviceLevel: action.serviceLevel,\r\n bdm: action.bdm,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case LOADEDBDMS:\r\n return {\r\n ...state,\r\n bdms: [...action.data],\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { dealershipList };\r\n","import { PAGELOADED, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n data: {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction userList(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { userList };\r\n","import { PAGELOADED, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n data: {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction vehicleConfigList(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { vehicleConfigList };\r\n","import { PAGELOADED, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n data: {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction manualList(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { manualList };\r\n","import { PAGELOADED, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n data: {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction pendingList(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { pendingList };\r\n","import { PAGELOADED, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n data: {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction notificationList(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { notificationList };\r\n","import { LOADED_ROLES, UI_BLOCK_START, UI_BLOCK_END } from \"./actions\";\r\n\r\nconst initialState = {\r\n dealershipRole: {\r\n dealershipRoles: [],\r\n },\r\n ui: {\r\n uiblock: false,\r\n },\r\n};\r\n\r\nfunction dealershipRole(state = initialState, action) {\r\n switch (action.type) {\r\n case LOADED_ROLES:\r\n return {\r\n ...state,\r\n dealershipRole: {\r\n ...state.dealershipRole,\r\n ...action.dealershipRole,\r\n dealershipRoles: action.dealershipRoles,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case UI_BLOCK_START:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: true,\r\n },\r\n };\r\n\r\n case UI_BLOCK_END:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { dealershipRole };\r\n","import { LOADED_ROLES, UI_BLOCK_START, UI_BLOCK_END, LOADED_CONFIGS, LOADED_HOME_BANNER, UPDATE_HOME_BANNER_CHECK } from \"./actions\";\r\n\r\nconst initialState = {\r\n config: {\r\n configs: [],\r\n notice: { enabled: false },\r\n },\r\n ui: {\r\n uiblock: false,\r\n },\r\n};\r\n\r\nfunction config(state = initialState, action) {\r\n switch (action.type) {\r\n case LOADED_CONFIGS:\r\n return {\r\n ...state,\r\n config: {\r\n ...state.config,\r\n configs: action.configs,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case LOADED_HOME_BANNER:\r\n return {\r\n ...state,\r\n config: {\r\n ...state.notice,\r\n notice: action.banner,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case UPDATE_HOME_BANNER_CHECK:\r\n return {\r\n ...state,\r\n config: {\r\n notice: { ...state.config.notice, enabled: action.check },\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case UI_BLOCK_START:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: true,\r\n },\r\n };\r\n\r\n case UI_BLOCK_END:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { config };\r\n","import {\r\n LOADED_ROLES,\r\n UI_BLOCK_START,\r\n UI_BLOCK_END,\r\n LOADED_DEALERSHIPS,\r\n APPLY_PASSWORD,\r\n APPLY_LOGNAME,\r\n APPLY_OTHERDEALERSHIPS,\r\n LOADED,\r\n APPLY_ENABLE_USER,\r\n APPLY_EDIT_USER,\r\n} from \"./actions\";\r\n\r\nconst initialState = {\r\n user: {\r\n dealershipRoles: [],\r\n dealerships: [],\r\n otherdealerships: [],\r\n dealerCode: \"\",\r\n firstName: \"\",\r\n id: 0,\r\n otherdealership: false,\r\n password: \"\",\r\n loginName: \"\",\r\n otherdealercodes: [],\r\n userBlocked: false,\r\n editmode: false\r\n },\r\n ui: {\r\n uiblock: false,\r\n disabled: false,\r\n },\r\n};\r\n\r\nfunction user(state = initialState, action) {\r\n switch (action.type) {\r\n case LOADED_ROLES:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n dealershipRoles: action.dealershipRoles,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case APPLY_PASSWORD:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n password: action.password,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case APPLY_OTHERDEALERSHIPS:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n otherdealerships: action.otherdealerships,\r\n otherdealercodes: action.otherdealerships.map((x) => x.code),\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case APPLY_LOGNAME:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n loginName: action.loginName,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case APPLY_ENABLE_USER:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n userBlocked: action.ch,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case APPLY_EDIT_USER:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n editmode: action.ch,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case LOADED_DEALERSHIPS:\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n dealerships: action.dealerships,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case LOADED:\r\n return {\r\n user: {\r\n ...state.user,\r\n ...action.user,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n disabled: true,\r\n },\r\n };\r\n\r\n case UI_BLOCK_START:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: true,\r\n },\r\n };\r\n\r\n case UI_BLOCK_END:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { user };\r\n","import {\r\n UI_BLOCK_START,\r\n UI_BLOCK_END,\r\n LOADED_VEHICLE,\r\n LOADED_CYCLE,\r\n LOADED_VEHICLE_MODELS,\r\n LOADED_VEHICLE_SUBMODELS,\r\n LOADED_CYCLE_MODELS\r\n} from \"./actions\";\r\n\r\nconst initialState = {\r\n vehiclematch: {\r\n makes: [],\r\n models: [],\r\n submodels: []\r\n },\r\n cyclematch: {\r\n makes: [],\r\n models: []\r\n },\r\n ui: {\r\n uiblock: false,\r\n disabled: false,\r\n },\r\n};\r\n\r\nfunction vehiclematch(state = initialState, action) {\r\n switch (action.type) {\r\n \r\n case LOADED_VEHICLE:\r\n return {\r\n ...state,\r\n vehiclematch:action.vehiclematch,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui\r\n },\r\n };\r\n\r\n case LOADED_VEHICLE_MODELS:\r\n return {\r\n ...state,\r\n vehiclematch:{\r\n ...state.vehiclematch,\r\n models : action.models\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui\r\n },\r\n };\r\n\r\n case LOADED_VEHICLE_SUBMODELS:\r\n return {\r\n ...state,\r\n vehiclematch:{\r\n ...state.vehiclematch,\r\n submodels : action.submodels\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui\r\n },\r\n };\r\n\r\n case LOADED_CYCLE_MODELS:\r\n return {\r\n ...state,\r\n cyclematch:{\r\n ...state.cyclematch,\r\n models : action.models\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui\r\n },\r\n };\r\n\r\n case LOADED_CYCLE:\r\n return {\r\n ...state,\r\n cyclematch:action.cyclematch,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui\r\n },\r\n };\r\n\r\n case UI_BLOCK_START:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: true,\r\n },\r\n };\r\n\r\n case UI_BLOCK_END:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { vehiclematch };\r\n","import {\r\n LOADED_ROLES,\r\n UI_BLOCK_START,\r\n UI_BLOCK_END,\r\n APPLY_EMAIL_CHANGE,\r\n APPLY_DASHBOARD_CHANGE,\r\n LOADED,\r\n APPLY_TARGET_USER_ID,\r\n LOADED_USER_NOTIFICATION,\r\n APPLY_DASHBOARD_CHANGE_USER,\r\n APPLY_EMAIL_CHANGE_USER,\r\n} from \"./actions\";\r\n\r\nconst initialState = {\r\n notification: {\r\n id: 0,\r\n targetUser: -1,\r\n targetGroup: -1,\r\n editmode: false,\r\n emailMode: false,\r\n dashboardMode: false,\r\n dealershipRoles: [],\r\n broadcastedStatus: \"\",\r\n },\r\n usernotification: {\r\n id: 0,\r\n targetUser: -1,\r\n targetGroup: -1,\r\n editmode: false,\r\n emailMode: false,\r\n dashboardMode: false,\r\n dealershipRoles: [],\r\n broadcastedStatus: \"\",\r\n },\r\n ui: {\r\n uiblock: false,\r\n disabled: false,\r\n },\r\n};\r\n\r\nfunction notification(state = initialState, action) {\r\n switch (action.type) {\r\n case LOADED_ROLES:\r\n return {\r\n ...state,\r\n\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n dealershipRoles: action.dealershipRoles,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n case APPLY_EMAIL_CHANGE:\r\n return {\r\n ...state,\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n emailMode: action.ch,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n case APPLY_TARGET_USER_ID:\r\n return {\r\n ...state,\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n targetUser: action.targetUser,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n case APPLY_DASHBOARD_CHANGE:\r\n return {\r\n ...state,\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n dashboardMode: action.ch,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n case APPLY_DASHBOARD_CHANGE_USER:\r\n return {\r\n ...state,\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n dashboardMode: action.ch,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n case APPLY_EMAIL_CHANGE_USER:\r\n return {\r\n ...state,\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n emailMode: action.ch,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n case LOADED:\r\n return {\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n disabled: true,\r\n },\r\n };\r\n case LOADED_USER_NOTIFICATION:\r\n return {\r\n notification: {\r\n ...state.notification,\r\n ...action.notification,\r\n },\r\n usernotification: {\r\n ...state.usernotification,\r\n ...action.usernotification,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n disabled: true,\r\n },\r\n };\r\n case UI_BLOCK_START:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: true,\r\n },\r\n };\r\n\r\n case UI_BLOCK_END:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n uiblock: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { notification };\r\n","import { INITIATE_USER_NOTIFICATION_BLOCK, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n usernotification: {\r\n notifications: [],\r\n check: false,\r\n },\r\n ui: {\r\n disabled: false,\r\n wait: false,\r\n },\r\n};\r\n\r\nfunction usernotification(state = initialState, action) {\r\n switch (action.type) {\r\n case INITIATE_USER_NOTIFICATION_BLOCK:\r\n return {\r\n ...state,\r\n usernotification: {\r\n notifications: action.notifications,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { usernotification };\r\n","import { INITIATE_USER_BLOCK, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n userblock: {\r\n message: \"\",\r\n apiQuery: \"\",\r\n id: \"\",\r\n ch: true,\r\n },\r\n ui: {\r\n uiblock: false,\r\n disabled: false,\r\n wait: false,\r\n },\r\n};\r\n\r\nfunction userblock(state = initialState, action) {\r\n switch (action.type) {\r\n case INITIATE_USER_BLOCK:\r\n return {\r\n ...state,\r\n userblock: {\r\n ...state.userblock,\r\n apiQuery: action.apiQuery,\r\n type: action.apiQuery === \"DealerUsersList\" ? \"Dealer\" : \"User\",\r\n id: action.id,\r\n ch: action.ch,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { userblock };\r\n","import { WAIT, FINISHED, SUBMITTED, INTIATE_DISC_REQ_MODAL } from \"./actions\";\r\n\r\nconst initialState = {\r\n discoverridereq: {\r\n reason: \"\",\r\n policyid: 0,\r\n },\r\n ui: {\r\n wait: false,\r\n submitted: false,\r\n },\r\n};\r\n\r\nfunction discoverridereq(state = initialState, action) {\r\n switch (action.type) {\r\n case INTIATE_DISC_REQ_MODAL:\r\n return {\r\n ...state,\r\n discoverridereq: {\r\n reason: \"\",\r\n policyid: action.PolicyPackage.id,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n submitted: false,\r\n },\r\n };\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n case SUBMITTED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n submitted: true,\r\n wait: false,\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { discoverridereq };\r\n","import {\r\n PAGELOADED,\r\n\r\n WAIT,\r\n FINISHED\r\n\r\n} from './actions'\r\n\r\nconst initialState = {\r\n activePage: 1,\r\n search: '',\r\n data: {\r\n activePage: 1,\r\n search: '',\r\n records: [],\r\n recordsTotal: 0\r\n },\r\n ui: {\r\n wait: true\r\n }\r\n}\r\n\r\nfunction dealershipConfigList (state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED :\r\n return {\r\n ...state,\r\n activePage: action.activePage,\r\n search: action.search,\r\n data: {\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: []\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport {\r\n dealershipConfigList\r\n}\r\n","import {\r\n LOADED,\r\n CONFIRM_WAIT,\r\n CONFIRM_SHOW,\r\n CONFIRM_NO,\r\n CONFIRM_FINISHED,\r\n DEALERSHIP_SIGN,\r\n LOADED_CONFIG,\r\n PRODUCT_DROPPED,\r\n CONFIG_WAIT,\r\n CONFIG_COMPLETE,\r\n APPLY_FINANCECOMPANIES,\r\n APPLY_PURE_CODE,\r\n RESET,\r\n} from \"./actions\";\r\n\r\nconst initialState = {\r\n dealership: {\r\n SASS: {},\r\n MBISPPP: {},\r\n id: \"\",\r\n ddsignature: \"\",\r\n subsignature: \"\",\r\n propsignature: \"\",\r\n protectasignature: \"\",\r\n skyprinsign1: \"\",\r\n skyprinsign2: \"\",\r\n skyconsign: \"\",\r\n skydirectorsign: \"\",\r\n config: { allowedProducts: [] },\r\n allproducts: [],\r\n allowedproducts: [],\r\n allproducts: [],\r\n status: \"New\",\r\n },\r\n ui: {\r\n consultants: [],\r\n staff: [],\r\n confirmwait: false,\r\n confirmConfirm: false,\r\n uiblock: false,\r\n },\r\n config: {\r\n DealerConfig: {},\r\n AllFinanceCompanies: [],\r\n SelectedFinanceCompanies: [],\r\n AllowedProducts: [],\r\n RemainingProducts: [],\r\n DealerName: \"\",\r\n DealerCode: \"\",\r\n DealerTypes: [],\r\n DealerType: \"\",\r\n DealerGroups: [],\r\n DealerGroup: \"\",\r\n DealerBrands: [],\r\n DealerBrand: \"\",\r\n DealerSelectivities: [],\r\n uiblock: false,\r\n SelectedFinanceCompanyCodes: [],\r\n },\r\n};\r\n\r\nfunction dealership(state = initialState, action) {\r\n switch (action.type) {\r\n case LOADED:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n config: {\r\n ...state.config,\r\n ...action.config,\r\n },\r\n };\r\n\r\n case RESET:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...initialState.dealership,\r\n },\r\n };\r\n\r\n case APPLY_PURE_CODE:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n pureagentcode: action.code,\r\n webagentcode: action.webcode,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n config: {\r\n ...state.config,\r\n ...action.config,\r\n },\r\n };\r\n\r\n case LOADED_CONFIG:\r\n return {\r\n ...state,\r\n config: {\r\n ...state.config,\r\n AllowedProducts: action.config.AllowedProducts,\r\n RemainingProducts: action.config.RemainingProducts,\r\n DealerConfig: action.config.DealerConfig,\r\n DealerName: action.config.DealerName,\r\n DealerCode: action.config.DealerCode,\r\n DealerTypes: action.config.DealerTypes,\r\n DealerType: action.config.DealerType,\r\n DealerGroups: action.config.DealerGroups,\r\n DealerGroup: action.config.DealerGroup,\r\n DealerBrands: action.config.DealerBrands,\r\n DealerBrand: action.config.DealerBrand,\r\n DealerSelectivities: action.config.DealerSelectivities,\r\n AllFinanceCompanies: action.config.AllFinanceCompanies,\r\n SelectedFinanceCompanies: action.config.SelectedFinanceCompanies,\r\n },\r\n };\r\n\r\n case APPLY_FINANCECOMPANIES:\r\n return {\r\n ...state,\r\n config: {\r\n ...state.config,\r\n ...action.config,\r\n SelectedFinanceCompanies: action.companies,\r\n SelectedFinanceCompanyCodes: action.companies.map((x) => x.id),\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n case PRODUCT_DROPPED:\r\n return {\r\n ...state,\r\n config: {\r\n ...state.config,\r\n AllowedProducts: action.droppedList,\r\n RemainingProducts: action.remainedList,\r\n },\r\n };\r\n\r\n case CONFIRM_WAIT:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n confirmwrequest: false,\r\n confirmwait: true,\r\n },\r\n };\r\n\r\n case CONFIG_WAIT:\r\n return {\r\n ...state,\r\n config: {\r\n ...state.config,\r\n uiblock: true,\r\n },\r\n };\r\n\r\n case CONFIG_COMPLETE:\r\n return {\r\n ...state,\r\n config: {\r\n ...state.config,\r\n uiblock: false,\r\n },\r\n };\r\n case CONFIRM_FINISHED:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n confirmwrequest: false,\r\n confirmwait: false,\r\n },\r\n };\r\n\r\n case CONFIRM_SHOW:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n confirmConfirm: true,\r\n },\r\n };\r\n\r\n case CONFIRM_NO:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n confirmConfirm: false,\r\n },\r\n };\r\n\r\n case DEALERSHIP_SIGN:\r\n return {\r\n ...state,\r\n dealership: {\r\n ...state.dealership,\r\n ...action.dealership,\r\n [action.signtype]: action.signature,\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { dealership };\r\n","import {\r\n SETUSER,\r\n RESET\r\n} from './actions'\r\n\r\nconst initialState = {\r\n id: 0,\r\n password: ''\r\n}\r\n\r\nfunction dealershipLogin (state = initialState, action) {\r\n switch (action.type) {\r\n case SETUSER :\r\n\r\n return {\r\n ...state,\r\n id: action.id\r\n }\r\n\r\n case RESET :\r\n\r\n return {\r\n ...state,\r\n id: 0,\r\n password: ''\r\n }\r\n\r\n default :\r\n return state\r\n }\r\n}\r\n\r\nexport { dealershipLogin }\r\n","import {\r\n LOAD_RATES_SUCCESS,\r\n LOAD_RATES,\r\n LOAD_STANDARD_RATES_SUCCESS,\r\n LOAD_STANDARD_RATES,\r\n LOAD_DEALERSHIPS_FOR_MBI,\r\n LOAD_DEALERSHIPS_FOR_PPI,\r\n LOAD_DEALERSHIPS_FOR_GAP_SUCCESS,\r\n LOAD_DEALERSHIPS_FOR_MBI_SUCCESS,\r\n LOAD_DEALERSHIPS_FOR_PPI_SUCCESS,\r\n LOAD_POLICY_WORDINGS_SUCCESS,\r\n LOAD_RATE_LOADING,\r\n LOAD_SUMMARY_OF_COVER_LIST_SUCCESS,\r\n LOAD_DEALERSHIPS_FOR_GAP,\r\n LOAD_MBI_CLAIM_LIMITS_SUCCESS,\r\n} from \"./actions\";\r\n\r\nconst initialState = {\r\n mbiDealerships: [],\r\n ppiDealerships: [],\r\n gapDealerships: [],\r\n claimLimits: [],\r\n dealerCode: \"\",\r\n selectedProduct: \"\",\r\n mbiProductGroup: {},\r\n gapProductGroup: {},\r\n standardMbiProductGroup: {},\r\n standardGapProductGroup: {},\r\n viewWholesalePrices: false,\r\n viewIsTaxi: false,\r\n policyWordings: [],\r\n socList: [],\r\n ui: {\r\n loadingRates: false,\r\n wait: false,\r\n loadingDealerships: false,\r\n loadingStandardRates: false,\r\n },\r\n};\r\n\r\nfunction dealershipRates(state = initialState, action) {\r\n switch (action.type) {\r\n case LOAD_RATES:\r\n return { ...state, ui: { ...state.ui, loadingRates: true } };\r\n case LOAD_RATE_LOADING:\r\n return { ...state, ui: { ...state.ui, wait: action.value } };\r\n case LOAD_STANDARD_RATES:\r\n return { ...state, ui: { ...state.ui, loadingStandardRates: true } };\r\n case LOAD_DEALERSHIPS_FOR_MBI:\r\n return { ...state, ui: { ...state.ui, loadingMbiDealerships: true } };\r\n case LOAD_DEALERSHIPS_FOR_GAP:\r\n return { ...state, ui: { ...state.ui, loadingGapDealerships: true } };\r\n case LOAD_DEALERSHIPS_FOR_PPI:\r\n return { ...state, ui: { ...state.ui, loadingPpiDealerships: true } };\r\n case LOAD_RATES_SUCCESS:\r\n return {\r\n ...state,\r\n dealerCode: action.dealerCode,\r\n viewIsTaxi: action.viewIsTaxi,\r\n viewWholesalePrices: action.viewWholesalePrices,\r\n mbiProductGroup: action.productGroups.filter((pg) => pg.cover === \"MBI\")[0],\r\n gapProductGroup: action.productGroups.filter((pg) => pg.cover === \"GAP\")[0],\r\n ui: { ...state.ui, loadingRates: false },\r\n };\r\n case LOAD_STANDARD_RATES_SUCCESS:\r\n return {\r\n ...state,\r\n standardMbiProductGroup: action.productGroups.filter((pg) => pg.cover === \"MBI\")[0],\r\n standardGapProductGroup: action.productGroups.filter((pg) => pg.cover === \"GAP\")[0],\r\n ui: { ...state.ui, loadingStandardRates: false },\r\n };\r\n\r\n case LOAD_MBI_CLAIM_LIMITS_SUCCESS:\r\n return {\r\n ...state,\r\n claimLimits: action.claimLimits,\r\n };\r\n\r\n case LOAD_DEALERSHIPS_FOR_MBI_SUCCESS:\r\n return {\r\n ...state,\r\n mbiDealerships: action.dealerships,\r\n ui: { ...state.ui, loadingMbiDealerships: false },\r\n };\r\n case LOAD_DEALERSHIPS_FOR_GAP_SUCCESS:\r\n return {\r\n ...state,\r\n gapDealerships: action.dealerships,\r\n ui: { ...state.ui, loadingGapDealerships: false },\r\n };\r\n case LOAD_DEALERSHIPS_FOR_PPI_SUCCESS:\r\n return {\r\n ...state,\r\n ppiDealerships: action.dealerships,\r\n ui: { ...state.ui, loadingPpiDealerships: false },\r\n };\r\n case LOAD_POLICY_WORDINGS_SUCCESS:\r\n return {\r\n ...state,\r\n policyWordings: action.policyWordings,\r\n };\r\n case LOAD_SUMMARY_OF_COVER_LIST_SUCCESS:\r\n return {\r\n ...state,\r\n socList: action.socList,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { dealershipRates };\r\n","import { INITIALIZED, LOADED_BDMS, PAGELOADED } from \"./actions\";\r\n\r\nconst initialState = {\r\n dealers: [],\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n serviceLevel: \"\",\r\n bdm: 0,\r\n data: {\r\n listType: \"\",\r\n activePage: 1,\r\n search: \"\",\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n filter: \"\",\r\n filtered: [],\r\n },\r\n bdms: [],\r\n};\r\n\r\nfunction myDealers(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n serviceLevel: action.serviceLevel,\r\n bdm: action.bdm,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n };\r\n\r\n case LOADED_BDMS:\r\n return {\r\n ...state,\r\n bdms: [...action.data],\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { myDealers };\r\n","import { LOADED_BDMS, PAGELOADED, WAIT, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n activePage: 1,\r\n search: \"\",\r\n serviceLevel: \"\",\r\n bdm: 0,\r\n data: {\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: false,\r\n },\r\n bdms: [],\r\n};\r\n\r\nfunction bdmlist(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n return {\r\n ...state,\r\n activePage: action.activePage,\r\n search: action.search,\r\n serviceLevel: action.serviceLevel,\r\n bdm: action.bdm,\r\n data: {\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n };\r\n\r\n case LOADED_BDMS:\r\n return {\r\n ...state,\r\n bdms: [...action.data],\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: { wait: true },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: { wait: false },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { bdmlist };\r\n","import {\r\n SET_OPTION_CODE,\r\n REGO_SEARCH_RETRIEVED,\r\n REGO_SEARCH_CORRECT,\r\n REGO_SEARCH_INCORRECT,\r\n REGO_SEARCH_CLOSE,\r\n MAKES_RETRIEVED,\r\n MODELS_RETRIEVED,\r\n SUBMODELS_RETRIEVED,\r\n REGO_SEARCH_WAIT,\r\n REGO_SEARCH_FINISHED,\r\n} from \"../../components/regomakemodel/actions\";\r\n\r\nimport { UPDATED } from \"../../policy/actions\";\r\n\r\nimport { INITIALIZED, ADD_DRIVER, REMOVE_DRIVER, PREMIUMS_CALCULATED, REFERRED, RESET, CONTINUE_SAVE, CONTINUE_WAIT, CLOSE_SAVE, RESET_MVI_OPTION } from \"./actions\";\r\n\r\nimport { ArrayRegoSearchReducer, initialState as regosearchInitialState, ArrayInitialState, isFor } from \"../../components/regomakemodel/regoSearchReducer\";\r\n\r\nconst initialDriverState = {\r\n gender: \"male\",\r\n licenceclass: \"Learners Licence\",\r\n licencecountry: \"New Zealand\",\r\n yearslicence: \"Less than 2 years\",\r\n accidents: \"0\",\r\n atfaultaccidents: \"0\",\r\n};\r\n\r\nexport const initialState = {\r\n viewmodel: \"MVIQuickQuote\",\r\n PolicyPackage: {\r\n MVIOption: \"XXXX\",\r\n status: \"Incomplete\",\r\n MotorVehicleInsurancePolicy: {\r\n Drivers: [initialDriverState],\r\n },\r\n PolicyVehicles: [\r\n {\r\n Make: \"\",\r\n Model: \"\",\r\n Submodel: \"\",\r\n OvernightParking: \"On street or road\",\r\n VehicleUse: \"Private\",\r\n },\r\n ],\r\n Proposer: {},\r\n },\r\n ui: {\r\n regosearch: [regosearchInitialState(\"MVIQuickQuote\", \"MVI\", \"XXXX\")],\r\n AreasOfGaraging: [],\r\n modalVisible: false,\r\n wait: false,\r\n },\r\n};\r\n\r\nfunction MVIQuickQuote(state = initialState, action) {\r\n switch (action.type) {\r\n case RESET:\r\n return initialState;\r\n\r\n case INITIALIZED:\r\n case UPDATED:\r\n if (isFor(state, action)) {\r\n return policyUpdateUI(state, action);\r\n }\r\n\r\n return state;\r\n\r\n case SET_OPTION_CODE:\r\n case REGO_SEARCH_RETRIEVED:\r\n case REGO_SEARCH_CORRECT:\r\n case REGO_SEARCH_INCORRECT:\r\n case REGO_SEARCH_CLOSE:\r\n case REGO_SEARCH_WAIT:\r\n case REGO_SEARCH_FINISHED:\r\n case MAKES_RETRIEVED:\r\n case MODELS_RETRIEVED:\r\n case SUBMODELS_RETRIEVED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n regosearch: ArrayRegoSearchReducer(state.ui.regosearch, action),\r\n },\r\n };\r\n\r\n case ADD_DRIVER:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MotorVehicleInsurancePolicy: {\r\n ...state.PolicyPackage.MotorVehicleInsurancePolicy,\r\n Drivers: [...state.PolicyPackage.MotorVehicleInsurancePolicy.Drivers, initialDriverState],\r\n },\r\n },\r\n };\r\n\r\n case REMOVE_DRIVER:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MotorVehicleInsurancePolicy: {\r\n ...state.PolicyPackage.MotorVehicleInsurancePolicy,\r\n Drivers: [\r\n ...state.PolicyPackage.MotorVehicleInsurancePolicy.Drivers.slice(0, action.index),\r\n ...state.PolicyPackage.MotorVehicleInsurancePolicy.Drivers.slice(action.index + 1),\r\n ],\r\n },\r\n },\r\n };\r\n\r\n case PREMIUMS_CALCULATED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MotorVehicleInsurancePolicy: action.PolicyPackage.MotorVehicleInsurancePolicy,\r\n },\r\n ui: {\r\n ...state.ui,\r\n QuickQuote: action.QuickQuote,\r\n Referred: undefined,\r\n },\r\n };\r\n\r\n case RESET_MVI_OPTION:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MVIOption: \"XXXX\",\r\n },\r\n };\r\n\r\n case REFERRED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MotorVehicleInsurancePolicy: action.PolicyPackage.MotorVehicleInsurancePolicy,\r\n },\r\n ui: {\r\n ...state.ui,\r\n QuickQuote: undefined,\r\n Referred: action.Referred,\r\n },\r\n };\r\n\r\n case CONTINUE_SAVE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: true,\r\n wait: false,\r\n print: action.print,\r\n },\r\n };\r\n\r\n case CONTINUE_WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case CLOSE_SAVE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: false,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction policyUpdateUI(state, action) {\r\n // ajk - problem with the PolicyPackage approach below is it removes the server's ability to remove elements\r\n\r\n const Vehicles = typeof action.ui.Vehicles !== \"undefined\" ? action.ui.Vehicles : state.ui.Vehicles;\r\n const QuickQuote = typeof action.ui.QuickQuote !== \"undefined\" ? action.ui.QuickQuote : state.ui.QuickQuote;\r\n const AreasOfGaraging = typeof action.ui.AreasOfGaraging !== \"undefined\" ? action.ui.AreasOfGaraging : state.ui.AreasOfGaraging;\r\n\r\n const regosearch = ArrayInitialState(\"MVIQuickQuote\", action.PolicyPackage, action.ui.makes, action.ui.Vehicles);\r\n\r\n // ajk - attempts to select the first available MVI product\r\n\r\n const actionOptions = action.ui.Products.filter((product) => product.code === \"MVI\")[0].options;\r\n const options = typeof actionOptions !== \"undefined\" ? actionOptions : state.ui.options;\r\n const MVIOption = state.PolicyPackage.MVIOption !== \"XXXX\" ? state.PolicyPackage.MVIOption : options[0].optionCode;\r\n\r\n const PolicyPackage = {\r\n ...state.PolicyPackage,\r\n ...action.PolicyPackage,\r\n MVIOption,\r\n MotorVehicleInsurancePolicy: {\r\n ...state.PolicyPackage.MotorVehicleInsurancePolicy,\r\n optioncode: MVIOption,\r\n },\r\n };\r\n\r\n return {\r\n ...state,\r\n PolicyPackage,\r\n ui: {\r\n ...state.ui,\r\n Vehicles,\r\n QuickQuote,\r\n AreasOfGaraging,\r\n regosearch,\r\n },\r\n };\r\n}\r\n\r\nexport { MVIQuickQuote };\r\n","import {\r\n SET_OPTION_CODE,\r\n REGO_SEARCH_CORRECT,\r\n REGO_SEARCH_INCORRECT,\r\n REGO_SEARCH_CLOSE,\r\n MAKES_RETRIEVED,\r\n MODELS_RETRIEVED,\r\n REGO_SEARCH_WAIT,\r\n REGO_SEARCH_FINISHED,\r\n} from \"../../components/regomakemodel/actions\";\r\n\r\nimport { UPDATED } from \"../../policy/actions\";\r\n\r\nimport { INITIALIZED, PREMIUMS_CALCULATED, REFERRED, RESET, CONTINUE_SAVE, CONTINUE_WAIT, CLOSE_SAVE, MCI_SPEC_RETRIEVED } from \"./actions\";\r\n\r\nimport { ArrayRegoSearchReducer, isFor, initialState as regosearchInitialState, ArrayInitialState } from \"../../components/regomakemodel/regoSearchReducer\";\r\n\r\nconst initialState = {\r\n viewmodel: \"MCIQuickQuote\",\r\n PolicyPackage: {\r\n MCIOption: \"XXXX\",\r\n status: \"Incomplete\",\r\n MotorCycleInsurancePolicy: {\r\n optioncode: \"XXXX\",\r\n PolicyOption: \"Full\",\r\n Riders: [\r\n {\r\n gender: \"male\",\r\n licenceclass: \"Full Motorcycle\",\r\n licencecountry: \"New Zealand\",\r\n yearslicence: \"Less than 2 years\",\r\n ridingexperience: \"less than 1\",\r\n incidents5years: \"0\",\r\n incidents12months: \"0\",\r\n },\r\n ],\r\n },\r\n PolicyMotorCycles: [\r\n {\r\n OvernightParking: \"In a garage\",\r\n VehicleUse: \"Recreational riding\",\r\n regostatus: \"Registered\",\r\n },\r\n ],\r\n Proposer: {},\r\n },\r\n ui: {\r\n regosearch: [regosearchInitialState(\"MCIQuickQuote\", \"MCI\", \"APMCB\")],\r\n AreasOfGaraging: [],\r\n modalVisible: false,\r\n wait: false,\r\n regostatus: false,\r\n },\r\n};\r\n\r\nfunction MCIQuickQuote(state = initialState, action) {\r\n switch (action.type) {\r\n case RESET:\r\n return initialState;\r\n\r\n case INITIALIZED:\r\n case UPDATED:\r\n if (isFor(state, action)) {\r\n return policyUpdateUI(state, action);\r\n }\r\n\r\n return state;\r\n\r\n case SET_OPTION_CODE:\r\n case REGO_SEARCH_CORRECT:\r\n case REGO_SEARCH_INCORRECT:\r\n case REGO_SEARCH_CLOSE:\r\n case REGO_SEARCH_WAIT:\r\n case REGO_SEARCH_FINISHED:\r\n case MODELS_RETRIEVED:\r\n case MAKES_RETRIEVED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n regosearch: ArrayRegoSearchReducer(state.ui.regosearch, action),\r\n },\r\n };\r\n\r\n case PREMIUMS_CALCULATED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MotorCycleInsurancePolicy: action.PolicyPackage.MotorCycleInsurancePolicy,\r\n },\r\n ui: {\r\n ...state.ui,\r\n QuickQuote: action.QuickQuote,\r\n ExcessMatrix: action.ExcessMatrix,\r\n Referred: undefined,\r\n },\r\n };\r\n\r\n case REFERRED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MotorCycleInsurancePolicy: action.PolicyPackage.MotorCycleInsurancePolicy,\r\n },\r\n ui: {\r\n ...state.ui,\r\n QuickQuote: undefined,\r\n ExcessMatrix: undefined,\r\n Referred: action.Referred,\r\n },\r\n };\r\n\r\n case CONTINUE_SAVE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: true,\r\n wait: false,\r\n print: action.print,\r\n },\r\n };\r\n\r\n case CONTINUE_WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case MCI_SPEC_RETRIEVED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n regostatus: action.regostatus,\r\n },\r\n };\r\n\r\n case CLOSE_SAVE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: false,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction policyUpdateUI(state, action) {\r\n const PolicyPackage = {\r\n ...state.PolicyPackage,\r\n ...action.PolicyPackage,\r\n };\r\n\r\n const Cycles = typeof action.ui.Cycles !== \"undefined\" ? action.ui.Cycles : state.ui.Cycles;\r\n const Premiums = typeof action.ui.Premiums !== \"undefined\" ? action.ui.Premiums : state.ui.Premiums;\r\n const AreasOfGaraging = typeof action.ui.AreasOfGaraging !== \"undefined\" ? action.ui.AreasOfGaraging : state.ui.AreasOfGaraging;\r\n\r\n const regosearch = ArrayInitialState(\"MCIQuickQuote\", action.PolicyPackage, action.ui.makes, action.ui.Cycles);\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: PolicyPackage,\r\n ui: {\r\n ...state.ui,\r\n Cycles: Cycles,\r\n Premiums: Premiums,\r\n AreasOfGaraging: AreasOfGaraging,\r\n regosearch: regosearch,\r\n },\r\n };\r\n}\r\n\r\nexport { MCIQuickQuote };\r\n","import {\r\n INITIALIZED,\r\n ADD_VEHICLE,\r\n REMOVE_VEHICLE,\r\n RATING_CATS_RETRIEVED,\r\n PREMIUMS_CALCULATED,\r\n REFERRED,\r\n RESET,\r\n CONTINUE_SAVE,\r\n CONTINUE_WAIT,\r\n CLOSE_SAVE\r\n} from './actions'\r\n\r\nimport {\r\n ArrayInitialState,\r\n isFor\r\n} from '../../components/regomakemodel/regoSearchReducer'\r\n\r\nconst initialVehicleState = {\r\n YearOfManufacture: 0,\r\n Make: '',\r\n Model: ''\r\n}\r\n\r\nconst initialVehicleUIState = {\r\n ratingscategories: []\r\n}\r\n\r\nconst initialState = {\r\n viewmodel: 'PCIQuickQuote',\r\n PolicyPackage: {\r\n PCIOption: 'PCR',\r\n status: 'Incomplete',\r\n ProtectaClassicInsurancePolicy: {\r\n Drivers: [{}]\r\n },\r\n PolicyVehicles: [ initialVehicleState ],\r\n Proposer: {}\r\n },\r\n ui: {\r\n Vehicles: [ initialVehicleUIState ]\r\n }\r\n}\r\n\r\nfunction PCIQuickQuote (state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZED :\r\n\r\n if (isFor(state, action)) {\r\n return policyUpdateUI(state, action)\r\n }\r\n\r\n return state\r\n\r\n case ADD_VEHICLE :\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [ ...state.PolicyPackage.PolicyVehicles, initialVehicleState ]\r\n },\r\n ui: {\r\n ...state.ui,\r\n Vehicles: [ ...state.ui.Vehicles, initialVehicleState ]\r\n }\r\n }\r\n\r\n case REMOVE_VEHICLE :\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [ ...state.PolicyPackage.PolicyVehicles.slice(0, action.index), ...state.PolicyPackage.PolicyVehicles.slice(action.index + 1) ]\r\n },\r\n ui: {\r\n ...state.ui,\r\n Vehicles: [ ...state.ui.Vehicles.slice(0, action.index), ...state.ui.Vehicles.slice(action.index + 1) ]\r\n }\r\n }\r\n\r\n case RATING_CATS_RETRIEVED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n Vehicles: state.ui.Vehicles.map((vehicle, index) => { return (index === action.index) ? { ...vehicle, ratingscategories: action.ratingscategories } : vehicle })\r\n }\r\n }\r\n\r\n case PREMIUMS_CALCULATED :\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n ProtectaClassicInsurancePolicy: action.PolicyPackage.ProtectaClassicInsurancePolicy\r\n },\r\n ui: {\r\n ...state.ui,\r\n QuickQuote: action.QuickQuote,\r\n Referred: undefined\r\n }\r\n }\r\n\r\n case REFERRED :\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n ProtectaClassicInsurancePolicy: action.PolicyPackage.ProtectaClassicInsurancePolicy\r\n },\r\n ui: {\r\n ...state.ui,\r\n QuickQuote: undefined,\r\n Referred: action.Referred\r\n }\r\n }\r\n\r\n case RESET :\r\n return initialState\r\n\r\n case CONTINUE_SAVE :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: true,\r\n wait: false,\r\n print: action.print\r\n }\r\n }\r\n\r\n case CONTINUE_WAIT :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case CLOSE_SAVE :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: false,\r\n wait: false\r\n }\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nfunction policyUpdateUI (state, action) {\r\n // ajk - problem with the PolicyPackage approach below is it removes the server's ability to remove elements\r\n\r\n const PolicyPackage = {\r\n ...state.PolicyPackage,\r\n ...action.PolicyPackage\r\n }\r\n\r\n const Vehicles = (typeof action.ui.Vehicles !== 'undefined') ? action.ui.Vehicles : state.ui.Vehicles\r\n const Premiums = (typeof action.ui.Premiums !== 'undefined') ? action.ui.Premiums : state.ui.Premiums\r\n\r\n const regosearch = ArrayInitialState(\r\n 'PCIQuickQuote',\r\n action.PolicyPackage,\r\n action.ui.makes,\r\n action.ui.Vehicles\r\n )\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: PolicyPackage,\r\n ui: {\r\n ...state.ui,\r\n Vehicles: Vehicles,\r\n Premiums: Premiums,\r\n regosearch: regosearch\r\n }\r\n }\r\n}\r\n\r\nexport { PCIQuickQuote }\r\n","import {\r\n SET_OPTION_CODE,\r\n REGO_SEARCH_RETRIEVED,\r\n REGO_SEARCH_CORRECT,\r\n REGO_SEARCH_INCORRECT,\r\n REGO_SEARCH_CLOSE,\r\n MAKES_RETRIEVED,\r\n MODELS_RETRIEVED,\r\n SUBMODELS_RETRIEVED,\r\n REGO_SEARCH_WAIT,\r\n REGO_SEARCH_FINISHED,\r\n} from \"../../components/regomakemodel/actions\";\r\n\r\nimport {\r\n INITIALIZED,\r\n OPTION_SELECTED,\r\n POWERTRAIN_SELECTED,\r\n ORIGIN_SELECTED,\r\n PREMIUMS_CALCULATED,\r\n RESET,\r\n WAIT,\r\n FINISHED,\r\n CONTINUE_SAVE,\r\n CONTINUE_WAIT,\r\n CLOSE_SAVE,\r\n EVHYBRID_SELECTED,\r\n} from \"./actions\";\r\n\r\nimport { UPDATED } from \"../../policy/actions\";\r\n\r\nimport { ArrayRegoSearchReducer, initialState as regosearchInitialState, ArrayInitialState, isFor } from \"../../components/regomakemodel/regoSearchReducer\";\r\n\r\nconst initialState = {\r\n viewmodel: \"MBIQuickQuote\",\r\n PolicyPackage: {\r\n status: \"Incomplete\",\r\n MBIOption: \"XXXX\",\r\n MotorVehicleBreakdownPolicy: {},\r\n PolicyVehicles: [\r\n {\r\n Make: \"\",\r\n Model: \"\",\r\n Submodel: \"\",\r\n YearOfManufacture: \"0\",\r\n odometer: 0,\r\n petrol: true,\r\n diesel: false,\r\n evhybrid: false,\r\n nznew: \"true\",\r\n turbo: \"false\",\r\n fourwd: \"false\",\r\n },\r\n ],\r\n Proposer: {},\r\n },\r\n ui: {\r\n regosearch: [regosearchInitialState(\"MBIQuickQuote\", \"MBI\", \"OPT\")],\r\n options: [],\r\n MBI: {},\r\n wait:false,\r\n maxOdometer: 225000,\r\n },\r\n};\r\n\r\nfunction MBIQuickQuote(state = initialState, action) {\r\n switch (action.type) {\r\n case RESET:\r\n return initialState;\r\n\r\n case INITIALIZED:\r\n case UPDATED:\r\n if (isFor(state, action)) {\r\n return policyUpdateUI(state, action);\r\n }\r\n\r\n return state;\r\n\r\n case REGO_SEARCH_RETRIEVED:\r\n case SET_OPTION_CODE:\r\n case REGO_SEARCH_CORRECT:\r\n case REGO_SEARCH_INCORRECT:\r\n case REGO_SEARCH_CLOSE:\r\n case REGO_SEARCH_WAIT:\r\n case REGO_SEARCH_FINISHED:\r\n case MAKES_RETRIEVED:\r\n case MODELS_RETRIEVED:\r\n case SUBMODELS_RETRIEVED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n regosearch: ArrayRegoSearchReducer(state.ui.regosearch, action),\r\n },\r\n };\r\n\r\n case OPTION_SELECTED:\r\n // ugly, ensure both places the optioncode is stored in, is updated.\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n MBIOption: action.optionCode,\r\n MotorVehicleBreakdownPolicy: {\r\n ...state.PolicyPackage.MotorVehicleBreakdownPolicy,\r\n optioncode: action.optionCode,\r\n },\r\n },\r\n ui: {\r\n ...state.ui,\r\n regosearch: [regosearchInitialState(\"MBIQuickQuote\", \"MBI\", action.optionCode)],\r\n },\r\n };\r\n\r\n case POWERTRAIN_SELECTED:\r\n // ugly, but converts radios into the weird datastructure the back end uses for this.\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[0],\r\n petrol: action.powertrain.endsWith(\"petrol\"),\r\n diesel: action.powertrain.endsWith(\"diesel\"),\r\n evhybrid: action.powertrain.endsWith(\"evhybrid\"),\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case EVHYBRID_SELECTED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[0],\r\n EV: action.evhybrid.endsWith(\"EV\"),\r\n Hybrid: action.evhybrid.endsWith(\"Hybrid\"),\r\n ENA: action.evhybrid.endsWith(\"ENA\"),\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case ORIGIN_SELECTED:\r\n return {\r\n ...state,\r\n PolicyPackage: {\r\n ...state.PolicyPackage,\r\n PolicyVehicles: [\r\n {\r\n ...state.PolicyPackage.PolicyVehicles[0],\r\n import: action.origin.endsWith(\"import\"),\r\n nznew: action.origin.endsWith(\"nznew\"),\r\n },\r\n ],\r\n },\r\n };\r\n\r\n case PREMIUMS_CALCULATED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n QuickQuote: action.QuickQuote,\r\n regosearched: false,\r\n match: \"\",\r\n correct: false,\r\n incorrect: false,\r\n },\r\n };\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case CONTINUE_SAVE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: true,\r\n wait: false,\r\n print: action.print,\r\n },\r\n };\r\n\r\n case CONTINUE_WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case CLOSE_SAVE:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n modalVisible: false,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction policyUpdateUI(state, action) {\r\n // ajk - problem with the PolicyPackage approach below is it removes the server's ability to remove elements\r\n\r\n const Vehicles = typeof action.ui.Vehicles !== \"undefined\" ? action.ui.Vehicles : state.ui.Vehicles;\r\n const Premiums = typeof action.ui.Premiums !== \"undefined\" ? action.ui.Premiums : state.ui.Premiums;\r\n const AreasOfGaraging = typeof action.ui.AreasOfGaraging !== \"undefined\" ? action.ui.AreasOfGaraging : state.ui.AreasOfGaraging;\r\n\r\n const MBI = typeof action.ui.MBI !== \"undefined\" ? action.ui.MBI : state.ui.MBI;\r\n\r\n // ajk - attempts to select the first available MBI product\r\n const actionOptions = action.ui.Products.filter((product) => product.code === \"MBI\")[0].options;\r\n const options = typeof actionOptions !== \"undefined\" ? actionOptions : state.ui.options;\r\n const MBIOption = state.PolicyPackage.MBIOption !== \"XXXX\" ? state.PolicyPackage.MBIOption : options[0].optionCode;\r\n const PolicyPackage = {\r\n ...state.PolicyPackage,\r\n ...action.PolicyPackage,\r\n MBIOption,\r\n MotorVehicleBreakdownPolicy: {\r\n ...state.PolicyPackage.MotorVehicleBreakdownPolicy,\r\n optioncode: MBIOption,\r\n },\r\n };\r\n\r\n return {\r\n ...state,\r\n PolicyPackage,\r\n ui: {\r\n ...state.ui,\r\n options,\r\n Vehicles,\r\n Premiums,\r\n AreasOfGaraging,\r\n MBI,\r\n regosearch: ArrayInitialState(\"MBIQuickQuote\", PolicyPackage, action.ui.makes, action.ui.Vehicles),\r\n },\r\n };\r\n}\r\n\r\nexport { MBIQuickQuote };\r\n","import { WAIT, FINISHED } from \"./actions\";\r\n\r\nconst today = new Date();\r\nconst yesterday = new Date().setDate(today.getDate() - 1);\r\n\r\nconst initialState = {\r\n data: {\r\n datefrom: formatDate(yesterday),\r\n dateto: formatDate(today),\r\n type: \"Full\",\r\n },\r\n ui: {\r\n wait: false,\r\n },\r\n};\r\n\r\nfunction Export(state = initialState, action) {\r\n switch (action.type) {\r\n case WAIT:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction formatDate(date) {\r\n let d = new Date(date);\r\n let month = \"\" + (d.getMonth() + 1);\r\n let day = \"\" + d.getDate();\r\n let year = d.getFullYear();\r\n if (month.length < 2) month = \"0\" + month;\r\n if (day.length < 2) day = \"0\" + day;\r\n return [year, month, day].join(\"-\");\r\n}\r\n\r\nexport { Export };\r\n","import {\r\n INITIALIZED,\r\n SAVED,\r\n WAIT,\r\n ERROR\r\n} from './actions'\r\n\r\nconst initialState = {\r\n policyNumber: '',\r\n message: '',\r\n ui: {\r\n wait: false\r\n }\r\n}\r\n\r\nfunction requestPolicyModification (state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZED :\r\n\r\n return {\r\n ...state,\r\n policyNumber: action.policyNumber,\r\n message: action.message,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: action.wait\r\n }\r\n }\r\n\r\n case SAVED :\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {},\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case ERROR :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n errors: action.errors,\r\n wait: false\r\n }\r\n }\r\n\r\n default :\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { requestPolicyModification }\r\n","import {\r\n INITIALIZED,\r\n SAVED,\r\n WAIT,\r\n ERROR\r\n} from './actions'\r\n\r\nconst initialState = {\r\n policyNumber: '',\r\n id:'',\r\n message: '',\r\n ui: {\r\n wait: false\r\n }\r\n}\r\n\r\nfunction requestPolicyRegoModification (state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZED :\r\n\r\n return {\r\n ...state,\r\n policyNumber: action.policyNumber,\r\n message: action.message,\r\n id:action.id,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: action.wait\r\n }\r\n }\r\n\r\n case SAVED :\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: {},\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case ERROR :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n errors: action.errors,\r\n wait: false\r\n }\r\n }\r\n\r\n default :\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { requestPolicyRegoModification }\r\n","import {\r\n INITIALIZED,\r\n SETPROPOSERTYPE,\r\n SAVED,\r\n WAIT,\r\n ERROR\r\n} from './actions'\r\n\r\nconst initialState = {\r\n 'PolicyPackage': {\r\n 'MotorVehicleInsurancePolicy': {\r\n },\r\n 'PolicyVehicle': {\r\n }\r\n },\r\n ui: {\r\n 'makes': [],\r\n 'AreasOfGaraging': [],\r\n proposertype: 'Individual'\r\n }\r\n}\r\n\r\nfunction modifyPolicy (state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZED : {\r\n let newState = {\r\n ...state,\r\n PolicyPackage: action.PolicyPackage,\r\n ui: {\r\n ...state.ui,\r\n FinanceCompanies: action.ui.FinanceCompanies,\r\n proposertype: action.PolicyPackage.Proposer.company === '' ? 'Individual' : 'Corporate'\r\n }\r\n }\r\n delete newState.ui.errors\r\n return newState\r\n }\r\n case SETPROPOSERTYPE :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n proposertype: action.proposertype\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: action.wait\r\n }\r\n }\r\n\r\n case SAVED :\r\n\r\n let newState = {\r\n ...state,\r\n PolicyPackage: {},\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n FinanceCompanies: []\r\n }\r\n }\r\n\r\n delete newState.ui.errors\r\n\r\n return newState\r\n\r\n case ERROR :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n errors: action.errors,\r\n validated:false\r\n }\r\n }\r\n\r\n default :\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { modifyPolicy }\r\n","import {\r\n INITIALIZE\r\n} from './actions'\r\n\r\nconst initialState = {\r\n}\r\n\r\nfunction archivePolicy (state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZE :\r\n\r\n return {\r\n ...state,\r\n policy: action.policy,\r\n ui: {\r\n ...state.ui\r\n }\r\n }\r\n\r\n default :\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { archivePolicy }\r\n","import { SUBMITED, FINISHED } from \"./actions\";\r\n\r\nconst initialState = {\r\n Mail: {\r\n ReasonForCancel: \"Vehicle Returned to Seller\",\r\n },\r\n ui: {\r\n submitted: false,\r\n },\r\n};\r\n\r\nfunction Cancellation(state = initialState, action) {\r\n switch (action.type) {\r\n case SUBMITED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n submitted: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n submitted: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { Cancellation };\r\n","import {\r\n SUBMITED,\r\n FINISHED\r\n} from './actions'\r\n\r\nconst initialState = {\r\n Mail: {\r\n name: 'Webmaster',\r\n address: 'support_protecta@protecta.co.nz',\r\n subject: 'Error Occured'\r\n },\r\n ui: {\r\n submitted: false\r\n }\r\n}\r\n\r\nfunction ErrorReport (state = initialState, action) {\r\n switch (action.type) {\r\n case SUBMITED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n submitted: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n submitted: false\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { ErrorReport }\r\n","import {\r\n SUBMITED,\r\n FINISHED\r\n} from './actions'\r\n\r\nconst initialState = {\r\n Mail: {\r\n name: 'Webmaster',\r\n address: 'customer.services@protecta.co.nz',\r\n subject: 'Request Policy Wording'\r\n },\r\n ui: {\r\n submitted: false\r\n }\r\n}\r\n\r\nfunction Wording (state = initialState, action) {\r\n switch (action.type) {\r\n case SUBMITED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n submitted: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n submitted: false\r\n }\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport { Wording }\r\n","import {\r\n PAGELOADED,\r\n\r\n WAIT,\r\n FINISHED\r\n\r\n} from './actions'\r\n\r\nconst initialState = {\r\n listType: '',\r\n activePage: 1,\r\n search: '',\r\n searchtype:'Policy ID',\r\n\r\n data: {\r\n listType: '',\r\n activePage: 1,\r\n search: '',\r\n searchtype:'Policy ID',\r\n records: [],\r\n recordsTotal: 0\r\n },\r\n ui: {\r\n wait: true\r\n }\r\n}\r\n\r\nfunction policyList (state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED :\r\n\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n searchtype:action.searchtype,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: []\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport {\r\n policyList\r\n}\r\n","import { PAGELOADED, WAIT, FINISHED, SETPAGE } from \"./actions\";\r\n\r\nconst initialState = {\r\n activePage: 1,\r\n search: \"\",\r\n searchtype: \"rego\",\r\n\r\n data: {\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction mbigList(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n let newState = {\r\n ...state,\r\n activePage: action.activePage,\r\n search: action.search,\r\n datefrom: action.datefrom,\r\n dateto: action.dateto,\r\n searchtype: action.searchtype,\r\n data: {\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n return newState;\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case SETPAGE:\r\n return {\r\n ...state,\r\n activePage: action.activePage,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { mbigList };\r\n","import {\r\n PAGELOADED,\r\n\r\n UPDATE,\r\n NO,\r\n UPDATED,\r\n\r\n WAIT,\r\n FINISHED\r\n\r\n} from './actions'\r\n\r\nconst initialState = {\r\n listType: '',\r\n\r\n data: {\r\n listType: '',\r\n records: []\r\n },\r\n ui: {\r\n wait: true,\r\n records: []\r\n }\r\n}\r\n\r\nfunction monthList (state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED :\r\n\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n data: {\r\n listType: action.listType,\r\n records: action.data\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n records: action.data.map((month) => { return { id: month.id, sure: false } })\r\n }\r\n }\r\n\r\n case UPDATE :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n records: state.ui.records.map((month) => { return (month.id === action.month.id) ? { id: month.id, sure: true } : month })\r\n }\r\n }\r\n\r\n case NO :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n records: state.ui.records.map((month) => { return (month.id === action.month.id) ? { id: month.id, sure: false } : month })\r\n }\r\n }\r\n\r\n case UPDATED :\r\n\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: state.data.records.map((month) => (month.id === action.month.id) ? action.month : month)\r\n },\r\n ui: {\r\n ...state.ui,\r\n records: state.ui.records.map((month) => { return (month.id === action.month.id) ? { id: month.id, sure: false } : month })\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: []\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { monthList }\r\n","import {\r\n INITIALIZED,\r\n\r\n WAIT,\r\n FINISHED,\r\n\r\n SORTDATE,\r\n SORTTYPE\r\n\r\n} from './actions'\r\n\r\nconst initialState = {\r\n month: {\r\n },\r\n ui: {\r\n wait: true\r\n }\r\n}\r\n\r\nfunction Month (state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZED :\r\n\r\n return {\r\n ...state,\r\n month: action.month,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case SORTDATE :\r\n\r\n return {\r\n ...state,\r\n month: {\r\n ...state.month,\r\n SalesLog: state.month.SalesLog.slice().sort((a, b) => a.id - b.id)\r\n }\r\n }\r\n\r\n case SORTTYPE :\r\n\r\n return {\r\n ...state,\r\n month: {\r\n ...state.month,\r\n SalesLog: state.month.SalesLog.slice().sort((a, b) => a.salesstatus.localeCompare(b.localeCompare))\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { Month }\r\n","import {\r\n INITIALIZED,\r\n\r\n WAIT,\r\n FINISHED\r\n\r\n} from './actions'\r\n\r\nconst initialState = {\r\n saleslog: {\r\n },\r\n ui: {\r\n wait: true\r\n }\r\n}\r\n\r\nfunction SalesLog (state = initialState, action) {\r\n switch (action.type) {\r\n case INITIALIZED :\r\n\r\n return {\r\n ...state,\r\n saleslog: action.saleslog,\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { SalesLog }\r\n","import {\r\n SETWSLOGS,\r\n SETACTIVE\r\n} from './actions'\r\n\r\nconst initialstate = {\r\n ui: {\r\n activewslog: {}\r\n }\r\n}\r\n\r\nfunction recentWSLogs (state = initialstate, action) {\r\n switch (action.type) {\r\n case SETWSLOGS :\r\n\r\n return {\r\n ...state,\r\n wslogs: action.wslogs\r\n }\r\n\r\n case SETACTIVE :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activewslog: action.wslog\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { recentWSLogs }\r\n","import {\r\n PAGELOADED,\r\n WAIT,\r\n FINISHED,\r\n SETACTIVE,\r\n SETPAGE\r\n} from './actions'\r\n\r\nconst today = new Date()\r\nconst start = new Date().setDate(today.getDate() - 7)\r\n\r\nconst initialState = {\r\n activePage: 1,\r\n search: '',\r\n datefrom: formatDate(start),\r\n dateto: formatDate(today),\r\n reqtype: '',\r\n\r\n data: {\r\n records: [],\r\n recordsTotal: 0\r\n },\r\n ui: {\r\n wait: true,\r\n executeVisible: false\r\n }\r\n}\r\n\r\nfunction wslogList (state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED :\r\n\r\n let newState = {\r\n ...state,\r\n activePage: action.activePage,\r\n search: action.search,\r\n datefrom: action.datefrom,\r\n dateto: action.dateto,\r\n reqtype: action.reqtype,\r\n data: {\r\n records: action.data,\r\n recordsTotal: action.recordsTotal\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n delete newState.ui.activewslog\r\n\r\n return newState\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: []\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case SETACTIVE :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activewslog: action.wslog\r\n }\r\n }\r\n\r\n case SETPAGE :\r\n\r\n return {\r\n ...state,\r\n activePage: action.activePage\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport {\r\n wslogList\r\n}\r\n\r\nfunction formatDate (date) {\r\n let d = new Date(date)\r\n let month = '' + (d.getMonth() + 1)\r\n let day = '' + d.getDate()\r\n let year = d.getFullYear()\r\n if (month.length < 2) month = '0' + month\r\n if (day.length < 2) day = '0' + day\r\n return [year, month, day].join('-')\r\n}\r\n","import {\r\n INIT,\r\n WAIT,\r\n CANCEL,\r\n FINISHED\r\n} from './actions'\r\n\r\nconst initialState = {\r\n ui: {\r\n wait: true,\r\n vsible: false\r\n }\r\n}\r\n\r\nfunction wsExecute (state = initialState, action) {\r\n switch (action.type) {\r\n case INIT :\r\n let newState = {\r\n ...state,\r\n document: action.document,\r\n ui: {\r\n ...state.ui,\r\n visible: true,\r\n finished: false\r\n }\r\n }\r\n delete newState.response\r\n return newState\r\n\r\n case WAIT :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case CANCEL :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n visible: false,\r\n wait: false\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n response: action.response,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n finished: true\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport {\r\n wsExecute\r\n}\r\n","import {\r\n PAGELOADED,\r\n WAIT,\r\n FINISHED,\r\n SETACTIVE,\r\n SETPAGE\r\n} from './actions'\r\n\r\nconst initialState = {\r\n activePage: 1,\r\n search: '',\r\n\r\n data: {\r\n records: [],\r\n recordsTotal: 0\r\n },\r\n ui: {\r\n wait: true,\r\n executeVisible: false\r\n }\r\n}\r\n\r\nfunction financecompanyList (state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED :\r\n\r\n return {\r\n ...state,\r\n activePage: action.activePage,\r\n search: action.search,\r\n data: {\r\n activePage: action.activePage,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: []\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case SETACTIVE :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n activefinancecompany: action.financecompany\r\n }\r\n }\r\n\r\n case SETPAGE :\r\n\r\n return {\r\n ...state,\r\n activePage: action.activePage\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport {\r\n financecompanyList\r\n}\r\n","import {\r\n LOADED,\r\n NEW\r\n} from './actions'\r\n\r\nconst initialState = {\r\n financecompany: {\r\n id: '0'\r\n },\r\n ui: {\r\n }\r\n}\r\n\r\nfunction financecompanyEdit (state = initialState, action) {\r\n switch (action.type) {\r\n case LOADED :\r\n return {\r\n ...state,\r\n financecompany: {\r\n ...state.financecompany,\r\n ...action.financecompany\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui\r\n }\r\n }\r\n case NEW :\r\n return initialState\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport { financecompanyEdit }\r\n","import { PAGELOADED, WAIT, FINISHED, SETPAGE } from \"./actions\";\r\n\r\nconst initialState = {\r\n activePage: 1,\r\n search: \"\",\r\n searchtype: \"rego\",\r\n\r\n data: {\r\n records: [],\r\n recordsTotal: 0,\r\n },\r\n ui: {\r\n wait: true,\r\n },\r\n};\r\n\r\nfunction fnlist(state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED:\r\n let newState = {\r\n ...state,\r\n activePage: action.activePage,\r\n search: action.search,\r\n datefrom: action.datefrom,\r\n dateto: action.dateto,\r\n searchtype: action.searchtype,\r\n data: {\r\n records: action.data,\r\n recordsTotal: action.recordsTotal,\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n return newState;\r\n\r\n case WAIT:\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: [],\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true,\r\n },\r\n };\r\n\r\n case FINISHED:\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false,\r\n },\r\n };\r\n\r\n case SETPAGE:\r\n return {\r\n ...state,\r\n activePage: action.activePage,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { fnlist };\r\n","import {\r\n LOADED,\r\n NEW,\r\n SETACTIVESTEP,\r\n COMPLETED,\r\n WAIT,\r\n UNWAIT\r\n} from './actions'\r\n\r\nconst initialState = {\r\n claim: {\r\n id: '0',\r\n data: {\r\n GAP: {},\r\n MVI: {\r\n Driver: {}\r\n }\r\n }\r\n },\r\n ui: {\r\n step: 0,\r\n wait: false,\r\n MBI: true,\r\n MVI: true,\r\n MCI: true,\r\n PCI: true,\r\n PPP: true,\r\n GAP: true\r\n }\r\n}\r\n\r\nfunction claimEdit (state = initialState, action) {\r\n switch (action.type) {\r\n case NEW :\r\n return initialState\r\n case LOADED :\r\n return {\r\n ...state,\r\n claim: {\r\n ...state.claim,\r\n ...action.claim\r\n },\r\n ui: {\r\n ...state.ui,\r\n ...action.ui,\r\n wait: false\r\n }\r\n }\r\n case SETACTIVESTEP :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n step: action.step\r\n }\r\n }\r\n case COMPLETED :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n completed: true\r\n }\r\n }\r\n case WAIT :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n case UNWAIT :\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport { claimEdit }\r\n","import {\r\n PAGELOADED,\r\n WAIT,\r\n FINISHED\r\n} from './actions'\r\n\r\nconst initialState = {\r\n listType: '',\r\n activePage: 1,\r\n search: '',\r\n\r\n data: {\r\n listType: '',\r\n activePage: 1,\r\n search: '',\r\n records: [],\r\n recordsTotal: 0\r\n },\r\n ui: {\r\n wait: true\r\n }\r\n}\r\n\r\nfunction claimList (state = initialState, action) {\r\n switch (action.type) {\r\n case PAGELOADED :\r\n\r\n return {\r\n ...state,\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n data: {\r\n listType: action.listType,\r\n activePage: action.activePage,\r\n search: action.search,\r\n records: action.data,\r\n recordsTotal: action.recordsTotal\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n case WAIT :\r\n\r\n return {\r\n ...state,\r\n data: {\r\n ...state.data,\r\n records: []\r\n },\r\n ui: {\r\n ...state.ui,\r\n wait: true\r\n }\r\n }\r\n\r\n case FINISHED :\r\n\r\n return {\r\n ...state,\r\n ui: {\r\n ...state.ui,\r\n wait: false\r\n }\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport {\r\n claimList\r\n}\r\n","import { AGENTS_FETCHED } from './actions'\r\n\r\nconst initialstate = {\r\n filters: {\r\n type: '',\r\n region: '',\r\n page: 0\r\n },\r\n data: {\r\n agents: [],\r\n agentsTotal: 0\r\n }\r\n}\r\n\r\nfunction agentLocator (state = initialstate, action) {\r\n switch (action.type) {\r\n case AGENTS_FETCHED :\r\n return {\r\n ...state,\r\n filters: {\r\n ...state.filters,\r\n page: action.page\r\n },\r\n data: {\r\n ...state.data,\r\n agents: action.agents,\r\n agentsTotal: action.agentsTotal\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport { agentLocator }\r\n","export const getTokenDotnet = (state) => state.auth.tokenDotnet;\r\n","import { all, call, put, takeLatest, select } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"./bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"./apiDotnet\";\r\nimport history from \"./history\";\r\n\r\nimport { error, SETDEALERCODE, setDealerCodeSuccess, USER_IMPERSONATE, USER_IMPERSONATE_END, USER_RESET } from \"./actions\";\r\n\r\nimport { setAuth, setTokenDotnet } from \"./auth/actions\";\r\nimport { getTokenDotnet } from \"./auth/selectors\";\r\n\r\nimport { initialize } from \"./dashboard/actions\";\r\n\r\nfunction* setDealerCodeDotnetSaga() {\r\n yield takeLatest(SETDEALERCODE, function* setDealerCode(action) {\r\n try {\r\n const token = yield select(getTokenDotnet);\r\n const res = yield call(getAPIDotnet().setDealerCode, action.dealerCode, token);\r\n if (res.ok) {\r\n var json = yield res.json();\r\n yield put(setTokenDotnet(json.token));\r\n yield put(setDealerCodeSuccess());\r\n const resUserState = yield call(getAPIDotnet().getCurrentUserState);\r\n const jsonUserState = yield resUserState.json();\r\n if (jsonUserState.success) {\r\n yield put(setAuth(jsonUserState.token, jsonUserState.allow, jsonUserState.user, jsonUserState.dealership));\r\n yield put(initialize());\r\n }\r\n\r\n if (action.redirection) {\r\n history.push(action.redirection);\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* userImpersonate() {\r\n yield takeLatest(USER_IMPERSONATE, function* userImpersonate(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().impersonate, action.userId);\r\n if (res.ok) {\r\n var json = yield res.json();\r\n yield put(setTokenDotnet(json.token));\r\n\r\n const resUserState = yield call(getAPIDotnet().getCurrentUserState);\r\n const jsonUserState = yield resUserState.json();\r\n if (jsonUserState.success) {\r\n yield put(setAuth(jsonUserState.token, jsonUserState.allow, jsonUserState.user, jsonUserState.dealership));\r\n yield put(initialize());\r\n history.push(\"/Dashboard\");\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* userResetLogin() {\r\n yield takeLatest(USER_RESET, function* userResetLogin(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().resetLogin, action.userId);\r\n if (res.ok) {\r\n history.push(`/Dashboard/User/${action.userId}`);\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* userImpersonateEnd() {\r\n yield takeLatest(USER_IMPERSONATE_END, function* userImpersonate(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().impersonateEnd);\r\n if (res.ok) {\r\n var json = yield res.json();\r\n yield put(setTokenDotnet(json.token));\r\n\r\n const resUserState = yield call(getAPIDotnet().getCurrentUserState);\r\n const jsonUserState = yield resUserState.json();\r\n if (jsonUserState.success) {\r\n yield put(setAuth(jsonUserState.token, jsonUserState.allow, jsonUserState.user, jsonUserState.dealership));\r\n yield put(initialize());\r\n history.push(\"/Dashboard\");\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([setDealerCodeDotnetSaga(), userImpersonate(), userImpersonateEnd(), userResetLogin()]);\r\n}\r\n","import fetch from \"isomorphic-fetch\";\r\n\r\nimport * as Settings from \"./settings\";\r\n\r\nconst getAPI = () => {\r\n return api;\r\n};\r\n\r\nexport default getAPI;\r\n\r\n// ajk - simple cors mode operation. Requires you to be running chrome with web security turned off.\r\nconst base = window.location.href.startsWith(\"http://localhost:3000\") ? \"http://localhost\" : \"\";\r\n\r\nconst stdOpts = {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n headers: new Headers({\r\n pragma: \"no-cache\",\r\n \"cache-control\": \"no-cache\",\r\n authorization: Settings.getItem(\"TOKEN\"), // ajk - this doesnt actually do anything currently. It was for the node rewrite.\r\n }),\r\n};\r\nconst stdOptsPost = {\r\n ...stdOpts,\r\n method: \"POST\",\r\n};\r\n\r\nconst stdOptsPostJSON = {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n method: \"POST\",\r\n headers: new Headers({\r\n \"content-type\": \"application/json\",\r\n authorization: Settings.getItem(\"TOKEN\"),\r\n }),\r\n};\r\n\r\nconst stdOptsPostFile = {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n method: \"POST\",\r\n headers: new Headers({\r\n \"content-type\": \"multipart/form-data;boundary=---------------------------sdjkahdj294919323195\",\r\n authorization: Settings.getItem(\"TOKEN\"),\r\n }),\r\n};\r\n\r\nconst api = {\r\n // Authentication, login, and overall state functions.\r\n\r\n getAuth: () => fetch(`${base}/DashboardAjax?Action=AuthState`, stdOpts),\r\n\r\n doLogin: (name, password) =>\r\n fetch(`${base}/DashboardAjax`, {\r\n ...stdOptsPost,\r\n body: JSON.stringify({ Action: \"Login\", name, password }),\r\n }),\r\n\r\n getDashboardState: () => fetch(`${base}/DashboardAjax?Action=State`, stdOpts),\r\n\r\n setDealerCode: (dealerCode) => fetch(`${base}/DashboardAjax?Action=SetDealerCode&DealerCode=${dealerCode}&onDashboard=true`, stdOptsPost),\r\n\r\n dealershipLogin: (dealershipLogin) => fetch(`${base}/DashboardAjax?Action=SignIn&id=${dealershipLogin.id}&password=${dealershipLogin.password}`, stdOptsPost),\r\n\r\n dealershipSignOut: () => fetch(`${base}/DashboardAjax?Action=SignOut`, stdOptsPost),\r\n\r\n // Policy functions\r\n\r\n getPolicies: (listType, page, search) => {\r\n const start = (page - 1) * 25;\r\n return fetch(`${base}/JSONAPI?Action=${listType}&draw=100&start=${start}&length=25&search=${search}`, stdOpts);\r\n },\r\n\r\n getPolicy: (policyid) => fetch(`${base}/JSONAPI?Action=GetPolicy&PolicyPackage_id=${policyid}`, stdOpts),\r\n\r\n getMatchingAddresses: (address) => fetch(`${base}/JSONAPI?Action=AddressLookup&q=${address}`, stdOpts),\r\n\r\n copyPolicy: (policyid) => fetch(`${base}/JSONAPI?Action=CopyPolicy&PolicyPackage_id=${policyid}`, stdOpts),\r\n\r\n newPolicy: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"New\", PolicyPackage }),\r\n }),\r\n\r\n putPolicy: (PolicyPackage, activestep) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"Save\", PolicyPackage, activestep }),\r\n }),\r\n\r\n updatePolicy: (PolicyPackage, activestep) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"Update\", PolicyPackage, activestep }),\r\n }),\r\n\r\n calculateRIPremium: (VehicleID, PolicyPackage, activestep) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({\r\n Action: \"RIPremium\",\r\n VehicleID,\r\n PolicyPackage,\r\n activestep,\r\n }),\r\n }),\r\n\r\n optionUpdatePolicy: (PolicyPackage, activestep) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({\r\n Action: \"OptionUpdate\",\r\n PolicyPackage,\r\n activestep,\r\n }),\r\n }),\r\n\r\n premiumModeUpdate: (PolicyPackage, activestep) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({\r\n Action: \"PremiumModeUpdate\",\r\n PolicyPackage,\r\n activestep,\r\n }),\r\n }),\r\n\r\n overridePolicy: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"Override\", PolicyPackage }),\r\n }),\r\n\r\n validatePolicy: (PolicyPackage, activestep) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"Validate\", PolicyPackage, activestep }),\r\n }),\r\n\r\n selectPolicy: (PolicyPackage, activestep) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"Select\", PolicyPackage, activestep }),\r\n }),\r\n\r\n archivePolicy: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"Archive\", PolicyPackage }),\r\n }),\r\n\r\n addDriver: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"AddDriver\", PolicyPackage }),\r\n }),\r\n\r\n addRider: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"AddRider\", PolicyPackage }),\r\n }),\r\n\r\n addVehicle: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"AddVehicle\", PolicyPackage }),\r\n }),\r\n\r\n addCycle: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"AddCycle\", PolicyPackage }),\r\n }),\r\n\r\n removeDriver: (PolicyPackage, id) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"RemoveDriver\", PolicyPackage, id }),\r\n }),\r\n\r\n removeRider: (PolicyPackage, id) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"RemoveRider\", PolicyPackage, id }),\r\n }),\r\n\r\n removeCycle: (PolicyPackage, id) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"RemoveCycle\", PolicyPackage, id }),\r\n }),\r\n\r\n removeVehicle: (PolicyPackage, id) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"RemoveVehicle\", PolicyPackage, id }),\r\n }),\r\n\r\n creditCardPayment: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"CreditCardPayment\", PolicyPackage }),\r\n }),\r\n\r\n saveQuickQuote: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"SaveAsQuickQuote\", PolicyPackage }),\r\n }),\r\n\r\n saveAsQuote: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"SaveAsFullQuote\", PolicyPackage }),\r\n }),\r\n\r\n confirmPolicy: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"Confirm\", PolicyPackage }),\r\n }),\r\n\r\n ccSuccessPolicy: (PolicyPackage, result) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({\r\n Action: \"CCPaymentSuccess\",\r\n PolicyPackage,\r\n ccresult: result,\r\n }),\r\n }),\r\n\r\n ccFailPolicy: (PolicyPackage, result) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({\r\n Action: \"CCPaymentFail\",\r\n PolicyPackage,\r\n ccresult: result,\r\n }),\r\n }),\r\n\r\n emailPolicy: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"EmailPolicy\", PolicyPackage }),\r\n }),\r\n // Policy utility functions.\r\n\r\n doRegoSearch: (PolicyPackage, index) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"RegoLookup\", index, PolicyPackage }),\r\n }),\r\n\r\n doRegoSearchMark: (rego, match, correct) => fetch(`${base}/JSONAPI?Action=RateVehicleMatch&Match_id=${match}&Correct=${correct}&Rego=${rego}`, stdOpts),\r\n\r\n getModels: (productcode, optioncode, make) => fetch(`${base}/JSONAPI?Action=GetModels&ProductCode=${productcode}&OptionCode=${optioncode}&Make=${make}`, stdOpts),\r\n\r\n getSubmodels: (productcode, optioncode, make, model) =>\r\n fetch(`${base}/JSONAPI?Action=GetSubModels&ProductCode=${productcode}&OptionCode=${optioncode}&Make=${make}&Model=${model}`, stdOpts),\r\n\r\n getMCIRegoStatus: (productcode, optioncode, make, model) =>\r\n fetch(`${base}/JSONAPI?Action=GetCycleSpecialRequirements&ProductCode=${productcode}&OptionCode=${optioncode}&Make=${make}&Model=${model}`, stdOpts),\r\n\r\n getRatingsCategories: (year) => fetch(`${base}/JSONAPI?Action=GetPCIRatingOptions&RegoYear=${year}`, stdOpts),\r\n\r\n calculatePremium: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"QuickQuote\", PolicyPackage }),\r\n }),\r\n\r\n // Modify Policy function\r\n\r\n validateModifyPolicy: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"ValidateModified\", PolicyPackage }),\r\n }),\r\n\r\n saveModifyPolicy: (PolicyPackage) =>\r\n fetch(`${base}/JSONAPI`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"SaveModified\", PolicyPackage }),\r\n }),\r\n\r\n requestPolicyModification: (policynumber, message) =>\r\n fetch(`${base}/DashboardAjax?Action=RequestPolicyModification&PolicyNumber=${policynumber}&Message=${message}`, stdOptsPost),\r\n\r\n requestPolicyRegoModification: (policynumber, id, message) =>\r\n fetch(`${base}/DashboardAjax?Action=RequestPolicyRegoModification&PolicyNumber=${policynumber}&Message=${message}&id=${id}`, stdOptsPost),\r\n\r\n // Utils\r\n\r\n doMailFormSubmit: (Mail) => fetch(`${base}/Mail`, { ...stdOptsPostJSON, body: JSON.stringify(Mail) }),\r\n\r\n doExport: (Action, data) =>\r\n fetch(base + \"/doExport\", {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action, ...data }),\r\n }),\r\n\r\n getActiveUsers: () => fetch(`${base}/User?Action=AjaxCurrentUsers&nolog=true`, stdOpts),\r\n\r\n doKeepAlive: () => fetch(`${base}/Util?Action=KeepAlive`, stdOpts),\r\n\r\n saveToProteus: (policyid) => fetch(`${base}/DashboardAjax?Action=SaveToProteus&PolicyPackage_id=${policyid}`, stdOptsPost),\r\n\r\n rebuildCert: (policyid) => fetch(`${base}/DashboardAjax?Action=RebuildCert&PolicyPackage_id=${policyid}`, stdOptsPost),\r\n\r\n // ELog\r\n\r\n getELogMonths: (listType) => fetch(`${base}/DashboardAjax?Action=${listType}`, stdOpts),\r\n\r\n getELogMonth: (monthid) => fetch(`${base}/DashboardAjax?Action=GetMonth&Month_id=${monthid}`, stdOpts),\r\n\r\n closeELogMonth: (monthid) => fetch(`${base}/DashboardAjax?Action=CloseMonth&Month_id=${monthid}`, stdOptsPost),\r\n\r\n openELogMonth: (monthid) => fetch(`${base}/DashboardAjax?Action=ReopenMonth&Month_id=${monthid}`, stdOptsPost),\r\n\r\n getSalesLog: (monthid, saleslogid) => fetch(`${base}/DashboardAjax?Action=GetSalesLog&SalesLog_id=${saleslogid}&SalesLog_idmonth=${monthid}`, stdOpts),\r\n\r\n saveSalesLog: (saleslog) =>\r\n fetch(`${base}/DashboardAjax?Action=SaveSalesLog`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"SaveSalesLog\", saleslog }),\r\n }),\r\n\r\n // Webservices\r\n\r\n getRecentWSLogs: () => fetch(`${base}/WebservicesAjax?Action=GetRecentWSLogs&nolog=true`, stdOpts),\r\n\r\n getWSLogs: (page, search, datefrom, dateto, type) => {\r\n const start = (page - 1) * 25;\r\n return fetch(`${base}/WebservicesAjax?Action=GetWSLogs&start=${start}&length=25&search=${search}&datefrom=${datefrom}&dateto=${dateto}&type=${type}`, stdOpts);\r\n },\r\n\r\n executeWSLog: (xml) => {\r\n // ajk - base64 encoded param because I can't figure out how to read the raw XML posted in the server side framework\r\n const b64xml = window.btoa(xml);\r\n return fetch(`${base}/WebservicesAjax?Action=Execute&xml=${b64xml}`, stdOptsPost);\r\n },\r\n\r\n // Dealerships\r\n\r\n getDealerships: (listType, page, search) => {\r\n const start = (page - 1) * 25;\r\n return fetch(`${base}/DashboardAjax?Action=${listType}&draw=100&start=${start}&length=25&search=${search}`, stdOpts);\r\n },\r\n copyDealership: (dealershipid) => fetch(`${base}/DashboardAjax?Action=CopyDealership&dealership_id=${dealershipid}`, stdOpts),\r\n getDealership: (id) => fetch(`${base}/DashboardAjax?Action=GetDealership&Dealership_id=${id}`, stdOpts),\r\n\r\n newApplication: () =>\r\n fetch(`${base}/DashboardAjax?Action=NewDealership`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"NewDealership\" }),\r\n }),\r\n\r\n saveDealership: (Dealership, status) =>\r\n fetch(`${base}/DashboardAjax?Action=SaveDealership`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"SaveDealership\", Dealership, status }),\r\n }),\r\n\r\n saveQuickDealership: (Dealership, status) =>\r\n fetch(`${base}/DashboardAjax?Action=SaveQuickDealership`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"SaveQuickDealership\", Dealership, status }),\r\n }),\r\n\r\n uploadDealership: (Dealership) =>\r\n fetch(`${base}/DashboardAjax?Action=UploadDealership`, {\r\n ...stdOptsPostJSON,\r\n body: JSON.stringify({ Action: \"SaveDealership\", Dealership }),\r\n }),\r\n\r\n retrieveFromProteus: () => fetch(`${base}/DashboardAjax?Action=RefreshfromProteus`, stdOpts),\r\n\r\n // Finance Companies\r\n\r\n getFinanceCompanies: (page, search) => {\r\n const start = (page - 1) * 25;\r\n return fetch(`${base}/DashboardAjax?Action=GetAllFinanceCompanies&start=${start}&length=25&search=${search}`, stdOpts);\r\n },\r\n\r\n getFinanceCompany: (id) => fetch(`${base}/DashboardAjax?Action=GetFinanceCompany&FinanceCompany_id=${id}`, stdOpts),\r\n\r\n saveFinanceCompany: (FinanceCompany) =>\r\n fetch(base + \"/DashboardAjax?Action=SaveFinanceCompany\", {\r\n ...stdOptsPost,\r\n body: JSON.stringify({ Action: \"SaveFinanceCompany\", FinanceCompany }),\r\n }),\r\n\r\n // Claims\r\n\r\n getClaims: (page, search) => {\r\n const start = (page - 1) * 25;\r\n return fetch(`${base}/DashboardAjax?Action=GetAllClaims&start=${start}&length=25&search=${search}`, stdOpts);\r\n },\r\n\r\n getClaim: (id) => fetch(`${base}/DashboardAjax?Action=GetClaim&Claim_id=${id}`, stdOpts),\r\n\r\n saveClaim: (Claim) =>\r\n fetch(base + \"/DashboardAjax?Action=SaveClaim\", {\r\n ...stdOptsPost,\r\n body: JSON.stringify({ Action: \"SaveClaim\", Claim }),\r\n }),\r\n\r\n lookupClaim: (Claim) =>\r\n fetch(base + \"/Claim?Action=ClaimProposerLookup\", {\r\n ...stdOptsPost,\r\n body: JSON.stringify({ Action: \"ClaimProposerLookup\", Claim }),\r\n }),\r\n\r\n // Agent Locator\r\n\r\n getAgents: (filters) =>\r\n fetch(base + \"/AgentLocator\", {\r\n ...stdOptsPost,\r\n body: JSON.stringify(filters),\r\n }),\r\n};\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\n\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nimport { setAuth, setTokenDotnet } from \"../actions\";\r\nimport { reset as mbiReset } from \"../../dashboard/mbiquickquote/actions\";\r\nimport { reset as mviReset } from \"../../dashboard/mviquickquote/actions\";\r\nimport { reset as mciReset } from \"../../dashboard/mciquickquote/actions\";\r\nimport { reset as pciReset } from \"../../dashboard/pciquickquote/actions\";\r\n\r\nimport { LOGIN, LOGOUT, failed, wait, redirect } from \"./actions\";\r\nimport history from \"../../history\";\r\n\r\nfunction* loginDotnetSaga() {\r\n yield takeLatest(LOGIN, function* login(action) {\r\n try {\r\n var res = yield call(getAPIDotnet().doLogin, action.name, action.password);\r\n var json = yield res.json();\r\n\r\n if (json.success) {\r\n if (json.redirect) {\r\n yield put(redirect(json.url));\r\n } else {\r\n yield put(setTokenDotnet(json.token));\r\n var resDashboard = yield call(getAPIDotnet().getCurrentUserState);\r\n var jsonDashboard = yield resDashboard.json();\r\n if (jsonDashboard.success) {\r\n yield put(setAuth(json.token, jsonDashboard.allow, jsonDashboard.user, jsonDashboard.dealership));\r\n } else {\r\n yield put(failed(\"failed\"));\r\n }\r\n\r\n history.push(\"/Dashboard\"); //TODO remove\r\n }\r\n } else {\r\n yield put(failed(json.message));\r\n }\r\n yield put(wait(false));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(\r\n failed(\r\n \"This logon / password is not current. Please check and re-enter your logon details. If you believe this to be in error, you can get this reinstated by calling us on 0800 776 832 or by email to admin@protecta.co.nz. We will then verify your user status and should be able to re-instate you as a user within a few minutes during normal business hours.\"\r\n )\r\n );\r\n }\r\n });\r\n}\r\n\r\nfunction* logoutDotnetSaga() {\r\n yield takeLatest(LOGOUT, function* logout() {\r\n yield put(setTokenDotnet(\"\"));\r\n yield put(mbiReset());\r\n yield put(mciReset());\r\n yield put(mviReset());\r\n yield put(pciReset());\r\n history.push(\"/\");\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loginDotnetSaga(), logoutDotnetSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../bugsnagClient\";\r\n\r\nimport getAPI from \"../api\";\r\n\r\nimport { error } from \"../actions\";\r\n\r\nimport { QUERY_ALLOWED, setAuth, showLogin, signedOut } from \"./actions\";\r\n\r\nimport loginSagas from \"./login/sagas\";\r\n\r\nimport { SIGNOUT } from \"../dashboard/dealership/login/actions\";\r\nimport getAPIDotnet from \"../apiDotnet\";\r\n\r\n// ********** INITIALIZATION **********\r\n\r\nfunction* authSaga() {\r\n yield takeLatest(QUERY_ALLOWED, function* getAllowed(action) {\r\n try {\r\n\r\n const res = yield call(getAPIDotnet().getCurrentUserState);\r\n \r\n const json = yield res.json();\r\n \r\n if (json.success) {\r\n yield put(setAuth(json.token, json.allow, json.user, json.dealership));\r\n bugsnagClient.user = {\r\n id: json.user.id,\r\n name: json.user.name,\r\n email: json.user.email,\r\n };\r\n } else if (json.loginrequired) {\r\n yield put(showLogin());\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* dealershipSignOutSaga() {\r\n yield takeLatest(SIGNOUT, function* login(action) {\r\n try {\r\n const res = yield call(getAPI().dealershipSignOut);\r\n res.json(); // ajk - forces call\r\n yield put(signedOut());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([authSaga(), loginSagas(), dealershipSignOutSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { actions } from \"react-redux-form\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\nimport store from \"../../store\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { updated } from \"../../policy/actions\";\r\n\r\nimport { recentQuotes } from \"../actions\";\r\n\r\nimport { INITIALIZE, initialized, UPDATE, CALCULATE_PREMIUMS, premiumsCalculated, reset, wait, finished, CONTINUE_DO_SAVE } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* initializeSaga() {\r\n yield takeLatest(INITIALIZE, function* loadPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().newPolicy, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(initialized(json.PolicyPackage, json.ui));\r\n } else {\r\n if (typeof json.message !== \"undefined\") {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n } else {\r\n bugsnagClient.notify(new Error(\"An error occurred\"));\r\n yield put(error(\"An error occurred\"));\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* updatePolicySaga() {\r\n yield takeLatest(UPDATE, function* optionLoad(action) {\r\n try {\r\n yield put(wait());\r\n const res = yield call(getAPIDotnet().updateQuickQuote, store.getState().MBIQuickQuote.PolicyPackage);\r\n const json = yield res.json();\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(finished());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* calculatePremiumsSaga() {\r\n yield takeLatest(CALCULATE_PREMIUMS, function* calculatePremiums(action) {\r\n try {\r\n yield put(wait());\r\n\r\n const res = yield call(getAPIDotnet().calculatePremium, action.PolicyPackage);\r\n const json = yield res.json();\r\n\r\n if (json.success) {\r\n if (json.ui && json.ui.QuickQuote) {\r\n yield put(premiumsCalculated(json.ui.QuickQuote));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n\r\n yield put(finished());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* continueDoSaveSaga() {\r\n yield takeLatest(CONTINUE_DO_SAVE, function* continueSave(action) {\r\n try {\r\n const res = yield call(getAPI().saveQuickQuote, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(reset());\r\n yield put(actions.resetValidity(\"MBIQuickQuote\"));\r\n if (typeof json.recentQuotes !== \"undefined\") {\r\n yield put(recentQuotes(json.recentQuotes));\r\n if (action.print) {\r\n window.location = json.recentQuotes.quotes[0].urlprint; // force download.\r\n }\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeSaga(), updatePolicySaga(), calculatePremiumsSaga(), continueDoSaveSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { actions } from \"react-redux-form\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { fetchRecentQuotes } from \"../actions\";\r\n\r\nimport { INITIALIZE, initialized, CALCULATE_PREMIUMS, premiumsCalculated, referred, reset, CONTINUE_DO_SAVE } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* initializeSaga() {\r\n yield takeLatest(INITIALIZE, function* loadPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().newPolicy, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(initialized(json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* premiumsSaga() {\r\n yield takeLatest(CALCULATE_PREMIUMS, function* calculatePremiums(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().calculatePremium, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else if (json.ui.Referred) {\r\n yield put(referred(json.PolicyPackage, json.ui.Referred));\r\n } else if (json.ui.QuickQuote) {\r\n yield put(premiumsCalculated(json.PolicyPackage, json.ui.QuickQuote, json.ui.ExcessMatrix));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveSaga() {\r\n yield takeLatest(CONTINUE_DO_SAVE, function* continueSave(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveQuickQuote, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(reset());\r\n yield put(actions.resetValidity(\"MCIQuickQuote\"));\r\n yield put(fetchRecentQuotes());\r\n if (action.print && json.PolicyPackage.urlprint) {\r\n window.location = json.PolicyPackage.urlprint.MCI; // force download.\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nconst processErrors = (Errors) => {\r\n let message = \"\";\r\n for (let i = 0; i < Errors.length; i++) {\r\n message += Errors[i].message;\r\n if (i < Errors.length - 1) {\r\n message += \";\";\r\n }\r\n }\r\n return message;\r\n};\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeSaga(), premiumsSaga(), saveSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { actions } from \"react-redux-form\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { recentQuotes, fetchRecentQuotes } from \"../actions\";\r\n\r\nimport { INITIALIZE, initialized, CALCULATE_PREMIUMS, premiumsCalculated, referred, reset, CONTINUE_DO_SAVE } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* initializeSaga() {\r\n yield takeLatest(INITIALIZE, function* loadPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().newPolicy, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(initialized(json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* premiumsSaga() {\r\n yield takeLatest(CALCULATE_PREMIUMS, function* premiums(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().calculatePremium, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else if (json.ui.Referred) {\r\n yield put(referred(json.PolicyPackage, json.ui.Referred));\r\n } else if (json.ui.QuickQuote) {\r\n yield put(premiumsCalculated(json.PolicyPackage, json.ui.QuickQuote));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveSaga() {\r\n yield takeLatest(CONTINUE_DO_SAVE, function* continueSave(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveQuickQuote, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(reset());\r\n yield put(actions.resetValidity(\"MVIQuickQuote\"));\r\n yield put(fetchRecentQuotes());\r\n if (action.print && json.PolicyPackage.urlprint) {\r\n window.location = json.PolicyPackage.urlprint.MVI; // force download.\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nconst processErrors = (Errors) => {\r\n let message = \"\";\r\n for (let i = 0; i < Errors.length; i++) {\r\n message += Errors[i].message;\r\n if (i < Errors.length - 1) {\r\n message += \";\";\r\n }\r\n }\r\n return message;\r\n};\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeSaga(), premiumsSaga(), saveSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { actions } from \"react-redux-form\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { recentQuotes, fetchRecentQuotes } from \"../actions\";\r\n\r\nimport { INITIALIZE, initialized, YEAR_CHANGED, ratingCatsRetrived, CALCULATE_PREMIUMS, premiumsCalculated, referred, reset, CONTINUE_DO_SAVE } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* initializeSaga() {\r\n yield takeLatest(INITIALIZE, function* loadPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().newPolicy, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(initialized(json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* retrieveRatingsCategoriesSaga() {\r\n yield takeLatest(YEAR_CHANGED, function* retrieveRatingsCategories(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getRatingsCategories, action.PolicyVehicle.YearOfManufacture);\r\n\r\n const json = yield res.json();\r\n yield put(ratingCatsRetrived(action.index, json));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* premiumsSaga() {\r\n yield takeLatest(CALCULATE_PREMIUMS, function* calculatePremiums(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().calculatePremium, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n if (json.ui.Referred) {\r\n yield put(referred(json.PolicyPackage, json.ui.Referred));\r\n } else if (json.ui.QuickQuote) {\r\n yield put(premiumsCalculated(json.PolicyPackage, json.ui.QuickQuote));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveSaga() {\r\n yield takeLatest(CONTINUE_DO_SAVE, function* continueSave(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveQuickQuote, action.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(reset());\r\n yield put(actions.resetValidity(\"PCIQuickQuote\"));\r\n yield put(fetchRecentQuotes());\r\n if (action.print && json.PolicyPackage.urlprint) {\r\n window.location = json.PolicyPackage.urlprint.PCI; // force download.\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeSaga(), retrieveRatingsCategoriesSaga(), premiumsSaga(), saveSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\nimport history from \"../../history\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { NEW, DEALER_SETUP_ADMIN } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\nimport store from \"../../store\";\r\nimport { reset } from \"../dealership/edit/actions\";\r\n\r\nfunction* newApplicationSaga() {\r\n yield takeLatest(NEW, function* initialize(action) {\r\n try {\r\n yield put(reset());\r\n console.log(store.getState().dealership);\r\n const res = yield call(getAPIDotnet().saveDealership, store.getState().dealership.dealership, \"New\");\r\n const json = yield res.json();\r\n if (json.success) {\r\n history.push(\"/Dashboard/Dealerships/\" + json.id);\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* newDealerSetupForAdminSaga() {\r\n yield takeLatest(DEALER_SETUP_ADMIN, function* newDealerSetupForAdminSaga(action) {\r\n try {\r\n const res = yield call(getAPI().newApplication);\r\n const json = yield res.json();\r\n if (json.success) {\r\n history.push(\"/Dashboard/DealershipQuickSetup/\" + json.id);\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([newApplicationSaga(), newDealerSetupForAdminSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../..//bugsnagClient\";\r\n\r\nimport getAPI from \"../../../api\";\r\nimport getAPIDotnet from \"../../../apiDotnet\";\r\nimport history from \"../../../history\";\r\n\r\nimport { error } from \"../../../actions\";\r\n\r\nimport { upload, confirmWait, confirmFinished, LOADCONFIG, configComplete, QUICK_SAVE, GET_PURE_CODE, applyPureCode } from \"./actions\";\r\n\r\nimport { LOAD, loaded, loadedconfig, SAVE, UPLOAD, SAVECONFIG } from \"./actions\";\r\n\r\nfunction* dealershipLoadSaga() {\r\n yield takeLatest(LOAD, function* login(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getDealership, action.id);\r\n\r\n const json = yield res.json();\r\n if (json.Dealership) {\r\n yield put(loaded(json.Dealership, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* dealershipConfigLoadSaga() {\r\n yield takeLatest(LOADCONFIG, function* config(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getDealershipConfig, action.code);\r\n\r\n const json = yield res.json();\r\n if (json.Code) {\r\n yield put(error(json.Descriptions[0]));\r\n history.goBack();\r\n } else if (json.DealerConfig) {\r\n const config = json;\r\n yield put(loadedconfig(config));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveConfigSaga() {\r\n yield takeLatest(SAVECONFIG, function* saveConfigSaga(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveConfig, action.config);\r\n yield put(configComplete());\r\n history.push(\"/Dashboard/Dealer/Config\");\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* getPureAgentCode() {\r\n yield takeLatest(GET_PURE_CODE, function* getPureCode(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getPureAgentCode, action.code, action.dealertype);\r\n const json = yield res.json();\r\n if (json) {\r\n yield put(applyPureCode(json.pureCode , json.webCode));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* dealershipSaveSaga() {\r\n yield takeLatest(SAVE, function* save(action) {\r\n try {\r\n const dealership = action.dealership;\r\n const showMBI = dealership.SASS.Pinnacle || dealership.SASS.Optimum || dealership.SASS.Maxi || dealership.SASS.Component || dealership.SASS.LCV;\r\n\r\n const ddRequired = dealership.SASS.newyard ? false : dealership.SASS.affapplication ? false : !dealership.SASS.ddexeception;\r\n\r\n const subRequired = dealership.SASS.newyard ? false : !dealership.SASS.affapplication;\r\n\r\n if (action.status !== \"New\" && action.status !== \"Active\" && action.status !== \"Archived\") {\r\n yield put(confirmWait());\r\n if (showMBI) {\r\n if (\r\n typeof dealership.MBISPPP.Objective1 == \"undefined\" ||\r\n typeof dealership.MBISPPP.Objective2 == \"undefined\" ||\r\n typeof dealership.MBISPPP.Objective3 == \"undefined\"\r\n ) {\r\n yield put(error(\"Please select the answers for objectives\"));\r\n } else if (typeof dealership.MBISPPP.presaleservice == \"undefined\") {\r\n yield put(error(\"Please select the answers for presale services\"));\r\n } else {\r\n if (dealership.ddsignature === \"\" && ddRequired) {\r\n yield put(error(\"Please sign the Direct Debit Form\"));\r\n } else if (dealership.subsignature === \"\" && subRequired) {\r\n yield put(error(\"Sub agent need to sign the agreement form\"));\r\n } else if (dealership.propsignature === \"\" && subRequired) {\r\n yield put(error(\"Properitor need to sign the agreement form\"));\r\n } else {\r\n const res = yield call(getAPIDotnet().saveDealership, action.dealership, action.status);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield call(getAPIDotnet().initiateConfig, action.dealership.code, action.status);\r\n // yield put(upload(action.dealership));\r\n history.goBack();\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n }\r\n }\r\n yield put(confirmFinished());\r\n } else {\r\n if (dealership.ddsignature === \"\" && ddRequired) {\r\n yield put(error(\"Please sign the Direct Debit Form\"));\r\n } else if (dealership.subsignature === \"\" && subRequired) {\r\n yield put(error(\"Sub agent need to sign the agreement form\"));\r\n } else if (dealership.propsignature === \"\" && subRequired) {\r\n yield put(error(\"Properitor need to sign the agreement form\"));\r\n } else {\r\n const res = yield call(getAPIDotnet().saveDealership, action.dealership, action.status);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield call(getAPIDotnet().initiateConfig, action.dealership.code, action.status);\r\n //yield put(upload(action.dealership));\r\n history.goBack();\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n }\r\n yield put(confirmFinished());\r\n }\r\n } else {\r\n const res = yield call(getAPIDotnet().saveDealership, action.dealership, action.status);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield call(getAPIDotnet().initiateConfig, action.dealership.code, action.status);\r\n //yield put(upload(action.dealership));\r\n history.goBack();\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n }\r\n } catch (e) {\r\n yield put(confirmFinished());\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* dealershipQuickSaveSaga() {\r\n yield takeLatest(QUICK_SAVE, function* quickSave(action) {\r\n try {\r\n yield put(confirmWait());\r\n const res = yield call(getAPI().saveQuickDealership, action.dealership, action.status);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield call(getAPIDotnet().initiateConfig, action.dealership.code, action.status);\r\n yield put(upload(action.dealership));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n\r\n yield put(confirmFinished());\r\n } catch (e) {\r\n yield put(confirmFinished());\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* dealershipUploadSaga() {\r\n yield takeLatest(UPLOAD, function* upload(action) {\r\n try {\r\n const res = yield call(getAPI().uploadDealership, action.dealership);\r\n const json = yield res.json();\r\n if (json.success) {\r\n history.push(\"/Dashboard\");\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n dealershipLoadSaga(),\r\n dealershipSaveSaga(),\r\n dealershipQuickSaveSaga(),\r\n getPureAgentCode(),\r\n dealershipUploadSaga(),\r\n dealershipConfigLoadSaga(),\r\n saveConfigSaga(),\r\n ]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../../api\";\r\n\r\nimport { showCopyDealership, error } from \"../../../actions\";\r\n\r\nimport { INITIALIZE, initialized } from \"./actions\";\r\nimport getAPIDotnet from \"../../../apiDotnet\";\r\n\r\nfunction* initializeCopyDealershipSaga() {\r\n yield takeLatest(INITIALIZE, function* initialize(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().copyDealership, action.dealershipid);\r\n const json = yield res.json();\r\n yield put(initialized(json.Dealership, json.ui));\r\n yield put(showCopyDealership(json.Dealership));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeCopyDealershipSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../../../api\";\r\n\r\nimport { error } from \"../../../../actions\";\r\n\r\nimport { LOADPAGE, pageLoaded, RETRIEVE, LOADBDMS, loadedBDMS } from \"./actions\";\r\nimport getAPIDotnet from \"../../../../apiDotnet\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getAllDealerships, action.listType, action.page, action.search, action.serviceLevel, action.bdm);\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(pageLoaded(action.listType, action.page, action.search, action.serviceLevel, action.bdm, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadBDMs() {\r\n yield takeLatest(LOADBDMS, function* loadPage(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getAllBDMs);\r\n\r\n const json = yield res.json();\r\n if (typeof json !== \"undefined\") {\r\n yield put(loadedBDMS(json));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* retrieveDealershipsSaga() {\r\n yield takeLatest(RETRIEVE, function* retrieve(action) {\r\n try {\r\n const res = yield call(getAPI().retrieveFromProteus);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(error(\"Retrieve from Proteus - Succeeded\")); // ajk - not really an error\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga(), retrieveDealershipsSaga(), loadBDMs()]);\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../../../../bugsnagClient'\r\n\r\nimport getAPIDotnet from '../../../../../apiDotnet'\r\n\r\n\r\nimport {\r\n error\r\n} from '../../../../../actions'\r\n\r\nimport {\r\n LOADPAGE,\r\n pageLoaded,\r\n SAVECONFIG\r\n} from './actions'\r\n\r\nfunction * loadPageSaga () {\r\n yield takeLatest(LOADPAGE, function * loadPage (action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getDealershipForConfigs, action.page, action.search)\r\n const json = yield res.json()\r\n if (typeof json.data !== 'undefined') {\r\n yield put(pageLoaded(action.page, action.search, json.recordsTotal, json.data))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\n\r\n\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n loadPageSaga()\r\n ])\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../../bugsnagClient'\r\n\r\nimport getAPI from '../../../api'\r\n\r\nimport {\r\n error\r\n} from '../../../actions'\r\n\r\nimport {\r\n setAuth\r\n} from '../../../auth/actions'\r\n\r\nimport {\r\n initialize\r\n} from '../../actions'\r\n\r\nimport {\r\n LOGIN,\r\n reset\r\n} from './actions'\r\n\r\nfunction * dealershipLoginSaga () {\r\n yield takeLatest(LOGIN, function * login (action) {\r\n try {\r\n const res = yield call(getAPI().dealershipLogin, action.dealershipLogin)\r\n const json = yield res.json()\r\n if (json.success) {\r\n yield put(setAuth(json.token, json.allow, json.user, json.dealership))\r\n yield put(initialize())\r\n yield put(reset())\r\n } else {\r\n yield put(error('Incorrect Password'))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n dealershipLoginSaga()\r\n ])\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { error } from \"../../../actions\";\r\n\r\nimport {\r\n LOAD_RATES,\r\n loadRatesSuccess,\r\n LOAD_DEALERSHIPS_FOR_MBI,\r\n LOAD_DEALERSHIPS_FOR_PPI,\r\n LOAD_MBI_CLAIM_LIMITS,\r\n loadDealershipsForMbiSuccess,\r\n LOAD_STANDARD_RATES,\r\n loadStandardRatesSucess,\r\n LOAD_ALL_DEALERSHIPS_FOR_MBI_RATES,\r\n LOAD_ALL_DEALERSHIPS_FOR_GAP_RATES,\r\n LOAD_POLICY_WORDINGS,\r\n loadPolicyWordingsSuccess,\r\n LOAD_SUMMARY_OF_COVER_LIST,\r\n loadSummaryOfCoverListSuccess,\r\n loadMBIClaimLimitsSucess,\r\n loadDealershipsForPpiSuccess,\r\n loadDealershipsForPpi,\r\n LOAD_DEALERSHIPS_FOR_GAP,\r\n loadDealershipsForGapSuccess,\r\n loadRateLoading,\r\n} from \"./actions\";\r\nimport getAPIDotnet from \"../../../apiDotnet\";\r\n\r\nfunction* loadDealershipRatesSaga() {\r\n yield takeLatest(LOAD_RATES, function* loadDealershipRates(action) {\r\n try {\r\n yield put(loadRateLoading(true));\r\n const res = yield call(getAPIDotnet().getDealerRates, action.dealerCode, action.isTaxi, action.selectedClaimLimit);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(loadRatesSuccess(json.response.productGroups, json.dealerCode, json.viewWholesalePrices, json.viewIsTaxi));\r\n } else {\r\n yield put(error(\"There was an issue while retrieving data.\"));\r\n }\r\n yield put(loadRateLoading(false));\r\n } catch (e) {\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadStandardRatesSaga() {\r\n yield takeLatest(LOAD_STANDARD_RATES, function* loadStandardRates(action) {\r\n try {\r\n yield put(loadRateLoading(true));\r\n const res = yield call(getAPIDotnet().getDealerRates, \"STND99\", action.isTaxi, action.selectedClaimLimit);\r\n\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(loadStandardRatesSucess(json.response.productGroups, json.dealerCode));\r\n } else {\r\n yield put(error(\"There was an issue while retrieving standard data.\"));\r\n }\r\n yield put(loadRateLoading(false));\r\n } catch (e) {\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadMBIClaimLimits() {\r\n yield takeLatest(LOAD_MBI_CLAIM_LIMITS, function* loadMBIClaimLimits(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getMBIClaimLimits, action.productCode, action.dealerCode);\r\n\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(loadMBIClaimLimitsSucess(json));\r\n } else {\r\n yield put(error(\"There was an issue while retrieving claim limits data.\"));\r\n }\r\n yield put(loadRateLoading(false));\r\n } catch (e) {\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadDealershipsForMbiSaga() {\r\n yield takeLatest(LOAD_DEALERSHIPS_FOR_MBI, function* loadDealershipsForMbi(action) {\r\n yield call(loadDealershipsForProduct, action.productCode);\r\n });\r\n}\r\n\r\nfunction* loadDealershipsForPpiSaga() {\r\n yield takeLatest(LOAD_DEALERSHIPS_FOR_PPI, function* loadDealershipsForPpi(action) {\r\n yield call(loadDealershipsForProduct, action.productCode);\r\n });\r\n}\r\n\r\nfunction* loadDealershipsForGapSaga() {\r\n yield takeLatest(LOAD_DEALERSHIPS_FOR_GAP, function* loadDealershipsForPpi(action) {\r\n yield call(loadDealershipsForProduct, action.productCode);\r\n });\r\n}\r\n\r\nfunction* loadAllDealershipsForMBISaga() {\r\n yield takeLatest(LOAD_ALL_DEALERSHIPS_FOR_MBI_RATES, function* loadAllDealershipsForMBI(action) {\r\n yield call(loadAllDealershipsForProduct, action.productCode);\r\n });\r\n}\r\n\r\nfunction* loadAllDealershipsForGAPSaga() {\r\n yield takeLatest(LOAD_ALL_DEALERSHIPS_FOR_GAP_RATES, function* loadAllDealershipsForGAP(action) {\r\n yield call(loadAllDealershipsForProduct, action.productCode);\r\n });\r\n}\r\n\r\nfunction* loadDealershipsForProduct(productCode) {\r\n try {\r\n const res = yield call(getAPIDotnet().getDealershipsForProductRates, productCode);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n if (json.productCode === \"MBI\") {\r\n yield put(loadDealershipsForMbiSuccess(json.dealerships));\r\n } else if (json.productCode === \"PPP\") {\r\n yield put(loadDealershipsForPpiSuccess(json.dealerships));\r\n } else if (json.productCode === \"GAP\") {\r\n yield put(loadDealershipsForGapSuccess(json.dealerships));\r\n }\r\n } else {\r\n yield put(error(\"There was an issue while retrieving data.\"));\r\n }\r\n } catch (e) {\r\n yield put(error(e));\r\n }\r\n}\r\n\r\nfunction* loadAllDealershipsForProduct(productCode) {\r\n try {\r\n const res = yield call(getAPIDotnet().getAllDealershipsForProductRates, productCode);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n console.log(json);\r\n if (json.productCode === \"MBI\") {\r\n yield put(loadDealershipsForMbiSuccess(json.dealerships));\r\n } else if (json.productCode === \"PPP\") {\r\n yield put(loadDealershipsForPpiSuccess(json.dealerships));\r\n } else if (json.productCode === \"GAP\") {\r\n yield put(loadDealershipsForGapSuccess(json.dealerships));\r\n }\r\n } else {\r\n yield put(error(\"There was an issue while retrieving data.\"));\r\n }\r\n } catch (e) {\r\n yield put(error(e));\r\n }\r\n}\r\n\r\nfunction* loadPolicyWordingsSaga() {\r\n yield takeLatest(LOAD_POLICY_WORDINGS, function* loadPolicyWordings(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getPolicyWordings, action.dealerCode);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(loadPolicyWordingsSuccess(json));\r\n } else {\r\n yield put(error(\"There was an issue while retrieving data.\"));\r\n }\r\n } catch (e) {\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadSummaryOfCoverListSaga() {\r\n yield takeLatest(LOAD_SUMMARY_OF_COVER_LIST, function* loadSummaryOfCoverList(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getSummaryOfCoverList, action.dealerCode);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(loadSummaryOfCoverListSuccess(json));\r\n } else {\r\n yield put(error(\"There was an issue while retrieving data.\"));\r\n }\r\n } catch (e) {\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n loadDealershipRatesSaga(),\r\n loadStandardRatesSaga(),\r\n loadDealershipsForMbiSaga(),\r\n loadDealershipsForPpiSaga(),\r\n loadMBIClaimLimits(),\r\n loadDealershipsForGapSaga(),\r\n loadAllDealershipsForMBISaga(),\r\n loadAllDealershipsForGAPSaga(),\r\n loadPolicyWordingsSaga(),\r\n loadSummaryOfCoverListSaga(),\r\n ]);\r\n}\r\n","import { all } from \"redux-saga/effects\";\r\n\r\nimport editSagas from \"./edit/sagas\";\r\nimport copySagas from \"./copydealership/sagas\";\r\nimport listSagas from \"./list/components/sagas\";\r\nimport listConfigSagas from \"./list/configs/components/sagas\";\r\nimport loginSagas from \"./login/sagas\";\r\nimport ratesSagas from \"./rates/sagas\";\r\n\r\nexport default function* rootSaga() {\r\n yield all([editSagas(), listSagas(), loginSagas(), listConfigSagas(), copySagas(), ratesSagas()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../../../api\";\r\n\r\nimport getAPIDotnet from \"../../../../apiDotnet\";\r\n\r\nimport { error } from \"../../../../actions\";\r\n\r\nimport { LOADPAGE, pageLoaded, CHANGE_LOGIN_STATUS, loadPage, CHANGE_ARCHIVED_STATUS } from \"./actions\";\r\nimport { finished, closeUserBlock } from \"../../userblock/actions\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getUserList, action.listType, action.page, action.search);\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(pageLoaded(action.listType, action.page, action.search, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* changeUserStatus() {\r\n yield takeLatest(CHANGE_LOGIN_STATUS, function* changeUserStatus(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().changeDealershipUserStatus, action.listType, action.id, action.enabled, action.message);\r\n if (res.ok) {\r\n yield put(loadPage(action.listType, action.page, action.search));\r\n yield put(finished());\r\n yield put(closeUserBlock());\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* changeArchivedStatus() {\r\n yield takeLatest(CHANGE_ARCHIVED_STATUS, function* changeArchivedStatus(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().changeUserArchivedStatus, action.id, action.archived);\r\n if (res.ok) {\r\n yield put(loadPage(action.listType, action.page, action.search));\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga(), changeUserStatus(), changeArchivedStatus()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../..//bugsnagClient\";\r\n\r\nimport getAPI from \"../../../api\";\r\nimport getAPIDotnet from \"../../../apiDotnet\";\r\nimport history from \"../../../history\";\r\n\r\nimport { error } from \"../../../actions\";\r\nimport { SAVE_ROLE, LOAD_ROLES, loadRoles, loadedRoles, uiblockstart, uiblockend, CHANGE_STATUS } from \"./actions\";\r\n\r\nfunction* saveRole() {\r\n yield takeLatest(SAVE_ROLE, function* saveRole(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveDealershipRole, action.dealershipRole);\r\n if (res.ok) {\r\n yield put(loadRoles());\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nfunction* changeStatus() {\r\n yield takeLatest(CHANGE_STATUS, function* changeStatus(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().changeDealershipStaffRoleStatus, action.id, action.status);\r\n if (res.ok) {\r\n yield put(loadRoles());\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nfunction* getRoles() {\r\n yield takeLatest(LOAD_ROLES, function* getRoles() {\r\n try {\r\n const res = yield call(getAPIDotnet().getDealershipStaffRoles);\r\n\r\n const json = yield res.json();\r\n if (json.data) {\r\n yield put(loadedRoles(json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([saveRole(), getRoles(), changeStatus()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../..//bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../../apiDotnet\";\r\nimport history from \"../../../history\";\r\n\r\nimport { error, success } from \"../../../actions\";\r\nimport {\r\n LOAD_ROLES,\r\n loadedRoles,\r\n LOAD_DEALERSHIPS,\r\n loadDealerships,\r\n loadedDealerships,\r\n SAVE_USER,\r\n loaded,\r\n LOAD,\r\n EDIT_USER,\r\n SEND_LOGIN_DETAILS,\r\n applyEditUser,\r\n uiblockend,\r\n uiblockstart,\r\n} from \"./actions\";\r\n\r\nfunction* getRoles() {\r\n yield takeLatest(LOAD_ROLES, function* getRoles() {\r\n try {\r\n const res = yield call(getAPIDotnet().getDealershipActiveStaffRoles);\r\n\r\n const json = yield res.json();\r\n\r\n if (json.data) {\r\n yield put(loadedRoles(json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* getDealerships() {\r\n yield takeLatest(LOAD_DEALERSHIPS, function* getDealerships() {\r\n try {\r\n const res = yield call(getAPIDotnet().getActiveDealerships);\r\n\r\n const json = yield res.json();\r\n if (json.data) {\r\n yield put(loadedDealerships(json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveUser() {\r\n yield takeLatest(SAVE_USER, function* saveUser(action) {\r\n try {\r\n yield put(uiblockstart());\r\n const res = yield call(getAPIDotnet().saveUser, action.user);\r\n const json = yield res.json();\r\n if (typeof json !== \"undefined\") {\r\n yield put(loaded(json));\r\n history.push(`/Dashboard/User/${json.id}`);\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n\r\n yield put(uiblockend());\r\n yield put(applyEditUser(false));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* sendLoginDetails() {\r\n yield takeLatest(SEND_LOGIN_DETAILS, function* sendLoginDetails(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().sendLoginDetails, action.id);\r\n if (res.ok) {\r\n yield put(success(\"Login details sent to the user\"));\r\n } else {\r\n bugsnagClient.notify(new Error(\"Error occured\"));\r\n yield put(error(\"Error occured\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* load() {\r\n yield takeLatest(LOAD, function* load(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getUser, action.id);\r\n const json = yield res.json();\r\n if (typeof json !== \"undefined\") {\r\n yield put(loaded(json));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([getRoles(), getDealerships(), saveUser(), load(), sendLoginDetails()]);\r\n}\r\n","import { all } from \"redux-saga/effects\";\r\n\r\nimport listSagas from \"./list/components/sagas\";\r\nimport roleSagas from \"./roles/sagas\";\r\nimport userSagas from \"./edit/sagas\";\r\nexport default function* rootSaga() {\r\n yield all([listSagas(), roleSagas(), userSagas()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../../../bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../../../apiDotnet\";\r\n\r\nimport { error } from \"../../../../actions\";\r\n\r\nimport { LOADPAGE, pageLoaded } from \"./actions\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getVehicleConfigList, action.listType, action.page, action.search);\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(pageLoaded(action.listType, action.page, action.search, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../..//bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../../apiDotnet\";\r\nimport history from \"../../../history\";\r\n\r\nimport { error, success } from \"../../../actions\";\r\nimport {\r\n uiblockend,\r\n uiblockstart,\r\n loadedVehicle,\r\n LOAD_VEHICLE,\r\n loadedVehcileModels,\r\n loadedVehicleSubModels,\r\n loadedCycle,\r\n LOAD_CYCLE,\r\n LOAD_MODELS,\r\n LOAD_SUBMODELS,\r\n LOAD_CYCLE_MODELS,\r\n loadedCycleModels,\r\n SAVE_CYCLE_MATCH,\r\n SAVE_VEHICLE_MATCH\r\n} from \"./actions\";\r\nimport { controls } from \"react-redux-form\";\r\n\r\nfunction* loadVehicle() {\r\n yield takeLatest(LOAD_VEHICLE, function* loadVehicle(action) {\r\n try {\r\n yield put(uiblockstart());\r\n const res = yield call(getAPIDotnet().loadVehicleMatch,action.id);\r\n \r\n const json = yield res.json();\r\n\r\n if (json) {\r\n yield put(loadedVehicle(json));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n yield put(uiblockend());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadModels() {\r\n yield takeLatest(LOAD_MODELS, function* loadModels(action) {\r\n try {\r\n yield put(uiblockstart());\r\n const res = yield call(getAPIDotnet().loadAllVehicleModelsForConfig,action.make);\r\n \r\n const json = yield res.json();\r\n if (json.models) {\r\n yield put(loadedVehcileModels(json.models));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(uiblockend());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadCycleModels() {\r\n yield takeLatest(LOAD_CYCLE_MODELS, function* loadModels(action) {\r\n try {\r\n yield put(uiblockstart());\r\n const res = yield call(getAPIDotnet().loadAllCycleModelsForConfig,action.make);\r\n \r\n const json = yield res.json();\r\n if (json.models) {\r\n yield put(loadedCycleModels(json.models));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(uiblockend());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadSubModels() {\r\n yield takeLatest(LOAD_SUBMODELS, function* loadSubModels(action) {\r\n try {\r\n yield put(uiblockstart())\r\n const res = yield call(getAPIDotnet().loadAllVehicleSubmodelsForConfig,action.make, action.model);\r\n \r\n const json = yield res.json();\r\n\r\n\r\n if (json.submodels) {\r\n yield put(loadedVehicleSubModels(json.submodels));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(uiblockend());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadCycle() {\r\n yield takeLatest(LOAD_CYCLE, function* loadCycle(action) {\r\n try {\r\n yield put(uiblockstart());\r\n const res = yield call(getAPIDotnet().loadCycleMatch,action.id);\r\n \r\n const json = yield res.json();\r\n if (json) {\r\n yield put(loadedCycle(json));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n yield put(uiblockend());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction* saveCycleMatch() {\r\n yield takeLatest(SAVE_CYCLE_MATCH, function* saveCycleMatch(action) {\r\n try {\r\n yield put(uiblockstart());\r\n const res = yield call(getAPIDotnet().saveCycleMatch, action.cyclematch);\r\n if (res.ok) {\r\n history.push(`/Dashboard/CycleMatchList`);\r\n } else {\r\n bugsnagClient.notify(new Error('Saving Failed'));\r\n yield put(error('Saving Failed'));\r\n }\r\n yield put(uiblockend());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveVehicleMatch() {\r\n yield takeLatest(SAVE_VEHICLE_MATCH, function* saveVehicleMatch(action) {\r\n try {\r\n yield put(uiblockstart());\r\n const res = yield call(getAPIDotnet().saveVehicleMatch, action.vehiclematch);\r\n if (res.ok) {\r\n history.push(`/Dashboard/VehicleMatchList`);\r\n } else {\r\n bugsnagClient.notify(new Error('Saving Failed'));\r\n yield put(error('Saving Failed'));\r\n }\r\n yield put(uiblockend());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\nexport default function* rootSaga() {\r\n yield all([ loadCycle(),loadVehicle(),loadModels(),loadSubModels(),loadCycleModels(),saveCycleMatch(),saveVehicleMatch()]);\r\n}\r\n","import { all } from \"redux-saga/effects\";\r\n\r\nimport listSagas from \"./list/components/sagas\";\r\nimport editSagas from \"./edit/sagas\";\r\n\r\nexport default function* rootSaga() {\r\n yield all([listSagas(),editSagas()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\nimport history from \"../../history\";\r\n\r\nimport { error } from \"../../actions\";\r\nimport { ACCEPT_NOTIFICATIONS, closeUserNotificationBlock } from \"./actions\";\r\n\r\nfunction* acceptNotifications() {\r\n yield takeLatest(ACCEPT_NOTIFICATIONS, function* acceptNotifications(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveUserNotification, action.usernotification);\r\n\r\n if (res.ok) {\r\n yield put(closeUserNotificationBlock());\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([acceptNotifications()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../../../bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../../../apiDotnet\";\r\n\r\nimport { error } from \"../../../../actions\";\r\nimport history from \"../../../../history\";\r\nimport { LOADPAGE, pageLoaded, finished, loadPage, TRIGGER_NOTIFICATION_ID, TRIGGER_NOTIFICATION_ID_USER } from \"./actions\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const userid = typeof action.userid != \"undefined\" ? action.userid : 0;\r\n const res = yield call(getAPIDotnet().getNotificationList, action.listType, action.page, action.search, userid);\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(pageLoaded(action.listType, action.page, action.search, json.recordsTotal, json.data, userid));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(finished());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* triggerNotificationId() {\r\n yield takeLatest(TRIGGER_NOTIFICATION_ID, function* triggerNotificationId(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().triggerNotificationId, action.id);\r\n const json = yield res.json();\r\n if (typeof json.id !== \"undefined\") {\r\n if (json.id !== 0) {\r\n yield put(loadPage(action.listType, action.page, action.search));\r\n history.push(\"/Dashboard/Notification/Roles\");\r\n }\r\n //\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\nfunction* triggerNotificationIdUser() {\r\n yield takeLatest(TRIGGER_NOTIFICATION_ID_USER, function* triggerNotificationIdUser(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().triggerNotificationId, action.id);\r\n const json = yield res.json();\r\n if (typeof json.targetUser !== \"undefined\") {\r\n if (json.targetUser !== 0) {\r\n yield put(loadPage(action.listType, action.page, action.search, json.targetUser));\r\n history.push(`/Dashboard/Notification/User/${json.targetUser}`);\r\n }\r\n //\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga(), triggerNotificationId(), triggerNotificationIdUser()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../..//bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../../apiDotnet\";\r\nimport history from \"../../../history\";\r\n\r\nimport { error } from \"../../../actions\";\r\nimport { LOAD_ROLES, loadedRoles, SAVE_NOTIFICATION, TRIGGER_NOTIFICATION, LOAD, loaded, LOAD_USER_NOTIFICATION, loadedUserNotification } from \"./actions\";\r\n\r\nfunction* getRoles() {\r\n yield takeLatest(LOAD_ROLES, function* getRoles() {\r\n try {\r\n const res = yield call(getAPIDotnet().getDealershipActiveStaffRoles);\r\n\r\n const json = yield res.json();\r\n\r\n if (json.data) {\r\n yield put(loadedRoles(json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* load() {\r\n yield takeLatest(LOAD, function* load(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getNotification, action.id);\r\n const json = yield res.json();\r\n\r\n if (typeof json !== \"undefined\") {\r\n yield put(loaded(json));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* loadUserNotification() {\r\n yield takeLatest(LOAD_USER_NOTIFICATION, function* load(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getNotification, action.id);\r\n const json = yield res.json();\r\n if (typeof json !== \"undefined\") {\r\n yield put(loadedUserNotification(json));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveNotification() {\r\n yield takeLatest(SAVE_NOTIFICATION, function* saveNotification(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveNotification, action.notification);\r\n const json = yield res.json();\r\n\r\n if (typeof json.id !== \"undefined\") {\r\n if (json.id !== 0) {\r\n if (action.notification.targetUser == -1) {\r\n history.push(\"/Dashboard/Notification/Roles\");\r\n } else {\r\n history.push(`/Dashboard/Notification/User/${action.notification.targetUser}`);\r\n }\r\n }\r\n //\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* triggerNotification() {\r\n yield takeLatest(TRIGGER_NOTIFICATION, function* triggerNotification(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().triggerNotification, action.notification);\r\n const json = yield res.json();\r\n if (typeof json.id !== \"undefined\") {\r\n if (json.id !== 0) {\r\n yield put(loaded(json));\r\n history.push(\"/Dashboard/Notification/\" + json.id);\r\n }\r\n //\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([getRoles(), saveNotification(), load(), triggerNotification(), loadUserNotification()]);\r\n}\r\n","import { all } from \"redux-saga/effects\";\r\n\r\nimport listSagas from \"./list/components/sagas\";\r\nimport notificationSagas from \"./edit/sagas\";\r\n\r\nexport default function* rootSaga() {\r\n yield all([listSagas(), notificationSagas()]);\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport FileSaver from 'file-saver'\r\n\r\nimport { bugsnagClient } from '../../../bugsnagClient'\r\n\r\nimport getAPI from '../../../api'\r\n\r\nimport {\r\n error\r\n} from '../../../actions'\r\n\r\nimport {\r\n DO_EXPORT,\r\n finished\r\n} from './actions'\r\nimport getAPIDotnet from '../../../apiDotnet'\r\n\r\nfunction * doExportSaga () {\r\n yield takeLatest(DO_EXPORT, function * loadPage (action) {\r\n try {\r\n const res = yield call(getAPIDotnet().doExport, action.action, action.data)\r\n const blob = yield res.blob()\r\n FileSaver.saveAs(blob, action.filename)\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n yield put(finished())\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n doExportSaga()\r\n ])\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../..//bugsnagClient\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\nimport history from \"../../history\";\r\n\r\nimport { error } from \"../../actions\";\r\nimport { LOAD_CONFIGS, uiblockend, CHANGE_STATUS, loadConfigs, loadedConfigs, LOAD_HOME_BANNER, loadedBanner, UPDATE_HOME_BANNER } from \"./actions\";\r\n\r\nfunction* changeStatus() {\r\n yield takeLatest(CHANGE_STATUS, function* changeStatus(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().changeGlobalConfigStatus, action.code, action.status);\r\n if (res.ok) {\r\n yield put(loadConfigs());\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nfunction* updateHomeBanner() {\r\n yield takeLatest(UPDATE_HOME_BANNER, function* updateHomeBanner(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().updateHomeBanner, action.banner);\r\n const json = yield res.json();\r\n if (json) {\r\n yield put(loadedBanner(json));\r\n } else {\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nfunction* getConfigs() {\r\n yield takeLatest(LOAD_CONFIGS, function* getRoles() {\r\n try {\r\n const res = yield call(getAPIDotnet().getGlobalConfigs);\r\n\r\n const json = yield res.json();\r\n if (json.data) {\r\n yield put(loadedConfigs(json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nfunction* getHomeNotice() {\r\n yield takeLatest(LOAD_HOME_BANNER, function* getHomeNotice() {\r\n try {\r\n const res = yield call(getAPIDotnet().getHomeBannerNotice);\r\n\r\n const json = yield res.json();\r\n console.log(json);\r\n if (json) {\r\n yield put(loadedBanner(json));\r\n } else {\r\n history.goBack();\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([getConfigs(), changeStatus(), getHomeNotice(), updateHomeBanner()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { LOADPAGE, pageLoaded, LOAD_BDMS, loadedBDMS, wait, finished } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n yield put(wait());\r\n const res = yield call(getAPIDotnet().getBDMDealerships, action.page, action.search, action.serviceLevel, action.bdm);\r\n const json = yield res.json();\r\n if (typeof json !== \"undefined\") {\r\n yield put(pageLoaded(action.page, action.search, action.serviceLevel, action.bdm, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n } finally {\r\n yield put(finished());\r\n }\r\n });\r\n}\r\n\r\nfunction* loadBDMs() {\r\n yield takeLatest(LOAD_BDMS, function* loadPage(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getAllBDMs);\r\n\r\n const json = yield res.json();\r\n\r\n if (typeof json !== \"undefined\") {\r\n yield put(loadedBDMS(json));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadBDMs(), loadPageSaga()]);\r\n}\r\n","import { all, call, put, takeLatest, fork } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../bugsnagClient\";\r\n\r\nimport getAPI from \"../api\";\r\n\r\nimport { error, SET_DEALERCODE_SUCCESS } from \"../actions\";\r\n\r\nimport { setAuth } from \"../auth/actions\";\r\n\r\nimport {\r\n INITIALIZE,\r\n initialized,\r\n LOAD_NOTIFICATIONS,\r\n FETCH_RECENT_QUOTES,\r\n FETCH_RECENT_SIGNED_QUOTES,\r\n fetchRecentQuotes,\r\n recentPolicies,\r\n recentQuotes,\r\n recentPoliciesWithoutRegos,\r\n fetchRecentSignedQuotes,\r\n recentSignedQuotes,\r\n} from \"./actions\";\r\n\r\nimport { initialized as MyDealersInitialized } from \"./mydealers/actions\";\r\n\r\nimport MBIQuickQuoteSagas from \"./mbiquickquote/sagas\";\r\nimport MCIQuickQuoteSagas from \"./mciquickquote/sagas\";\r\nimport MVIQuickQuoteSagas from \"./mviquickquote/sagas\";\r\nimport PCIQuickQuoteSagas from \"./pciquickquote/sagas\";\r\nimport { reset as mbiReset } from \"./mbiquickquote/actions\";\r\nimport { reset as mciReset } from \"./mciquickquote/actions\";\r\nimport { reset as mviReset } from \"./mviquickquote/actions\";\r\nimport { reset as pciReset } from \"./pciquickquote/actions\";\r\n\r\nimport newApplicationSagas from \"./myapplications/sagas\";\r\nimport dealershipSagas from \"./dealership/sagas\";\r\nimport userSagas from \"./user/sagas\";\r\nimport vehicleConfigSagas from \"./vehicleconfigs/sagas\";\r\nimport userNotificationSagas from \"./usernotifications/sagas\";\r\nimport notificationSags from \"./notifications/sagas\";\r\nimport exportSagas from \"./exports/components/sagas\";\r\nimport configSagas from \"./config/sagas\";\r\nimport bdmSagas from \"./bdmdealers/sagas\";\r\nimport getAPIDotnet from \"../apiDotnet\";\r\nimport { initiateUserNotificationBlock, showUserNotificationBlock, closeUserNotificationBlock } from \"./usernotifications/actions\";\r\n\r\n// ********** INITIALIZATION **********\r\n\r\nfunction* initializeSaga() {\r\n yield takeLatest(INITIALIZE, function* initialize() {\r\n try {\r\n const res = yield call(getAPIDotnet().getDashboardState);\r\n const json = yield res.json();\r\n if (json.allow) {\r\n yield put(setAuth(json.allow));\r\n delete json.allow;\r\n }\r\n if (json.dealers) {\r\n yield put(MyDealersInitialized(json.dealers));\r\n }\r\n\r\n yield put(initialized(json));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* initializeDotnetSaga() {\r\n yield takeLatest(INITIALIZE, loadDashboardDotnet);\r\n}\r\n\r\nfunction* reloadDashboardSaga() {\r\n yield takeLatest(SET_DEALERCODE_SUCCESS, loadDashboardDotnet);\r\n}\r\n\r\nfunction* loadDashboardDotnet() {\r\n yield put(mbiReset());\r\n yield put(mciReset());\r\n yield put(mviReset());\r\n yield put(pciReset());\r\n yield fork(initializeRecentPolicies);\r\n yield put(fetchRecentQuotes());\r\n yield put(fetchRecentSignedQuotes());\r\n yield fork(initializeRecentPoliciesWithoutRegos);\r\n}\r\n\r\nfunction* initializeRecentPolicies() {\r\n try {\r\n const res = yield call(getAPIDotnet().getRecentPolicies);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(recentPolicies(json));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n}\r\n\r\nfunction* fetchRecentQuotesSaga() {\r\n yield takeLatest(FETCH_RECENT_QUOTES, function* fetchRecentQuotes() {\r\n try {\r\n const res = yield call(getAPIDotnet().getRecentQuotes);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(recentQuotes(json));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* fetchRecentSignedQuotesSaga() {\r\n yield takeLatest(FETCH_RECENT_QUOTES, function* fetchRecentSignedQuotesSaga() {\r\n try {\r\n const res = yield call(getAPIDotnet().getRecentSignedQuotes);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(recentSignedQuotes(json));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* initializeRecentPoliciesWithoutRegos() {\r\n try {\r\n const res = yield call(getAPIDotnet().getRecentPoliciesWithoutRegos);\r\n if (res.ok) {\r\n const json = yield res.json();\r\n yield put(recentPoliciesWithoutRegos(json));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n}\r\n\r\nfunction* loadNotificationSaga() {\r\n yield takeLatest(LOAD_NOTIFICATIONS, function* loadNotificationSaga(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getPendingNotifications, action.id);\r\n const json = yield res.json();\r\n if (json.data) {\r\n if (json.data.length > 0) {\r\n yield put(initiateUserNotificationBlock(json.data));\r\n yield put(showUserNotificationBlock());\r\n } else {\r\n yield put(closeUserNotificationBlock());\r\n }\r\n } else {\r\n yield put(closeUserNotificationBlock());\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n initializeSaga(),\r\n initializeDotnetSaga(),\r\n fetchRecentQuotesSaga(),\r\n fetchRecentSignedQuotesSaga(),\r\n reloadDashboardSaga(),\r\n loadNotificationSaga(),\r\n MBIQuickQuoteSagas(),\r\n MCIQuickQuoteSagas(),\r\n MVIQuickQuoteSagas(),\r\n PCIQuickQuoteSagas(),\r\n newApplicationSagas(),\r\n dealershipSagas(),\r\n userNotificationSagas(),\r\n userSagas(),\r\n vehicleConfigSagas(),\r\n notificationSags(),\r\n exportSagas(),\r\n configSagas(),\r\n bdmSagas(),\r\n ]);\r\n}\r\n","import { delay } from \"redux-saga\";\r\nimport { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { actions } from \"react-redux-form\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error, information } from \"../../actions\";\r\n\r\nimport {\r\n REGO_SEARCH,\r\n REGO_SEARCH_MARK,\r\n regoSearchClose,\r\n MAKE_SELECTED,\r\n modelsRetrieved,\r\n MODEL_SELECTED,\r\n MCI_MODEL_SELECTED,\r\n submodelsRetrieved,\r\n finished,\r\n wait,\r\n REGO_VALIDATE,\r\n VIN_VALIDATE,\r\n REGO_SEARCH_NEW,\r\n makeSelected,\r\n modelSelected,\r\n regoSearchNew,\r\n vehicleNotFound,\r\n} from \"./actions\";\r\n\r\nimport { updated, vehicleNotRegistered, vehicleRegoLookupSuccess, vehicleClearRegistration } from \"../../policy/actions\";\r\nimport { mciSpecRetrieved } from \"../../dashboard/mciquickquote/actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\n// ********** REGO SEARCHING **********\r\n\r\nfunction* regoSearchSaga() {\r\n yield takeLatest(REGO_SEARCH, function* regoSearch(action) {\r\n try {\r\n yield put(wait(action.viewmodel));\r\n const res = yield call(getAPIDotnet().doRegoSearch, action.PolicyPackage, action.index);\r\n const json = yield res.json();\r\n yield put(finished(action.viewmodel));\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(actions.resetValidity(action.viewmodel));\r\n } else {\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n } finally {\r\n yield put(finished(action.viewmodel));\r\n }\r\n });\r\n}\r\n\r\nfunction* regoSearchSagaNew() {\r\n yield takeLatest(REGO_SEARCH_NEW, function* regoSearchNew(action) {\r\n try {\r\n yield put(wait(action.viewmodel));\r\n\r\n const res = yield call(getAPIDotnet().searchRego, action.rego, action.product, action.option);\r\n const json = yield res.json();\r\n\r\n if (json.notRegistered) {\r\n if (action.mode === \"REGO\") {\r\n yield put(vehicleNotFound(action.viewmodel, false));\r\n yield put(vehicleNotRegistered(action.index, true));\r\n yield put(vehicleClearRegistration(action.index));\r\n yield put(\r\n information(\r\n \"We are unable to retrieve this vehicle from our external rego search provider, as a result the vehicle has been flagged as not registered. Please provide a valid VIN number to proceed.\",\r\n \"Important\"\r\n )\r\n );\r\n } else if (action.mode === \"VIN\") {\r\n yield put(information(\"Please provide a valid VIN number.\", \"Error\"));\r\n }\r\n } else {\r\n yield put(makeSelected(action.viewmodel, action.product, action.option, json.make));\r\n if (json.model) {\r\n yield put(modelSelected(action.viewmodel, action.product, action.option, json.make, json.model));\r\n } else {\r\n yield put(submodelsRetrieved(action.viewmodel, []));\r\n }\r\n\r\n yield put(vehicleRegoLookupSuccess(action.index, json.make, json.model, json.yearOfManufacture, json.vin, json.rego));\r\n\r\n if (json.error) {\r\n yield put(information(json.errorMessage, \"Important\"));\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n } finally {\r\n yield put(finished(action.viewmodel));\r\n }\r\n });\r\n}\r\n\r\nfunction* regoSearchMarkSaga() {\r\n yield takeLatest(REGO_SEARCH_MARK, function* regoSearchMark(action) {\r\n try {\r\n yield call(getAPIDotnet().doRegoSearchMark, action.rego, action.match, action.correct);\r\n if (action.correct) {\r\n yield call(delay, 500);\r\n yield put(regoSearchClose(action.viewmodel));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* regoValidateSaga() {\r\n yield takeLatest(REGO_VALIDATE, function* regoValidateSaga(action) {\r\n try {\r\n yield put(wait(action.viewmodel));\r\n\r\n const res = yield call(getAPIDotnet().validateRego, action.rego);\r\n\r\n const json = yield res.json();\r\n if (json.success) {\r\n if (json.result) {\r\n yield put(regoSearchNew(action.viewmodel, action.rego, action.product, action.option, action.index));\r\n } else {\r\n if (action.mode === \"REGO\") {\r\n yield put(vehicleNotFound(action.viewmodel, json));\r\n yield put(vehicleNotRegistered(action.index, !json));\r\n yield put(vehicleClearRegistration(action.index));\r\n yield put(\r\n information(\r\n \"We are unable to retrieve this vehicle from our external rego search provider, as a result the vehicle has been flagged as not registered. Please provide a valid VIN number to proceed.\",\r\n \"Important\"\r\n )\r\n );\r\n } else if (action.mode === \"VIN\") {\r\n yield put(information(\"Please provide a valid VIN number.\", \"Error\"));\r\n }\r\n }\r\n } else {\r\n yield put(information(\"Rego Search Services Disabled at the moment. Please manually select the make and model to continue.\", \"Important\"));\r\n }\r\n\r\n yield put(finished(action.viewmodel));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* vinValidateSaga() {\r\n yield takeLatest(VIN_VALIDATE, function* regoValidateSaga(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().validateRego, action.vin);\r\n const json = yield res.json();\r\n if (!json) {\r\n yield put(error(\"This VIN number is invalid, please enter a correct VIN number\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* getModelsSaga() {\r\n yield takeLatest(MAKE_SELECTED, function* getModels(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getModels, action.productcode, action.optioncode, action.make);\r\n const json = yield res.json();\r\n if (typeof json.success === \"undefined\" || json.success) {\r\n // handle inconsistent data returned by api >_<, my fault.\r\n if (json.models) {\r\n yield put(modelsRetrieved(action.viewmodel, json.models));\r\n } else {\r\n yield put(modelsRetrieved(action.viewmodel, json));\r\n }\r\n if (json.submodels) {\r\n yield put(submodelsRetrieved(action.viewmodel, json.submodels));\r\n }\r\n } else {\r\n yield put(modelsRetrieved(action.viewmodel, []));\r\n yield put(submodelsRetrieved(action.viewmodel, []));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* getSubmodelsSaga() {\r\n yield takeLatest(MODEL_SELECTED, function* getSubmodels(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getSubModels, action.productcode, action.optioncode, action.make, action.model);\r\n const json = yield res.json();\r\n if (typeof json.success === \"undefined\" || json.success) {\r\n yield put(submodelsRetrieved(action.viewmodel, json.submodels));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* getMCIRegoStatusSaga() {\r\n yield takeLatest(MCI_MODEL_SELECTED, function* getMCIRegoStatusSaga(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getMCIRegoStatus, action.productcode, action.optioncode, action.make, action.model);\r\n const json = yield res.json();\r\n if (res.ok) {\r\n yield put(mciSpecRetrieved(json.regostatus));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n regoSearchSaga(),\r\n regoSearchMarkSaga(),\r\n getModelsSaga(),\r\n getSubmodelsSaga(),\r\n getMCIRegoStatusSaga(),\r\n regoValidateSaga(),\r\n vinValidateSaga(),\r\n regoSearchSagaNew(),\r\n ]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { LOADPAGE, pageLoaded } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const res = yield call(\r\n getAPIDotnet().getPolicyListings,\r\n action.listType,\r\n action.page,\r\n action.search,\r\n action.searchtype\r\n );\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(\r\n pageLoaded(\r\n action.listType,\r\n action.page,\r\n action.search,\r\n action.searchtype,\r\n json.recordsTotal,\r\n json.data\r\n )\r\n );\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport store from \"../../store\";\r\n\r\nimport { LOADPAGE, pageLoaded } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const mbigList = store.getState().mbigList;\r\n\r\n const res = yield call(getAPIDotnet().getMBIGPolicyList, mbigList.activePage, mbigList.search, mbigList.searchtype);\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(pageLoaded(mbigList.activePage, mbigList.search, mbigList.searchtype, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { ARCHIVE, closeArchivePolicy } from \"./actions\";\r\n\r\nimport { issueReload } from \"../../policylists/components/ListHOC\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* archiveSaga() {\r\n yield takeLatest(ARCHIVE, function* archive(action) {\r\n try {\r\n var res = yield call(getAPIDotnet().archivePolicy, action.policyid, !action.archived);\r\n var json = yield res.json();\r\n if (json.success) {\r\n yield put(closeArchivePolicy());\r\n yield put(issueReload());\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([archiveSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { DO_SUBMIT, submited } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\n// ********** OPTIONS **********\r\n\r\nfunction* doSubmitSaga() {\r\n yield takeLatest(DO_SUBMIT, function* submit(action) {\r\n try {\r\n console.log(action.Mail);\r\n const res = yield call(getAPIDotnet().policyCancellation, action.Mail);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(submited());\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(json.message ? json.message : \"An error occurred!\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([doSubmitSaga()]);\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n DO_SUBMIT,\r\n submited\r\n} from './actions'\r\n\r\n// ********** OPTIONS **********\r\n\r\nfunction * doSubmitSaga () {\r\n yield takeLatest(DO_SUBMIT, function * submit (action) {\r\n try {\r\n const res = yield call(getAPI().doMailFormSubmit, action.Mail)\r\n const json = yield res.json()\r\n if (json.success) {\r\n yield put(submited())\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== 'undefined' ? json.message : 'An error occurred'))\r\n yield put(error(json.message ? json.message : 'An error occurred!'))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n doSubmitSaga()\r\n ])\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { showCopyPolicy, error } from \"../../actions\";\r\n\r\nimport { INITIALIZE, initialized } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* initializeCopyPolicySaga() {\r\n yield takeLatest(INITIALIZE, function* initialize(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().copyPolicy, action.policyid);\r\n const json = yield res.json();\r\n yield put(initialized(json.PolicyPackage, json.ui));\r\n yield put(showCopyPolicy(json.PolicyPackage));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeCopyPolicySaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { actions } from \"react-redux-form\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\n\r\nimport { showModifyPolicy, error } from \"../../actions\";\r\n\r\nimport { INITIALIZE, initialized, SAVE, saved, validationError, closeModifyPolicy } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction doInitialize(policyid) {\r\n return getAPIDotnet().getPolicy(policyid);\r\n}\r\n\r\nfunction* initializeModifyPolicySaga() {\r\n yield takeLatest(INITIALIZE, function* initialize(action) {\r\n try {\r\n const res = yield call(doInitialize, action.policyid);\r\n const json = yield res.json();\r\n console.log(json);\r\n yield actions.resetValidity(\"modifyPolicy\");\r\n yield put(initialized(json.PolicyPackage, json.ui));\r\n yield put(showModifyPolicy(json.PolicyPackage));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction doValidate(PolicyPackage) {\r\n return getAPI().validateModifyPolicy(PolicyPackage);\r\n}\r\n\r\nfunction doSave(PolicyPackage) {\r\n return getAPIDotnet().modifyPolicy(PolicyPackage);\r\n}\r\n\r\nfunction* saveModifyPolicy() {\r\n yield takeLatest(SAVE, function* save(action) {\r\n try {\r\n // var res = yield call(doValidate, action.PolicyPackage);\r\n // var json = yield res.json();\r\n // if (json.success) {\r\n var res = yield call(doSave, action.PolicyPackage);\r\n var json = yield res.json();\r\n\r\n if (json.urlprint !== null && typeof json.urlprint === 'object') {\r\n const documentUrlsArray = Object.entries(json.urlprint).map(\r\n ([key, value]) => ({\r\n key,\r\n value: value ? value.replace(/&/g, '&') : '',\r\n })\r\n ); \r\n \r\n var docUrl = documentUrlsArray.length > 0 ? documentUrlsArray[0].value : null;\r\n\r\n console.log(json);\r\n if (json.success) {\r\n window.location = docUrl\r\n yield put(saved());\r\n yield put(closeModifyPolicy());\r\n } else {\r\n yield put(validationError(json.errors));\r\n }\r\n // } else {\r\n // yield put(validationError(json.errors));\r\n // }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeModifyPolicySaga(), saveModifyPolicy()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\n\r\nimport { showRequestModification, error } from \"../../actions\";\r\n\r\nimport { INITIALIZE, initialized, SAVE, closeRequestModification } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* initializeRequestModificationSaga() {\r\n yield takeLatest(INITIALIZE, function* initialize(action) {\r\n try {\r\n yield put(initialized(action.policyNumber, action.message));\r\n yield put(showRequestModification(action.policyNumber));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveRequestModification() {\r\n yield takeLatest(SAVE, function* save(action) {\r\n try {\r\n var res = yield call(getAPIDotnet().requestPolicyModification, action.policyNumber, action.message);\r\n var json = yield res.json();\r\n if (json.success) {\r\n yield put(closeRequestModification());\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([initializeRequestModificationSaga(), saveRequestModification()]);\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n showRequestRegoModification,\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n INITIALIZE,\r\n initialized,\r\n SAVE,\r\n closeRequestRegoModification\r\n} from './actions'\r\n\r\nfunction * initializeRequestRegoModificationSaga () {\r\n yield takeLatest(INITIALIZE, function * initialize (action) {\r\n try {\r\n yield put(initialized(action.policyNumber,action.id, action.message))\r\n yield put(showRequestRegoModification(action.policyNumber))\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nfunction * saveRequestRegoModification () {\r\n yield takeLatest(SAVE, function * save (action) {\r\n try {\r\n var res = yield call(getAPI().requestPolicyRegoModification, action.policyNumber,action.id, action.message)\r\n var json = yield res.json()\r\n if (json.success) {\r\n yield put(closeRequestRegoModification())\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n initializeRequestRegoModificationSaga(),\r\n saveRequestRegoModification()\r\n ])\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { REBUILDCERT } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\n// ********** OPTIONS **********\r\n\r\nfunction* rebuildCertSaga() {\r\n yield takeLatest(REBUILDCERT, function* submit(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().rebuildCertificate, action.policyid);\r\n const json = yield res.json();\r\n if (json.success) {\r\n window.location = json.url;\r\n } else {\r\n yield put(error(json.message ? json.message : \"An error occurred!\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([rebuildCertSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error, success } from \"../../actions\";\r\n\r\nimport { SAVETOPROTEUS } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\n// ********** OPTIONS **********\r\n\r\nfunction* saveToProteusSaga() {\r\n yield takeLatest(SAVETOPROTEUS, function* submit(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().saveToProteus, action.policyid);\r\n if (res.ok) {\r\n yield put(success(\"Saved!\"));\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.error));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([saveToProteusSaga()]);\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n DO_SUBMIT,\r\n submited\r\n} from './actions'\r\n\r\n// ********** OPTIONS **********\r\n\r\nfunction * doSubmitSaga () {\r\n yield takeLatest(DO_SUBMIT, function * submit (action) {\r\n try {\r\n const res = yield call(getAPI().doMailFormSubmit, action.Mail)\r\n const json = yield res.json()\r\n if (json.success) {\r\n yield put(submited())\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== 'undefined' ? json.message : 'An error occurred'))\r\n yield put(error(json.message ? json.message : 'An error occurred!'))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n doSubmitSaga()\r\n ])\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../../../../bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../../../../apiDotnet\";\r\n\r\nimport { error } from \"../../../../../actions\";\r\n\r\nimport { LOADPAGE, pageLoaded, CHANGE_SUBMISSION_STATUS, loadPage, finished } from \"./actions\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getManualDisclosureList, action.listType, action.page, action.search);\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(pageLoaded(action.listType, action.page, action.search, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* changeSubmissionStatus() {\r\n yield takeLatest(CHANGE_SUBMISSION_STATUS, function* changeSubmissionStatus(action) {\r\n try {\r\n console.log(action);\r\n const res = yield call(getAPIDotnet().changeSubmissionStatus, action.policyID, action.received);\r\n if (res.ok) {\r\n yield put(loadPage(action.listType, action.page, action.search));\r\n yield put(finished());\r\n } else {\r\n const json = yield res.json();\r\n yield put(error(json.Descriptions[0]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga(), changeSubmissionStatus()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../../../../bugsnagClient\";\r\n\r\nimport getAPIDotnet from \"../../../../../apiDotnet\";\r\n\r\nimport { error } from \"../../../../../actions\";\r\n\r\nimport { LOADPAGE, pageLoaded } from \"./actions\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getPendingDisclosureList, action.listType, action.page, action.search);\r\n const json = yield res.json();\r\n if (typeof json !== \"undefined\") {\r\n yield put(pageLoaded(action.listType, action.page, action.search, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { actions } from \"react-redux-form\";\r\n\r\nimport { bugsnagClient } from \"../bugsnagClient\";\r\n\r\nimport getAPI from \"../api\";\r\n\r\nimport { error, success, information } from \"../actions\";\r\n\r\nimport history from \"../history\";\r\nimport store from \"../store\";\r\n\r\nimport {\r\n NEW_POLICY,\r\n CONTINUE_POLICY,\r\n INITIALIZE,\r\n initialized,\r\n updated,\r\n VALIDATE,\r\n SELECT,\r\n SELECT_PRODUCTS,\r\n SAVE,\r\n UPDATE,\r\n OVERRIDE,\r\n DISC_OVERRIDE,\r\n finished,\r\n wait,\r\n nextStep,\r\n setStep,\r\n ADD_DRIVER,\r\n ADD_RIDER,\r\n ADD_VEHICLE,\r\n ADD_CYCLE,\r\n REMOVE_DRIVER,\r\n REMOVE_RIDER,\r\n REMOVE_CYCLE,\r\n REMOVE_VEHICLE,\r\n setActiveDriver,\r\n setActiveRider,\r\n setActiveVehicle,\r\n setActiveCycle,\r\n CREDITCARD_PAYMENT,\r\n ccFinished,\r\n SAVE_AND_EXIT,\r\n SAVE_AS_QUOTE,\r\n saveFinished,\r\n CONFIRM_POLICY,\r\n confirmFinished,\r\n validateFinished,\r\n confirmRequest,\r\n uiload,\r\n uifinished,\r\n SUMMARY_VALIDATE,\r\n EMAIL_POLICY,\r\n CANCEL_POLICY,\r\n OPTION_UPDATE,\r\n PREMIUM_MODE_UPDATE,\r\n CCSUCCESS,\r\n CCFAIL,\r\n SEARCH_PROPOSER_ADDRESS,\r\n CLASSIC_RISK_ADDRESS_SEARCH,\r\n displayMatchAddresses,\r\n classicMatchAddresses,\r\n CALCULATE_RI_PREMIUM,\r\n uiblockstart,\r\n uiblockend,\r\n UPDATE_PRODUCTS,\r\n disclosureConfirmRequest,\r\n SEND_DISCLOSURE,\r\n REQUEST_DISCLOSURE_OVERRIDE,\r\n saveAsQuote,\r\n updateDisclosureReason,\r\n update,\r\n discOverride,\r\n policyUpdateStart,\r\n policyUpdateEnd,\r\n} from \"./actions\";\r\nimport disclosureListSaga from \"./components/disclosure/list/components/sagas\";\r\nimport disclosurePendingListSaga from \"./components/disclosure/pending/components/sagas\";\r\nimport { currentStepIndex, nextStepIndex } from \"./reducer\"; // ajk - probably an antipattern to do this....\r\nimport { reset } from \"../dashboard/mviquickquote/actions\";\r\nimport getAPIDotnet from \"../apiDotnet\";\r\nimport { submitted, finishedDiscWait } from \"./components/disclosure/actions\";\r\n\r\nconst FOCUS_DELAY = 250;\r\n\r\nfunction* newPolicySaga() {\r\n yield takeLatest(NEW_POLICY, function* newPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().newPolicy, action.PolicyPackage);\r\n yield call(processPolicyResponse, action, res);\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* continuePolicySaga() {\r\n yield takeLatest(CONTINUE_POLICY, function* continuePolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().policy, action.PolicyPackage, \"Continue\");\r\n yield call(processPolicyResponse, action, res);\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* selectProductsSaga() {\r\n yield takeLatest(SELECT_PRODUCTS, function* selectProducts(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().policy, action.PolicyPackage, \"SelectProducts\");\r\n yield call(processPolicyResponse, action, res);\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* processPolicyResponse(action, res) {\r\n try {\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(initialized(action.viewmodel, json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n}\r\n\r\nfunction* initializeSaga() {\r\n yield takeLatest(INITIALIZE, function* loadPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getPolicy, action.policyid);\r\n const json = yield res.json();\r\n if (!json.success) {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n } else {\r\n yield put(initialized(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* searchProposerAddressSaga() {\r\n yield takeLatest(SEARCH_PROPOSER_ADDRESS, function* searchProposerAddress(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getMatchingAddresses, action.address);\r\n const json = yield res.json();\r\n if (res.ok && json.addresses.length > 0) {\r\n yield put(displayMatchAddresses(json.addresses));\r\n } else {\r\n yield put(displayMatchAddresses([]));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* classicRiskAddressSearch() {\r\n yield takeLatest(CLASSIC_RISK_ADDRESS_SEARCH, function* searchProposerAddress(action) {\r\n try {\r\n const res = yield call(getAPI().getMatchingAddresses, action.address);\r\n const json = yield res.json();\r\n if (json && json.length > 0) {\r\n yield put(classicMatchAddresses(action.index, json));\r\n } else {\r\n yield put(classicMatchAddresses(action.index, []));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* ccSuccessSaga() {\r\n yield takeLatest(CCSUCCESS, function* loadPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getPolicyForCreditCardResult, action.policyid, \"CCPaymentSuccess\");\r\n\r\n const json = yield res.json();\r\n if (!json.success) {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n } else {\r\n const resCC = yield call(getAPIDotnet().ccSuccessPolicy, json.PolicyPackage, action.result);\r\n\r\n const jsonCC = yield resCC.json();\r\n if (!jsonCC.success) {\r\n bugsnagClient.notify(new Error(typeof jsonCC.message !== \"undefined\" ? jsonCC.message : \"An error occurred\"));\r\n yield put(error(typeof jsonCC.message !== \"undefined\" ? jsonCC.message : \"An error occurred\"));\r\n } else {\r\n jsonCC.ui.activestep = \"Credit Card\";\r\n yield put(updated(action.viewmodel, jsonCC.PolicyPackage, jsonCC.ui));\r\n history.push(`/Dashboard/Policy/${jsonCC.PolicyPackage.id}/CC`);\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* ccFailSaga() {\r\n yield takeLatest(CCFAIL, function* loadPolicy(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().getPolicyForCreditCardResult, action.policyid, \"CCPaymentFail\");\r\n\r\n const json = yield res.json();\r\n if (!json.success) {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n } else {\r\n const resCC = yield call(getAPIDotnet().ccFailPolicy, json.PolicyPackage, action.result);\r\n\r\n const jsonCC = yield resCC.json();\r\n if (!jsonCC.success) {\r\n bugsnagClient.notify(new Error(typeof jsonCC.message !== \"undefined\" ? jsonCC.message : \"An error occurred\"));\r\n yield put(error(typeof jsonCC.message !== \"undefined\" ? jsonCC.message : \"An error occurred\"));\r\n } else {\r\n jsonCC.ui.activestep = \"Credit Card\";\r\n yield put(updated(action.viewmodel, jsonCC.PolicyPackage, jsonCC.ui));\r\n history.push(`/Dashboard/Policy/${jsonCC.PolicyPackage.id}/CC`);\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* validateSummarySaga() {\r\n yield takeLatest(SUMMARY_VALIDATE, function* savePolicy(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n const res = yield call(getAPIDotnet().validatePolicy, policy.PolicyPackage, policy.ui.activestep, \"ValidateSummary\");\r\n let json = yield res.json();\r\n yield put(wait());\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n yield put(updated(\"policy\", json.PolicyPackage, json.ui));\r\n }\r\n\r\n if (json.ui.activestep === \"next\") {\r\n //TODO CJ test this\r\n // move onto the next step, remember the current step might disapear in this update.\r\n json.ui.activestep = policy.ui.Steps[currentStepIndex(policy.ui.Steps, policy.ui.activestep)].name;\r\n json.ui.errostep = \"\";\r\n const focus = getFieldFocus(json.PolicyPackage, policy.ui, json.ui.activestep);\r\n if (typeof focus !== \"undefined\") {\r\n yield delay(FOCUS_DELAY); // or else the field doesn't exist\r\n yield put(actions.focus(focus));\r\n }\r\n }\r\n if (!policy.ui.confirmConfirm) {\r\n yield put(updated(\"policy\", json.PolicyPackage, json.ui));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(finished());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveSaga() {\r\n yield takeLatest(SAVE, function* savePolicy(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n const res = yield call(getAPIDotnet().putPolicy, policy.PolicyPackage, policy.ui.activestep);\r\n const json = yield res.json();\r\n yield put(finished());\r\n if (!json.success) {\r\n if (res.status === 422) {\r\n yield put(error(processErrors(json)));\r\n } else {\r\n bugsnagClient.notify(new Error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n yield put(error(typeof json.message !== \"undefined\" ? json.message : \"An error occurred\"));\r\n }\r\n } else {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n\r\n if (window.location.href.endsWith(\"/Dashboard/Policy/New\") || window.location.href.endsWith(\"/Dashboard/Policy/Continue\")) {\r\n history.replace(\"/Dashboard/Policy/\" + json.PolicyPackage.id);\r\n }\r\n\r\n let activestep = \"\";\r\n if (typeof json.ui.activestep === \"undefined\") {\r\n activestep = policy.ui.Steps[nextStepIndex(policy.ui.Steps, policy.ui.activestep)].name;\r\n yield put(nextStep());\r\n } else {\r\n activestep = json.ui.activestep;\r\n yield put(setStep(activestep));\r\n }\r\n\r\n const focus = getFieldFocus(json.PolicyPackage, policy.ui, activestep);\r\n if (typeof focus !== \"undefined\") {\r\n yield delay(FOCUS_DELAY); // or else the field doesn't exist\r\n yield put(actions.focus(focus));\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* updateSaga() {\r\n yield takeLatest(UPDATE, function* getUpdate(action) {\r\n try {\r\n yield put(policyUpdateStart());\r\n const policy = {\r\n ...store.getState().policy,\r\n PolicyPackage: {\r\n ...store.getState().policy.PolicyPackage,\r\n ...action.changes,\r\n },\r\n };\r\n const res = yield call(getAPIDotnet().updatePolicy, policy.PolicyPackage, policy.ui.activestep, action.policyAction);\r\n const json = yield res.json();\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n } finally {\r\n yield put(policyUpdateEnd());\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nfunction* updateProductsSaga() {\r\n yield takeLatest(UPDATE_PRODUCTS, function* updateProducts() {\r\n try {\r\n const policy = {\r\n ...store.getState().policy,\r\n PolicyPackage: {\r\n ...store.getState().policy.PolicyPackage,\r\n },\r\n };\r\n const res = yield call(getAPIDotnet().updatePolicy, policy.PolicyPackage, policy.ui.activestep, \"UpdateProducts\");\r\n const json = yield res.json();\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else {\r\n yield put(updated(\"policy\", json.PolicyPackage, json.ui));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n yield put(uiblockend());\r\n });\r\n}\r\n\r\nfunction* caculateRIPremium() {\r\n yield takeLatest(CALCULATE_RI_PREMIUM, function* getUpdate(action) {\r\n try {\r\n const policy = {\r\n ...store.getState().policy,\r\n PolicyPackage: {\r\n ...store.getState().policy.PolicyPackage,\r\n ...action.changes,\r\n },\r\n };\r\n\r\n const res = yield call(getAPI().calculateRIPremium, action.vehicleID, policy.PolicyPackage, policy.ui.activestep);\r\n const json = yield res.json();\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* optionUpdateSaga() {\r\n yield takeLatest(OPTION_UPDATE, function* getUpdate(action) {\r\n try {\r\n const policy = {\r\n ...store.getState().policy,\r\n PolicyPackage: {\r\n ...store.getState().policy.PolicyPackage,\r\n ...action.changes,\r\n },\r\n };\r\n\r\n const res = yield call(getAPIDotnet().optionUpdatePolicy, policy.PolicyPackage, policy.ui.activestep);\r\n const json = yield res.json();\r\n\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* premiumModeUpdateSaga() {\r\n yield takeLatest(PREMIUM_MODE_UPDATE, function* getUpdate(action) {\r\n try {\r\n const policy = {\r\n ...store.getState().policy,\r\n PolicyPackage: {\r\n ...store.getState().policy.PolicyPackage,\r\n ...action.changes,\r\n },\r\n };\r\n\r\n const res = yield call(getAPIDotnet().premiumModeUpdate, policy.PolicyPackage, policy.ui.activestep);\r\n const json = yield res.json();\r\n\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nconst processErrors = (Errors) => {\r\n let message = \"\";\r\n for (let i = 0; i < Errors.length; i++) {\r\n message += Errors[i].message;\r\n if (i < Errors.length - 1) {\r\n message += \";\";\r\n }\r\n }\r\n return message;\r\n};\r\n\r\nfunction* validateSaga() {\r\n yield takeLatest(VALIDATE, function* getValidate(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().validatePolicy, policy.PolicyPackage, policy.ui.activestep);\r\n let json = yield res.json();\r\n\r\n yield put(wait());\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } else {\r\n if (policy.ui.confirmConfirm) {\r\n yield put(validateFinished());\r\n yield put(confirmRequest());\r\n yield put(actions.submit(\"policy\"));\r\n }\r\n\r\n if (policy.ui.disclosureConfirm) {\r\n yield put(validateFinished());\r\n yield put(disclosureConfirmRequest());\r\n yield put(actions.submit(\"policy\"));\r\n }\r\n }\r\n\r\n if (json.ui.activestep === \"next\") {\r\n // move onto the next step, remember the current step might disapear in this update.\r\n json.ui.activestep = policy.ui.Steps[currentStepIndex(policy.ui.Steps, policy.ui.activestep) + 1].name;\r\n json.ui.errostep = \"\";\r\n const focus = getFieldFocus(json.PolicyPackage, policy.ui, json.ui.activestep);\r\n if (typeof focus !== \"undefined\") {\r\n yield delay(FOCUS_DELAY); // or else the field doesn't exist\r\n yield put(actions.focus(focus));\r\n }\r\n }\r\n if (!policy.ui.confirmConfirm) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n } else if (res.status === 422) {\r\n yield put(error(processErrors(json)));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(finished());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* selectSaga() {\r\n yield takeLatest(SELECT, function* getSelect(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().selectPolicy, policy.PolicyPackage, policy.ui.activestep);\r\n const json = yield res.json();\r\n yield put(finished());\r\n\r\n if (json.success) {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n let message = \"\";\r\n for (let i = 0; i < json.ui.Errors.length; i++) {\r\n message += json.ui.Errors[i].message;\r\n if (i < json.ui.Errors.length - 1) {\r\n message += \", \";\r\n }\r\n }\r\n yield put(error(message));\r\n }\r\n if (json.ui.activestep === \"next\") {\r\n // move onto the next step, remember the current step might disappear in this update.\r\n const icurrent = currentStepIndex(json.ui.Steps, policy.ui.activestep);\r\n\r\n json.ui.activestep = json.ui.Steps[icurrent + 1].name;\r\n\r\n const focus = getFieldFocus(json.PolicyPackage, policy.ui, json.ui.activestep);\r\n\r\n if (typeof focus !== \"undefined\") {\r\n yield delay(FOCUS_DELAY); // or else the field doesn't exist\r\n yield put(actions.focus(focus));\r\n }\r\n }\r\n\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* overrideSaga() {\r\n yield takeLatest(OVERRIDE, function* getUpdate(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().overridePolicy, policy.PolicyPackage, policy.ui.activestep);\r\n const json = yield res.json();\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* requestDiscOverride() {\r\n yield takeLatest(REQUEST_DISCLOSURE_OVERRIDE, function* getUpdate(action) {\r\n try {\r\n yield put(updateDisclosureReason(action.discreqoverride.reason));\r\n const res = yield call(getAPIDotnet().submitDisclosureOverrideRequest, action.discreqoverride);\r\n\r\n yield put(submitted());\r\n yield put(discOverride());\r\n yield put(finishedDiscWait());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* discOverrideSaga() {\r\n yield takeLatest(DISC_OVERRIDE, function* getUpdate(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().discOverride, policy.PolicyPackage, policy.ui.activestep);\r\n const json = yield res.json();\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* addVehicleSaga() {\r\n yield takeLatest(ADD_VEHICLE, function* getAddVehicle(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().addVehicle, policy.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(setActiveVehicle(json.PolicyPackage.PolicyVehicles.length - 1));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* addDriverSaga() {\r\n yield takeLatest(ADD_DRIVER, function* getAddDriver(action) {\r\n try {\r\n yield put(uiload());\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().addDriver, policy.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(\r\n setActiveDriver(\r\n typeof json.PolicyPackage.MotorVehicleInsurancePolicy !== \"undefined\"\r\n ? json.PolicyPackage.MotorVehicleInsurancePolicy.Drivers.length - 1\r\n : json.PolicyPackage.ProtectaClassicInsurancePolicy.Drivers.length - 1\r\n )\r\n );\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(uifinished());\r\n window.scrollTo(200, 0);\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* addRiderSaga() {\r\n yield takeLatest(ADD_RIDER, function* getAddRider(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().addRider, policy.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(setActiveRider(json.PolicyPackage.MotorCycleInsurancePolicy.Riders.length - 1));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* addCycleSaga() {\r\n yield takeLatest(ADD_CYCLE, function* getAddCycle(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().addCycle, policy.PolicyPackage);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(setActiveCycle(json.PolicyPackage.PolicyMotorCycles.length - 1));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* removeDriverSaga() {\r\n yield takeLatest(REMOVE_DRIVER, function* getRemoveDriver(action) {\r\n try {\r\n yield put(uiload());\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().removeDriver, policy.PolicyPackage, action.id);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n\r\n yield put(setActiveDriver(0));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(uifinished());\r\n window.scrollTo(200, 0);\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* removeRiderSaga() {\r\n yield takeLatest(REMOVE_RIDER, function* getRemoveRider(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().removeRider, policy.PolicyPackage, action.id);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(setActiveRider(json.PolicyPackage.MotorCycleInsurancePolicy.Riders.length - 1));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* removeCycleSaga() {\r\n yield takeLatest(REMOVE_CYCLE, function* getRemoveCycle(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().removeCycle, policy.PolicyPackage, action.id);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* removeVehicleSaga() {\r\n yield takeLatest(REMOVE_VEHICLE, function* getRemoveVehicle(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().removeVehicle, policy.PolicyPackage, action.id);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* creditCardPaymentSaga() {\r\n yield takeLatest(CREDITCARD_PAYMENT, function* creditCardPayment(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPI().creditCardPayment, policy.PolicyPackage);\r\n const json = yield res.json();\r\n yield put(ccFinished());\r\n\r\n if (json.success) {\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveAndExitSaga() {\r\n yield takeLatest(SAVE_AND_EXIT, function* getSaveAndExit(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n const res = yield call(getAPIDotnet().putPolicy, policy.PolicyPackage, policy.ui.activestep);\r\n let json = yield res.json();\r\n\r\n if (json.success) {\r\n yield put(saveFinished());\r\n yield put(actions.resetValidity(\"MBIQuickQuote\"));\r\n yield put(actions.resetValidity(\"MVIQuickQuote\"));\r\n history.push(\"/Dashboard\");\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* saveAsQuoteSaga() {\r\n yield takeLatest(SAVE_AS_QUOTE, function* getSaveAsQuote(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n const res = yield call(getAPIDotnet().saveAsQuote, policy.PolicyPackage, policy.ui.activestep);\r\n\r\n let json = yield res.json();\r\n yield put(saveFinished());\r\n yield put(actions.resetValidity(\"MBIQuickQuote\"));\r\n yield put(actions.resetValidity(\"MVIQuickQuote\"));\r\n if (typeof json.ui !== \"undefined\") {\r\n if (typeof json.ui.Errors !== \"undefined\") {\r\n yield put(error(processErrors(json.ui.Errors)));\r\n } else if (json.PolicyPackage.status === \"Referred\") {\r\n history.push(\"/Dashboard\");\r\n } else {\r\n if (typeof json.url !== \"undefined\") {\r\n history.push(json.url);\r\n } else {\r\n json.ui.activestep = \"Certificate\";\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n }\r\n } else {\r\n if (typeof json.url !== \"undefined\") {\r\n history.push(json.url);\r\n } else {\r\n json.ui.activestep = \"Certificate\";\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n }\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* confirmPolicySaga() {\r\n yield takeLatest(CONFIRM_POLICY, function* getConfirmPolicy(action) {\r\n try {\r\n yield put(uiload());\r\n const policy = store.getState().policy;\r\n\r\n // const proposer= policy.Proposer\r\n // const type = policy.type;\r\n // let d = new Date(proposer.dateofbirth);\r\n // let year=d.getFullYear();\r\n // let today = new Date();\r\n // let age=today.getFullYear()-year;\r\n // let bool =(age>=15&&age<=100);\r\n\r\n // if (type==='Individual'){\r\n // if(proposer.givenname===\"\"||proposer.givenname===\"\"||proposer.address1===\"\"||proposer.address2===\"\"){\r\n // yield put(error('Please fill the mandatory fields'))\r\n // }else if(!bool){\r\n // yield put(error('Please correct the birthdate, age limit is 15-100'))\r\n // }else{\r\n\r\n // }\r\n // }\r\n\r\n const res = yield call(getAPIDotnet().confirmPolicy, policy.PolicyPackage, policy.ui.activestep);\r\n let json = yield res.json();\r\n\r\n if (json.success) {\r\n yield put(confirmFinished());\r\n\r\n json.ui.activestep = \"Certificate\";\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(uifinished());\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n yield put(finished());\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* sendDisclosureSaga() {\r\n yield takeLatest(SEND_DISCLOSURE, function* sendDisclosureSaga(action) {\r\n try {\r\n yield put(uiload());\r\n const policy = store.getState().policy;\r\n\r\n const res = yield call(getAPIDotnet().sendDisclosure, policy.PolicyPackage, policy.ui.activestep);\r\n let json = yield res.json();\r\n\r\n if (json.success) {\r\n yield put(confirmFinished());\r\n\r\n json.ui.activestep = \"Certificate\";\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n yield put(uifinished());\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n yield put(uifinished());\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nfunction* emailPolicySaga() {\r\n yield takeLatest(EMAIL_POLICY, function* getEmailPolicy() {\r\n try {\r\n const policy = store.getState().policy;\r\n yield put(wait());\r\n const res = yield call(getAPIDotnet().emailPolicy, policy.PolicyPackage.id);\r\n\r\n if (res.ok) {\r\n let json = yield res.json();\r\n if (json.error) {\r\n yield put(error(json.error));\r\n bugsnagClient.notify(new Error(json.error));\r\n } else {\r\n yield put(information(\"An email has been sent to the customer and the dealer\", \"Success\"));\r\n }\r\n } else {\r\n yield put(error(\"Something went wrong.\"));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n } finally {\r\n yield put(finished());\r\n }\r\n });\r\n}\r\n\r\nfunction* cancelPolicySaga() {\r\n yield takeLatest(CANCEL_POLICY, function* getCancelPolicy(action) {\r\n try {\r\n const policy = store.getState().policy;\r\n yield put(wait());\r\n const res = yield call(getAPI().cancelPolicy, policy.PolicyPackage, policy.ui.activestep);\r\n let json = yield res.json();\r\n\r\n if (json.success) {\r\n yield put(success(\"Policy Cancelled Successfully\"));\r\n yield put(updated(action.viewmodel, json.PolicyPackage, json.ui));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n yield put(finished());\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n newPolicySaga(),\r\n continuePolicySaga(),\r\n selectProductsSaga(),\r\n initializeSaga(),\r\n saveSaga(),\r\n updateSaga(),\r\n updateProductsSaga(),\r\n validateSaga(),\r\n selectSaga(),\r\n addDriverSaga(),\r\n addRiderSaga(),\r\n addVehicleSaga(),\r\n addCycleSaga(),\r\n removeDriverSaga(),\r\n removeRiderSaga(),\r\n removeCycleSaga(),\r\n removeVehicleSaga(),\r\n creditCardPaymentSaga(),\r\n saveAndExitSaga(),\r\n validateSummarySaga(),\r\n saveAsQuoteSaga(),\r\n optionUpdateSaga(),\r\n confirmPolicySaga(),\r\n overrideSaga(),\r\n discOverrideSaga(),\r\n emailPolicySaga(),\r\n premiumModeUpdateSaga(),\r\n ccSuccessSaga(),\r\n ccFailSaga(),\r\n cancelPolicySaga(),\r\n searchProposerAddressSaga(),\r\n classicRiskAddressSearch(),\r\n caculateRIPremium(),\r\n requestDiscOverride(),\r\n sendDisclosureSaga(),\r\n disclosureListSaga(),\r\n disclosurePendingListSaga(),\r\n ]);\r\n}\r\n\r\n// ajk - ugly as hell, but I can't see any better way\r\nfunction getFieldFocus(PolicyPackage, ui, activestep) {\r\n if (typeof PolicyPackage.MotorVehicleInsurancePolicy !== \"undefined\") {\r\n if (activestep === \"General Questions\") return \"policy.PolicyPackage.MotorVehicleInsurancePolicy.notoall\";\r\n\r\n if (activestep === \"Drivers\") return \"policy.PolicyPackage.MotorVehicleInsurancePolicy.Drivers[\" + ui.activedriver + \"].title\";\r\n }\r\n\r\n if (typeof PolicyPackage.MotorCycleInsurancePolicy !== \"undefined\") {\r\n if (activestep === \"General Questions\") return \"policy.PolicyPackage.MotorCycleInsurancePolicy.notoall\";\r\n\r\n if (activestep === \"Riders\") {\r\n return \"PolicyPackage.MotorCycleInsurancePolicy.Riders[\" + ui.activerider + \"].title\";\r\n }\r\n if (activestep !== \"Products\" && activestep !== \"General Questions\" && activestep !== \"Privacy Act\") {\r\n PolicyPackage.MotorCycleInsurancePolicy.theftexcessoverride =\r\n PolicyPackage.MotorCycleInsurancePolicy.theftexcessoverride == null || PolicyPackage.MotorCycleInsurancePolicy.theftexcessoverride == 0\r\n ? ui.Cycles[0].ExcessInfo.Excess5\r\n : PolicyPackage.MotorCycleInsurancePolicy.theftexcessoverride;\r\n }\r\n }\r\n\r\n if (typeof PolicyPackage.ProtectaClassicInsurancePolicy !== \"undefined\") {\r\n if (activestep === \"General Questions\") return \"policy.PolicyPackage.ProtectaClassicInsurancePolicy.notoall\";\r\n\r\n if (activestep === \"Drivers\") {\r\n return \"policy.PolicyPackage.ProtectaClassicInsurancePolicy.Drivers[\" + ui.activedriver + \"].title\";\r\n }\r\n }\r\n\r\n if (typeof PolicyPackage.PolicyVehicles !== \"undefined\") {\r\n if (activestep === \"Vehicle\" || activestep === \"Vehicles\") {\r\n return \"policy.PolicyPackage.PolicyVehicles[\" + ui.activevehicle + \"].RegistrationNumber\";\r\n }\r\n }\r\n\r\n if (typeof PolicyPackage.PolicyMotorCycles !== \"undefined\") {\r\n if (activestep === \"Cycles\") {\r\n return \"policy.PolicyPackage.PolicyMotorCycles[\" + ui.activecycle + \"].regostatus\";\r\n }\r\n }\r\n\r\n if (typeof PolicyPackage.MotorVehicleInsurancePolicy !== \"undefined\") {\r\n if (activestep === \"Cover Options\") return \"policy.PolicyPackage.MotorVehicleInsurancePolicy.PolicyOption\";\r\n }\r\n\r\n if (typeof PolicyPackage.MotorCycleInsurancePolicy !== \"undefined\") {\r\n if (activestep === \"Cover Options\") return \"policy.PolicyPackage.MotorCycleInsurancePolicy.PolicyOption\";\r\n }\r\n\r\n if (typeof PolicyPackage.ProtectaClassicInsurancePolicy !== \"undefined\") {\r\n if (activestep === \"Cover Options\") return \"policy.PolicyPackage.ProtectaClassicInsurancePolicy.PolicyOption\";\r\n }\r\n\r\n if (typeof PolicyPackage.MotorVehicleBreakdownPolicy !== \"undefined\") {\r\n if (activestep === \"MBI Options\") return \"policy.PolicyPackage.MotorVehicleBreakdownPolicy.RequiredExcess\";\r\n }\r\n\r\n if (typeof PolicyPackage.PaymentProtectionPolicy !== \"undefined\") {\r\n if (activestep === \"Credit Contract Details\") return \"policy.PolicyPackage.PaymentProtectionPolicy.idFinanceCompany\";\r\n if (activestep === \"Person Insured\") return \"policy.PolicyPackage.PersonInsured.title\";\r\n }\r\n\r\n if (typeof PolicyPackage.GuaranteedAssetProtectionPolicy !== \"undefined\") {\r\n if (activestep === \"Credit Contract Details\") return \"policy.PolicyPackage.PaymentProtectionPolicy.idFinanceCompany\";\r\n }\r\n\r\n if (activestep === \"Summary\") return \"policy.PolicyPackage.comments\";\r\n\r\n if (typeof PolicyPackage.Proposer !== \"undefined\") {\r\n if (activestep === \"Proposer\") return \"policy.PolicyPackage.type\";\r\n }\r\n\r\n if (typeof PolicyPackage.DirectDebit !== \"undefined\") {\r\n if (activestep === \"DirectDebit\") return \"policy.PolicyPackage.DirectDebit.daypreferred\";\r\n }\r\n\r\n if (typeof PolicyPackage.CreditCardDetails !== \"undefined\") {\r\n if (activestep === \"CreditCard\") return \"policy.PolicyPackage.CreditCardDetails.type\";\r\n }\r\n}\r\n\r\nfunction delay(millis) {\r\n const promise = new Promise((resolve) => {\r\n setTimeout(() => resolve(true), millis);\r\n });\r\n return promise;\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n LOADPAGE,\r\n pageLoaded,\r\n\r\n YES,\r\n updated\r\n\r\n} from './actions'\r\n\r\nfunction * loadPageSaga () {\r\n yield takeLatest(LOADPAGE, function * loadPage (action) {\r\n try {\r\n const res = yield call(getAPI().getELogMonths, action.listType)\r\n const json = yield res.json()\r\n if (json.success === 'false') {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n } else {\r\n yield put(pageLoaded(action.listType, json))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nfunction doUpdate (month) {\r\n if (month.status === 'Open') {\r\n return getAPI().closeELogMonth(month.id)\r\n } else {\r\n return getAPI().openELogMonth(month.id)\r\n }\r\n}\r\n\r\nfunction * updateMonthSaga () {\r\n yield takeLatest(YES, function * updateMonth (action) {\r\n try {\r\n const res = yield call(doUpdate, action.month)\r\n const json = yield res.json()\r\n yield put(updated(json))\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n loadPageSaga(),\r\n updateMonthSaga()\r\n ])\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n INITIALIZE,\r\n initialized\r\n} from './actions'\r\n\r\nfunction * loadMonthSaga () {\r\n yield takeLatest(INITIALIZE, function * doInitialize (action) {\r\n try {\r\n const res = yield call(getAPI().getELogMonth, action.monthid)\r\n const json = yield res.json()\r\n if (typeof json.id !== 'undefined') {\r\n yield put(initialized(json))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n loadMonthSaga()\r\n ])\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n INITIALIZE,\r\n initialized,\r\n SAVE\r\n} from './actions'\r\n\r\nimport {\r\n initialized as monthInitialized\r\n} from '../month/actions'\r\n\r\nfunction * loadSalesLogSaga () {\r\n yield takeLatest(INITIALIZE, function * doInitialize (action) {\r\n try {\r\n const res = yield call(getAPI().getSalesLog, action.monthid, action.saleslogid)\r\n const json = yield res.json()\r\n if (json.success) {\r\n yield put(initialized(json.saleslog, json.ui))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nfunction * saveSalesLogSaga () {\r\n yield takeLatest(SAVE, function * doSave (action) {\r\n try {\r\n const res = yield call(getAPI().saveSalesLog, action.saleslog)\r\n const json = yield res.json()\r\n if (json.success) {\r\n yield put(monthInitialized(json))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n loadSalesLogSaga(),\r\n saveSalesLogSaga()\r\n ])\r\n}\r\n","import {\r\n call,\r\n cancel,\r\n fork,\r\n put,\r\n take,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n START,\r\n setUsers,\r\n STOP\r\n} from './actions'\r\n\r\nexport function * activeUsersSaga () {\r\n yield takeLatest(START, function * initialize (action) {\r\n const watcherInstance = yield fork(updateResource)\r\n yield take(STOP)\r\n yield cancel(watcherInstance)\r\n })\r\n}\r\n\r\nfunction * updateResource () {\r\n yield call(pollAPI)\r\n}\r\n\r\nfunction * pollAPI () {\r\n while (true) {\r\n try {\r\n const res = yield call(getAPI().getActiveUsers)\r\n const json = yield res.json()\r\n yield put(setUsers(json))\r\n } catch (e) {\r\n // ajk - ignore errors delibearately\r\n }\r\n yield call(delay, 1000)\r\n }\r\n}\r\n\r\nfunction delay (millis) {\r\n const promise = new Promise(resolve => {\r\n setTimeout(() => resolve(true), millis)\r\n })\r\n return promise\r\n}\r\n\r\nexport default activeUsersSaga\r\n","import { call, cancel, fork, put, take, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport getAPI from \"../../api\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nimport { START, setWSLogs, STOP } from \"./actions\";\r\n\r\nexport function* recentWSLogsSaga() {\r\n yield takeLatest(START, function* initialize(action) {\r\n const watcherInstance = yield fork(updateResource);\r\n yield take(STOP);\r\n yield cancel(watcherInstance);\r\n });\r\n}\r\n\r\nfunction* updateResource() {\r\n yield call(pollAPI);\r\n}\r\n\r\nfunction* pollAPI() {\r\n while (true) {\r\n try {\r\n const res = yield call(getAPIDotnet().getRecentWSLogs);\r\n const json = yield res.json();\r\n yield put(setWSLogs(json));\r\n } catch (e) {\r\n // ajk - ignore errors delibearately\r\n }\r\n yield call(delay, 30000);\r\n }\r\n}\r\n\r\nfunction delay(millis) {\r\n const promise = new Promise((resolve) => {\r\n setTimeout(() => resolve(true), millis);\r\n });\r\n return promise;\r\n}\r\n\r\nexport default recentWSLogsSaga;\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport { REEXECUTE, finished } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* executeSaga() {\r\n yield takeLatest(REEXECUTE, function* execute(action) {\r\n try {\r\n const res = yield call(getAPIDotnet().executeWSLog, action.document);\r\n const json = yield res.json();\r\n if (json.success) {\r\n yield put(finished(json.result));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([executeSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport getAPI from \"../../api\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport store from \"../../store\";\r\n\r\nimport { LOADPAGE, pageLoaded } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const wslogList = store.getState().wslogList;\r\n\r\n const res = yield call(getAPIDotnet().getWSLogs, wslogList.activePage, wslogList.search, wslogList.datefrom, wslogList.dateto, wslogList.reqtype);\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(pageLoaded(wslogList.activePage, wslogList.search, wslogList.datefrom, wslogList.dateto, wslogList.reqtype, json.recordsTotal, json.data));\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga()]);\r\n}\r\n","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\n\r\nimport { bugsnagClient } from \"../../bugsnagClient\";\r\n\r\nimport { error } from \"../../actions\";\r\n\r\nimport store from \"../../store\";\r\n\r\nimport { LOADPAGE, pageLoaded } from \"./actions\";\r\nimport getAPIDotnet from \"../../apiDotnet\";\r\n\r\nfunction* loadPageSaga() {\r\n yield takeLatest(LOADPAGE, function* loadPage(action) {\r\n try {\r\n const fnlist = store.getState().fnlist;\r\n\r\n const res = yield call(\r\n getAPIDotnet().getFNPolicyList,\r\n fnlist.activePage,\r\n fnlist.search,\r\n fnlist.searchtype\r\n );\r\n const json = yield res.json();\r\n if (typeof json.data !== \"undefined\") {\r\n yield put(\r\n pageLoaded(\r\n fnlist.activePage,\r\n fnlist.search,\r\n fnlist.searchtype,\r\n json.recordsTotal,\r\n json.data\r\n )\r\n );\r\n } else {\r\n bugsnagClient.notify(new Error(json.message));\r\n yield put(error(json.message));\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e);\r\n yield put(error(e));\r\n }\r\n });\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([loadPageSaga()]);\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\nimport history from '../../history'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n LOAD,\r\n loaded,\r\n SAVE\r\n} from './actions'\r\n\r\nfunction * fcLoadSaga () {\r\n yield takeLatest(LOAD, function * login (action) {\r\n try {\r\n const res = yield call(getAPI().getFinanceCompany, action.id)\r\n const json = yield res.json()\r\n if (json.FinanceCompany) {\r\n yield put(loaded(json.FinanceCompany, json.ui))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n history.goBack()\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nfunction * fcSaveSaga () {\r\n yield takeLatest(SAVE, function * save (action) {\r\n try {\r\n const res = yield call(getAPI().saveFinanceCompany, action.financecompany)\r\n const json = yield res.json()\r\n if (json.success) {\r\n history.goBack()\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n fcLoadSaga(),\r\n fcSaveSaga()\r\n ])\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport store from '../../store'\r\n\r\nimport {\r\n LOADPAGE,\r\n pageLoaded\r\n} from './actions'\r\n\r\nfunction * loadPageSaga () {\r\n yield takeLatest(LOADPAGE, function * loadPage (action) {\r\n try {\r\n const financecompanyList = store.getState().financecompanyList\r\n\r\n const res = yield call(getAPI().getFinanceCompanies, financecompanyList.activePage, financecompanyList.search)\r\n const json = yield res.json()\r\n if (json.data) {\r\n yield put(pageLoaded(financecompanyList.activePage, financecompanyList.search, json.recordsTotal, json.data))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n loadPageSaga()\r\n ])\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n LOADPAGE,\r\n pageLoaded\r\n} from './actions'\r\n\r\nfunction * loadPageSaga () {\r\n yield takeLatest(LOADPAGE, function * loadPage (action) {\r\n try {\r\n const res = yield call(getAPI().getClaims, action.page, action.search)\r\n const json = yield res.json()\r\n if (typeof json.data !== 'undefined') {\r\n yield put(pageLoaded(action.page, action.search, json.recordsTotal, json.data))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n loadPageSaga()\r\n ])\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport { actions } from 'react-redux-form'\r\n\r\nimport { bugsnagClient } from '../../bugsnagClient'\r\n\r\nimport getAPI from '../../api'\r\nimport history from '../../history'\r\n\r\nimport {\r\n error\r\n} from '../../actions'\r\n\r\nimport {\r\n LOAD,\r\n loaded,\r\n SAVE,\r\n PROPOSERLOOKUP,\r\n unwait\r\n} from './actions'\r\n\r\nfunction * LoadSaga () {\r\n yield takeLatest(LOAD, function * login (action) {\r\n try {\r\n const res = yield call(getAPI().getClaim, action.id)\r\n const json = yield res.json()\r\n if (json.Claim) {\r\n yield put(loaded(json.Claim, json.ui))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n history.goBack()\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nfunction * SaveSaga () {\r\n yield takeLatest(SAVE, function * save (action) {\r\n try {\r\n const res = yield call(getAPI().saveClaim, action.claim)\r\n const json = yield res.json()\r\n if (json.success) {\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nfunction * LookupSaga () {\r\n yield takeLatest(PROPOSERLOOKUP, function * lookup (action) {\r\n try {\r\n const res = yield call(getAPI().lookupClaim, action.claim)\r\n const json = yield res.json()\r\n\r\n if (json.success) {\r\n let claim = json.Claim\r\n let data = {\r\n ...action.claim.data\r\n }\r\n const policypackage = json.PolicyPackage\r\n\r\n const ui = {\r\n GAP: policypackage.GAPOption !== '',\r\n MBI: policypackage.MBIOption !== '',\r\n MCI: policypackage.MCIOption !== '',\r\n MVI: policypackage.MVIOption !== '',\r\n PCI: policypackage.PCIOption !== '',\r\n PPP: policypackage.PPPOption !== ''\r\n }\r\n\r\n if (policypackage.Proposer) {\r\n const Proposer = policypackage.Proposer\r\n data.firstname = Proposer.givenname\r\n data.surname = Proposer.surname\r\n data.dob = Proposer.dateofbirth\r\n data.address = Proposer.addressstr\r\n data.postcode = Proposer.postcode\r\n data.homephone = Proposer.homephone\r\n data.workphone = Proposer.workphone\r\n data.mobilephone = Proposer.mobilephone\r\n data.email = Proposer.email\r\n }\r\n\r\n if (policypackage.GuaranteedAssetProtectionPolicy) {\r\n const vehicle = policypackage.PolicyVehicles[0]\r\n data.GAP = {\r\n policynumber: policypackage.policynumber,\r\n make: vehicle.Make,\r\n model: vehicle.Model,\r\n rego: vehicle.RegistrationNumber,\r\n year: vehicle.YearOfManufacture\r\n }\r\n }\r\n\r\n claim.data = data\r\n yield put(loaded(claim, ui))\r\n yield put(actions.resetValidity('claimEdit'))\r\n } else {\r\n yield put(unwait())\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n LoadSaga(),\r\n SaveSaga(),\r\n LookupSaga()\r\n ])\r\n}\r\n","import {\r\n all,\r\n call,\r\n put,\r\n takeLatest\r\n} from 'redux-saga/effects'\r\n\r\nimport {\r\n error\r\n} from '../actions.js'\r\n\r\nimport { bugsnagClient } from '../bugsnagClient'\r\n\r\nimport getAPI from '../api'\r\n\r\nimport {\r\n FETCH_AGENTS,\r\n agentsFetched\r\n} from './actions'\r\n\r\nexport function * fetchAgentsSaga () {\r\n yield takeLatest(FETCH_AGENTS, function * fetchAgents (action) {\r\n try {\r\n const filters = {\r\n ...action.filters,\r\n page: action.page\r\n }\r\n const res = yield call(getAPI().getAgents, filters)\r\n const json = yield res.json()\r\n\r\n if (json.success) {\r\n yield put(agentsFetched(action.page, json.agents, json.recordsTotal))\r\n } else {\r\n bugsnagClient.notify(new Error(json.message))\r\n yield put(error(json.message))\r\n }\r\n } catch (e) {\r\n bugsnagClient.notify(e)\r\n yield put(error(e))\r\n }\r\n })\r\n}\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n fetchAgentsSaga()\r\n ])\r\n}\r\n","import { createStore, combineReducers, applyMiddleware, compose } from \"redux\";\r\n\r\nimport createSagaMiddleware from \"redux-saga\";\r\n\r\nimport thunk from \"redux-thunk\";\r\n\r\nimport { createForms } from \"react-redux-form\";\r\n\r\nimport * as Settings from \"./settings\";\r\n\r\nimport { application } from \"./reducer\";\r\nimport { login } from \"./auth/login/reducer\";\r\nimport { auth } from \"./auth/reducer\";\r\nimport { dashboard } from \"./dashboard/reducer\";\r\n\r\nimport { dealershipList } from \"./dashboard/dealership/list/components/reducer\";\r\nimport { userList } from \"./dashboard/user/list/components/reducer\";\r\nimport { vehicleConfigList } from \"./dashboard/vehicleconfigs/list/components/reducer\";\r\nimport { manualList } from \"./policy/components/disclosure/list/components/reducer\";\r\nimport { pendingList } from \"./policy/components/disclosure/pending/components/reducer\";\r\nimport { notificationList } from \"./dashboard/notifications/list/components/reducer\";\r\nimport { dealershipRole } from \"./dashboard/user/roles/reducer\";\r\nimport { config } from \"./dashboard/config/reducer\";\r\nimport { user } from \"./dashboard/user/edit/reducer\";\r\nimport { vehiclematch } from \"./dashboard/vehicleconfigs/edit/reducer\";\r\n\r\nimport { notification } from \"./dashboard/notifications/edit/reducer\";\r\nimport { usernotification } from \"./dashboard/usernotifications/reducer\";\r\nimport { userblock } from \"./dashboard/user/userblock/reducer\";\r\nimport { discoverridereq } from \"./policy/components/disclosure/reducer\";\r\nimport { dealershipConfigList } from \"./dashboard/dealership/list/configs/components/reducer\";\r\nimport { dealership } from \"./dashboard/dealership/edit/reducer\";\r\nimport { dealershipLogin } from \"./dashboard/dealership/login/reducer\";\r\nimport { dealershipRates } from \"./dashboard/dealership/rates/reducer\";\r\n\r\nimport { myDealers } from \"./dashboard/mydealers/reducer\";\r\nimport { bdmlist } from \"./dashboard/bdmdealers/reducer\";\r\nimport { MVIQuickQuote } from \"./dashboard/mviquickquote/reducer\";\r\nimport { MCIQuickQuote } from \"./dashboard/mciquickquote/reducer\";\r\nimport { PCIQuickQuote } from \"./dashboard/pciquickquote/reducer\";\r\nimport { MBIQuickQuote } from \"./dashboard/mbiquickquote/reducer\";\r\n\r\nimport { Export } from \"./dashboard/exports/components/reducer\";\r\n\r\nimport { requestPolicyModification } from \"./policyactions/requestmodification/reducer\";\r\nimport { requestPolicyRegoModification } from \"./policyactions/requestregomodification/reducer\";\r\nimport { modifyPolicy } from \"./policyactions/modifypolicy/reducer\";\r\nimport { copyPolicy } from \"./policyactions/copypolicy/reducer\";\r\nimport { copyDealership } from \"./dashboard/dealership/copydealership/reducer\";\r\nimport { archivePolicy } from \"./policyactions/archive/reducer\";\r\nimport { Cancellation } from \"./policyactions/cancellation/reducer\";\r\nimport { ErrorReport } from \"./policyactions/errorreport/reducer\";\r\nimport { Wording } from \"./policyactions/wording/reducer\";\r\n\r\nimport { policyList } from \"./policylists/components/reducer\";\r\nimport { mbigList } from \"./policylists/mbid/reducer\";\r\nimport { policy } from \"./policy/reducer\";\r\n\r\nimport { monthList } from \"./elog/components/reducer\";\r\nimport { Month } from \"./elog/month/reducer\";\r\nimport { SalesLog } from \"./elog/saleslog/reducer\";\r\n\r\nimport { activeUsers } from \"./developer/activeusers/reducer\";\r\nimport { recentWSLogs } from \"./developer/recentwslogs/reducer\";\r\n\r\nimport { wslogList } from \"./webservices/list/reducer\";\r\nimport { wsExecute } from \"./webservices/execute/reducer\";\r\n\r\nimport { financecompanyList } from \"./financecompanies/list/reducer\";\r\nimport { financecompanyEdit } from \"./financecompanies/edit/reducer\";\r\nimport { fnlist } from \"./webservices/fnlist/reducer\";\r\nimport { claimEdit } from \"./claims/makeaclaim/reducer\";\r\nimport { claimList } from \"./claims/list/reducer\";\r\n\r\nimport { agentLocator } from \"./agentlocator/reducer\";\r\n\r\nimport applicationSagas from \"./sagas\";\r\nimport authSagas from \"./auth/sagas\";\r\nimport dashboardSagas from \"./dashboard/sagas\";\r\nimport regoSagas from \"./components/regomakemodel/sagas\";\r\nimport policyListsSagas from \"./policylists/components/sagas\";\r\nimport mbidListsSagas from \"./policylists/mbid/sagas\";\r\nimport policyactionsSagas from \"./policyactions/sagas\";\r\nimport policySagas from \"./policy/sagas\";\r\nimport elogSagas from \"./elog/sagas\";\r\nimport developerSagas from \"./developer/sagas\";\r\nimport wslogSagas from \"./webservices/sagas\";\r\nimport financecompanySagas from \"./financecompanies/sagas\";\r\nimport claimsSagas from \"./claims/sagas\";\r\nimport agentLocatorSagas from \"./agentlocator/sagas\";\r\n\r\nimport { createLogger } from \"redux-logger\";\r\nconst logger = createLogger({\r\n predicate: (getState, action) => {\r\n const log = getState().application.log;\r\n if (action.type && action.type.startsWith(\"rrf\")) {\r\n return log.rrf;\r\n }\r\n return log.app;\r\n },\r\n collapsed: true,\r\n});\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\n\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\nlet store = createStore(\r\n combineReducers({\r\n application,\r\n dashboard,\r\n auth,\r\n policyList,\r\n activeUsers,\r\n recentWSLogs,\r\n ...createForms({\r\n login,\r\n MVIQuickQuote,\r\n MCIQuickQuote,\r\n PCIQuickQuote,\r\n MBIQuickQuote,\r\n Export,\r\n modifyPolicy,\r\n requestPolicyModification,\r\n requestPolicyRegoModification,\r\n copyPolicy,\r\n copyDealership,\r\n archivePolicy,\r\n myDealers,\r\n bdmlist,\r\n policyList,\r\n policy,\r\n Cancellation,\r\n ErrorReport,\r\n Wording,\r\n monthList,\r\n fnlist,\r\n mbigList,\r\n Month,\r\n SalesLog,\r\n dealership,\r\n dealershipList,\r\n userList,\r\n vehicleConfigList,\r\n manualList,\r\n pendingList,\r\n notificationList,\r\n dealershipRole,\r\n config,\r\n notification,\r\n user,\r\n vehiclematch,\r\n userblock,\r\n discoverridereq,\r\n usernotification,\r\n dealershipConfigList,\r\n dealershipLogin,\r\n dealershipRates,\r\n wslogList,\r\n wsExecute,\r\n financecompanyList,\r\n financecompanyEdit,\r\n claimList,\r\n claimEdit,\r\n agentLocator,\r\n }),\r\n }),\r\n // window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(), //uncomment if you want to use the redux pane in chrome dev tools.\r\n composeEnhancers(applyMiddleware(sagaMiddleware, thunk, logger))\r\n);\r\n\r\nsagaMiddleware.run(applicationSagas);\r\nsagaMiddleware.run(authSagas);\r\nsagaMiddleware.run(dashboardSagas);\r\nsagaMiddleware.run(regoSagas);\r\nsagaMiddleware.run(policyListsSagas);\r\nsagaMiddleware.run(mbidListsSagas);\r\nsagaMiddleware.run(policyactionsSagas);\r\nsagaMiddleware.run(policySagas);\r\nsagaMiddleware.run(developerSagas);\r\nsagaMiddleware.run(elogSagas);\r\nsagaMiddleware.run(financecompanySagas);\r\nsagaMiddleware.run(wslogSagas);\r\nsagaMiddleware.run(claimsSagas);\r\nsagaMiddleware.run(agentLocatorSagas);\r\n\r\nexport default store;\r\n\r\nstore.subscribe(() => Settings.setItem(\"TOKEN\", store.getState().auth.token));\r\nstore.subscribe(() => Settings.setItem(Settings.TOKEN_DOTNET, store.getState().auth.tokenDotnet));\r\n","import { SETUSERS } from './actions'\r\n\r\nfunction activeUsers (state = {}, action) {\r\n switch (action.type) {\r\n case SETUSERS :\r\n\r\n return {\r\n ...state,\r\n users: action.users\r\n }\r\n\r\n default:\r\n\r\n return state\r\n }\r\n}\r\n\r\nexport { activeUsers }\r\n","import {\r\n INITIALIZED\r\n} from './actions'\r\n\r\nfunction copyPolicy (state = {}, action) {\r\n switch (action.type) {\r\n case INITIALIZED :\r\n\r\n return {\r\n ...state,\r\n PolicyPackage: action.PolicyPackage,\r\n ui: {\r\n ...state.ui\r\n }\r\n }\r\n\r\n default :\r\n return state\r\n }\r\n}\r\n\r\nexport { copyPolicy }\r\n","import { INITIALIZED } from \"./actions\";\r\n\r\nfunction copyDealership(state = {}, action) {\r\n switch (action.type) {\r\n case INITIALIZED:\r\n return {\r\n ...state,\r\n dealership: action.dealership,\r\n ui: {\r\n ...state.ui,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { copyDealership };\r\n","import {\r\n all\r\n} from 'redux-saga/effects'\r\n\r\nimport archiveSagas from './archive/sagas'\r\nimport cancellationSagas from './cancellation/sagas'\r\nimport errorReportSagas from './errorreport/sagas'\r\nimport copypolicySagas from './copypolicy/sagas'\r\nimport modifypolicySagas from './modifypolicy/sagas'\r\nimport requestmodificationSagas from './requestmodification/sagas'\r\nimport requestRegomodificationSagas from './requestregomodification/sagas'\r\nimport rebuildCertSaga from './rebuildcert/sagas'\r\nimport savetoproteusSagas from './savetoproteus/sagas'\r\nimport wordingSagas from './wording/sagas'\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n archiveSagas(),\r\n cancellationSagas(),\r\n errorReportSagas(),\r\n copypolicySagas(),\r\n modifypolicySagas(),\r\n requestmodificationSagas(),\r\n requestRegomodificationSagas(),\r\n rebuildCertSaga(),\r\n savetoproteusSagas(),\r\n wordingSagas()\r\n ])\r\n}\r\n","import {\r\n all\r\n} from 'redux-saga/effects'\r\n\r\nimport activeusersSagas from './activeusers/sagas'\r\nimport recentwslogsSagas from './recentwslogs/sagas'\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n activeusersSagas(),\r\n recentwslogsSagas()\r\n ])\r\n}\r\n","import {\r\n all\r\n} from 'redux-saga/effects'\r\n\r\nimport listSagas from './components/sagas'\r\nimport monthSagas from './month/sagas'\r\nimport saleslogSagas from './saleslog/sagas'\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n listSagas(),\r\n monthSagas(),\r\n saleslogSagas()\r\n ])\r\n}\r\n","import {\r\n all\r\n} from 'redux-saga/effects'\r\n\r\nimport editSagas from './edit/sagas'\r\nimport listSagas from './list/sagas'\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n editSagas(),\r\n listSagas()\r\n ])\r\n}\r\n","import { all } from \"redux-saga/effects\";\r\n\r\nimport executeSagas from \"./execute/sagas\";\r\nimport listSagas from \"./list/sagas\";\r\nimport fnSagas from \"./fnlist/sagas\";\r\n\r\nexport default function* rootSaga() {\r\n yield all([executeSagas(), listSagas(), fnSagas()]);\r\n}\r\n","import {\r\n all\r\n} from 'redux-saga/effects'\r\n\r\nimport listSagas from './list/sagas'\r\nimport makeAClaimSagas from './makeaclaim/sagas'\r\n\r\nexport default function * rootSaga () {\r\n yield all([\r\n makeAClaimSagas(),\r\n listSagas()\r\n ])\r\n}\r\n","export const LOAD_RATES = \"LOAD_RATES\";\r\nexport const loadRates = (dealerCode, isTaxi, selectedClaimLimit) => {\r\n return { type: LOAD_RATES, dealerCode, isTaxi, selectedClaimLimit };\r\n};\r\n\r\nexport const LOAD_STANDARD_RATES = \"LOAD_STANDARD_RATES\";\r\nexport const loadStandardRates = (isTaxi, selectedClaimLimit) => {\r\n return { type: LOAD_STANDARD_RATES, isTaxi, selectedClaimLimit };\r\n};\r\n\r\nexport const LOAD_RATES_SUCCESS = \"LOAD_RATES_SUCCESS\";\r\nexport const loadRatesSuccess = (productGroups, dealerCode, viewWholesalePrices, viewIsTaxi) => {\r\n return { type: LOAD_RATES_SUCCESS, productGroups, dealerCode, viewWholesalePrices, viewIsTaxi };\r\n};\r\n\r\nexport const LOAD_STANDARD_RATES_SUCCESS = \"LOAD_STANDARD_RATES_SUCCESS\";\r\nexport const loadStandardRatesSucess = (productGroups, dealerCode) => {\r\n return { type: LOAD_STANDARD_RATES_SUCCESS, productGroups, dealerCode };\r\n};\r\n\r\nexport const LOAD_GAP_RATES = \"LOAD_GAP_RATES\";\r\nexport const loadGapRates = (dealerCode) => {\r\n return { type: LOAD_GAP_RATES, dealerCode };\r\n};\r\n\r\nexport const LOAD_RATE_LOADING = \"LOAD_RATE_LOADING\";\r\nexport const loadRateLoading = (value) => {\r\n return { type: LOAD_RATE_LOADING, value };\r\n};\r\n\r\nexport const LOAD_GAP_STANDARD_RATES = \"LOAD_GAP_STANDARD_RATES\";\r\nexport const loadGapStandardRates = () => {\r\n return { type: LOAD_GAP_STANDARD_RATES };\r\n};\r\n\r\nexport const LOAD_MBI_CLAIM_LIMITS = \"LOAD_MBI_CLAIM_LIMITS\";\r\nexport const loadMBIClaimLimits = (dealerCode, productCode) => {\r\n return { type: LOAD_MBI_CLAIM_LIMITS, dealerCode, productCode };\r\n};\r\n\r\nexport const LOAD_MBI_CLAIM_LIMITS_SUCCESS = \"LOAD_MBI_CLAIM_LIMITS_SUCCESS\";\r\nexport const loadMBIClaimLimitsSucess = (claimLimits) => {\r\n return { type: LOAD_MBI_CLAIM_LIMITS_SUCCESS, claimLimits };\r\n};\r\n\r\nexport const LOAD_GP_RATES_SUCCESS = \"LOAD_GAP_RATES_SUCCESS\";\r\nexport const loadGapRatesSuccess = (productGroups, dealerCode, viewWholesalePrices) => {\r\n return { type: LOAD_GP_RATES_SUCCESS, productGroups, dealerCode, viewWholesalePrices };\r\n};\r\n\r\nexport const LOAD_GAP_STANDARD_RATES_SUCCESS = \"LOAD_GAP_STANDARD_RATES_SUCCESS\";\r\nexport const loadGapStandardRatesSucess = (productGroups, dealerCode) => {\r\n return { type: LOAD_GAP_STANDARD_RATES_SUCCESS, productGroups, dealerCode };\r\n};\r\n\r\nexport const LOAD_DEALERSHIPS_FOR_MBI = \"LOAD_DEALERSHIPS_FOR_MBI\";\r\nexport const loadDealershipsForMbi = () => {\r\n return { type: LOAD_DEALERSHIPS_FOR_MBI, productCode: \"MBI\" };\r\n};\r\n\r\nexport const LOAD_DEALERSHIPS_FOR_GAP = \"LOAD_DEALERSHIPS_FOR_GAP\";\r\nexport const loadDealershipsForGap = () => {\r\n return { type: LOAD_DEALERSHIPS_FOR_GAP, productCode: \"GAP\" };\r\n};\r\n\r\nexport const LOAD_DEALERSHIPS_FOR_PPI = \"LOAD_DEALERSHIPS_FOR_PPI\";\r\nexport const loadDealershipsForPpi = () => {\r\n return { type: LOAD_DEALERSHIPS_FOR_PPI, productCode: \"PPP\" };\r\n};\r\n\r\nexport const LOAD_ALL_DEALERSHIPS_FOR_MBI_RATES = \"LOAD_ALL_DEALERSHIPS_FOR_MBI_RATES\";\r\nexport const loadAllDealershipsForMBIRates = (productCode) => {\r\n return { type: LOAD_ALL_DEALERSHIPS_FOR_MBI_RATES, productCode };\r\n};\r\n\r\nexport const LOAD_ALL_DEALERSHIPS_FOR_GAP_RATES = \"LOAD_ALL_DEALERSHIPS_FOR_GAP_RATES\";\r\nexport const loadAllDealershipsForGAPRates = (productCode) => {\r\n return { type: LOAD_ALL_DEALERSHIPS_FOR_GAP_RATES, productCode };\r\n};\r\n\r\nexport const LOAD_DEALERSHIPS_FOR_GAP_SUCCESS = \"LOAD_DEALERSHIPS_FOR_GAP_SUCCESS\";\r\nexport const loadDealershipsForGapSuccess = (dealerships) => {\r\n return { type: LOAD_DEALERSHIPS_FOR_GAP_SUCCESS, dealerships };\r\n};\r\n\r\nexport const LOAD_DEALERSHIPS_FOR_MBI_SUCCESS = \"LOAD_DEALERSHIPS_FOR_MBI_SUCCESS\";\r\nexport const loadDealershipsForMbiSuccess = (dealerships) => {\r\n return { type: LOAD_DEALERSHIPS_FOR_MBI_SUCCESS, dealerships };\r\n};\r\n\r\nexport const LOAD_DEALERSHIPS_FOR_PPI_SUCCESS = \"LOAD_DEALERSHIPS_FOR_PPI_SUCCESS\";\r\nexport const loadDealershipsForPpiSuccess = (dealerships) => {\r\n return { type: LOAD_DEALERSHIPS_FOR_PPI_SUCCESS, dealerships };\r\n};\r\n\r\nexport const LOAD_POLICY_WORDINGS = \"LOAD_POLICY_WORDINGS\";\r\nexport const loadPolicyWordings = (dealerCode) => {\r\n return { type: LOAD_POLICY_WORDINGS, dealerCode };\r\n};\r\n\r\nexport const LOAD_POLICY_WORDINGS_SUCCESS = \"LOAD_POLICY_WORDINGS_SUCCESS\";\r\nexport const loadPolicyWordingsSuccess = (policyWordings) => {\r\n return { type: LOAD_POLICY_WORDINGS_SUCCESS, policyWordings };\r\n};\r\n\r\nexport const LOAD_SUMMARY_OF_COVER_LIST = \"LOAD_SUMMARY_OF_COVER_LIST\";\r\nexport const loadSummaryOfCoverList = (dealerCode) => {\r\n return { type: LOAD_SUMMARY_OF_COVER_LIST, dealerCode };\r\n};\r\n\r\nexport const LOAD_SUMMARY_OF_COVER_LIST_SUCCESS = \"LOAD_SUMMARY_OF_COVER_LIST_SUCCESS\";\r\nexport const loadSummaryOfCoverListSuccess = (socList) => {\r\n return { type: LOAD_SUMMARY_OF_COVER_LIST_SUCCESS, socList };\r\n};\r\n","export const DO_SUBMIT = 'CANCELLATION_DOSUBMIT'\r\nexport const doSubmit = (Mail) => {\r\n return { type: DO_SUBMIT, Mail }\r\n}\r\n\r\nexport const SUBMITED = 'CANCELLATION_SUBMITED'\r\nexport const submited = () => {\r\n return { type: SUBMITED }\r\n}\r\n\r\nexport const FINISHED = 'CANCELLATION_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n","export const DO_SUBMIT = 'ERROR_DOSUBMIT'\r\nexport const doSubmit = (Mail) => {\r\n return { type: DO_SUBMIT, Mail }\r\n}\r\n\r\nexport const SUBMITED = 'ERROR_SUBMITED'\r\nexport const submited = () => {\r\n return { type: SUBMITED }\r\n}\r\n\r\nexport const FINISHED = 'ERROR_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n","export const DO_SUBMIT = 'WORDING_DOSUBMIT'\r\nexport const doSubmit = (Mail) => {\r\n return { type: DO_SUBMIT, Mail }\r\n}\r\n\r\nexport const SUBMITED = 'WORDING_SUBMITED'\r\nexport const submited = () => {\r\n return { type: SUBMITED }\r\n}\r\n\r\nexport const FINISHED = 'WORDING_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n","\r\nexport const START = 'ACTIVEUSERS_START'\r\nexport const start = () => ({ type: START })\r\n\r\nexport const STOP = 'ACTIVEUSERS_STOP'\r\nexport const stop = () => ({ type: STOP })\r\n\r\nexport const SETUSERS = 'ACTIVEUSERS_SETUSERS'\r\nexport const setUsers = users => ({ type: SETUSERS, users })\r\n","export const LOAD = \"DEALERSHIP_LOAD\";\r\nexport const load = (id) => {\r\n return { type: LOAD, id };\r\n};\r\n\r\nexport const RESET = \"DEALERSHIP_FORM_RESET\";\r\nexport const reset = () => {\r\n return { type: RESET };\r\n};\r\n\r\nexport const LOADCONFIG = \"DEALERSHIP_CONFIG_LOAD\";\r\nexport const loadconfig = (code) => {\r\n return { type: LOADCONFIG, code };\r\n};\r\n\r\nexport const LOADED_CONFIG = \"DEALERSHIP_CONFIG_LOADED\";\r\nexport const loadedconfig = (config) => {\r\n return { type: LOADED_CONFIG, config };\r\n};\r\n\r\nexport const LOADED = \"DEALERSHIP_LOADED\";\r\nexport const loaded = (dealership, ui) => {\r\n return { type: LOADED, dealership, ui };\r\n};\r\n\r\nexport const PRODUCT_DROPPED = \"PRODUCT_DROPPED\";\r\nexport const productDropped = (droppedList, remainedList) => {\r\n return { type: PRODUCT_DROPPED, droppedList, remainedList };\r\n};\r\n\r\nexport const SAVECONFIG = \"DEALERSHIPCONFIG_SAVE\";\r\nexport const saveConfig = (config) => {\r\n return { type: SAVECONFIG, config };\r\n};\r\n\r\nexport const SAVE = \"DEALERSHIP_SAVE\";\r\nexport const save = (dealership, status) => {\r\n return { type: SAVE, dealership, status };\r\n};\r\n\r\nexport const GET_PURE_CODE = \"GET_PURE_CODE\";\r\nexport const getPureCode = (code, dealertype) => {\r\n return { type: GET_PURE_CODE, code, dealertype };\r\n};\r\n\r\nexport const APPLY_PURE_CODE = \"APPLY_PURE_CODE\";\r\nexport const applyPureCode = (code , webcode) => {\r\n return { type: APPLY_PURE_CODE, code , webcode };\r\n};\r\n\r\nexport const QUICK_SAVE = \"DEALERSHIP_QUICK_SAVE\";\r\nexport const quickSave = (dealership, status) => {\r\n return { type: QUICK_SAVE, dealership, status };\r\n};\r\n\r\nexport const APPLY_FINANCECOMPANIES = \"APPLY_FINANCECOMPANIES\";\r\nexport const applyFinancecompanies = (companies) => {\r\n return { type: APPLY_FINANCECOMPANIES, companies };\r\n};\r\n\r\nexport const UPLOAD = \"DEALERSHIP_UPLOAD\";\r\nexport const upload = (dealership) => {\r\n return { type: UPLOAD, dealership };\r\n};\r\n\r\nexport const CONFIRM_SHOW = \"DEALERSHIP_CONFIRM_SHOW\";\r\nexport const confirmShow = () => {\r\n return { type: CONFIRM_SHOW };\r\n};\r\n\r\nexport const CONFIG_WAIT = \"CONFIG_WAIT\";\r\nexport const configWait = () => {\r\n return { type: CONFIG_WAIT };\r\n};\r\n\r\nexport const CONFIG_COMPLETE = \"CONFIG_COMPLETE\";\r\nexport const configComplete = () => {\r\n return { type: CONFIG_COMPLETE };\r\n};\r\n\r\nexport const CONFIRM_NO = \"DEALERSHIP_CONFIRM_NO\";\r\nexport const confirmNo = () => {\r\n return { type: CONFIRM_NO };\r\n};\r\n\r\nexport const CONFIRM_WAIT = \"DEALERSHIP_CONFIRM_WAIT\";\r\nexport const confirmWait = () => {\r\n return { type: CONFIRM_WAIT };\r\n};\r\n\r\nexport const CONFIRM_FINISHED = \"DEALERSHIP_CONFIRM_FINISHED\";\r\nexport const confirmFinished = () => {\r\n return { type: CONFIRM_FINISHED };\r\n};\r\n\r\nexport const DEALERSHIP_SIGN = \"DEALERSHIP_SIGN\";\r\nexport const signatureCapture = (signature, signtype) => {\r\n return { type: DEALERSHIP_SIGN, signature, signtype };\r\n};\r\n","export const INITIALIZED = \"MYDEALERS_INITIALIZED\";\r\nexport const initialized = (dealers) => {\r\n return { type: INITIALIZED, dealers };\r\n};\r\n\r\nexport const LOADBDMS = \"LOADBDMS\";\r\nexport const loadBDMS = () => {\r\n return { type: LOADBDMS };\r\n};\r\n\r\nexport const LOADED_BDMS = \"LOADED_BDMS\";\r\nexport const loadedBDMS = (data) => {\r\n return { type: LOADED_BDMS, data };\r\n};\r\n\r\nexport const LOADPAGE = \"BDM_DEALERSHIP_LOADPAGE\";\r\nexport const loadPage = (page, search, serviceLevel, bdm) => {\r\n console.log(\"here 2222\");\r\n return { type: LOADPAGE, page, search, serviceLevel, bdm };\r\n};\r\n\r\nexport const PAGELOADED = \"BDM_DEALERSHIP_LOADPAGE\";\r\nexport const pageLoaded = (activePage, search, serviceLevel, bdm, recordsTotal, data) => {\r\n return { type: PAGELOADED, activePage, search, serviceLevel, bdm, recordsTotal, data };\r\n};\r\n","export const FETCH_AGENTS = 'FETCH_AGENTS'\r\nexport const fetchAgents = (filters, page) => ({ type: FETCH_AGENTS, filters, page })\r\n\r\nexport const AGENTS_FETCHED = 'AGENTS_FETCHED'\r\nexport const agentsFetched = (page, agents, agentsTotal) => ({ type: AGENTS_FETCHED, page, agents, agentsTotal })\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Inner = (props) => {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n )\r\n}\r\n\r\nInner.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nexport default Inner\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Widget = (props) => {\r\n const {\r\n highlighted,\r\n ...other\r\n } = props\r\n const className = 'widget' + (highlighted ? ' highlighted' : '')\r\n return (\r\n
\r\n {props.children}\r\n
\r\n )\r\n}\r\n\r\nWidget.propTypes = {\r\n highlighted: PropTypes.bool,\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nexport default Widget\r\n","import React from 'react'\r\n\r\nimport FontAwesome from 'react-fontawesome'\r\n\r\nconst Wait = (props) => {\r\n return (\r\n \r\n )\r\n}\r\nexport default Wait\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components'\r\n\r\nimport FontAwesome from 'react-fontawesome'\r\n\r\nconst StyledFontAwesome = styled(FontAwesome)`\r\n color: black\r\n`\r\n\r\nconst BlackIcon = (props) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nBlackIcon.propTypes = {\r\n name: PropTypes.string.isRequired\r\n}\r\n\r\nexport default BlackIcon\r\n","import React, { Component, Fragment, PureComponent } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport Link from \"@material-ui/core/Link\";\r\n\r\nimport { Control, LocalForm } from \"react-redux-form\";\r\n\r\nimport styled from \"styled-components\";\r\n\r\nimport Col from \"react-bootstrap/lib/Col\";\r\nimport DropdownButton from \"react-bootstrap/lib/DropdownButton\";\r\nimport Row from \"react-bootstrap/lib/Row\";\r\n\r\nimport FontAwesome from \"react-fontawesome\";\r\nimport { setDealerCode, toggleExpertMode, userImpersonateEnd } from \"./actions\";\r\nimport { reset as mbireset } from \"./dashboard/mviquickquote/actions\";\r\n\r\nimport { reset } from \"./dashboard/mbiquickquote/actions\";\r\nimport { Breadcrumb } from \"./Routes\";\r\nimport * as Settings from \"./settings\";\r\n\r\nimport { wait } from \"./auth/actions\";\r\n\r\nimport { signOut } from \"./dashboard/dealership/login/actions\";\r\n\r\nimport BlackIcon from \"./components/BlackIcon\";\r\nimport Wait from \"./components/Wait\";\r\nimport WhiteIcon from \"./components/WhiteIcon\";\r\nimport AppBar from \"./homepage/modules/components/AppBar\";\r\n\r\nimport { withStyles, makeStyles, useTheme } from \"@material-ui/core/styles\";\r\n\r\nimport Toolbar, { styles as toolbarStyles } from \"./homepage/modules/components/Toolbar\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { List, ListItem, CssBaseline, IconButton, Hidden, Drawer, ListItemText, Typography } from \"@material-ui/core\";\r\nimport { logout } from \"./auth/login/actions\";\r\nimport logo from \"./assets/img/logo-tagline.png\";\r\nimport canstarlogo from \"./assets/img/canstar.png\";\r\n\r\nimport { useMediaQuery } from \"@material-ui/core\";\r\n\r\nclass InnerFrame extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isMenuOpen: false,\r\n };\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.toggleMenu = this.toggleMenu.bind(this);\r\n this.toggleExpertMode = this.toggleExpertMode.bind(this);\r\n this.signOut = this.signOut.bind(this);\r\n this.logOut = this.logOut.bind(this);\r\n this.endImpersonate = this.endImpersonate.bind(this);\r\n this.initialDealerForm = { dealercode: props.dealership && props.dealership.code };\r\n }\r\n\r\n handleSubmit(values) {\r\n if (this.props.dealership.code !== values.dealercode) {\r\n this.props.dispatch(wait());\r\n this.props.dispatch(setDealerCode(values.dealercode, \"/Dashboard\"));\r\n }\r\n }\r\n\r\n toggleMenu(e) {\r\n e.preventDefault();\r\n this.setState({ isMenuOpen: !this.state.isMenuOpen });\r\n }\r\n\r\n toggleExpertMode() {\r\n Settings.setItem(\"HELP\", !this.props.help);\r\n this.props.dispatch(toggleExpertMode());\r\n }\r\n\r\n signOut(e) {\r\n e.preventDefault();\r\n this.props.dispatch(signOut());\r\n window.location = \"/Dashboard\";\r\n }\r\n\r\n logOut(e) {\r\n e.preventDefault();\r\n this.props.dispatch(logout());\r\n }\r\n\r\n endImpersonate(e) {\r\n e.preventDefault();\r\n this.props.dispatch(userImpersonateEnd());\r\n }\r\n\r\n render() {\r\n const { dispatch, wait, allow, user, dealership, children } = this.props;\r\n\r\n const menuClass = this.state.isMenuOpen ? \"nav-toggle visible-xs open\" : \"nav-toggle visible-xs\";\r\n\r\n return (\r\n \r\n {/* {allow.Admin && } */}\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n {user && dealership && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
{children}
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \"Canstar\r\n
\r\n
\r\n
\r\n \"Protecta\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n © 2018 Protecta Insurance | Privacy Notice\r\n

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nInnerFrame.propTypes = {\r\n wait: PropTypes.bool.isRequired,\r\n allow: PropTypes.object.isRequired,\r\n user: PropTypes.object.isRequired,\r\n dealership: PropTypes.object,\r\n help: PropTypes.bool.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n wait: state.auth.wait,\r\n allow: state.auth.allow,\r\n user: state.auth.user,\r\n dealership: state.auth.dealership,\r\n help: state.auth.help,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return { dispatch };\r\n};\r\n\r\nconst Logo = (props) => {\r\n return (\r\n \r\n \"Protecta\r\n \r\n );\r\n};\r\n\r\nconst StyledA = styled.a``;\r\n\r\nconst styles = (theme) => ({\r\n title: {\r\n fontSize: 24,\r\n },\r\n placeholder: toolbarStyles(theme).root,\r\n toolbar: {\r\n justifyContent: \"space-between\",\r\n },\r\n maincolor: {\r\n background: \"#01aef0\",\r\n flexGrow: 1,\r\n },\r\n\r\n left: {\r\n flex: 1,\r\n float: \"left\",\r\n },\r\n leftLinkActive: {\r\n color: theme.palette.common.white,\r\n },\r\n right: {\r\n flex: \"1\",\r\n display: \"flex\",\r\n padding: \"10px\",\r\n flexDirection: \"row\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n justifyContent: \"flex-end\",\r\n },\r\n tools: {\r\n marginLeft: \"20px\",\r\n },\r\n\r\n rightLink: {\r\n fontSize: 16,\r\n color: theme.palette.common.white,\r\n marginLeft: theme.spacing(3),\r\n },\r\n linkSecondary: {\r\n color: theme.palette.secondary.main,\r\n },\r\n});\r\n\r\nconst Frame = connect(mapStateToProps, mapDispatchToProps)(InnerFrame);\r\n\r\nexport default withStyles(styles)(Frame);\r\n\r\nexport const IdentityNav = (props) => {\r\n const { wait, user, dealership, allow, dispatch, initialDealerForm, handleSubmit, toggleExpertMode, signOut, logOut, endImpersonate } = props;\r\n\r\n const idnav = wait ? (\r\n \r\n ) : allow.FreeFormDealerCode ? (\r\n \r\n ) : (\r\n \r\n );\r\n\r\n if (typeof initialDealerForm.dealercode === \"undefined\" && typeof dealership !== \"undefined\") {\r\n initialDealerForm.dealercode = dealership.code;\r\n }\r\n\r\n return (\r\n \r\n \r\n Dashboard{\" \"}\r\n \r\n\r\n \r\n {/*
  • \r\n My Information\r\n
  • */}\r\n {allow.MyDealership && (\r\n
  • \r\n My Dealership\r\n
  • \r\n )}\r\n\r\n {!user.dealershipLogin && user.dealerships && user.dealerships.length > 1 && }\r\n\r\n {allow.BackToMyDealers && }\r\n\r\n
  • \r\n Toggle Help\r\n
  • \r\n\r\n {user.dealershipLogin && user.selected && (\r\n
  • \r\n Signout\r\n
  • \r\n )}\r\n\r\n
  • \r\n Logout\r\n
  • \r\n {user.impersonated && (\r\n
  • \r\n End Impersonating\r\n
  • \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nIdentityNav.propTypes = {\r\n wait: PropTypes.bool.isRequired,\r\n allow: PropTypes.object.isRequired,\r\n user: PropTypes.object.isRequired,\r\n dealership: PropTypes.object.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n initialDealerForm: PropTypes.object.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n toggleExpertMode: PropTypes.func.isRequired,\r\n signOut: PropTypes.func.isRequired,\r\n};\r\n\r\nconst DealershipMenu = (props) => {\r\n const { dispatch, user } = props;\r\n\r\n return (\r\n \r\n \r\n {user.dealerships.map((dealership) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nDealershipMenu.propTypes = {\r\n user: PropTypes.object.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n};\r\n\r\nclass DealershipMenuItem extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.setDealerCode = this.setDealerCode.bind(this);\r\n }\r\n\r\n setDealerCode() {\r\n this.props.dispatch(wait());\r\n this.props.dispatch(setDealerCode(this.props.code));\r\n this.props.dispatch(reset());\r\n this.props.dispatch(mbireset());\r\n }\r\n\r\n render() {\r\n return (\r\n
  • \r\n {this.props.name}\r\n
  • \r\n );\r\n }\r\n}\r\n\r\nDealershipMenuItem.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n code: PropTypes.string.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n};\r\n\r\nconst Separator = (props) => {\r\n return
  • ;\r\n};\r\n\r\nconst NavItem = (props) => {\r\n return (\r\n
  • \r\n \r\n {props.title}\r\n \r\n
  • \r\n );\r\n};\r\n\r\nNavItem.propTypes = {\r\n url: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n};\r\n\r\nconst AdminDealerNav = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {props.user.impersonated && \"(Impersonating)\"} {props.user.name}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nAdminDealerNav.propTypes = {\r\n user: PropTypes.object.isRequired,\r\n};\r\n\r\nconst NormalDealerNav = (props) => {\r\n return (\r\n \r\n {props.user.impersonated && \"(Impersonating)\"} {props.user.name.replace(/'/g, \"'\")} : {props.dealercode}\r\n \r\n );\r\n};\r\n\r\nNormalDealerNav.propTypes = {\r\n user: PropTypes.object.isRequired,\r\n dealercode: PropTypes.string.isRequired,\r\n};\r\n\r\nconst StyledDashboardLink = styled(NavLink)`\r\n margin-right: 8px;\r\n height: 37.5px;\r\n padding-top: 8px;\r\n`;\r\n\r\nconst StyledDropdownButton = styled(DropdownButton)`\r\n padding: 4px 12px;\r\n height: 38px;\r\n`;\r\n\r\nconst StyledLabel = styled.label`\r\n color: #fff;\r\n margin-top: 4px;\r\n`;\r\n\r\nconst StyledInput = styled(Control.text)`\r\n height: 28px;\r\n width: 100px !important;\r\n margin: 0;\r\n text-align: center;\r\n`;\r\n\r\n// component styles refuses to work on this, nfi\r\nconst styleOpen = { display: \"block\" };\r\nconst styleClosed = {};\r\nconst Menu = (props) => {\r\n return (\r\n
      \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nMenu.propTypes = {\r\n style: PropTypes.object.isRequired,\r\n};\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Alert = (props) => {\r\n return (\r\n
    \r\n {props.children}\r\n
    \r\n )\r\n}\r\n\r\nAlert.defaultProps = {\r\n type: 'warning',\r\n className: ''\r\n}\r\n\r\nAlert.propTypes = {\r\n type: PropTypes.string,\r\n className: PropTypes.string,\r\n style: PropTypes.string,\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nexport default Alert\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport Col from 'react-bootstrap/lib/Col'\r\n\r\nimport {\r\n Control,\r\n Errors\r\n} from 'react-redux-form'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst Checkbox = (props) => {\r\n var {\r\n span,\r\n offset,\r\n text,\r\n model,\r\n value,\r\n ...other\r\n } = props\r\n\r\n return (\r\n \r\n\r\n \r\n\r\n { other.required && }\r\n\r\n \r\n )\r\n}\r\n\r\nCheckbox.defaultProps = {\r\n span: 8,\r\n offset: 4\r\n}\r\n\r\nCheckbox.propTypes = {\r\n model: PropTypes.string.isRequired,\r\n value: PropTypes.bool,\r\n span: PropTypes.number,\r\n offset: PropTypes.number,\r\n text: PropTypes.string.isRequired\r\n}\r\n\r\nexport default Checkbox\r\n\r\nconst Error = (props) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nError.propTypes = {\r\n model: PropTypes.string.isRequired\r\n}\r\n\r\nconst show = (field) => field.touched && !field.focus\r\n\r\nconst wrapper = (props) => {props.children}\r\nwrapper.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledWrapper = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding: 6px 12px;\r\n font-size: 14px;\r\n color: #555555;\r\n background-color: #f5f5f5;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n text-align: center;\r\n`\r\n\r\nconst Item = (props) => {props.children}\r\nItem.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledError = styled.div`\r\n color: red;\r\n`\r\nconst messages = {\r\n valueMissing: 'This field is required!',\r\n typeMismatch: (val) => `${val} is not a valid email.`\r\n}\r\n","import React, { PureComponent } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { bugsnagClient } from '../bugsnagClient'\r\n\r\nimport Alert from './Alert'\r\nimport StoreLogger from './StoreLogger'\r\n\r\nclass ErrorBoundary extends PureComponent {\r\n constructor (props) {\r\n super(props)\r\n this.state = { hasError: false }\r\n }\r\n\r\n componentDidCatch (error, info) {\r\n if (error) {\r\n bugsnagClient.notify(error)\r\n }\r\n this.setState({ hasError: true })\r\n }\r\n\r\n render () {\r\n if (this.state.hasError) {\r\n return (\r\n \r\n \r\n An error has occurred!\r\n

    Please refresh your browser window, and contact us if this problem persists.

    \r\n

    This error has been reported to Protecta's software development team.

    \r\n
    \r\n )\r\n }\r\n return this.props.children\r\n }\r\n}\r\n\r\nErrorBoundary.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nexport default ErrorBoundary\r\n","export const SETDEALERCODE = \"DASHBOARD_SETDEALERCODE\";\r\nexport const setDealerCode = (dealerCode, redirection) => {\r\n return { type: SETDEALERCODE, dealerCode, redirection };\r\n};\r\n\r\nexport const USER_IMPERSONATE = \"USER_IMPERSONATE\";\r\nexport const userImpersonate = (userId) => {\r\n return { type: USER_IMPERSONATE, userId };\r\n};\r\n\r\nexport const USER_RESET = \"USER_RESET\";\r\nexport const userResetLogin = (userId) => {\r\n return { type: USER_RESET, userId };\r\n};\r\n\r\nexport const USER_IMPERSONATE_END = \"USER_IMPERSONATE_END\";\r\nexport const userImpersonateEnd = () => {\r\n return { type: USER_IMPERSONATE_END };\r\n};\r\n\r\nexport const SET_DEALERCODE_SUCCESS = \"SET_DEALERCODE_SUCCESS\";\r\nexport const setDealerCodeSuccess = () => {\r\n return { type: SET_DEALERCODE_SUCCESS };\r\n};\r\n\r\nexport const STARTKEEPALIVE = \"STARTKEEPALIVE\";\r\nexport const startKeepAlive = () => {\r\n return { type: STARTKEEPALIVE };\r\n};\r\n\r\nexport const STOPKEEPALIVE = \"STOPKEEPALIVE\";\r\nexport const stopKeepAlive = () => {\r\n return { type: STOPKEEPALIVE };\r\n};\r\nexport const SHOWMODIFYPOLICY = \"SHOWMODIFYPOLICY\";\r\nexport const showModifyPolicy = (PolicyPackage) => {\r\n return { type: SHOWMODIFYPOLICY, PolicyPackage };\r\n};\r\n\r\nexport const SHOWREQUESTMODIFICATION = \"SHOWREQUESTMODIFICATION\";\r\nexport const showRequestModification = (policyid) => {\r\n return { type: SHOWREQUESTMODIFICATION, policyid };\r\n};\r\n\r\nexport const SHOWREQUESTREGOMODIFICATION = \"SHOWREQUESTREGOMODIFICATION\";\r\nexport const showRequestRegoModification = (policyid) => {\r\n return { type: SHOWREQUESTREGOMODIFICATION, policyid };\r\n};\r\n\r\nexport const SHOWDISCOVERRIDEREQMODAL = \"SHOWDISCOVERRIDEREQMODAL\";\r\nexport const showDiscOverrideReqModal = () => {\r\n return { type: SHOWDISCOVERRIDEREQMODAL };\r\n};\r\n\r\nexport const SHOWPPPCOVIDMSG = \"SHOWPPPCOVIDMSG\";\r\nexport const showPPPCovidMsg = (policyid) => {\r\n return { type: SHOWPPPCOVIDMSG, policyid };\r\n};\r\n\r\nexport const SHOWCOPYPOLICY = \"SHOWCOPYPOLICY\";\r\nexport const showCopyPolicy = (PolicyPackage) => {\r\n return { type: SHOWCOPYPOLICY, PolicyPackage };\r\n};\r\n\r\nexport const SHOWCOPYDEALERSHIP = \"SHOWCOPYDEALERSHIP\";\r\nexport const showCopyDealership = (dealership) => {\r\n return { type: SHOWCOPYDEALERSHIP, dealership };\r\n};\r\n\r\nexport const SHOWARCHIVEPOLICY = \"SHOWARCHIVEPOLICY\";\r\nexport const showArchivePolicy = (PolicyPackage) => {\r\n return { type: SHOWARCHIVEPOLICY, PolicyPackage };\r\n};\r\n\r\nexport const ERROR = \"ERROR\";\r\nexport const error = (e) => {\r\n if (typeof e === typeof Error) {\r\n // const msg='--Something went Wrong--/n Please take a screen shot of this page and submit it to support_protecta@protecta.co.nz /n Sorry for the inconvinience. We will resolve this issue soon. '\r\n return { type: ERROR, message: e.message };\r\n } else {\r\n return { type: ERROR, message: e };\r\n }\r\n};\r\n\r\nexport const SUCCESS = \"SUCCESS\";\r\nexport const success = (e) => {\r\n return { type: SUCCESS, message: e };\r\n};\r\n\r\nexport const INFORMATION = \"INFORMATION\";\r\nexport const information = (message, title, submessage, footer) => {\r\n return { type: INFORMATION, message, title, submessage, footer };\r\n};\r\n\r\nexport const CLOSE_ERROR_MODAL = \"CLOSE_ERROR_MODAL\";\r\nexport const closeErrorModal = () => {\r\n return { type: CLOSE_ERROR_MODAL };\r\n};\r\n\r\nexport const CLOSE_SUCCESS_MODAL = \"CLOSE_SUCCESS_MODAL\";\r\nexport const closeSuccessModal = () => {\r\n return { type: CLOSE_SUCCESS_MODAL };\r\n};\r\n\r\nexport const TOGGLE_EXPERT_MODE = \"TOGGLE_EXPERT_MODE\";\r\nexport const toggleExpertMode = () => {\r\n return { type: TOGGLE_EXPERT_MODE };\r\n};\r\n\r\nexport const LOG_NONE = \"LOG_NONE\";\r\nexport const logNone = () => {\r\n return { type: LOG_NONE };\r\n};\r\n\r\nexport const LOG_APPLICATION = \"LOG_APPLICATION\";\r\nexport const logApplication = () => {\r\n return { type: LOG_APPLICATION };\r\n};\r\n\r\nexport const LOG_RRF = \"LOG_RRF\";\r\nexport const logRRF = () => {\r\n return { type: LOG_RRF };\r\n};\r\n","export const INITIALIZE = \"DASHBOARD_INITIALIZE\";\r\nexport const initialize = () => {\r\n return { type: INITIALIZE };\r\n};\r\n\r\nexport const INITIALIZED = \"DASHBOARD_INITIALIZED\";\r\nexport const initialized = (state) => {\r\n return { type: INITIALIZED, state };\r\n};\r\n\r\nexport const LOADING = \"DASHBOARD_LOADING\";\r\nexport const loading = () => {\r\n return { type: LOADING };\r\n};\r\n\r\nexport const SHOWDEALERSHIPLOGIN = \"DASHBOARD_SHOWDEALERSHIPLOGIN\";\r\nexport const showDealershipLogin = (User) => {\r\n return { type: SHOWDEALERSHIPLOGIN, User };\r\n};\r\n\r\nexport const RECENT_POLICIES = \"DASHBOARD_RECENT_POLICIES\";\r\nexport const recentPolicies = (recentPolicies) => {\r\n return { type: RECENT_POLICIES, recentPolicies };\r\n};\r\n\r\nexport const FETCH_RECENT_QUOTES = \"FETCH_DASHBOARD_RECENT_QUOTES\";\r\nexport const fetchRecentQuotes = () => {\r\n return { type: FETCH_RECENT_QUOTES };\r\n};\r\n\r\nexport const FETCH_RECENT_SIGNED_QUOTES = \"FETCH_RECENT_SIGNED_QUOTES\";\r\nexport const fetchRecentSignedQuotes = () => {\r\n return { type: FETCH_RECENT_SIGNED_QUOTES };\r\n};\r\n\r\nexport const RECENT_QUOTES = \"DASHBOARD_RECENT_QUOTES\";\r\nexport const recentQuotes = (recentQuotes) => {\r\n return { type: RECENT_QUOTES, recentQuotes };\r\n};\r\n\r\nexport const RECENT_SIGNED_QUOTES = \"RECENT_SIGNED_QUOTES\";\r\nexport const recentSignedQuotes = (recentSignedQuotes) => {\r\n return { type: RECENT_SIGNED_QUOTES, recentSignedQuotes };\r\n};\r\n\r\nexport const RECENT_POLICIES_WITHOUT_REGOS = \"RECENT_POLICIES_WITHOUT_REGOS\";\r\nexport const recentPoliciesWithoutRegos = (recentPoliciesWithoutRegos) => {\r\n return { type: RECENT_POLICIES_WITHOUT_REGOS, recentPoliciesWithoutRegos };\r\n};\r\n\r\nexport const LOAD_NOTIFICATIONS = \"LOAD_NOTIFICATIONS\";\r\nexport const loadNotifications = (id) => {\r\n return { type: LOAD_NOTIFICATIONS, id };\r\n};\r\n\r\nexport const PENDING_NOTIFICATIONS = \"PENDING_NOTIFICATIONS\";\r\nexport const pendingNotifications = (pendingNotifications) => {\r\n return { type: PENDING_NOTIFICATIONS, pendingNotifications };\r\n};\r\n\r\nexport const SETACTIVETAB = \"DASHBOARD_SETACTIVETAB\";\r\nexport const setActiveTab = (tab) => {\r\n return { type: SETACTIVETAB, tab };\r\n};\r\n\r\nexport const SETACTIVEPOLICY = \"DASHBOARD_SETACTIVEPOLICY\";\r\nexport const setActivePolicy = (policy) => {\r\n return { type: SETACTIVEPOLICY, policy };\r\n};\r\n","export const LOAD_VEHICLE = \"VEHICLE_MATCH_LOAD\";\r\nexport const loadVehicle = (id) => {\r\n return { type: LOAD_VEHICLE,id };\r\n};\r\n\r\nexport const LOADED_VEHICLE = \"VEHICLE_MATCH_LOADED\";\r\nexport const loadedVehicle = (vehiclematch) => {\r\n return { type: LOADED_VEHICLE, vehiclematch };\r\n};\r\n\r\nexport const LOAD_MODELS = \"LOAD_VEHICLE_MODELS\";\r\nexport const loadVehcileModels = (make) => {\r\n return { type: LOAD_MODELS, make };\r\n};\r\n\r\nexport const LOAD_SUBMODELS = \"LOAD_VEHICLE_SUB_MODELS\";\r\nexport const loadVehicleSubModels = (make, model) => {\r\n return { type: LOAD_SUBMODELS,make, model };\r\n};\r\n\r\nexport const LOADED_VEHICLE_MODELS = \"LOADED_VEHICLE_MODELS\";\r\nexport const loadedVehcileModels = (models) => {\r\n return { type: LOADED_VEHICLE_MODELS,models };\r\n};\r\n\r\nexport const LOADED_VEHICLE_SUBMODELS = \"LOADED_VEHICLE_SUBMODELS\";\r\nexport const loadedVehicleSubModels = (submodels) => {\r\n return { type: LOADED_VEHICLE_SUBMODELS,submodels };\r\n};\r\n\r\n\r\nexport const LOAD_CYCLE_MODELS = \"LOAD_CYCLE_MODELS\";\r\nexport const loadCycleModels = (make) => {\r\n return { type: LOAD_CYCLE_MODELS, make };\r\n};\r\n\r\nexport const LOADED_CYCLE_MODELS = \"LOADED_CYCLE_MODELS\";\r\nexport const loadedCycleModels = (models) => {\r\n return { type: LOADED_CYCLE_MODELS,models };\r\n};\r\n\r\n\r\nexport const LOAD_CYCLE = \"CYCLE_MATCH_LOAD\";\r\nexport const loadCycle = (id) => {\r\n return { type: LOAD_CYCLE,id };\r\n};\r\n\r\nexport const LOADED_CYCLE = \"CYCLE_MATCH_LOADED\";\r\nexport const loadedCycle = (cyclematch) => {\r\n return { type: LOADED_CYCLE, cyclematch };\r\n};\r\n\r\nexport const UI_BLOCK_START = \"UI_BLOCK_START\";\r\nexport const uiblockstart = () => {\r\n return { type: UI_BLOCK_START };\r\n};\r\n\r\nexport const UI_BLOCK_END = \"UI_BLOCK_END\";\r\nexport const uiblockend = () => {\r\n return { type: UI_BLOCK_END };\r\n};\r\n\r\nexport const SAVE_CYCLE_MATCH = \"SAVE_CYCLE_MATCH\";\r\nexport const saveCycleMatch = (cyclematch) => {\r\n return { type: SAVE_CYCLE_MATCH, cyclematch };\r\n};\r\n\r\nexport const SAVE_VEHICLE_MATCH = \"SAVE_VEHICLE_MATCH\";\r\nexport const saveVehicleMatch = (vehiclematch) => {\r\n return { type: SAVE_VEHICLE_MATCH, vehiclematch };\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nexport const Separator = (props) => ;\r\n\r\nconst Item = (props) => (\r\n \r\n {props.children}\r\n \r\n);\r\n\r\nItem.propTypes = {\r\n link: PropTypes.string.isRequired,\r\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\r\n};\r\n\r\nexport const Dashboard = (props) => (\r\n
    \r\n \r\n Home\r\n \r\n \r\n Dashboard\r\n
    \r\n);\r\n\r\nconst Standard = (props) => (\r\n
    \r\n \r\n Home\r\n \r\n \r\n Dashboard\r\n \r\n {props.children}\r\n
    \r\n);\r\n\r\nStandard.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\r\n};\r\n\r\nexport const PolicyCancellation = (props) => (\r\n \r\n Policy Cancellation\r\n \r\n);\r\n\r\nexport const ErrorReport = (props) => (\r\n \r\n Report Website Issues\r\n \r\n);\r\n\r\nexport const PolicyWording = (props) => (\r\n \r\n Policy Wording{\" \"}\r\n \r\n);\r\n\r\nexport const Dealerships = (props) => (\r\n \r\n Dealerships\r\n \r\n);\r\n\r\nexport const DealershipConfigs = (props) => (\r\n \r\n Dealership Configs\r\n \r\n);\r\n\r\nexport const DealershipUsers = (props) => (\r\n \r\n Dealership Users\r\n \r\n);\r\n\r\nexport const ActiveUsers = (props) => (\r\n \r\n Dealership Users\r\n \r\n);\r\n\r\nexport const DealershipStaffRoles = (props) => (\r\n \r\n Dealership Staff Roles\r\n \r\n);\r\n\r\nexport const VehicleMatchListing = (props) => (\r\n \r\n Vehicle Match Configurations\r\n \r\n);\r\n\r\nexport const CycleeMatchListing = (props) => (\r\n \r\n Cycle Match Configurations\r\n \r\n);\r\n\r\nexport const DealershipUser = (props) => (\r\n \r\n Dealership User\r\n \r\n);\r\n\r\nexport const DealershipRates = () => (\r\n \r\n Dealership Rates\r\n \r\n);\r\n\r\nconst InnerRatesAndSalesDocuments = (props) => {\r\n const { allow } = props;\r\n const showDealerRates = allow.showDealerRates;\r\n const hasSalesDocuments = allow.hasSalesDocuments;\r\n return (\r\n \r\n \r\n {showDealerRates && hasSalesDocuments ? `Dealership Rates & Sales Documents` : showDealerRates ? \"Dealership Rates\" : \"Sales Documents\"}\r\n \r\n \r\n );\r\n};\r\n\r\nInnerRatesAndSalesDocuments.propTypes = {\r\n allow: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const RatesAndSalesDocuments = connect((state) => {\r\n return { allow: state.auth.allow };\r\n})(InnerRatesAndSalesDocuments);\r\n\r\nexport const NotificationRoleBased = (props) => (\r\n \r\n Dealership Role Based Notifications\r\n \r\n);\r\n\r\nexport const NotificationUsersBased = (props) => (\r\n \r\n Dealership Users Based Notifications\r\n \r\n);\r\n\r\nexport const NotificationUserBased = (props) => (\r\n \r\n Dealership User Based Notifications\r\n \r\n);\r\n\r\nexport const NotificationUserCreate = (props) => (\r\n \r\n Notification create for user\r\n \r\n);\r\n\r\nexport const ArchivedUserList = (props) => (\r\n \r\n Archived User List\r\n \r\n);\r\n\r\nexport const ActiveUserList = (props) => (\r\n \r\n Active User List\r\n \r\n);\r\nexport const Notification = (props) => (\r\n \r\n Notification\r\n \r\n);\r\n\r\nexport const GlobalConfig = (props) => (\r\n \r\n Global Configs\r\n \r\n);\r\n\r\nexport const ManualDisclosurePendingList = (props) => (\r\n \r\n Disclosure Pending List\r\n \r\n);\r\nexport const DisclosurePendingList = (props) => (\r\n \r\n Disclosure Sign Pending List\r\n \r\n);\r\n\r\nexport const DisclosureUploadPendingList = (props) => (\r\n \r\n Disclosure Manual Upload Pending List\r\n \r\n);\r\n\r\nexport const FileUpload = (props) => (\r\n \r\n File Upload\r\n \r\n);\r\n\r\nexport const ManualDisclosureSubmittedList = (props) => (\r\n \r\n Disclosure Submitted List\r\n \r\n);\r\n\r\nexport const MBIDirectFileProcess = (props) => (\r\n \r\n MBI Guardian File Process\r\n \r\n);\r\n\r\nexport const DealerAgreementFileProcess = (props) => (\r\n \r\n Dealer Agreement File Process\r\n \r\n);\r\n\r\nexport const MBIGPolicyList = (props) => (\r\n \r\n MBI Guardian Policy List\r\n \r\n);\r\n\r\nexport const User = (props) => (\r\n \r\n User\r\n \r\n);\r\n\r\nexport const VehicleMatchEdit = (props) => (\r\n \r\n Vehicle Match\r\n \r\n);\r\n\r\nexport const CycleMatchEdit = (props) => (\r\n \r\n Cycle Match\r\n \r\n);\r\n\r\nexport const Applications = (props) => (\r\n \r\n Applications\r\n \r\n);\r\n\r\nexport const Processing = (props) => (\r\n \r\n Processing\r\n \r\n);\r\n\r\nexport const Review = (props) => (\r\n \r\n Review\r\n \r\n);\r\n\r\nexport const AllPolicies = (props) => (\r\n \r\n All Policies\r\n \r\n);\r\n\r\nexport const AllQuotes = (props) => (\r\n \r\n All Quotes\r\n \r\n);\r\n\r\nexport const Archives = (props) => (\r\n \r\n Archives\r\n \r\n);\r\n\r\nexport const Referrals = (props) => (\r\n \r\n Referrals\r\n \r\n);\r\n\r\nexport const RecentPolicies = (props) => (\r\n \r\n Recent Policies\r\n \r\n);\r\n\r\nexport const RecentPoliciesWORegos = (props) => (\r\n \r\n Recent Policies Without Regos\r\n \r\n);\r\n\r\nexport const RecentQuotes = (props) => (\r\n \r\n Recent Quotes\r\n \r\n);\r\n\r\nexport const AdjustedPremiums = (props) => (\r\n \r\n Credit Cards Export\r\n \r\n);\r\n\r\nexport const APMC = (props) => (\r\n \r\n APMC Policy Summary\r\n \r\n);\r\n\r\nexport const APMV = (props) => (\r\n \r\n APMV Policy Summary\r\n \r\n);\r\n\r\nexport const APMVCommisions = (props) => (\r\n \r\n Credit Cards Export\r\n \r\n);\r\n\r\nexport const Classic = (props) => (\r\n \r\n Classic Policy Summary\r\n \r\n);\r\n\r\nexport const ClassicFollowUp = (props) => (\r\n \r\n Classic Policy Summary\r\n \r\n);\r\n\r\nexport const CreditCard = (props) => (\r\n \r\n Credit Cards Export\r\n \r\n);\r\n\r\nexport const DealerSales = (props) => (\r\n \r\n Dealership Sales Export\r\n \r\n);\r\n\r\nexport const DirectDebit = (props) => (\r\n \r\n Direct Debits Export\r\n \r\n);\r\n\r\nexport const RenewalLogs = (props) => (\r\n \r\n Renewal Logs Export\r\n \r\n);\r\n\r\nexport const WebserviceLogs = (props) => (\r\n \r\n Webservice Logs\r\n \r\n);\r\n\r\nexport const LastMonth = (props) => (\r\n \r\n Last Months Elogs\r\n \r\n);\r\n\r\nexport const ThisMonth = (props) => (\r\n \r\n This Months Elogs\r\n \r\n);\r\n\r\nexport const RedbookVehicleFinder = () => (\r\n \r\n Redbook Search\r\n \r\n);\r\n\r\nexport const FinaneNowListing = (props) => (\r\n \r\n Finance Now Policy List\r\n \r\n);\r\nconst InnerPolicy = (props) => {\r\n const isNew = parseInt(props.PolicyPackage.id, 10) <= 0;\r\n const policyNumber = props.PolicyPackage.policynumber ? props.PolicyPackage.policynumber : \"\";\r\n return {isNew ? New Quotation : {policyNumber}};\r\n};\r\n\r\nInnerPolicy.propTypes = {\r\n PolicyPackage: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const Policy = connect(\r\n (state) => {\r\n return { PolicyPackage: state.policy.PolicyPackage };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerPolicy);\r\n\r\nconst InnerDealership = (props) => {\r\n const { dealership } = props;\r\n return (\r\n \r\n {dealership.name}\r\n \r\n );\r\n};\r\n\r\nInnerDealership.propTypes = {\r\n dealership: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const Dealership = connect(\r\n (state) => {\r\n return { dealership: state.dealership };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerDealership);\r\n\r\nconst InnerQuickSetupDealership = (props) => {\r\n const { dealership } = props;\r\n return (\r\n \r\n {dealership.name}\r\n \r\n );\r\n};\r\n\r\nInnerQuickSetupDealership.propTypes = {\r\n dealership: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const DealershipQuickSetup = connect(\r\n (state) => {\r\n return { dealership: state.dealership };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerQuickSetupDealership);\r\n\r\nconst InnerMonth = (props) => {\r\n const { month } = props;\r\n return (\r\n \r\n {month.dealership + \" \" + month.businessmanager + \" \" + month.monthtext + \" \" + month.year}\r\n \r\n );\r\n};\r\n\r\nInnerMonth.propTypes = {\r\n month: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const Month = connect(\r\n (state) => {\r\n return { month: state.Month.month };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerMonth);\r\n\r\nconst InnerSalesLog = (props) => {\r\n const { month, saleslog } = props;\r\n return (\r\n \r\n {month.dealership + \" \" + month.businessmanager + \" \" + month.monthtext + \" \" + month.year}\r\n \r\n {saleslog.customername}\r\n \r\n );\r\n};\r\n\r\nInnerSalesLog.propTypes = {\r\n month: PropTypes.object.isRequired,\r\n saleslog: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const SalesLog = connect(\r\n (state) => {\r\n return { month: state.Month.month, saleslog: state.SalesLog.saleslog };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerSalesLog);\r\n\r\nexport const FinanceCompanies = (props) => (\r\n \r\n Finance Companies\r\n {props.children}\r\n \r\n);\r\n\r\nFinanceCompanies.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\r\n};\r\n\r\nconst InnerFinanceCompany = (props) => {\r\n const { financecompany } = props;\r\n return (\r\n \r\n \r\n {financecompany.name}\r\n \r\n );\r\n};\r\n\r\nInnerFinanceCompany.propTypes = {\r\n financecompany: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const FinanceCompany = connect(\r\n (state) => {\r\n return { financecompany: state.financecompanyEdit.financecompany };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerFinanceCompany);\r\n\r\nexport const AgentLocator = (props) => (\r\n
    \r\n \r\n Home\r\n \r\n \r\n Agent Locator\r\n
    \r\n);\r\n\r\nexport const ClaimsList = (props) => (\r\n \r\n Claims\r\n {props.children}\r\n \r\n);\r\n\r\nClaimsList.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\r\n};\r\n\r\nconst InnerClaim = (props) => {\r\n const { claim } = props;\r\n return (\r\n \r\n \r\n {claim.name}\r\n \r\n );\r\n};\r\n\r\nInnerClaim.propTypes = {\r\n claim: PropTypes.object.isRequired,\r\n};\r\n\r\nexport const Claim = connect(\r\n (state) => {\r\n return { claim: state.claimEdit.claim };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerClaim);\r\n\r\nexport const MakeAClaim = (props) => (\r\n
    \r\n \r\n Home\r\n \r\n \r\n Make A Claim\r\n
    \r\n);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { Switch, Route } from \"react-router-dom\";\r\n\r\nimport asyncComponent from \"./components/asyncComponent\";\r\n\r\nimport * as BreadCrumb from \"./components/Breadcrumb\";\r\n\r\nconst AllPolicies = asyncComponent(() => import(\"./policylists/AllPolicies\"));\r\nconst AllQuotes = asyncComponent(() => import(\"./policylists/AllQuotes\"));\r\nconst Archives = asyncComponent(() => import(\"./policylists/Archives\"));\r\nconst RecentPolicies = asyncComponent(() => import(\"./policylists/RecentPolicies\"));\r\nconst RecentPoliciesWORegos = asyncComponent(() => import(\"./policylists/RecentPoliciesWORegos\"));\r\nconst RecentQuotes = asyncComponent(() => import(\"./policylists/RecentQuotes\"));\r\nconst Referrals = asyncComponent(() => import(\"./policylists/Referrals\"));\r\nconst Cancellation = asyncComponent(() => import(\"./policyactions/cancellation/Cancellation\"));\r\nconst ErrorReport = asyncComponent(() => import(\"./policyactions/errorreport/ErrorReport\"));\r\nconst Wording = asyncComponent(() => import(\"./policyactions/wording/Wording\"));\r\nconst Dealerships = asyncComponent(() => import(\"./dashboard/dealership/list/DealershipList\"));\r\nconst DealershipUsers = asyncComponent(() => import(\"./dashboard/user/list/DealerUsersList\"));\r\nconst ManualPendingList = asyncComponent(() => import(\"./policy/components/disclosure/list/ManualRequestList\"));\r\nconst ManualSubmittedList = asyncComponent(() => import(\"./policy/components/disclosure/list/ManualSubmittedList\"));\r\nconst DisclosurePendingList = asyncComponent(() => import(\"./policy/components/disclosure/pending/DigitalSigningPendingList\"));\r\nconst DisclosureManualUploadPendingList = asyncComponent(() => import(\"./policy/components/disclosure/pending/ManualDisclosureUploadPendingList\"));\r\nconst ActiveUsers = asyncComponent(() => import(\"./dashboard/user/list/ActiveUsersList\"));\r\nconst VehicleMatchList = asyncComponent(() => import(\"./dashboard/vehicleconfigs/list/VehicleMatching\"));\r\nconst CycleMatchList = asyncComponent(() => import(\"./dashboard/vehicleconfigs/list/CycleMatching\"));\r\nconst Notification = asyncComponent(() => import(\"./dashboard/notifications/edit/Notifications\"));\r\nconst NotificationRoleBased = asyncComponent(() => import(\"./dashboard/notifications/list/RoleNotificationsList\"));\r\nconst NotificationUsersBased = asyncComponent(() => import(\"./dashboard/notifications/list/UsersNotificationsList\"));\r\nconst NotificationUserBased = asyncComponent(() => import(\"./dashboard/notifications/list/UserNotificationsListing\"));\r\nconst NotificationUserCreate = asyncComponent(() => import(\"./dashboard/notifications/edit/UserNotifications\"));\r\nconst User = asyncComponent(() => import(\"./dashboard/user/edit/User\"));\r\nconst VehicleMatch = asyncComponent(() => import(\"./dashboard/vehicleconfigs/edit/VehicleMatchEdit\"));\r\nconst CycleMatch = asyncComponent(() => import(\"./dashboard/vehicleconfigs/edit/CycleMatchEdit\"));\r\nconst FNPolicyList = asyncComponent(() => import(\"./webservices/fnlist/List\"));\r\nconst ArchivedUsers = asyncComponent(() => import(\"./dashboard/user/list/ArchivedUserList\"));\r\nconst DealershipStaffRole = asyncComponent(() => import(\"./dashboard/user/roles/DealershipRoles\"));\r\nconst GlobalConfig = asyncComponent(() => import(\"./dashboard/config/GlobalConfig\"));\r\nconst Applications = asyncComponent(() => import(\"./dashboard/dealership/list/ApplicationsList\"));\r\nconst Processing = asyncComponent(() => import(\"./dashboard/dealership/list/ProcessingList\"));\r\nconst Review = asyncComponent(() => import(\"./dashboard/dealership/list/ReviewList\"));\r\nconst Dealership = asyncComponent(() => import(\"./dashboard/dealership/edit/Dealership\"));\r\nconst DealershipQuickSetup = asyncComponent(() => import(\"./dashboard/dealership/edit/DealershipQuickSetUp\"));\r\nconst DealershipConfigList = asyncComponent(() => import(\"./dashboard/dealership/list/configs/DealershipConfigList\"));\r\nconst DealershipConfig = asyncComponent(() => import(\"./dashboard/dealership/edit/DealershipConfig\"));\r\nconst APMCExport = asyncComponent(() => import(\"./dashboard/exports/APMC\"));\r\nconst APMVExport = asyncComponent(() => import(\"./dashboard/exports/APMV\"));\r\nconst ClassicExport = asyncComponent(() => import(\"./dashboard/exports/Classic\"));\r\nconst ClassicFollowUp = asyncComponent(() => import(\"./dashboard/exports/ClassicFollowUp\"));\r\nconst DirectDebitExport = asyncComponent(() => import(\"./dashboard/exports/DirectDebit\"));\r\nconst CreditCardExport = asyncComponent(() => import(\"./dashboard/exports/CreditCard\"));\r\nconst RenewalLogsExport = asyncComponent(() => import(\"./dashboard/exports/RenewalLogs\"));\r\nconst DealerSalesExport = asyncComponent(() => import(\"./dashboard/exports/DealerSales\"));\r\nconst AdjustedPremiumsExport = asyncComponent(() => import(\"./dashboard/exports/AdjustedPremiums\"));\r\nconst APMVCommisionsExport = asyncComponent(() => import(\"./dashboard/exports/APMVCommisions\"));\r\nconst ThisMonth = asyncComponent(() => import(\"./elog/ThisMonth\"));\r\nconst LastMonth = asyncComponent(() => import(\"./elog/LastMonth\"));\r\nconst Month = asyncComponent(() => import(\"./elog/month/Month\"));\r\nconst SalesLog = asyncComponent(() => import(\"./elog/saleslog/SalesLog\"));\r\nconst WSLogList = asyncComponent(() => import(\"./webservices/list/List\"));\r\nconst Dashboard = asyncComponent(() => import(\"./dashboard/Dashboard\"));\r\nconst HomePage = asyncComponent(() => import(\"./homepage/Home\"));\r\nconst Policy = asyncComponent(() => import(\"./policy/Policy\"));\r\nconst FinanceCompanies = asyncComponent(() => import(\"./financecompanies/list/List\"));\r\nconst FinanceCompany = asyncComponent(() => import(\"./financecompanies/edit/FinanceCompany\"));\r\nconst ClaimsList = asyncComponent(() => import(\"./claims/list/List\"));\r\nconst ClaimsEdit = asyncComponent(() => import(\"./claims/edit/Edit\"));\r\nconst AgentLocator = asyncComponent(() => import(\"./agentlocator/AgentList\"));\r\nconst MakeAClaim = asyncComponent(() => import(\"./claims/makeaclaim/MakeAClaim\"));\r\nconst Products = asyncComponent(() => import(\"./homepage/ProductPage\"));\r\nconst Training = asyncComponent(() => import(\"./homepage/TrainingPage\"));\r\nconst Privacy = asyncComponent(() => import(\"./homepage/PrivacyPage\"));\r\nconst MBIDirectFileProcess = asyncComponent(() => import(\"./dashboard/mbidirect/FileUpload\"));\r\nconst DealerAgreementProcess = asyncComponent(() => import(\"./dashboard/dealeragreement/DealerAgreementUpload\"));\r\nconst MBIPolicyList = asyncComponent(() => import(\"./policylists/mbid/List\"));\r\nconst FileUpload = asyncComponent(() => import(\"./dashboard/fileupload/FileUpload\"));\r\nconst RedbookVehicleFinder = asyncComponent(() => import(\"./components/vehicle/redbook/RedbookVehicleFinder\"));\r\nconst RatesAndSalesDocuments = asyncComponent(() => import(\"./dashboard/dealership/rates/dealer/RatesAndSalesDocuments\"));\r\nconst DealershipRates = asyncComponent(() => import(\"./dashboard/dealership/rates/RateCharts\"));\r\n\r\nconst HomeNotice = asyncComponent(() => import(\"./dashboard/config/HomeBannerNotice\"));\r\n\r\nconst routes = [\r\n { key: 1, path: \"/Dashboard\", component: Dashboard, bcComponent: BreadCrumb.Dashboard, exact: true },\r\n { key: 2, path: \"/Dashboard/Cancellation\", component: Cancellation, bcComponent: BreadCrumb.PolicyCancellation },\r\n { key: 3, path: \"/Dashboard/Wording\", component: Wording, bcComponent: BreadCrumb.PolicyWording },\r\n { key: 4, path: \"/Dashboard/PolicyList/AllPolicies\", component: AllPolicies, bcComponent: BreadCrumb.AllPolicies },\r\n { key: 5, path: \"/Dashboard/PolicyList/AllQuotes\", component: AllQuotes, bcComponent: BreadCrumb.AllQuotes },\r\n { key: 6, path: \"/Dashboard/PolicyList/Referrals\", component: Referrals, bcComponent: BreadCrumb.Referrals },\r\n { key: 7, path: \"/Dashboard/PolicyList/RecentPolicies\", component: RecentPolicies, bcComponent: BreadCrumb.RecentPolicies },\r\n { key: 8, path: \"/Dashboard/PolicyList/RecentQuotes\", component: RecentQuotes, bcComponent: BreadCrumb.RecentQuotes },\r\n { key: 9, path: \"/Dashboard/PolicyList/Archives\", component: Archives, bcComponent: BreadCrumb.Archives },\r\n { key: 10, path: \"/Dashboard/Policy/:id\", component: Policy, bcComponent: BreadCrumb.Policy, exact: true },\r\n { key: 11, path: \"/Dashboard/Dealerships/Current\", component: Dealerships, bcComponent: BreadCrumb.Dealerships },\r\n { key: 12, path: \"/Dashboard/Dealerships/Applications\", component: Applications, bcComponent: BreadCrumb.Applications },\r\n { key: 13, path: \"/Dashboard/Dealerships/Processing\", component: Processing, bcComponent: BreadCrumb.Processing },\r\n { key: 14, path: \"/Dashboard/Dealerships/Review\", component: Review, bcComponent: BreadCrumb.Review },\r\n { key: 15, path: \"/Dashboard/Dealerships/:id\", component: Dealership, bcComponent: BreadCrumb.Dealership, exact: true },\r\n { key: 16, path: \"/Dashboard/Export/APMV\", component: APMVExport, bcComponent: BreadCrumb.APMV },\r\n { key: 17, path: \"/Dashboard/Export/APMC\", component: APMCExport, bcComponent: BreadCrumb.APMC },\r\n { key: 18, path: \"/Dashboard/Export/Classic\", component: ClassicExport, bcComponent: BreadCrumb.Classic },\r\n { key: 19, path: \"/Dashboard/Export/DirectDebit\", component: DirectDebitExport, bcComponent: BreadCrumb.DirectDebit },\r\n { key: 20, path: \"/Dashboard/Export/CreditCard\", component: CreditCardExport, bcComponent: BreadCrumb.CreditCard },\r\n { key: 21, path: \"/Dashboard/Export/RenewalLogs\", component: RenewalLogsExport, bcComponent: BreadCrumb.RenewalLogs },\r\n { key: 22, path: \"/Dashboard/Export/DealerSales\", component: DealerSalesExport, bcComponent: BreadCrumb.DealerSales },\r\n { key: 23, path: \"/Dashboard/Export/AdjustedPremiums\", component: AdjustedPremiumsExport, bcComponent: BreadCrumb.AdjustedPremiums },\r\n { key: 24, path: \"/Dashboard/Export/APMVComissions\", component: APMVCommisionsExport, bcComponent: BreadCrumb.APMVCommisions },\r\n { key: 25, path: \"/Dashboard/Export/ClassicFollowUp\", component: ClassicFollowUp, bcComponent: BreadCrumb.ClassicFollowUp },\r\n { key: 26, path: \"/Dashboard/ELog/CurrentMonth\", component: ThisMonth, bcComponent: BreadCrumb.ThisMonth },\r\n { key: 27, path: \"/Dashboard/ELog/LastMonth\", component: LastMonth, bcComponent: BreadCrumb.LastMonth },\r\n { key: 28, path: \"/Dashboard/ELog/Month/:idMonth\", component: Month, bcComponent: BreadCrumb.Month, exact: true },\r\n { key: 29, path: \"/Dashboard/ELog/Month/:idMonth/:idSalesLog\", component: SalesLog, bcComponent: BreadCrumb.SalesLog },\r\n { key: 30, path: \"/Dashboard/Webservices/Logs\", component: WSLogList, bcComponent: BreadCrumb.WebserviceLogs },\r\n { key: 31, path: \"/Dashboard/FinanceCompanies/\", component: FinanceCompanies, bcComponent: BreadCrumb.FinanceCompanies },\r\n { key: 33, path: \"/Dashboard/FinanceCompany/:id\", component: FinanceCompany, bcComponent: BreadCrumb.FinanceCompany },\r\n { key: 33, path: \"/Dashboard/Claims\", component: ClaimsList, bcComponent: BreadCrumb.ClaimsList },\r\n { key: 34, path: \"/Dashboard/Claim/:id\", component: ClaimsEdit, bcComponent: BreadCrumb.Claim },\r\n { key: 35, path: \"/Dashboard/ErrorReport\", component: ErrorReport, bcComponent: BreadCrumb.ErrorReport },\r\n { key: 36, path: \"/AgentLocator\", component: AgentLocator, bcComponent: BreadCrumb.AgentLocator, public: true },\r\n { key: 37, path: \"/MakeAClaim\", component: MakeAClaim, bcComponent: BreadCrumb.MakeAClaim },\r\n { key: 38, path: \"/Dashboard/Policy/:id/:ccid\", component: Policy, bcComponent: BreadCrumb.Policy },\r\n { key: 39, path: \"/Dashboard/PolicyList/RecentPoliciesWORegos\", component: RecentPoliciesWORegos, bcComponent: BreadCrumb.RecentPoliciesWORegos },\r\n { key: 40, path: \"/\", component: HomePage, exact: true, public: true },\r\n { key: 41, path: \"/Dashboard/products\", component: Products, exact: true },\r\n { key: 42, path: \"/training\", component: Training, exact: true },\r\n { key: 43, path: \"/privacy\", component: Privacy, exact: true },\r\n { key: 44, path: \"/Dashboard/Dealer/Config\", component: DealershipConfigList, bcComponent: BreadCrumb.DealershipConfigs, exact: true },\r\n { key: 45, path: \"/Dashboard/Dealer/Config/:code\", component: DealershipConfig, bcComponent: BreadCrumb.DealershipConfigs },\r\n { key: 46, path: \"/Dashboard/Users/Current\", component: DealershipUsers, bcComponent: BreadCrumb.DealershipUsers },\r\n { key: 47, path: \"/Dashboard/Dealership/Users/:code\", component: ActiveUsers, bcComponent: BreadCrumb.ActiveUsers, exact: true },\r\n { key: 48, path: \"/Dashboard/User/Roles\", component: DealershipStaffRole, bcComponent: BreadCrumb.DealershipStaffRoles },\r\n { key: 49, path: \"/Dashboard/Users/ActiveList\", component: ActiveUsers, bcComponent: BreadCrumb.DealershipStaffRoles, exact: true },\r\n { key: 50, path: \"/Dashboard/User/ArchivedList\", component: ArchivedUsers, bcComponent: BreadCrumb.DealershipStaffRoles, exact: true },\r\n { key: 51, path: \"/Dashboard/Notification/Roles\", component: NotificationRoleBased, bcComponent: BreadCrumb.DealershipUser },\r\n { key: 52, path: \"/Dashboard/Notification/Users\", component: NotificationUsersBased, bcComponent: BreadCrumb.NotificationUsersBased },\r\n { key: 53, path: \"/Dashboard/Notification/User/:id\", component: NotificationUserBased, bcComponent: BreadCrumb.NotificationUserBased, exact: true },\r\n { key: 54, path: \"/Dashboard/Notification/User/Create/:userid\", component: NotificationUserCreate, bcComponent: BreadCrumb.NotificationUserCreate },\r\n {\r\n key: 55,\r\n path: \"/Dashboard/Notification/User/Notification/:notificationid\",\r\n component: NotificationUserCreate,\r\n bcComponent: BreadCrumb.NotificationUserCreate,\r\n exact: true,\r\n },\r\n { key: 56, path: \"/Dashboard/VehicleMatchList\", component: VehicleMatchList, bcComponent: BreadCrumb.VehicleMatchListing, exact: true },\r\n { key: 57, path: \"/Dashboard/CycleMatchList\", component: CycleMatchList, bcComponent: BreadCrumb.CycleeMatchListing, exact: true },\r\n { key: 58, path: \"/Dashboard/VehicleMatch/:id\", component: VehicleMatch, bcComponent: BreadCrumb.VehicleMatchEdit, exact: true },\r\n { key: 59, path: \"/Dashboard/CycleMatch/:id\", component: CycleMatch, bcComponent: BreadCrumb.CycleMatchEdit, exact: true },\r\n { key: 60, path: \"/Dashboard/Create/User\", component: User, bcComponent: BreadCrumb.ActiveUserList, exact: true },\r\n { key: 61, path: \"/Dashboard/Notification/:id\", component: Notification, bcComponent: BreadCrumb.Notification },\r\n { key: 62, path: \"/Dashboard/User/:id\", component: User, bcComponent: BreadCrumb.User, exact: true },\r\n { key: 63, path: \"/Dashboard/Notifications/Create\", component: Notification, bcComponent: BreadCrumb.Notification, exact: true },\r\n { key: 64, path: \"/Dashboard/DealershipQuickSetup/:id\", component: DealershipQuickSetup, bcComponent: BreadCrumb.DealershipQuickSetup },\r\n { key: 65, path: \"/Dashboard/MBIG/FileProcess\", component: MBIDirectFileProcess, bcComponent: BreadCrumb.MBIDirectFileProcess },\r\n {\r\n key: 66,\r\n path: \"/Dashboard/Config\",\r\n component: GlobalConfig,\r\n bcComponent: BreadCrumb.GlobalConfig,\r\n },\r\n {\r\n key: 67,\r\n path: \"/Dashboard/Disclosure/Pending\",\r\n component: ManualPendingList,\r\n bcComponent: BreadCrumb.ManualDisclosurePendingList,\r\n },\r\n {\r\n key: 68,\r\n path: \"/Dashboard/Disclosure/Submitted\",\r\n component: ManualSubmittedList,\r\n bcComponent: BreadCrumb.ManualDisclosureSubmittedList,\r\n },\r\n\r\n {\r\n key: 69,\r\n path: \"/Dashboard/FileUpload\",\r\n component: FileUpload,\r\n bcComponent: BreadCrumb.FileUpload,\r\n },\r\n {\r\n key: 70,\r\n path: \"/Dashboard/redbook/search\",\r\n component: RedbookVehicleFinder,\r\n bcComponent: BreadCrumb.RedbookVehicleFinder,\r\n },\r\n {\r\n key: 71,\r\n path: \"/Dashboard/Rates\",\r\n component: RatesAndSalesDocuments,\r\n bcComponent: BreadCrumb.RatesAndSalesDocuments,\r\n },\r\n { key: 72, path: \"/Dashboard/MBIG/PolicyList\", component: MBIPolicyList, bcComponent: BreadCrumb.MBIGPolicyList },\r\n { key: 73, path: \"/Dashboard/FinanceNow/PolicyList\", component: FNPolicyList, bcComponent: BreadCrumb.FinaneNowListing },\r\n {\r\n key: 74,\r\n path: \"/Dashboard/Dealership/Rates\",\r\n component: DealershipRates,\r\n bcComponent: BreadCrumb.DealershipRates,\r\n },\r\n { key: 75, path: \"/Dashboard/Dealership/FileProcess\", component: DealerAgreementProcess, bcComponent: BreadCrumb.DealerAgreementFileProcess },\r\n {\r\n key: 76,\r\n path: \"/Dashboard/Disclosure/SignPending\",\r\n component: DisclosurePendingList,\r\n bcComponent: BreadCrumb.DisclosurePendingList,\r\n },\r\n {\r\n key: 77,\r\n path: \"/Dashboard/Disclosure/PendingUpload\",\r\n component: DisclosureManualUploadPendingList,\r\n bcComponent: BreadCrumb.DisclosureUploadPendingList,\r\n },\r\n {\r\n key: 79,\r\n path: \"/Dashboard/updatehomebanner\",\r\n component: HomeNotice,\r\n },\r\n];\r\n\r\nconst Routes = (props) => {\r\n return (\r\n \r\n {routes.map((route) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nRoutes.propTypes = {\r\n auth: PropTypes.shape({\r\n user: PropTypes.object,\r\n allow: PropTypes.object,\r\n }),\r\n};\r\n\r\nexport default Routes;\r\n\r\nexport const Breadcrumb = (props) => (\r\n \r\n {routes.map((route) => (\r\n \r\n ))}\r\n \r\n);\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport Col from 'react-bootstrap/lib/Col'\r\nimport ControlLabel from 'react-bootstrap/lib/ControlLabel'\r\n\r\nconst Label = (props) => {\r\n var { span, text, required, ...other } = props\r\n return (\r\n {props.text}\r\n )\r\n}\r\n\r\nLabel.defaultProps = {\r\n span: 4,\r\n required: false\r\n}\r\n\r\nLabel.propTypes = {\r\n text: PropTypes.string.isRequired,\r\n span: PropTypes.number,\r\n required: PropTypes.bool\r\n}\r\n\r\nexport default Label\r\n","import React from 'react'\r\n\r\nimport Frame from '../../Frame.js'\r\nimport StoreLogger from '../../components/StoreLogger'\r\nimport Inner from '../../components/Inner'\r\nimport Widget from '../../components/Widget'\r\n\r\nimport CenteredMax600px from '../../components/isotope/CenteredMax600px'\r\n\r\nconst ErrorPage = (props) => {\r\n return (\r\n \r\n \r\n \r\n

    Error

    \r\n \r\n

    Access Denied

    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default ErrorPage\r\n","export const INITIALIZE = \"MBIQQ_INITIALIZE\";\r\nexport const initialize = (PolicyPackage) => {\r\n return { type: INITIALIZE, PolicyPackage };\r\n};\r\n\r\nexport const INITIALIZED = \"MBIQQ_INITIALIZED\";\r\nexport const initialized = (PolicyPackage, ui) => {\r\n return { type: INITIALIZED, viewmodel: \"MBIQuickQuote\", PolicyPackage, ui };\r\n};\r\n\r\nexport const UPDATE = \"MBIQQ_UPDATE\";\r\nexport const update = (PolicyPackage) => {\r\n return { type: UPDATE, PolicyPackage, viewmodel: \"MBIQuickQuote\" };\r\n};\r\n\r\nexport const OPTION_SELECTED = \"MBIQQ_OPTION_SELECTED\";\r\nexport const optionSelected = (optionCode) => {\r\n return { type: OPTION_SELECTED, optionCode };\r\n};\r\n\r\nexport const POWERTRAIN_SELECTED = \"MBIQQ_POWERTRAIN_SELECTED\";\r\nexport const powertrainSelected = (powertrain) => {\r\n return { type: POWERTRAIN_SELECTED, powertrain };\r\n};\r\n\r\nexport const EVHYBRID_SELECTED = \"MBIQQ_EVHYBRID_SELECTED\";\r\nexport const evHybridSelected = (evhybrid) => {\r\n return { type: EVHYBRID_SELECTED, evhybrid };\r\n};\r\n\r\nexport const ORIGIN_SELECTED = \"MBIQQ_ORIGIN_SELECTED\";\r\nexport const originSelected = (origin) => {\r\n return { type: ORIGIN_SELECTED, origin };\r\n};\r\n\r\nexport const CALCULATE_PREMIUMS = \"MBIQQ_CALCULATE_PREMIUMS\";\r\nexport const calculatePremiums = (PolicyPackage) => {\r\n return { type: CALCULATE_PREMIUMS, PolicyPackage };\r\n};\r\n\r\nexport const PREMIUMS_CALCULATED = \"MBIQQ_PREMIUMS_CALCULATED\";\r\nexport const premiumsCalculated = (QuickQuote) => {\r\n return { type: PREMIUMS_CALCULATED, QuickQuote };\r\n};\r\n\r\nexport const RESET = \"MBIQQ_RESET\";\r\nexport const reset = () => {\r\n return { type: RESET };\r\n};\r\n\r\nexport const WAIT = \"MBIQQ_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"MBIQQ_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n\r\nexport const CONTINUE_SAVE = \"MBIQQ_CONTINUE_SAVE\";\r\nexport const continueSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_SAVE, PolicyPackage, print };\r\n};\r\n\r\nexport const CONTINUE_DO_SAVE = \"MBIQQ_CONTINUE_DO_SAVE\";\r\nexport const continueDoSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_DO_SAVE, PolicyPackage, print };\r\n};\r\n\r\nexport const CONTINUE_WAIT = \"MBIQQ_CONTINUE_WAIT\";\r\nexport const continueWait = () => {\r\n return { type: CONTINUE_WAIT };\r\n};\r\n\r\nexport const CLOSE_SAVE = \"MBIQQ_CLOSE_SAVE\";\r\nexport const closeSave = () => {\r\n return { type: CLOSE_SAVE };\r\n};\r\n","export const QUERY_ALLOWED = \"AUTH_QUERY_ALLOWED\";\r\nexport const queryAllowed = () => {\r\n return { type: QUERY_ALLOWED };\r\n};\r\n\r\nexport const SET_AUTH = \"AUTH_SET_AUTH\";\r\nexport const setAuth = (token, allow, user, dealership) => {\r\n return { type: SET_AUTH, token, allow, user, dealership };\r\n};\r\n\r\nexport const SET_TOKEN_DOTNET = \"SET_TOKEN_DOTNET\";\r\nexport const setTokenDotnet = (tokenDotnet) => {\r\n return { type: SET_TOKEN_DOTNET, tokenDotnet };\r\n};\r\n\r\nexport const SHOW_LOGIN = \"AUTH_SHOWLOGIN\";\r\nexport const showLogin = () => {\r\n return { type: SHOW_LOGIN };\r\n};\r\n\r\nexport const SIGNED_OUT = \"AUTH_SIGNED_OUT\";\r\nexport const signedOut = () => {\r\n return { type: SIGNED_OUT };\r\n};\r\n\r\nexport const WAIT = \"AUTH_SET_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n","export const NEW = \"MYAPPLICATIONS_NEW\";\r\nexport const newApplication = () => {\r\n return { type: NEW };\r\n};\r\n\r\nexport const DEALER_SETUP_ADMIN = \"DEALER_SETUP_ADMIN\";\r\nexport const dealerSetUpForAdmin = () => {\r\n return { type: DEALER_SETUP_ADMIN };\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/logo-tagline.a97f66bb.png\";","import React from 'react'\r\n\r\nimport bugsnag from '@bugsnag/js'\r\nimport bugsnagReact from '@bugsnag/plugin-react'\r\n\r\n//const bugsnagClient = bugsnag('cfbecf0e14816dcfe2c16e093c09d530')\r\nconst bugsnagClient = bugsnag('a184f01e1bbe532aef034cc3b2e84d91')\r\nbugsnagClient.use(bugsnagReact, React)\r\n\r\nconst ErrorBoundary = bugsnagClient.getPlugin('react')\r\n\r\nexport {\r\n bugsnagClient,\r\n ErrorBoundary\r\n}\r\n","import React, { PureComponent } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport history from '../history'\r\n\r\nimport WhiteIcon from '../components/WhiteIcon'\r\n\r\nclass Back extends PureComponent {\r\n constructor (props) {\r\n super(props)\r\n\r\n this.handleClick = this.handleClick.bind(this)\r\n }\r\n\r\n handleClick () {\r\n history.goBack()\r\n }\r\n\r\n render () {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nBack.propTypes = {\r\n className: PropTypes.string,\r\n style: PropTypes.object\r\n}\r\n\r\nBack.defaultProps = {\r\n className: '',\r\n style: { position: 'relative', top: '-4px', marginRight: '8px', float: 'left' }\r\n}\r\n\r\nexport default Back\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Control } from 'react-redux-form'\r\n\r\nimport Col from 'react-bootstrap/lib/Col'\r\n\r\nimport Error from './Error'\r\n\r\nconst Select = (props) => {\r\n const {\r\n span,\r\n offset,\r\n children,\r\n ...other\r\n } = props\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n { other.required && }\r\n \r\n )\r\n}\r\n\r\nSelect.defaultProps = {\r\n span: 8,\r\n offset: 0\r\n}\r\n\r\nSelect.propTypes = {\r\n model: PropTypes.string.isRequired,\r\n span: PropTypes.number,\r\n offset: PropTypes.number,\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ])\r\n}\r\n\r\nexport default Select\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Full = (props) => {\r\n return (\r\n
    \r\n {props.children}\r\n
    \r\n )\r\n}\r\n\r\nFull.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nexport default Full\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst Header = (props) => {\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nHeader.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledDiv = styled.div`\r\n height: 46px;\r\n padding: 12px 8px 8px;\r\n font-size: 17px;\r\n border-radius: 4px 4px 0 0\r\n`\r\n\r\nexport default Header\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst ResponsiveTable = (props) => {\r\n return (\r\n
    \r\n \r\n {props.children}\r\n \r\n
    \r\n )\r\n}\r\n\r\nResponsiveTable.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledTable = styled.table`\r\n margin-bottom: 10px;\r\n`\r\n\r\nexport default ResponsiveTable\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components'\r\n\r\nimport DropdownButton from 'react-bootstrap/lib/DropdownButton'\r\n\r\nconst DropNav = (props) => {\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nDropNav.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledDropdownButton = styled(DropdownButton)`\r\n position: relative;\r\n top: -10px;\r\n font-weight: 600;\r\n color: #333;\r\n background-color: transparent;\r\n`\r\n\r\nexport default DropNav\r\n","export const SAVETOPROTEUS = 'SAVETOPROTEUS'\r\nexport const saveToProteus = (policyid) => {\r\n return { type: SAVETOPROTEUS, policyid }\r\n}\r\n","import React, { Component, Fragment } from 'react'\r\n\r\nimport styled from 'styled-components'\r\n\r\nimport Button from 'react-bootstrap/lib/Button'\r\n\r\nimport FontAwesome from 'react-fontawesome'\r\n\r\nimport Tour from 'reactour'\r\n\r\nimport {\r\n disableBodyScroll,\r\n enableBodyScroll\r\n} from 'body-scroll-lock'\r\n\r\nclass ListTour extends Component {\r\n constructor (props) {\r\n super(props)\r\n\r\n this.state = {\r\n isTourOpen: false\r\n }\r\n\r\n this.openTour = this.openTour.bind(this)\r\n this.closeTour = this.closeTour.bind(this)\r\n }\r\n\r\n closeTour () {\r\n this.setState({ isTourOpen: false })\r\n }\r\n\r\n openTour () {\r\n this.setState({ isTourOpen: true })\r\n }\r\n\r\n disableBody (target) {\r\n disableBodyScroll(target)\r\n }\r\n\r\n enableBody (target) {\r\n enableBodyScroll(target)\r\n }\r\n\r\n render () {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n getSteps () {\r\n const steps = []\r\n\r\n steps.push({\r\n content: () => ()\r\n Protecta\r\n

    Listing and searching for quotes and policies has also been rewritten.

    \r\n
    )\r\n })\r\n\r\n steps.push({ selector: `[data-tour='policylist-search']`,\r\n content: () => (\r\n

    To search, type the term here and press enter.

    \r\n

    You may search by:

    \r\n
      \r\n
    • Policy number
    • \r\n
    • Quote number
    • \r\n
    • Dealer code
    • \r\n
    • The policy holder's name
    • \r\n
    • The name of the insured person
    • \r\n
    • The registration number of the vehicle or cycle
    • \r\n
    • The name of the person who wrote the policy
    • \r\n
    \r\n
    )\r\n })\r\n\r\n steps.push({ selector: '[data-tour=\"policylist-pagination\"]',\r\n content: () => (

    Use the pagination widget to step back thru the pages of polices or quotes.

    )\r\n })\r\n\r\n steps.push({ selector: '[data-tour=\"policylist-nav\"]',\r\n content: () => (\r\n

    You can quickly switch between viewing quotes or completed policies in the drop down nav here.

    \r\n

    If you can't find a quote or policy maybe it's has been or hasn't been completed. You can use this nav to repeat your search in the other type.

    \r\n
    )\r\n })\r\n\r\n steps.push({ selector: '[data-tour=\"policylist-policynumber\"]',\r\n content: () => (

    Click the policy number to continue editing a quote or to review a policy.

    )\r\n })\r\n\r\n steps.push({ selector: '[data-tour=\"policylist-product\"]',\r\n content: () => (

    The policy product types are listed here.

    )\r\n })\r\n\r\n steps.push({ selector: '[data-tour=\"policylist-creator\"]',\r\n content: () => (

    The name of the person who created the quote or policy is listed here.

    )\r\n })\r\n\r\n steps.push({ selector: '[data-tour=\"policylist-policyholder\"]',\r\n content: () => (

    The name of the customer is listed here.

    )\r\n })\r\n\r\n steps.push({ selector: '[data-tour=\"policylist-actionsbutton\"]',\r\n content: () => (

    Click click here to display a list of quick actions you have for each policy.

    )\r\n })\r\n\r\n return steps\r\n }\r\n}\r\n\r\nexport default ListTour\r\n\r\nconst RightButton = styled(Button)`\r\n position: relative;\r\n top: -4px;\r\n margin-left: 8px;\r\n margin-bottom: 0px;\r\n float: right;\r\n`\r\n","import React, { PureComponent } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport styled from \"styled-components\";\r\n\r\nimport { Control, Form, actions } from \"react-redux-form\";\r\n\r\nimport Pagination from \"react-js-pagination\";\r\n\r\nimport FontAwesome from \"react-fontawesome\";\r\n\r\nimport Col from \"react-bootstrap/lib/Col\";\r\nimport FormGroup from \"react-bootstrap/lib/FormGroup\";\r\nimport InputGroup from \"react-bootstrap/lib/InputGroup\";\r\nimport MenuItem from \"react-bootstrap/lib/MenuItem\";\r\n\r\nimport Frame from \"../../Frame\";\r\nimport store from \"../../store\";\r\n\r\nimport { loadPage, wait } from \"./actions\";\r\n\r\nimport Back from \"../../components/Back\";\r\nimport DropNav from \"../../components/DropNav\";\r\nimport Header from \"../../components/Header\";\r\nimport Inner from \"../../components/Inner\";\r\nimport ReponsiveTable from \"../../components/ResponsiveTable\";\r\nimport StoreLogger from \"../../components/StoreLogger\";\r\nimport Widget from \"../../components/Widget\";\r\nimport Wait from \"../../components/Wait\";\r\n\r\nimport Alert from \"../../components/Alert\";\r\n\r\nimport IsotopeItem from \"../../components/isotope/Full\";\r\n\r\nimport LoggedInOnly from \"../../components/security/LoggedInOnly\";\r\n\r\nimport ListTour from \"./ListTour\";\r\nimport Label from \"../../components/forms/Label\";\r\nimport Select from \"../../components/forms/Select\";\r\n\r\n// ajk - not really a HOC, I don't know what I'm doing tbh.\r\n\r\nclass InnerListHOC extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleSearchClear = this.handleSearchClear.bind(this);\r\n this.handleKeypress = this.handleKeypress.bind(this);\r\n this.doPageLoad = this.doPageLoad.bind(this);\r\n this.doLog = this.doLog.bind(this);\r\n }\r\n\r\n doLog(store) {\r\n console.log(store.getState().policyList);\r\n }\r\n\r\n componentDidMount() {\r\n const { policyList } = this.props;\r\n this.doPageLoad(policyList.activePage, policyList.search, this.props.policyList.searchtype);\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n const { policyList } = this.props;\r\n this.doPageLoad(pageNumber, policyList.data.search, this.props.policyList.searchtype);\r\n }\r\n\r\n handleSearch() {\r\n this.doPageLoad(1, this.props.policyList.search, this.props.policyList.searchtype);\r\n }\r\n\r\n handleSearchClear() {\r\n this.props.dispatch(actions.change(\"policyList.search\", \"\"));\r\n this.doPageLoad(1, \"\");\r\n }\r\n\r\n handleKeypress(event) {\r\n if (event.charCode === 13) {\r\n this.doPageLoad(1, this.props.policyList.search, this.props.policyList.searchtype);\r\n }\r\n }\r\n\r\n doPageLoad(page, search, searchtype) {\r\n const { data } = this.props.policyList;\r\n if (data.listType !== this.props.apiQuery || data.activePage !== page || data.search !== search) {\r\n this.props.dispatch(wait());\r\n this.props.dispatch(loadPage(this.props.apiQuery, page, search, searchtype));\r\n }\r\n }\r\n\r\n render() {\r\n const { policyList, allow } = this.props;\r\n\r\n const { ui } = policyList;\r\n console.log(policyList.searchtype);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {allow && allow.AllPolicies && }\r\n {allow && allow.AllQuotes && }\r\n {allow && allow.RecentReferrals && }\r\n {allow && allow.Archives && }\r\n {allow && (allow.AllPolicies || allow.AllQuotes || allow.RecentReferrals || allow.Archives) && }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {policyList.search !== \"\" && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n {ui.wait && (\r\n \r\n Please wait...\r\n \r\n )}\r\n\r\n {!ui.wait && policyList.data.records && policyList.data.records.length === 0 && No results found!}\r\n\r\n {policyList.data.records && policyList.data.records.length > 0 && (\r\n \r\n {this.props.headings()}\r\n \r\n {policyList.data.records &&\r\n policyList.data.records.map((policy) =>\r\n this.props.row({\r\n policy,\r\n allow,\r\n activepolicy: this.props.activepolicy,\r\n dispatch: this.props.dispatch,\r\n })\r\n )}\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nInnerListHOC.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n apiQuery: PropTypes.string.isRequired,\r\n headings: PropTypes.func.isRequired,\r\n row: PropTypes.func.isRequired,\r\n policyList: PropTypes.object.isRequired,\r\n allow: PropTypes.object.isRequired,\r\n activepolicy: PropTypes.object,\r\n dispatch: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n policyList: state.policyList,\r\n allow: state.auth.allow,\r\n activepolicy: state.dashboard.activepolicy,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return { dispatch };\r\n};\r\n\r\nconst ListHOC = connect(mapStateToProps, mapDispatchToProps)(InnerListHOC);\r\n\r\nexport default ListHOC;\r\n\r\nconst List = (props) => {\r\n return (\r\n
  • \r\n {props.name}\r\n
  • \r\n );\r\n};\r\n\r\nList.propTypes = {\r\n route: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n};\r\n\r\nconst StyledBack = styled(Back)`\r\n position: relative;\r\n top: -10px;\r\n margin-right: 8px;\r\n`;\r\n\r\nconst StyledAlert = styled(Alert)`\r\n text-align: center;\r\n margin-left: 10%;\r\n margin-right: 10%;\r\n`;\r\n\r\nexport const CenteredTD = styled.td`\r\n text-align: center;\r\n`;\r\n\r\nexport const RightTD = styled.td`\r\n text-align: right;\r\n`;\r\n\r\nexport const MenuRow = (props) => {\r\n if (typeof props.activepolicy === \"undefined\") {\r\n return null;\r\n }\r\n if (props.policy.id !== props.activepolicy.id) {\r\n return null;\r\n }\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nMenuRow.propTypes = {\r\n activepolicy: PropTypes.object,\r\n policy: PropTypes.object,\r\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\r\n span: PropTypes.number.isRequired,\r\n};\r\n\r\n// ajk - this function allows other areas of the dashboiard to issue a reload in the list in cases\r\n// where they have changed what should appear, without having to access the list's state.\r\nexport const issueReload = () => {\r\n const policyList = store.getState().policyList;\r\n return loadPage(policyList.listType, policyList.activePage, policyList.search);\r\n};\r\n","export const REBUILDCERT = 'REBUILDCERT'\r\nexport const rebuildCert = (policyid) => {\r\n return { type: REBUILDCERT, policyid }\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { connect } from 'react-redux'\r\n\r\nimport ErrorPage from './ErrorPage'\r\n\r\nconst InnerLoggedInOnly = (props) => {\r\n const {\r\n user\r\n } = props\r\n\r\n if (!user) {\r\n return \r\n }\r\n if (user.dealershipLogin && !user.selected) {\r\n return \r\n }\r\n return props.children\r\n}\r\n\r\nInnerLoggedInOnly.propTypes = {\r\n user: PropTypes.object.isRequired,\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n user: state.auth.user\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return { dispatch }\r\n}\r\n\r\nconst LoggedInOnly = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(InnerLoggedInOnly)\r\n\r\nexport default LoggedInOnly\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst CenteredMax600px = (props) => {\r\n return (\r\n \r\n \r\n { props.children }\r\n \r\n \r\n )\r\n}\r\n\r\nCenteredMax600px.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired\r\n}\r\n\r\nconst StyledDiv = styled.div`\r\n text-align: center;\r\n`\r\n\r\nconst StyledDiv2 = styled.div`\r\n max-width: 600px;\r\n margin: auto;\r\n text-align: left;\r\n`\r\n\r\nexport default CenteredMax600px\r\n","export const INITIALIZE = \"MVIQQ_INITIALIZE\";\r\nexport const initialize = (PolicyPackage) => {\r\n return { type: INITIALIZE, viewmodel: \"MVIQuickQuote\", PolicyPackage };\r\n};\r\n\r\nexport const RESET_MVI_OPTION = \"MVIQQ_RESET_OPTION\";\r\nexport const resetOptionCode = () => {\r\n return { type: RESET_MVI_OPTION, viewmodel: \"MVIQuickQuote\" };\r\n};\r\n\r\nexport const INITIALIZED = \"MVIQQ_INITIALIZED\";\r\nexport const initialized = (PolicyPackage, ui) => {\r\n return { type: INITIALIZED, viewmodel: \"MVIQuickQuote\", PolicyPackage, ui };\r\n};\r\n\r\nexport const ADD_DRIVER = \"MVIQQ_ADDRIVER\";\r\nexport const addDriver = () => {\r\n return { type: ADD_DRIVER };\r\n};\r\n\r\nexport const REMOVE_DRIVER = \"MVIQQ_REMOVEDRIVER\";\r\nexport const removeDriver = (index) => {\r\n return { type: REMOVE_DRIVER, index };\r\n};\r\n\r\nexport const CALCULATE_PREMIUMS = \"MVIQQ_CALCULATE_PREMIUMS\";\r\nexport const calculatePremiums = (PolicyPackage) => {\r\n return { type: CALCULATE_PREMIUMS, viewmodel: \"MVIQuickQuote\", PolicyPackage };\r\n};\r\n\r\nexport const AMMEND_BIRTHDATE = \"AMMEND_BIRTHDATE\";\r\nexport const ammendBirthDate = (PolicyPackage) => {\r\n return { type: AMMEND_BIRTHDATE, viewmodel: \"MVIQuickQuote\", PolicyPackage };\r\n};\r\nexport const PREMIUMS_CALCULATED = \"MVIQQ_PREMIUMS_CALCULATED\";\r\nexport const premiumsCalculated = (PolicyPackage, QuickQuote) => {\r\n return { type: PREMIUMS_CALCULATED, viewmodel: \"MVIQuickQuote\", PolicyPackage, QuickQuote };\r\n};\r\n\r\nexport const REFERRED = \"MVIQQ_REFERRED\";\r\nexport const referred = (PolicyPackage, Referred) => {\r\n return { type: REFERRED, viewmodel: \"MVIQuickQuote\", PolicyPackage, Referred };\r\n};\r\n\r\nexport const RESET = \"MVIQQ_RESET\";\r\nexport const reset = () => {\r\n return { type: RESET, viewmodel: \"MVIQuickQuote\" };\r\n};\r\n\r\nexport const CONTINUE_SAVE = \"MVIQQ_CONTINUE_SAVE\";\r\nexport const continueSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_SAVE, viewmodel: \"MVIQuickQuote\", PolicyPackage, print };\r\n};\r\n\r\nexport const CONTINUE_DO_SAVE = \"MVIQQ_CONTINUE_DO_SAVE\";\r\nexport const continueDoSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_DO_SAVE, viewmodel: \"MVIQuickQuote\", PolicyPackage, print };\r\n};\r\n\r\nexport const CONTINUE_WAIT = \"MVIQQ_CONTINUE_WAIT\";\r\nexport const continueWait = () => {\r\n return { type: CONTINUE_WAIT, viewmodel: \"MVIQuickQuote\" };\r\n};\r\n\r\nexport const CLOSE_SAVE = \"MVIQQ_CLOSE_SAVE\";\r\nexport const closeSave = () => {\r\n return { type: CLOSE_SAVE, viewmodel: \"MVIQuickQuote\" };\r\n};\r\n","export const INITIALIZE = 'PCIQQ_INITIALIZE'\r\nexport const initialize = (PolicyPackage) => {\r\n return { 'type': INITIALIZE, 'viewmodel': 'PCIQuickQuote', PolicyPackage }\r\n}\r\n\r\nexport const INITIALIZED = 'PCIQQ_INITIALIZED'\r\nexport const initialized = (PolicyPackage, ui) => {\r\n return { 'type': INITIALIZED, 'viewmodel': 'PCIQuickQuote', PolicyPackage, ui }\r\n}\r\n\r\nexport const YEAR_CHANGED = 'PCIQQ_YEAR_CHANGED'\r\nexport const yearChanged = (PolicyVehicle, index) => {\r\n return { type: YEAR_CHANGED, PolicyVehicle, index }\r\n}\r\n\r\nexport const RATING_CATS_RETRIEVED = 'PCIQQ_RATING_CATS_RETRIEVED'\r\nexport const ratingCatsRetrived = (index, ratingscategories) => {\r\n return { type: RATING_CATS_RETRIEVED, index, ratingscategories }\r\n}\r\n\r\nexport const ADD_VEHICLE = 'PCIQQ_ADD_VEHICLE'\r\nexport const addVehicle = () => {\r\n return { type: ADD_VEHICLE }\r\n}\r\n\r\nexport const REMOVE_VEHICLE = 'PCIQQ_REMOVE_VEHICLE'\r\nexport const removeVehicle = (index) => {\r\n return { type: REMOVE_VEHICLE, index }\r\n}\r\n\r\nexport const CALCULATE_PREMIUMS = 'PCIQQ_CALCULATE_PREMIUMS'\r\nexport const calculatePremiums = (PolicyPackage) => {\r\n return { type: CALCULATE_PREMIUMS, PolicyPackage }\r\n}\r\n\r\nexport const PREMIUMS_CALCULATED = 'PCIQQ_PREMIUMS_CALCULATED'\r\nexport const premiumsCalculated = (PolicyPackage, QuickQuote) => {\r\n return { type: PREMIUMS_CALCULATED, PolicyPackage, QuickQuote }\r\n}\r\n\r\nexport const REFERRED = 'PCIQQ_REFERRED'\r\nexport const referred = (PolicyPackage, Referred) => {\r\n return { type: REFERRED, 'viewmodel': 'PCIQuickQuote', PolicyPackage, Referred }\r\n}\r\n\r\nexport const RESET = 'PCIQQ_RESET'\r\nexport const reset = () => {\r\n return { type: RESET }\r\n}\r\n\r\nexport const CONTINUE_SAVE = 'PCIQQ_CONTINUE_SAVE'\r\nexport const continueSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_SAVE, PolicyPackage, print }\r\n}\r\n\r\nexport const CONTINUE_DO_SAVE = 'PCIQQ_CONTINUE_DO_SAVE'\r\nexport const continueDoSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_DO_SAVE, PolicyPackage, print }\r\n}\r\n\r\nexport const CONTINUE_WAIT = 'PCIQQ_CONTINUE_WAIT'\r\nexport const continueWait = () => {\r\n return { type: CONTINUE_WAIT }\r\n}\r\n\r\nexport const CLOSE_SAVE = 'PCIQQ_CLOSE_SAVE'\r\nexport const closeSave = () => {\r\n return { type: CLOSE_SAVE }\r\n}\r\n","export const LOAD_ROLES = \"DEALERSHIP_ROLES_LOAD\";\r\nexport const loadRoles = () => {\r\n return { type: LOAD_ROLES };\r\n};\r\n\r\nexport const LOADED_ROLES = \"DEALERSHIP_ROLES_LOADED\";\r\nexport const loadedRoles = (dealershipRoles) => {\r\n return { type: LOADED_ROLES, dealershipRoles };\r\n};\r\n\r\nexport const APPLY_PASSWORD = \"APPLY_PASSWORD\";\r\nexport const applyPassword = (password) => {\r\n return { type: APPLY_PASSWORD, password };\r\n};\r\n\r\nexport const LOAD = \"USER_LOAD\";\r\nexport const load = (id) => {\r\n return { type: LOAD, id };\r\n};\r\n\r\nexport const LOADED = \"USER_LOADED\";\r\nexport const loaded = (user) => {\r\n return { type: LOADED, user };\r\n};\r\n\r\nexport const APPLY_LOGNAME = \"APPLY_LOGNAME\";\r\nexport const applyLogName = (loginName) => {\r\n return { type: APPLY_LOGNAME, loginName };\r\n};\r\n\r\nexport const APPLY_ENABLE_USER = \"APPLY_ENABLE_USER\";\r\nexport const applyEnableUser = (ch) => {\r\n return { type: APPLY_ENABLE_USER, ch };\r\n};\r\n\r\nexport const APPLY_EDIT_USER = \"APPLY_EDIT_USER\";\r\nexport const applyEditUser = (ch) => {\r\n return { type: APPLY_EDIT_USER, ch };\r\n};\r\n\r\nexport const APPLY_OTHERDEALERSHIPS = \"APPLY_OTHERDEALERSHIPS\";\r\nexport const applyOtherDealerships = (otherdealerships) => {\r\n return { type: APPLY_OTHERDEALERSHIPS, otherdealerships };\r\n};\r\n\r\nexport const LOAD_DEALERSHIPS = \"LOAD_DEALERSHIPS\";\r\nexport const loadDealerships = () => {\r\n return { type: LOAD_DEALERSHIPS };\r\n};\r\n\r\nexport const SAVE_USER = \"SAVE_USER\";\r\nexport const saveUser = (user) => {\r\n return { type: SAVE_USER, user };\r\n};\r\n\r\nexport const SEND_LOGIN_DETAILS = \"SEND_LOGIN_DETAILS\";\r\nexport const sendLoginDetails = (id) => {\r\n return { type: SEND_LOGIN_DETAILS, id };\r\n};\r\n\r\nexport const LOADED_DEALERSHIPS = \"LOADED_DEALERSHIPS\";\r\nexport const loadedDealerships = (dealerships) => {\r\n return { type: LOADED_DEALERSHIPS, dealerships };\r\n};\r\n\r\nexport const UI_BLOCK_START = \"UI_BLOCK_START\";\r\nexport const uiblockstart = () => {\r\n return { type: UI_BLOCK_START };\r\n};\r\n\r\nexport const UI_BLOCK_END = \"UI_BLOCK_END\";\r\nexport const uiblockend = () => {\r\n return { type: UI_BLOCK_END };\r\n};\r\n","\r\n\r\nexport const CLOSEPPPCOVIDMSG = 'CLOSEPPPCOVIDMSG'\r\nexport const closePPPCovidMsg = (policyid) => {\r\n return { 'type': CLOSEPPPCOVIDMSG, policyid }\r\n}\r\n\r\n\r\n\r\n","import { withStyles } from '@material-ui/core/styles';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\n\r\nexport const styles = (theme) => ({\r\n root: {\r\n height: 64,\r\n [theme.breakpoints.up('sm')]: {\r\n height: 70,\r\n },\r\n },\r\n});\r\n\r\nexport default withStyles(styles)(Toolbar);\r\n","module.exports = __webpack_public_path__ + \"static/media/canstar.5463b9ee.png\";","export const INITIALIZE = 'MCIQQ_INITIALIZE'\r\nexport const initialize = (PolicyPackage) => {\r\n return { 'type': INITIALIZE, PolicyPackage }\r\n}\r\n\r\nexport const INITIALIZED = 'MCIQQ_INITIALIZED'\r\nexport const initialized = (PolicyPackage, ui) => {\r\n return { 'type': INITIALIZED, 'viewmodel': 'MCIQuickQuote', PolicyPackage, ui }\r\n}\r\n\r\n\r\nexport const CALCULATE_PREMIUMS = 'MCIQQ_CALCULATE_PREMIUMS '\r\nexport const calculatePremiums = (PolicyPackage) => {\r\n return { type: CALCULATE_PREMIUMS, PolicyPackage }\r\n}\r\n\r\nexport const PREMIUMS_CALCULATED = 'MCIQQ_PREMIUMS_CALCULATED'\r\nexport const premiumsCalculated = (PolicyPackage, QuickQuote, ExcessMatrix) => {\r\n return { type: PREMIUMS_CALCULATED, PolicyPackage, QuickQuote, ExcessMatrix }\r\n}\r\n\r\nexport const REFERRED = 'MCIQQ_REFERRED'\r\nexport const referred = (PolicyPackage, Referred) => {\r\n return { type: REFERRED, 'viewmodel': 'MCIQuickQuote', PolicyPackage, Referred }\r\n}\r\n\r\nexport const RESET = 'MCIQQ_RESET'\r\nexport const reset = () => {\r\n return { type: RESET }\r\n}\r\n\r\nexport const MCI_SPEC_RETRIEVED = 'MCI_SPEC_RETRIEVED'\r\nexport const mciSpecRetrieved = (regostatus) => {\r\n return { type: MCI_SPEC_RETRIEVED, regostatus }\r\n}\r\n\r\nexport const CONTINUE_SAVE = 'MCIQQ_CONTINUE_SAVE'\r\nexport const continueSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_SAVE, PolicyPackage, print }\r\n}\r\n\r\nexport const CONTINUE_DO_SAVE = 'MCIQQ_CONTINUE_DO_SAVE'\r\nexport const continueDoSave = (PolicyPackage, print) => {\r\n return { type: CONTINUE_DO_SAVE, PolicyPackage, print }\r\n}\r\n\r\nexport const CONTINUE_WAIT = 'MCIQQ_CONTINUE_WAIT'\r\nexport const continueWait = () => {\r\n return { type: CONTINUE_WAIT }\r\n}\r\n\r\nexport const CLOSE_SAVE = 'MCIQQ_CLOSE_SAVE'\r\nexport const closeSave = () => {\r\n return { type: CLOSE_SAVE }\r\n}\r\n","export const NEW_POLICY = \"POLICY_NEW\";\r\nexport const newPolicy = (PolicyPackage) => {\r\n return { type: NEW_POLICY, viewmodel: \"policy\", PolicyPackage };\r\n};\r\n\r\nexport const CONTINUE_POLICY = \"CONTINUE_POLICY\";\r\nexport const continuePolicy = (PolicyPackage) => {\r\n return { type: CONTINUE_POLICY, viewmodel: \"policy\", PolicyPackage };\r\n};\r\n\r\nexport const CONTINUE_DETAILED = \"POLICY_CONTINUE_DETAILED\";\r\nexport const continueDetailed = (PolicyPackage) => {\r\n return { type: CONTINUE_DETAILED, viewmodel: \"policy\", PolicyPackage };\r\n};\r\n\r\nexport const INITIALIZE = \"POLICY_INITIALIZE\";\r\nexport const initialize = (policyid) => {\r\n return { type: INITIALIZE, viewmodel: \"policy\", policyid };\r\n};\r\n\r\nexport const CCSUCCESS = \"CC_SUCCESS\";\r\nexport const ccsuccess = (policyid, result) => {\r\n return { type: CCSUCCESS, viewmodel: \"policy\", policyid, result };\r\n};\r\n\r\nexport const CCFAIL = \"CC_FAIL\";\r\nexport const ccfail = (policyid, result) => {\r\n return { type: CCFAIL, viewmodel: \"policy\", policyid, result };\r\n};\r\n\r\nexport const INITIALIZED = \"POLICY_INITIALIZED\";\r\nexport const initialized = (viewmodel, PolicyPackage, ui) => {\r\n return { type: INITIALIZED, viewmodel: \"policy\", PolicyPackage, ui };\r\n};\r\n\r\nexport const VALIDATE = \"POLICY_VALIDATE\";\r\nexport const validate = (PolicyPackage) => {\r\n return { type: VALIDATE, viewmodel: \"policy\", PolicyPackage };\r\n};\r\n\r\nexport const VALIDATED = \"POLICY_VALIDATED\";\r\nexport const validated = () => {\r\n return { type: VALIDATED };\r\n};\r\n\r\nexport const SELECT = \"POLICY_SELECT\";\r\nexport const select = (PolicyPackage) => {\r\n return { type: SELECT, viewmodel: \"policy\", PolicyPackage };\r\n};\r\n\r\nexport const SELECT_PRODUCTS = \"SELECT_PRODUCTS\";\r\nexport const selectProducts = (PolicyPackage) => {\r\n return { type: SELECT_PRODUCTS, viewmodel: \"policy\", PolicyPackage };\r\n};\r\n\r\nexport const UPDATE = \"POLICY_UPDATE\";\r\nexport const update = (changes, policyAction) => {\r\n return { type: UPDATE, viewmodel: \"policy\", changes, policyAction };\r\n};\r\n\r\nexport const UPDATE_PRODUCTS = \"UPDATE_PRODUCTS\";\r\nexport const updateProducts = () => {\r\n return { type: UPDATE_PRODUCTS };\r\n};\r\n\r\nexport const OPTION_UPDATE = \"POLICY_OPTION_UPDATE\";\r\nexport const optionUpdate = (changes) => {\r\n return { type: OPTION_UPDATE, viewmodel: \"policy\", changes };\r\n};\r\n\r\nexport const PREMIUM_MODE_UPDATE = \"PREMIUM_MODE_UPDATE\";\r\nexport const premiumModeUpdate = (changes) => {\r\n return { type: PREMIUM_MODE_UPDATE, viewmodel: \"policy\", changes };\r\n};\r\n\r\nexport const UPDATED = \"POLICY_UPDATED\";\r\nexport const updated = (viewmodel, PolicyPackage, ui) => {\r\n return { type: UPDATED, viewmodel, PolicyPackage, ui };\r\n};\r\n\r\nexport const POLICY_UPDATE_START = \"POLICY_UPDATE_START\";\r\nexport const policyUpdateStart = () => {\r\n return { type: POLICY_UPDATE_START };\r\n};\r\n\r\nexport const POLICY_UPDATE_END = \"POLICY_UPDATE_END\";\r\nexport const policyUpdateEnd = () => {\r\n return { type: POLICY_UPDATE_END };\r\n};\r\n\r\nexport const RESET = \"POLICY_RESET\";\r\nexport const reset = () => {\r\n return { type: RESET };\r\n};\r\n\r\nexport const SAVE = \"POLICY_SAVE\";\r\nexport const save = (PolicyPackage) => {\r\n return { type: SAVE, viewmodel: \"policy\", PolicyPackage };\r\n};\r\n\r\nexport const SET_STEP = \"POLICY_SET_STEP\";\r\nexport const setStep = (activestep) => {\r\n return { type: SET_STEP, activestep };\r\n};\r\n\r\nexport const ERROR_STEP = \"POLICY_ERROR_STEP\";\r\nexport const errorStep = (errorstep) => {\r\n return { type: ERROR_STEP, errorstep };\r\n};\r\n\r\nexport const NEXT_STEP = \"POLICY_NEXT_STEP\";\r\nexport const nextStep = () => {\r\n return { type: NEXT_STEP };\r\n};\r\n\r\nexport const PREVIOUS_STEP = \"POLICY_PREVIOUS_STEP\";\r\nexport const previousStep = () => {\r\n return { type: PREVIOUS_STEP };\r\n};\r\n\r\nexport const OVERRIDE = \"POLICY_OVERRIDE\";\r\nexport const override = () => {\r\n return { type: OVERRIDE, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const DISC_OVERRIDE = \"POLICY_DISC_OVERRIDE\";\r\nexport const discOverride = () => {\r\n return { type: DISC_OVERRIDE, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const STEP_COMPLETED = \"POLICY_STEP_COMPLETED\";\r\nexport const stepCompleted = () => {\r\n return { type: STEP_COMPLETED };\r\n};\r\n\r\nexport const SAVE_AND_EXIT = \"POLICY_SAVE_AND_EXIT\";\r\nexport const saveAndExit = () => {\r\n return { type: SAVE_AND_EXIT, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const SAVE_AS_QUOTE = \"POLICY_SAVE_AS_QUOTE\";\r\nexport const saveAsQuote = () => {\r\n return { type: SAVE_AS_QUOTE, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const UPDATE_DISCLOSURE_REASON = \"UPDATE_DISCLOSURE_REASON\";\r\nexport const updateDisclosureReason = (reason) => {\r\n return { type: UPDATE_DISCLOSURE_REASON, reason };\r\n};\r\n\r\nexport const CONFIRM_POLICY = \"POLICY_CONFIRM\";\r\nexport const confirmPolicy = () => {\r\n return { type: CONFIRM_POLICY, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const SEND_DISCLOSURE = \"SEND_DISCLOSURE\";\r\nexport const sendDisclosure = () => {\r\n return { type: SEND_DISCLOSURE, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const EMAIL_POLICY = \"EMAIL_POLICY\";\r\nexport const emailPolicy = () => {\r\n return { type: EMAIL_POLICY, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const CANCEL_POLICY = \"CANCEL_POLICY\";\r\nexport const cancelPolicy = () => {\r\n return { type: CANCEL_POLICY, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const ADD_DRIVER = \"POLICY_ADD_DRIVER\";\r\nexport const addDriver = () => {\r\n return { type: ADD_DRIVER, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const ADD_RIDER = \"POLICY_ADD_RIDER\";\r\nexport const addRider = () => {\r\n return { type: ADD_RIDER, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const ADD_VEHICLE = \"POLICY_ADD_VEHICLE\";\r\nexport const addVehicle = (vehicle) => {\r\n return { type: ADD_VEHICLE, viewmodel: \"policy\", vehicle };\r\n};\r\n\r\nexport const ADD_CYCLE = \"POLICY_ADD_CYCLE\";\r\nexport const addCycle = () => {\r\n return { type: ADD_CYCLE, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const QUERY_REMOVE_CYCLE = \"POLICY_QUERY_REMOVE_CYCLE\";\r\nexport const queryRemoveCycle = () => {\r\n return { type: QUERY_REMOVE_CYCLE };\r\n};\r\n\r\nexport const CANCEL_REMOVE_CYCLE = \"POLICY_CANCEL_REMOVE_CYCLE\";\r\nexport const cancelRemoveCycle = () => {\r\n return { type: CANCEL_REMOVE_CYCLE };\r\n};\r\n\r\nexport const REMOVE_CYCLE = \"POLICY_REMOVE_CYCLE\";\r\nexport const removeCycle = (id) => {\r\n return { type: REMOVE_CYCLE, viewmodel: \"policy\", id };\r\n};\r\n\r\nexport const QUERY_REMOVE_VEHICLE = \"POLICY_QUERY_REMOVE_VEHICLE\";\r\nexport const queryRemoveVehicle = () => {\r\n return { type: QUERY_REMOVE_VEHICLE };\r\n};\r\n\r\nexport const CANCEL_REMOVE_VEHICLE = \"POLICY_CANCEL_REMOVE_VEHICLE\";\r\nexport const cancelRemoveVehicle = () => {\r\n return { type: CANCEL_REMOVE_VEHICLE };\r\n};\r\n\r\nexport const REMOVE_VEHICLE = \"POLICY_REMOVE_VEHICLE\";\r\nexport const removeVehicle = (id) => {\r\n return { type: REMOVE_VEHICLE, viewmodel: \"policy\", id };\r\n};\r\n\r\nexport const SET_ACTIVE_VEHICLE = \"POLICY_SET_ACTIVE_VEHICLE\";\r\nexport const setActiveVehicle = (activevehicle) => {\r\n return { type: SET_ACTIVE_VEHICLE, activevehicle };\r\n};\r\n\r\nexport const SET_ACTIVE_DRIVER = \"POLICY_SET_ACTIVE_DRIVER\";\r\nexport const setActiveDriver = (activedriver) => {\r\n return { type: SET_ACTIVE_DRIVER, activedriver };\r\n};\r\n\r\nexport const SET_ACTIVE_CYCLE = \"POLICY_SET_ACTIVE_CYCLE\";\r\nexport const setActiveCycle = (activecycle) => {\r\n return { type: SET_ACTIVE_CYCLE, activecycle };\r\n};\r\n\r\nexport const SET_ACTIVE_RIDER = \"POLICY_SET_ACTIVE_RIDER\";\r\nexport const setActiveRider = (activerider) => {\r\n return { type: SET_ACTIVE_RIDER, activerider };\r\n};\r\n\r\nexport const QUERY_REMOVE_DRIVER = \"POLICY_QUERY_REMOVE_DRIVER\";\r\nexport const queryRemoveDriver = () => {\r\n return { type: QUERY_REMOVE_DRIVER };\r\n};\r\n\r\nexport const CANCEL_REMOVE_DRIVER = \"POLICY_CANCEL_REMOVE_DRIVER\";\r\nexport const cancelRemoveDriver = () => {\r\n return { type: CANCEL_REMOVE_DRIVER };\r\n};\r\n\r\nexport const REMOVE_DRIVER = \"POLICY_REMOVE_DRIVER\";\r\nexport const removeDriver = (id) => {\r\n return { type: REMOVE_DRIVER, viewmodel: \"policy\", id };\r\n};\r\n\r\nexport const QUERY_REMOVE_RIDER = \"POLICY_QUERY_REMOVE_RIDER\";\r\nexport const queryRemoveRider = () => {\r\n return { type: QUERY_REMOVE_RIDER };\r\n};\r\n\r\nexport const CANCEL_REMOVE_RIDER = \"POLICY_CANCEL_REMOVE_RIDER\";\r\nexport const cancelRemoveRider = () => {\r\n return { type: CANCEL_REMOVE_RIDER };\r\n};\r\n\r\nexport const REMOVE_RIDER = \"POLICY_REMOVE_RIDER\";\r\nexport const removeRider = (id) => {\r\n return { type: REMOVE_RIDER, viewmodel: \"policy\", id };\r\n};\r\n\r\nexport const POWERTRAIN_SELECTED = \"POLICY_POWERTRAIN_SELECTED\";\r\nexport const powerTrainSelected = (index, powertrain) => {\r\n return { type: POWERTRAIN_SELECTED, index, powertrain };\r\n};\r\n\r\nexport const EVHYBRID_SELECTED = \"POLICY_EVHYBRID__SELECTED\";\r\nexport const evHybridSelected = (index, evhybrid) => {\r\n return { type: EVHYBRID_SELECTED, index, evhybrid };\r\n};\r\n\r\nexport const ORIGIN_SELECTED = \"POLICY_ORIGIN_SELECTED\";\r\nexport const originSelected = (index, origin) => {\r\n return { type: ORIGIN_SELECTED, index, origin };\r\n};\r\n\r\nexport const SET_PROPOSER_TYPE = \"POLICY_SET_PROPOSER_TYPE\";\r\nexport const setProposerType = (proposertype) => {\r\n return { type: SET_PROPOSER_TYPE, proposertype };\r\n};\r\n\r\nexport const SEARCH_PROPOSER_ADDRESS = \"POLICY_SEARCH_PROPOSER_ADDRESS\";\r\nexport const searchProposerAddress = (address) => {\r\n return { type: SEARCH_PROPOSER_ADDRESS, address };\r\n};\r\n\r\nexport const DISPLAY_MATCH_ADDRESSES = \"POLICY_DISPLAY_MATCH_ADDRESSES\";\r\nexport const displayMatchAddresses = (addresses) => {\r\n return { type: DISPLAY_MATCH_ADDRESSES, addresses };\r\n};\r\n\r\nexport const CREDITCARD_PAYMENT = \"POLICY_CREDITCARD_PAYMENT\";\r\nexport const creditCardPayment = () => {\r\n return { type: CREDITCARD_PAYMENT, viewmodel: \"policy\" };\r\n};\r\n\r\nexport const CALCULATE_RI_PREMIUM = \"CALCULATE_RI_PREMIUM\";\r\nexport const calculateRIPremium = (vehicleID) => {\r\n return { type: CALCULATE_RI_PREMIUM, viewmodel: \"policy\", vehicleID };\r\n};\r\n\r\nexport const CANCEL = \"POLICY_CANCEL\";\r\nexport const cancel = () => {\r\n return { type: CANCEL };\r\n};\r\n\r\nexport const CANCEL_YES = \"POLICY_CANCEL_YES\";\r\nexport const cancelYes = () => {\r\n return { type: CANCEL_YES };\r\n};\r\n\r\nexport const CANCEL_NO = \"POLICY_CANCEL_NO\";\r\nexport const cancelNo = () => {\r\n return { type: CANCEL_NO };\r\n};\r\n\r\nexport const WAIT = \"POLICY_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\nexport const UI_BLOCK_START = \"UI_BLOCK_START\";\r\nexport const uiblockstart = () => {\r\n return { type: UI_BLOCK_START };\r\n};\r\n\r\nexport const UI_BLOCK_END = \"UI_BLOCK_END\";\r\nexport const uiblockend = () => {\r\n return { type: UI_BLOCK_END };\r\n};\r\n\r\nexport const UI_LOAD = \"POLICY_UI_LOAD\";\r\nexport const uiload = () => {\r\n return { type: UI_LOAD };\r\n};\r\n\r\nexport const UI_FINISHED = \"POLICY_UI_FINISHED\";\r\nexport const uifinished = () => {\r\n return { type: UI_FINISHED };\r\n};\r\n\r\nexport const FINISHED = \"POLICY_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n\r\nexport const CC_WAIT = \"POLICY_CC_WAIT\";\r\nexport const ccWait = () => {\r\n return { type: CC_WAIT };\r\n};\r\n\r\nexport const CC_FINISHED = \"POLICY_CC_FINISHED\";\r\nexport const ccFinished = () => {\r\n return { type: CC_FINISHED };\r\n};\r\n\r\nexport const SAVE_REQUEST = \"POLICY_SAVE_REQUEST\";\r\nexport const saveRequest = () => {\r\n return { type: SAVE_REQUEST };\r\n};\r\n\r\nexport const SUMMARY_VALIDATE = \"SUMMARY_VALIDATE\";\r\nexport const summaryValidate = () => {\r\n return { type: SUMMARY_VALIDATE };\r\n};\r\n\r\nexport const SAVE_WAIT = \"POLICY_SAVE_WAIT\";\r\nexport const saveWait = () => {\r\n return { type: SAVE_WAIT };\r\n};\r\n\r\nexport const SAVE_FINISHED = \"POLICY_SAVE_FINISHED\";\r\nexport const saveFinished = () => {\r\n return { type: SAVE_FINISHED };\r\n};\r\n\r\nexport const DISCLOSURE_SHOW = \"POLICY_DISCLOSURE_SHOW\";\r\nexport const disclosureShow = () => {\r\n return { type: DISCLOSURE_SHOW };\r\n};\r\n\r\nexport const DISCLOSURE_YES = \"POLICY_DISCLOSURE_YES\";\r\nexport const disclosureYes = () => {\r\n return { type: DISCLOSURE_YES };\r\n};\r\n\r\nexport const DISCLOSURE_NO = \"POLICY_DISCLOSURE_NO\";\r\nexport const disclosureNo = () => {\r\n return { type: DISCLOSURE_NO };\r\n};\r\n\r\nexport const REQUEST_DISCLOSURE_OVERRIDE = \"REQUEST_DISCLOSURE_OVERRIDE\";\r\nexport const requestDisclosureOverride = (discreqoverride) => {\r\n return { type: REQUEST_DISCLOSURE_OVERRIDE, discreqoverride };\r\n};\r\n\r\nexport const CONFIRM_SHOW = \"POLICY_CONFIRM_SHOW\";\r\nexport const confirmShow = () => {\r\n return { type: CONFIRM_SHOW };\r\n};\r\n\r\nexport const CONFIRM_YES = \"POLICY_CONFIRM_YES\";\r\nexport const confirmYes = () => {\r\n return { type: CONFIRM_YES };\r\n};\r\n\r\nexport const CONFIRM_NO = \"POLICY_CONFIRM_NO\";\r\nexport const confirmNo = () => {\r\n return { type: CONFIRM_NO };\r\n};\r\n\r\nexport const CONFIRM_REQUEST = \"POLICY_CONFIRM_REQUEST\";\r\nexport const confirmRequest = () => {\r\n return { type: CONFIRM_REQUEST };\r\n};\r\n\r\nexport const DISCLOSURE_CONFIRM_REQUEST = \"POLICY_DISCLOSURE_CONFIRM_REQUEST\";\r\nexport const disclosureConfirmRequest = () => {\r\n return { type: DISCLOSURE_CONFIRM_REQUEST };\r\n};\r\n\r\nexport const CONFIRM_WAIT = \"POLICY_CONFIRM_WAIT\";\r\nexport const confirmWait = () => {\r\n return { type: CONFIRM_WAIT };\r\n};\r\n\r\nexport const CONFIRM_FINISHED = \"POLICY_CONFIRM_FINISHED\";\r\nexport const confirmFinished = () => {\r\n return { type: CONFIRM_FINISHED };\r\n};\r\n\r\nexport const VALIDATE_WAIT = \"POLICY_VALIDATE_WAIT\";\r\nexport const validateWait = () => {\r\n return { type: VALIDATE_WAIT };\r\n};\r\n\r\nexport const VALIDATE_REQUEST = \"POLICY_VALIDATE_REQUEST\";\r\nexport const validateRequest = () => {\r\n return { type: VALIDATE_REQUEST };\r\n};\r\n\r\nexport const VALIDATE_FINISHED = \"POLICY_VALIDATE_FINISHED\";\r\nexport const validateFinished = () => {\r\n return { type: VALIDATE_FINISHED };\r\n};\r\n\r\nexport const CLEAR_VALIDATION = \"POLICY_VALIDATE_CLEAR\";\r\nexport const validationClear = () => {\r\n return { type: CLEAR_VALIDATION };\r\n};\r\n\r\nexport const PROPOSER_SET_PERSON = \"POLICY_PROPOSER_SET_PERSON\";\r\nexport const proposerSetPerson = (title, givenname, surname, dateofbirth) => {\r\n return { type: PROPOSER_SET_PERSON, title, givenname, surname, dateofbirth };\r\n};\r\n\r\nexport const CLASSIC_RISK_ADDRESS_SEARCH = \"CLASSIC_RISK_ADDRESS_SEARCH\";\r\nexport const classicRiskAddressSearch = (index, address) => {\r\n return { type: CLASSIC_RISK_ADDRESS_SEARCH, index, address };\r\n};\r\n\r\nexport const CLASSIC_DISP_RISK_ADDRESS = \"CLASSIC_DISP_RISK_ADDRESS\";\r\nexport const classicMatchAddresses = (index, addresses) => {\r\n return { type: CLASSIC_DISP_RISK_ADDRESS, index, addresses };\r\n};\r\n\r\nexport const VEHICLE_NOT_REGISTERD = \"VEHICLE_NOT_REGISTERD\";\r\nexport const vehicleNotRegistered = (index, value) => {\r\n return { type: VEHICLE_NOT_REGISTERD, index, value };\r\n};\r\n\r\nexport const VEHICLE_CLEAR_REGISTRATION = \"VEHICLE_CLEAR_REGISTRATION\";\r\nexport const vehicleClearRegistration = (index) => {\r\n return { type: VEHICLE_CLEAR_REGISTRATION, index };\r\n};\r\n\r\nexport const VEHICLE_REGO_LOOKUP_SUCCESS = \"VEHICLE_REGO_LOOKUP_SUCCESS\";\r\nexport const vehicleRegoLookupSuccess = (index, make, model, year, vin, rego) => {\r\n return { type: VEHICLE_REGO_LOOKUP_SUCCESS, index, make, model, year, vin, rego };\r\n};\r\n\r\nexport const PROPOSER_SET_LOCATION = \"POLICY_PROPOSER_SET_LOCATION\";\r\nexport const proposerSetLocation = (sLocationLine1, sLocationLine2, sLocationLine3, sLocationLine4, force) => { \r\n return { type: PROPOSER_SET_LOCATION, sLocationLine1, sLocationLine2, sLocationLine3, sLocationLine4, force };\r\n};\r\n\r\nexport const VEHICLE_SET_LOCATION = \"POLICY_VEHICLE_SET_LOCATION\";\r\nexport const vehicleSetLocation = (index, sLocationLine1, sLocationLine2, sLocationLine3, sLocationLine4, force) => { \r\n return { type: VEHICLE_SET_LOCATION,index, sLocationLine1, sLocationLine2, sLocationLine3, sLocationLine4, force };\r\n};\r\n\r\nexport const DD_SET_LOCATION = \"POLICY_DD_SET_LOCATION\";\r\nexport const ddSetLocation = (sLocationLine1, sLocationLine2, sLocationLine3, sLocationLine4, force) => {\r\n return { type: DD_SET_LOCATION, sLocationLine1, sLocationLine2, sLocationLine3, sLocationLine4, force };\r\n};\r\n\r\nexport const CLASSIC_RISK_SET_LOCATION = \"CLASSIC_RISK_SET_LOCATION\";\r\nexport const classicRiskSetLocation = (index, sLocationLine1, sLocationLine2, sLocationLine3, postcode, force) => {\r\n return { type: CLASSIC_RISK_SET_LOCATION, index, sLocationLine1, sLocationLine2, sLocationLine3, postcode, force };\r\n};\r\n","import {\r\n SET_OPTION_CODE,\r\n REGO_SEARCH_RETRIEVED,\r\n REGO_SEARCH_CORRECT,\r\n REGO_SEARCH_INCORRECT,\r\n REGO_SEARCH_CLOSE,\r\n MAKES_RETRIEVED,\r\n MODELS_RETRIEVED,\r\n SUBMODELS_RETRIEVED,\r\n REGO_SEARCH_WAIT,\r\n REGO_SEARCH_FINISHED,\r\n REGO_INVALIDATE,\r\n REGO_VEHICLE_NOT_FOUND,\r\n} from \"./actions\";\r\n\r\nfunction initialState(viewmodel = \"None defined!\", productcode = \"MVI\", optioncode = \"APMVB\", makes = [], Icle = {}) {\r\n return {\r\n viewmodel,\r\n productcode,\r\n optioncode,\r\n makes: makes,\r\n models: Icle.models,\r\n submodels: Icle.submodels,\r\n match: Icle.match,\r\n wait: false,\r\n validated: true,\r\n };\r\n}\r\n\r\nfunction resetState(state) {\r\n return {\r\n models: [],\r\n submodels: [],\r\n wait: false,\r\n correct: false,\r\n incorrect: false,\r\n validated: true,\r\n };\r\n}\r\n\r\nfunction isFor(state, action) {\r\n if (Array.isArray(state)) {\r\n for (const regosearch of state) {\r\n if (isFor(regosearch, action)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return typeof action.viewmodel !== \"undefined\" && action.viewmodel === state.viewmodel;\r\n }\r\n}\r\n\r\nfunction ArrayRegoSearchReducer(regosearches, action) {\r\n return regosearches.map((regosearch) => (isFor(regosearch, action) ? regoSearchReducer(regosearch, action) : regosearch));\r\n}\r\n\r\nfunction ArrayInitialState(viewmodel, PolicyPackage, makes = [], Icles = []) {\r\n let regosearch = [];\r\n\r\n if (PolicyPackage.PolicyMotorCycles !== undefined && PolicyPackage.PolicyMotorCycles.length > 0) {\r\n for (let i = 0; i < PolicyPackage.PolicyMotorCycles.length; i++) {\r\n regosearch.push(initialState(viewmodel, \"MCI\", PolicyPackage.MCIOption, makes, Icles[i]));\r\n }\r\n } else if (PolicyPackage.PolicyVehicles) {\r\n var productCode;\r\n var optionCode;\r\n if (PolicyPackage.MVIOption) {\r\n productCode = \"MVI\";\r\n optionCode = PolicyPackage.MVIOption;\r\n } else if (PolicyPackage.MBIOption) {\r\n productCode = \"MBI\";\r\n optionCode = PolicyPackage.MBIOption;\r\n } else if (PolicyPackage.PPPOption) {\r\n productCode = \"PPP\";\r\n optionCode = PolicyPackage.PPPOption;\r\n } else if (PolicyPackage.GAPOption) {\r\n productCode = \"GAP\";\r\n optionCode = PolicyPackage.GAPOption;\r\n } else if (PolicyPackage.PCIOption) {\r\n productCode = \"PCI\";\r\n optionCode = PolicyPackage.PCIOption;\r\n }\r\n for (let i = 0; i < PolicyPackage.PolicyVehicles.length; i++) {\r\n regosearch.push(initialState(viewmodel, productCode, optionCode, makes, Icles[i]));\r\n }\r\n }\r\n return regosearch;\r\n}\r\n\r\nfunction regoSearchReducer(state = initialState(), action) {\r\n if (!isFor(state, action)) {\r\n return state;\r\n }\r\n\r\n switch (action.type) {\r\n case SET_OPTION_CODE:\r\n return {\r\n ...state,\r\n productcode: action.productcode,\r\n optioncode: action.optioncode,\r\n };\r\n\r\n case REGO_INVALIDATE:\r\n return {\r\n ...state,\r\n validated: action.value,\r\n };\r\n\r\n case REGO_VEHICLE_NOT_FOUND:\r\n return {\r\n ...state,\r\n vehiclefound: action.value,\r\n };\r\n\r\n case REGO_SEARCH_RETRIEVED:\r\n return {\r\n ...state,\r\n match: action.match,\r\n correct: false,\r\n incorrect: false,\r\n };\r\n\r\n case REGO_SEARCH_CORRECT:\r\n return {\r\n ...state,\r\n correct: true,\r\n incorrect: false,\r\n };\r\n\r\n case REGO_SEARCH_INCORRECT:\r\n return {\r\n ...state,\r\n correct: false,\r\n incorrect: true,\r\n };\r\n\r\n case REGO_SEARCH_CLOSE:\r\n const newState = {\r\n ...state,\r\n correct: false,\r\n incorrect: false,\r\n };\r\n\r\n delete newState.match;\r\n\r\n return newState;\r\n\r\n case MAKES_RETRIEVED:\r\n return {\r\n ...state,\r\n makes: action.makes,\r\n };\r\n\r\n case MODELS_RETRIEVED:\r\n return {\r\n ...state,\r\n models: action.models,\r\n };\r\n\r\n case SUBMODELS_RETRIEVED:\r\n return {\r\n ...state,\r\n submodels: action.submodels,\r\n };\r\n\r\n case REGO_SEARCH_WAIT:\r\n return {\r\n ...state,\r\n wait: true,\r\n };\r\n\r\n case REGO_SEARCH_FINISHED:\r\n return {\r\n ...state,\r\n wait: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport { initialState, resetState, isFor, regoSearchReducer, ArrayRegoSearchReducer, ArrayInitialState };\r\n","import React, { Fragment } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Control } from 'react-redux-form'\r\n\r\nimport Col from 'react-bootstrap/lib/Col'\r\nimport InputGroup from 'react-bootstrap/lib/InputGroup'\r\n\r\nimport Error from './Error'\r\n\r\nconst Input = (props) => {\r\n const {\r\n span,\r\n offset,\r\n prefix,\r\n suffix,\r\n suffixClick,\r\n handleFocus,\r\n ...other\r\n } = props\r\n\r\n return (\r\n \r\n { (prefix || suffix)\r\n ? \r\n \r\n { prefix && { prefix } }\r\n \r\n { suffix && { suffix } }\r\n \r\n { other.required && }\r\n \r\n : \r\n \r\n { other.required && }\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nInput.defaultProps = {\r\n span: 8,\r\n offset: 0,\r\n autoComplete: 'off'\r\n}\r\n\r\nInput.propTypes = {\r\n model: PropTypes.string.isRequired,\r\n span: PropTypes.number,\r\n offset: PropTypes.number,\r\n prefix: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.node\r\n ]),\r\n suffix: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.node\r\n ]),\r\n suffixClick: PropTypes.func,\r\n autoComplete: PropTypes.string\r\n}\r\n\r\nexport default Input\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport Col from 'react-bootstrap/lib/Col'\r\n\r\nimport { Control } from 'react-redux-form'\r\n\r\nimport Error from './Error'\r\n\r\nconst TextArea = (props) => {\r\n var { span, offset, ...other } = props\r\n return (\r\n \r\n \r\n { other.required && }\r\n \r\n )\r\n}\r\n\r\nTextArea.defaultProps = {\r\n span: 8,\r\n offset: 0\r\n}\r\n\r\nTextArea.propTypes = {\r\n span: PropTypes.number,\r\n offset: PropTypes.number\r\n}\r\n\r\nexport default TextArea\r\n","export const TOKEN_DOTNET = \"TOKEN_DOTNET\";\r\n\r\nexport const getItem = (key) => {\r\n if (typeof localStorage === \"undefined\" || localStorage === null) {\r\n return \"\";\r\n } else {\r\n return localStorage.getItem(key);\r\n }\r\n};\r\n\r\nexport const setItem = (key, value) => {\r\n if (typeof localStorage !== \"undefined\" && localStorage !== null) {\r\n localStorage.setItem(key, value);\r\n }\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport MuiAppBar from '@material-ui/core/AppBar';\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n color: theme.palette.common.white,\r\n },\r\n});\r\n\r\nfunction AppBar(props) {\r\n return ;\r\n}\r\n\r\nAppBar.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default withStyles(styles)(AppBar);\r\n","export const LOAD_ROLES = \"DEALERSHIP_ROLES_LOAD\";\r\nexport const loadRoles = () => {\r\n return { type: LOAD_ROLES };\r\n};\r\n\r\nexport const LOADED_ROLES = \"DEALERSHIP_ROLES_LOADED\";\r\nexport const loadedRoles = (dealershipRoles) => {\r\n return { type: LOADED_ROLES, dealershipRoles };\r\n};\r\n\r\nexport const SAVE_NOTIFICATION = \"SAVE_NOTIFICATION\";\r\nexport const saveNotification = (notification) => {\r\n return { type: SAVE_NOTIFICATION, notification };\r\n};\r\n\r\nexport const TRIGGER_NOTIFICATION = \"TRIGGER_NOTIFICATION\";\r\nexport const triggerNotification = (notification) => {\r\n return { type: TRIGGER_NOTIFICATION, notification };\r\n};\r\n\r\nexport const LOAD = \"NOTIFICATION_LOAD\";\r\nexport const load = (id) => {\r\n return { type: LOAD, id };\r\n};\r\n\r\nexport const LOAD_USER_NOTIFICATION = \"USER_NOTIFICATION_LOAD\";\r\nexport const loadUserNotification = (id) => {\r\n return { type: LOAD_USER_NOTIFICATION, id };\r\n};\r\n\r\nexport const LOADED = \"NOTIFICATION_LOADED\";\r\nexport const loaded = (notification) => {\r\n return { type: LOADED, notification };\r\n};\r\n\r\nexport const LOADED_USER_NOTIFICATION = \"USER_NOTIFICATION_LOADED\";\r\nexport const loadedUserNotification = (usernotification) => {\r\n return { type: LOADED_USER_NOTIFICATION, usernotification };\r\n};\r\n\r\nexport const APPLY_EMAIL_CHANGE = \"APPLY_EMAIL_CHANGE\";\r\nexport const applyEmailChange = (ch) => {\r\n return { type: APPLY_EMAIL_CHANGE, ch };\r\n};\r\n\r\nexport const APPLY_EMAIL_CHANGE_USER = \"APPLY_EMAIL_CHANGE_USER\";\r\nexport const applyEmailChangeUser = (ch) => {\r\n return { type: APPLY_EMAIL_CHANGE_USER, ch };\r\n};\r\n\r\nexport const APPLY_TARGET_USER_ID = \"APPLY_USER_ID\";\r\nexport const applyTargetUserId = (targetUser) => {\r\n return { type: APPLY_TARGET_USER_ID, targetUser };\r\n};\r\n\r\nexport const APPLY_DASHBOARD_CHANGE = \"APPLY_DASHBOARD_CHANGE\";\r\nexport const applyDashboardChange = (ch) => {\r\n return { type: APPLY_DASHBOARD_CHANGE, ch };\r\n};\r\n\r\nexport const APPLY_DASHBOARD_CHANGE_USER = \"APPLY_DASHBOARD_CHANGE_USER\";\r\nexport const applyDashboardChangeUser = (ch) => {\r\n return { type: APPLY_DASHBOARD_CHANGE_USER, ch };\r\n};\r\n\r\nexport const UI_BLOCK_START = \"UI_BLOCK_START\";\r\nexport const uiblockstart = () => {\r\n return { type: UI_BLOCK_START };\r\n};\r\n\r\nexport const UI_BLOCK_END = \"UI_BLOCK_END\";\r\nexport const uiblockend = () => {\r\n return { type: UI_BLOCK_END };\r\n};\r\n","import fetch from \"isomorphic-fetch\";\r\nimport * as Settings from \"./settings\";\r\n\r\nconst getAPIDotnet = () => {\r\n return api;\r\n};\r\n\r\nexport default getAPIDotnet;\r\n\r\nconst base = window.location.href.startsWith(\"http://localhost:3000\") || window.location.href.startsWith(\"https://sspdev.protecta.co.nz\") ? \"http://localhost:7007\" : \"\";\r\n\r\n/* eslint-env browser */\r\n\r\nconst stdOpts = () => {\r\n return {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n headers: new Headers({\r\n pragma: \"no-cache\",\r\n \"cache-control\": \"no-cache\",\r\n authorization: \"Bearer \" + Settings.getItem(Settings.TOKEN_DOTNET),\r\n }),\r\n };\r\n};\r\n\r\nconst stdOptsPostJSON = () => {\r\n return {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n method: \"POST\",\r\n headers: new Headers({\r\n \"content-type\": \"application/json\",\r\n authorization: \"Bearer \" + Settings.getItem(Settings.TOKEN_DOTNET),\r\n }),\r\n };\r\n};\r\n\r\nconst stdOptsPostXML = () => {\r\n return {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n method: \"POST\",\r\n headers: new Headers({\r\n \"content-type\": \"text/xml\",\r\n authorization: \"Bearer \" + Settings.getItem(Settings.TOKEN_DOTNET),\r\n }),\r\n };\r\n};\r\n\r\nconst stdOptsPatchJSON = () => {\r\n return {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n method: \"PATCH\",\r\n headers: new Headers({\r\n \"content-type\": \"application/json\",\r\n authorization: \"Bearer \" + localStorage.getItem(\"TOKEN_DOTNET\"),\r\n }),\r\n };\r\n};\r\n\r\nconst stdOptsFileUpload = (token, file, type, data) => {\r\n const formData = new FormData();\r\n formData.append(\"formFile\", file);\r\n formData.append(\"fileType\", type);\r\n formData.append(\"data\", data);\r\n return {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n body: formData,\r\n method: \"POST\",\r\n headers: new Headers({\r\n authorization: \"Bearer \" + (token || localStorage.getItem(\"TOKEN_DOTNET\")),\r\n }),\r\n };\r\n};\r\n\r\nconst handleFetch = (requestInfo, requestInit) => {\r\n return fetch(requestInfo, requestInit).then((response) => {\r\n if (response.status === 401) {\r\n handleUnauthorized();\r\n }\r\n return response;\r\n });\r\n};\r\n\r\nconst handleFileDownload = (url, options, fileName) => {\r\n fetch(url, options)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n const file = window.URL.createObjectURL(blob);\r\n let a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = file;\r\n a.target = \"_blank\";\r\n if (fileName) {\r\n a.download = fileName;\r\n }\r\n a.click();\r\n a.remove();\r\n });\r\n};\r\n\r\nconst handleFileDownloadAsync = async (url, options, fileName) => {\r\n const res = await fetch(url, options);\r\n const blob = await res.blob();\r\n const file = window.URL.createObjectURL(blob);\r\n let a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = file;\r\n a.target = \"_blank\";\r\n if (fileName) {\r\n a.download = fileName;\r\n }\r\n a.click();\r\n a.remove();\r\n};\r\n\r\nconst handleUnauthorized = () => {\r\n window.location = \"/\";\r\n};\r\n\r\nconst api = {\r\n doLogin: (name, password) =>\r\n fetch(`${base}/api/login`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ name, password }),\r\n }),\r\n\r\n doExport: (Action, data) =>\r\n fetch(base + \"/api/export\", {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action, ...data }),\r\n }),\r\n\r\n directFileDownload: (id) =>\r\n fetch(base + `/api/mbidirect/download?id=${id}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n\r\n dealershipAgreementDetailFileDownload: (id) =>\r\n fetch(base + `/api/dealership/download-agreement-processed?id=${id}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n\r\n dealershipAgreementSummary: () =>\r\n fetch(base + `/api/dealership/download-agreement-summary`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n\r\n getCurrentUserState: () => handleFetch(`${base}/api/dashboard/userstate`, stdOpts()),\r\n getDashboardState: () => handleFetch(`${base}/api/dashboard/dashboardstate`, stdOpts()),\r\n setDealerCode: (dealerCode) =>\r\n fetch(`${base}/api/login/dealer`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ dealerCode }),\r\n }),\r\n\r\n impersonate: (userId) =>\r\n fetch(`${base}/api/login/impersonate`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ userId }),\r\n }),\r\n\r\n resetLogin: (userId) =>\r\n fetch(`${base}/api/login/reset`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ userId }),\r\n }),\r\n\r\n impersonateEnd: () => handleFetch(`${base}/api/login/impersonate-end`, stdOpts()),\r\n\r\n saveToProteus: (policyid) => handleFetch(`${base}/api/policy/saveToPure/${policyid}`, stdOpts()),\r\n\r\n getRecentPolicies: () => handleFetch(`${base}/api/policy-history/recent-policies`, stdOpts()),\r\n\r\n getRecentSignedQuotes: (token) => handleFetch(`${base}/api/quote/recent-signed-quotes`, stdOpts(token)),\r\n\r\n // get all policy listings\r\n\r\n getPolicyListings: (listtype, page, search, searchtype) =>\r\n handleFetch(`${base}/api/policy-history/list-policies?page=${page - 1}&length=25&search=${search}&searchtype=${searchtype}&listtype=${listtype}`, stdOpts()),\r\n\r\n getWSLogs: (page, search, datefrom, dateto, type) =>\r\n handleFetch(`${base}/api/wslogs/all?page=${page - 1}&length=25&search=${search}&type=${type}&datefrom=${datefrom}&dateto=${dateto}`, stdOpts()),\r\n\r\n getRecentWSLogs: () => handleFetch(`${base}/api/wslogs/recent?limit=10`, stdOpts()),\r\n\r\n validateRego: (rego) => handleFetch(`${base}/api/rego/validate?rego=${rego}`, stdOpts()),\r\n\r\n getRatingsCategories: (year) => handleFetch(`${base}/api/policy/pci-rating-options?year=${year}`, stdOpts()),\r\n\r\n searchRego: (rego, product, option) => handleFetch(`${base}/api/rego/rego-search?rego=${rego}&product=${product}&option=${option}`, stdOpts()),\r\n\r\n getRecentQuotes: (token) => handleFetch(`${base}/api/quote/recent-quotes`, stdOpts(token)),\r\n\r\n getRecentPoliciesWithoutRegos: () => handleFetch(`${base}/api/policy-history/without-rego`, stdOpts()),\r\n\r\n getFNPolicyList: (page, search, searchtype) => handleFetch(`${base}/api/mvis/list?page=${page - 1}&length=25&search=${search}&searchtype=${searchtype}`, stdOpts()),\r\n\r\n getManualDisclosureList: (listtype, page, search) => handleFetch(`${base}/api/sign/manual?page=${page - 1}&length=25&search=${search}&listtype=${listtype}`, stdOpts()),\r\n\r\n getPendingDisclosureList: (listtype, page, search) =>\r\n handleFetch(`${base}/api/sign/pending?page=${page - 1}&length=25&search=${search}&listtype=${listtype}`, stdOpts()),\r\n\r\n policy: (PolicyPackage, Action) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action, PolicyPackage, activestep: Action }),\r\n }),\r\n mbiDirectFileUpload: (file) =>\r\n handleFetch(`${base}/api/mbidirect/fileprocess`, {\r\n ...stdOptsFileUpload(null, file),\r\n }),\r\n dealerAgreementProcess: (file) =>\r\n handleFetch(`${base}/api/file/dealer-agreement`, {\r\n ...stdOptsFileUpload(null, file),\r\n }),\r\n newPolicy: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"New\", PolicyPackage, activestep: \"New\" }),\r\n }),\r\n getDirectFileList: () => handleFetch(`${base}/api/mbidirect/filelist`, stdOpts()),\r\n\r\n getDealerAgreementFileList: () => handleFetch(`${base}/api/dealership/agreementlist`, stdOpts()),\r\n\r\n getDealerAgreementSummaryDetails: () => handleFetch(`${base}/api/dealership/agreementsummary`, stdOpts()),\r\n\r\n onCallSupport: () => handleFetch(`${base}/api/oncallsupport`, stdOpts()),\r\n\r\n getMBIGPolicyList: (page, search, searchtype) =>\r\n handleFetch(`${base}/api/mbidirect/list?page=${page - 1}&length=25&search=${search}&searchtype=${searchtype}`, stdOpts()),\r\n\r\n updatePolicy: (PolicyPackage, activestep, action) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ PolicyPackage, activestep, Action: action || \"Update\" }),\r\n }),\r\n\r\n modifyPolicy: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy/modify`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ PolicyPackage }),\r\n }),\r\n\r\n policyCancellation: (Mail) =>\r\n handleFetch(`${base}/api/policy/policycancellation`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ ...Mail }),\r\n }),\r\n\r\n updateQuickQuote: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"QuickQuote\",\r\n PolicyPackage,\r\n activestep: \"UpdateQuickQuote\",\r\n }),\r\n }),\r\n\r\n putPolicy: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"Save\", PolicyPackage, activestep }),\r\n }),\r\n\r\n validatePolicy: (PolicyPackage, activestep, action) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: action || \"Validate\", PolicyPackage, activestep }),\r\n }),\r\n\r\n saveAsQuote: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"SaveAsFullQuote\",\r\n PolicyPackage,\r\n activestep,\r\n }),\r\n }),\r\n\r\n executeWSLog: (xml) => {\r\n // ajk - base64 encoded param because I can't figure out how to read the raw XML posted in the server side framework\r\n const b64xml = window.btoa(xml);\r\n return handleFetch(`${base}/api/wslogs/execute`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n xml: xml,\r\n }),\r\n });\r\n },\r\n\r\n confirmPolicy: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"Confirm\", PolicyPackage, activestep }),\r\n }),\r\n\r\n discOverride: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"DiscOverride\", PolicyPackage, activestep }),\r\n }),\r\n\r\n sendDisclosure: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"Disclosure\", PolicyPackage, activestep }),\r\n }),\r\n\r\n requestPolicyModification: (policynumber, message) =>\r\n handleFetch(`${base}/api/policy/requestmodification?policyNumber=${policynumber}&message=${message}`, stdOptsPostJSON()),\r\n\r\n addDriver: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"AddDriver\", PolicyPackage, activestep: \"Drivers\" }),\r\n }),\r\n\r\n addRider: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"AddRider\", PolicyPackage, activestep: \"Riders\" }),\r\n }),\r\n\r\n addCycle: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"AddCycle\", PolicyPackage, activestep: \"Cycles\" }),\r\n }),\r\n\r\n addVehicle: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"AddVehicle\", PolicyPackage, activestep: \"Vehicles\" }),\r\n }),\r\n\r\n removeDriver: (PolicyPackage, id) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"RemoveDriver\", PolicyPackage, index: id, activestep: \"Drivers\" }),\r\n }),\r\n\r\n removeRider: (PolicyPackage, id) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"RemoveRider\", PolicyPackage, index: id, activestep: \"Riders\" }),\r\n }),\r\n\r\n removeCycle: (PolicyPackage, id) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"RemoveCycle\", PolicyPackage, index: id, activestep: \"Cycles\" }),\r\n }),\r\n\r\n removeVehicle: (PolicyPackage, id) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"RemoveVehicle\", PolicyPackage, index: id, activestep: \"Vehicles\" }),\r\n }),\r\n\r\n overridePolicy: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"Override\", PolicyPackage, activestep }),\r\n }),\r\n\r\n selectPolicy: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ Action: \"Select\", PolicyPackage, activestep }),\r\n }),\r\n\r\n optionUpdatePolicy: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"OptionUpdate\",\r\n PolicyPackage,\r\n activestep,\r\n }),\r\n }),\r\n\r\n premiumModeUpdate: (PolicyPackage, activestep) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"PremiumModeUpdate\",\r\n PolicyPackage,\r\n activestep,\r\n }),\r\n }),\r\n\r\n doRegoSearch: (PolicyPackage, index) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"RegoLookup\",\r\n index,\r\n PolicyPackage,\r\n activestep: \"RegoLookup\",\r\n }),\r\n }),\r\n\r\n calculatePremium: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"QuickQuote\",\r\n PolicyPackage,\r\n activestep: \"QuickQuote\",\r\n }),\r\n }),\r\n\r\n saveQuickQuote: (PolicyPackage) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"SaveAsQuickQuote\",\r\n PolicyPackage,\r\n activestep: \"SaveAsQuickQuote\",\r\n }),\r\n }),\r\n\r\n ccSuccessPolicy: (PolicyPackage, result) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"CCPaymentSuccess\",\r\n PolicyPackage,\r\n ccresult: result,\r\n activestep: \"Credit Card\",\r\n }),\r\n }),\r\n\r\n ccFailPolicy: (PolicyPackage, result) =>\r\n handleFetch(`${base}/api/policy`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({\r\n Action: \"CCPaymentFail\",\r\n PolicyPackage,\r\n ccresult: result,\r\n activestep: \"Credit Card\",\r\n }),\r\n }),\r\n\r\n emailPolicy: (packageId) => handleFetch(`${base}/api/policy/${packageId}/email`, stdOpts()),\r\n\r\n getPolicy: (policyid) => handleFetch(`${base}/api/policy?packageId=${policyid}`, stdOpts()),\r\n\r\n getPolicyForCreditCardResult: (policyid, action) => handleFetch(`${base}/api/policy?packageId=${policyid}&action=${action}`, stdOpts()),\r\n\r\n getClassicRatingCategories: (year) => handleFetch(`${base}/api/lookup/classicCategories/${year}`, stdOpts()),\r\n\r\n archivePolicy: (policyid, archived) => handleFetch(`${base}/api/policy-actions/archive?policyid=${policyid}&archived=${archived}`, stdOpts()),\r\n rebuildCertificate: (policyid) => handleFetch(`${base}/api/policy-actions/rebuild-certificate?policyid=${policyid}`, stdOpts()),\r\n copyPolicy: (policyid) => handleFetch(`${base}/api/policy/copy?packageId=${policyid}`, stdOpts()),\r\n\r\n getModels: (productcode, optioncode, make) => handleFetch(`${base}/api/policy/models?productCode=${productcode}&optionCode=${optioncode}&make=${make}`, stdOpts()),\r\n\r\n getSubModels: (productcode, optioncode, make, model) =>\r\n handleFetch(`${base}/api/policy/sub-models?productCode=${productcode}&optionCode=${optioncode}&make=${make}&model=${model}`, stdOpts()),\r\n\r\n getMCIRegoStatus: (productcode, optioncode, make, model) =>\r\n handleFetch(`${base}/api/policy/rego-required?productCode=${productcode}&optionCode=${optioncode}&make=${make}&model=${model}`, stdOpts()),\r\n\r\n doRegoSearchMark: (rego, match, correct) => handleFetch(`${base}/api/policy/rate-vehicle-match?matchId=${match}&correct=${correct}®o=${rego}`, stdOptsPatchJSON()),\r\n\r\n getDealership: (id) => handleFetch(`${base}/api/dealership/${id}`, stdOpts()),\r\n copyDealership: (id) => handleFetch(`${base}/api/dealership/copy/${id}`, stdOpts()),\r\n\r\n getDealerships: (listType, page, search) => {\r\n const start = (page - 1) * 25;\r\n return fetch(`${base}/DashboardAjax?Action=${listType}&draw=100&start=${start}&length=25&search=${search}`, stdOpts);\r\n },\r\n\r\n getMatchingAddresses: (address) => handleFetch(`${base}/api/address-lookup?search=${address}`, stdOpts()),\r\n\r\n getDealershipForConfigs: (page, search) => handleFetch(`${base}/api/dealership/config?page=${page - 1}&length=25&search=${search}`, stdOpts()),\r\n getPureAgentCode: (dealerCode, dealerType) => handleFetch(`${base}/api/dealership/purecodecheck?dealerCode=${dealerCode}&dealerType=${dealerType}`, stdOpts()),\r\n\r\n getUserList: (listtype, page, search) => handleFetch(`${base}/api/user?page=${page - 1}&length=25&search=${search}&listtype=${listtype}`, stdOpts()),\r\n getVehicleConfigList: (listtype, page, search) => handleFetch(`${base}/api/vehicleconfig?page=${page - 1}&length=25&search=${search}&listtype=${listtype}`, stdOpts()),\r\n getDisclosureNotice: (type, fileName) => handleFileDownload(`${base}/api/documents/disclosure/${type}`, stdOpts(), fileName),\r\n getManualSignedDisclosureDoc: (url) => handleFileDownload(`${base}/api/file/disclosure/download?url=${url}`, stdOpts()),\r\n getUser: (id) => handleFetch(`${base}/api/user/${id}`, stdOpts()),\r\n getNotification: (id) => handleFetch(`${base}/api/notification/${id}`, stdOpts()),\r\n getPendingNotifications: (id) => handleFetch(`${base}/api/notification/user/${id}`, stdOpts()),\r\n getNotificationList: (listtype, page, search, userid) =>\r\n handleFetch(`${base}/api/notification?page=${page - 1}&length=25&search=${search}&listtype=${listtype}&userid=${userid}`, stdOpts()),\r\n\r\n getDealershipConfig: (code) => handleFetch(`${base}/api/dealership/config/${code}`, stdOpts()),\r\n saveConfig: (DealershipConfigRequest) =>\r\n handleFetch(`${base}/api/dealership/config`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(DealershipConfigRequest),\r\n }),\r\n getDealershipStaffRoles: () => handleFetch(`${base}/api/user/roles`, stdOpts()),\r\n getGlobalConfigs: () => handleFetch(`${base}/api/global-config/configs`, stdOpts()),\r\n getHomeBannerNotice: () => handleFetch(`${base}/api/notification/homebanner`, stdOpts()),\r\n loadVehicleMatch: (id) => handleFetch(`${base}/api/vehicleconfig/loadvehicle?id=${id}`, stdOpts()),\r\n loadCycleMatch: (id) => handleFetch(`${base}/api/vehicleconfig/loadcycle?id=${id}`, stdOpts()),\r\n loadAllVehicleModelsForConfig: (make) => handleFetch(`${base}/api/vehicleconfig/loadvehiclemodels?make=${make}`, stdOpts()),\r\n loadAllVehicleSubmodelsForConfig: (make, model) => handleFetch(`${base}/api/vehicleconfig/loadvehiclesubmodels?make=${make}&model=${model}`, stdOpts()),\r\n loadAllCycleModelsForConfig: (make) => handleFetch(`${base}/api/vehicleconfig/loadcyclemodels?make=${make}`, stdOpts()),\r\n\r\n getDealershipActiveStaffRoles: () => handleFetch(`${base}/api/user/roles/active`, stdOpts()),\r\n getAllBDMs: () => handleFetch(`${base}/api/dealership/bdms`, stdOpts()),\r\n getActiveDealerships: () => handleFetch(`${base}/api/dealership`, stdOpts()),\r\n\r\n getAllDealerships: (listtype, page, search, serviceLevel, bdm) =>\r\n handleFetch(`${base}/api/dealership/all?page=${page - 1}&length=25&search=${search}&listtype=${listtype}&servicelevel=${serviceLevel}&bdm=${bdm}`, stdOpts()),\r\n\r\n getBDMDealerships: (page, search, serviceLevel, bdm) =>\r\n handleFetch(`${base}/api/dealership/bdmdealers?page=${page - 1}&length=25&search=${search}&servicelevel=${serviceLevel}&bdm=${bdm}`, stdOpts()),\r\n\r\n saveDealershipRole: (DealershipStaffRole) =>\r\n handleFetch(`${base}/api/user/createrole`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(DealershipStaffRole),\r\n }),\r\n saveUser: (user) =>\r\n handleFetch(`${base}/api/user`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(user),\r\n }),\r\n\r\n FileUpload: (file, type, data) =>\r\n handleFetch(`${base}/api/file/upload`, {\r\n ...stdOptsFileUpload(null, file, type, data),\r\n }),\r\n\r\n saveVehicleMatch: (vehiclematch) =>\r\n handleFetch(`${base}/api/vehicleconfig/vehicle`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(vehiclematch),\r\n }),\r\n\r\n saveCycleMatch: (cyclematch) =>\r\n handleFetch(`${base}/api/vehicleconfig/cycle`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(cyclematch),\r\n }),\r\n\r\n saveUserNotification: (usernotification) =>\r\n handleFetch(`${base}/api/notification/accept`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(usernotification),\r\n }),\r\n saveNotification: (notification) =>\r\n handleFetch(`${base}/api/notification`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(notification),\r\n }),\r\n\r\n updateHomeBanner: (banner) =>\r\n handleFetch(`${base}/api/notification/homebanner`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(banner),\r\n }),\r\n\r\n saveDealership: (dealership, status) =>\r\n handleFetch(`${base}/api/dealership`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify({ dealership, status }),\r\n }),\r\n triggerNotification: (notification) =>\r\n handleFetch(`${base}/api/notification/trigger`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(notification),\r\n }),\r\n\r\n submitDisclosureOverrideRequest: (discoverridereq) =>\r\n handleFetch(`${base}/api/sign/overridereq`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(discoverridereq),\r\n }),\r\n\r\n triggerNotificationId: (id) =>\r\n handleFetch(`${base}/api/notification/triggerid?id=${id}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n sendLoginDetails: (id) =>\r\n handleFetch(`${base}/api/notification/logindetails?id=${id}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n changeDealershipStaffRoleStatus: (id, status) =>\r\n handleFetch(`${base}/api/user/role/status?id=${id}&status=${status}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n changeGlobalConfigStatus: (code, status) =>\r\n handleFetch(`${base}/api/global-config/config/status?code=${code}&status=${status}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n initiateConfig: (code, status) =>\r\n handleFetch(`${base}/api/dealership/config/initiate?code=${code}&status=${status}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n changeDealershipUserStatus: (listType, id, enabled, message) =>\r\n handleFetch(`${base}/api/user/status?id=${id}&listType=${listType}&enabled=${enabled}&message=${message}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n changeSubmissionStatus: (policyID, received) =>\r\n handleFetch(`${base}/api/sign/change-submission-status?policyID=${policyID}&received=${received}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n changeUserArchivedStatus: (id, enabled) =>\r\n handleFetch(`${base}/api/user/archived?id=${id}&archived=${enabled}`, {\r\n ...stdOptsPostJSON(),\r\n }),\r\n getJavlnVehicles: (plate, vin) =>\r\n handleFetch(`${base}/api/redbook/vehicle/search?plate=${plate}&vin=${vin}`, {\r\n ...stdOpts(),\r\n }),\r\n getRedbookPriceDetails: (rbc) =>\r\n handleFetch(`${base}/api/redbook/usedprices?rbc=${rbc}`, {\r\n ...stdOpts(),\r\n }),\r\n getRedbookAutoCalc: (rbc, odometer) =>\r\n handleFetch(`${base}/api/redbook/autocalc?rbc=${rbc}&odometer=${odometer}`, {\r\n ...stdOpts(),\r\n }),\r\n getRedbookMakes: () =>\r\n handleFetch(`${base}/api/redbook/makes`, {\r\n ...stdOpts(),\r\n }),\r\n getRedbookModels: (makeId) =>\r\n handleFetch(`${base}/api/redbook/families?makeId=${makeId}`, {\r\n ...stdOpts(),\r\n }),\r\n getRedbookYearGroups: (familyId) =>\r\n handleFetch(`${base}/api/redbook/yeargroupsbyyear?familyId=${familyId}`, {\r\n ...stdOpts(),\r\n }),\r\n getRedbookVehicles: (yearGroupId) =>\r\n handleFetch(`${base}/api/redbook/vehicles?yearGroupId=${yearGroupId}`, {\r\n ...stdOpts(),\r\n }),\r\n getRedbookVehicleDetails: (rbc) =>\r\n handleFetch(`${base}/api/redbook/vehicle?rbc=${rbc}`, {\r\n ...stdOpts(),\r\n }),\r\n getProductOptions: (product, dealerCode) => handleFetch(`${base}/api/authorized-products/options/${product}/${dealerCode}`, stdOpts()),\r\n getMBIClaimLimits: (product, dealerCode) => handleFetch(`${base}/api/authorized-products/claim-limits/${product}/${dealerCode}`, stdOpts()),\r\n\r\n getDealershipsForProductRates: (productCode) => handleFetch(`${base}/api/authorized-products/dealerships/${productCode}`, stdOpts()),\r\n getAllDealershipsForProductRates: (productCode) => handleFetch(`${base}/api/authorized-products/all-dealers/${productCode}`, stdOpts()),\r\n getDealerRates: (dealerCode, isTaxi, selectedClaimLimit) =>\r\n handleFetch(`${base}/api/authorized-products/extended/${dealerCode}/${isTaxi}/${selectedClaimLimit}`, stdOpts()),\r\n getDealerDocument: (docType, product, dealerCode, fileName) => handleFileDownload(`${base}/api/documents/${docType}/${product}/${dealerCode}`, stdOpts(), fileName),\r\n getPolicyWordings: (dealerCode) => handleFetch(`${base}/api/documents/pw-list/${dealerCode}`, stdOpts()),\r\n getSummaryOfCoverList: (dealerCode) => handleFetch(`${base}/api/documents/soc-list/${dealerCode}`, stdOpts()),\r\n getPpiPremium: (request, dealerCode) =>\r\n handleFetch(`${base}/api/calculator/${dealerCode}`, {\r\n ...stdOptsPostJSON(),\r\n body: JSON.stringify(request),\r\n }),\r\n downloadDealerRates: async (dealerCode, cover, product, isRetail, isTaxi, selectedClaimLimit, fileName) =>\r\n await handleFileDownloadAsync(\r\n `${base}/api/authorized-products/extended/download/${dealerCode}/${cover}/${product}/${isRetail}/${isTaxi}/${selectedClaimLimit}`,\r\n stdOpts(),\r\n fileName\r\n ),\r\n downloadDealerAgreement: async (dealerCode, fileName) => await handleFileDownloadAsync(`${base}/api/dealership/agreement/download/${dealerCode}`, stdOpts(), fileName),\r\n};\r\n","export const LOADED_CONFIGS = \"LOADED_CONFIGS\";\r\nexport const loadedConfigs = (configs) => {\r\n return { type: LOADED_CONFIGS, configs };\r\n};\r\n\r\nexport const LOAD_CONFIGS = \"LOAD_CONFIGS\";\r\nexport const loadConfigs = () => {\r\n return { type: LOAD_CONFIGS };\r\n};\r\n\r\nexport const LOAD_HOME_BANNER = \"LOAD_HOME_BANNER\";\r\nexport const loadBanner = () => {\r\n return { type: LOAD_HOME_BANNER };\r\n};\r\n\r\nexport const LOADED_HOME_BANNER = \"LOADED_HOME_BANNER\";\r\nexport const loadedBanner = (banner) => {\r\n return { type: LOADED_HOME_BANNER, banner };\r\n};\r\n\r\nexport const UPDATE_HOME_BANNER = \"UPDATE_HOME_BANNER\";\r\nexport const updateHomeBanner = (banner) => {\r\n return { type: UPDATE_HOME_BANNER, banner };\r\n};\r\n\r\nexport const UPDATE_HOME_BANNER_CHECK = \"UPDATE_HOME_BANNER_CHECK\";\r\nexport const updateHomeBannerCheck = (check) => {\r\n return { type: UPDATE_HOME_BANNER_CHECK, check };\r\n};\r\n\r\nexport const CHANGE_STATUS = \"CONFIG_CHANGE_STATUS\";\r\nexport const changeStatus = (code, status) => {\r\n return { type: CHANGE_STATUS, code, status };\r\n};\r\n\r\nexport const UI_BLOCK_START = \"UI_BLOCK_START\";\r\nexport const uiblockstart = () => {\r\n return { type: UI_BLOCK_START };\r\n};\r\n\r\nexport const UI_BLOCK_END = \"UI_BLOCK_END\";\r\nexport const uiblockend = () => {\r\n return { type: UI_BLOCK_END };\r\n};\r\n","export const SHOW_USER_NOTIFICATION_BLOCK = \"SHOW_USER_NOTIFICATION_BLOCK\";\r\nexport const showUserNotificationBlock = () => {\r\n return { type: SHOW_USER_NOTIFICATION_BLOCK };\r\n};\r\n\r\nexport const INITIATE_USER_NOTIFICATION_BLOCK = \"INITIATE_USER_NOTIFICATION_BLOCK\";\r\nexport const initiateUserNotificationBlock = (notifications) => {\r\n return { type: INITIATE_USER_NOTIFICATION_BLOCK, notifications };\r\n};\r\n\r\nexport const ACCEPT_NOTIFICATIONS = \"ACCEPT_NOTIFICATIONS\";\r\nexport const acceptNotifications = (usernotification) => {\r\n return { type: ACCEPT_NOTIFICATIONS, usernotification };\r\n};\r\n\r\nexport const CLOSE_USER_NOTIFICATION_BLOCK = \"CLOSE_USER_NOTIFICATION_BLOCK\";\r\nexport const closeUserNotificationBlock = () => {\r\n return { type: CLOSE_USER_NOTIFICATION_BLOCK };\r\n};\r\n\r\nexport const WAIT = \"WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n","import React, { PureComponent } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { connect } from 'react-redux'\r\n\r\nimport Button from 'react-bootstrap/lib/Button'\r\n\r\nimport WhiteIcon from '../components/WhiteIcon'\r\n\r\nimport store from '../store'\r\n\r\nclass InnerStoreLogger extends PureComponent {\r\n constructor (props) {\r\n super(props)\r\n\r\n this.handleClick = this.handleClick.bind(this)\r\n }\r\n\r\n handleClick () {\r\n this.props.doLog(store)\r\n }\r\n\r\n render () {\r\n if (!this.props.override) {\r\n if (!this.props.allow || !this.props.allow.Developer) {\r\n return null\r\n }\r\n }\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nInnerStoreLogger.propTypes = {\r\n allow: PropTypes.object.isRequired,\r\n style: PropTypes.object,\r\n doLog: PropTypes.func,\r\n override: PropTypes.bool\r\n}\r\n\r\nInnerStoreLogger.defaultProps = {\r\n style: { position: 'relative', top: '-4px', marginLeft: '8px', marginBottom: 0, float: 'right' },\r\n doLog: (store) => { console.log(store.getState()) }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n allow: state.auth.allow\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return { dispatch }\r\n}\r\n\r\nconst StoreLogger = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(InnerStoreLogger)\r\n\r\nexport default StoreLogger\r\n","export const INITIALIZE = 'MODIFYPOLICY_INITIALIZE'\r\nexport const initialize = (policyid) => {\r\n return { 'type': INITIALIZE, policyid }\r\n}\r\n\r\nexport const INITIALIZED = 'MODIFYPOLICY_INITIALIZED'\r\nexport const initialized = (PolicyPackage, ui) => {\r\n return { 'type': INITIALIZED, PolicyPackage, ui }\r\n}\r\n\r\nexport const SETPROPOSERTYPE = 'MODIFYPOLICY_SETPROPOSERTYPE'\r\nexport const setProposerType = (proposertype) => {\r\n return { 'type': SETPROPOSERTYPE, proposertype }\r\n}\r\n\r\nexport const WAIT = 'MODIFYPOLICY_WAIT'\r\nexport const wait = (wait) => {\r\n return { 'type': WAIT, wait }\r\n}\r\n\r\nexport const SAVE = 'MODIFYPOLICY_SAVE'\r\nexport const save = (PolicyPackage) => {\r\n return { 'type': SAVE, PolicyPackage }\r\n}\r\n\r\nexport const SAVED = 'MODIFYPOLICY_SAVED'\r\nexport const saved = () => {\r\n return { 'type': SAVED }\r\n}\r\n\r\nexport const ERROR = 'MODIFYPOLICY_ERROR'\r\nexport const validationError = (errors) => {\r\n return { 'type': ERROR, errors }\r\n}\r\n\r\nexport const CLOSEMODIFYPOLICY = 'MODIFYPOLICY_CANCEL'\r\nexport const closeModifyPolicy = () => {\r\n return { 'type': CLOSEMODIFYPOLICY }\r\n}\r\n","export const LOAD = 'CLAIM_LOAD'\r\nexport const load = (id) => ({ 'type': LOAD, id })\r\n\r\nexport const LOADED = 'CLAIM_LOADED'\r\nexport const loaded = (claim, ui) => ({ 'type': LOADED, claim, ui })\r\n\r\nexport const SAVE = 'CLAIM_SAVE'\r\nexport const save = (claim) => ({ 'type': SAVE, claim })\r\n\r\nexport const NEW = 'CLAIM_NEW'\r\nexport const newClaim = () => ({ 'type': NEW })\r\n\r\nexport const COMPLETED = 'CLAIM_COMPLETED'\r\nexport const completed = () => ({ 'type': COMPLETED })\r\n\r\nexport const SETACTIVESTEP = 'CLAIM_SETACTIVESTEP'\r\nexport const setActiveStep = (step) => ({ 'type': SETACTIVESTEP, step })\r\n\r\nexport const PROPOSERLOOKUP = 'CLAIM_PROPOSERLOOKUP'\r\nexport const proposerLookup = (claim) => ({ 'type': PROPOSERLOOKUP, claim })\r\n\r\nexport const WAIT = 'CLAIM_WAIT'\r\nexport const wait = () => ({ 'type': WAIT })\r\n\r\nexport const UNWAIT = 'CLAIM_UNWAIT'\r\nexport const unwait = () => ({ 'type': UNWAIT })\r\n","export const INITIALIZE = \"LOGIN_INITIALIZE\";\r\nexport const initialize = () => {\r\n return { type: INITIALIZE };\r\n};\r\n\r\nexport const WAIT = \"LOGIN_WAIT\";\r\nexport const wait = (wait) => {\r\n return { type: WAIT, wait };\r\n};\r\n\r\nexport const REDIRECT = \"LOGIN_REDIRECT\";\r\nexport const redirect = (url) => {\r\n return { type: REDIRECT, url };\r\n};\r\n\r\nexport const LOGIN = \"LOGIN_LOGIN\";\r\nexport const login = (name, password) => {\r\n return { type: LOGIN, name, password };\r\n};\r\n\r\nexport const LOGOUT = \"LOGOUT\";\r\nexport const logout = () => {\r\n return { type: LOGOUT };\r\n};\r\n\r\nexport const FAILED = \"LOGIN_FAILED\";\r\nexport const failed = (message) => {\r\n return { type: FAILED, message };\r\n};\r\n\r\nexport const LOGGEDIN = \"LOGIN_LOGGEDIN\";\r\n","export const LOADED_ROLES = \"DEALERSHIP_ROLES_LOADED\";\r\nexport const loadedRoles = (dealershipRoles) => {\r\n return { type: LOADED_ROLES, dealershipRoles };\r\n};\r\n\r\nexport const LOAD_ROLES = \"DEALERSHIP_ROLES_LOAD\";\r\nexport const loadRoles = () => {\r\n return { type: LOAD_ROLES };\r\n};\r\n\r\nexport const SAVE_ROLE = \"DEALERSHIP_ROLES_SAVE\";\r\nexport const saveRole = (dealershipRole) => {\r\n return { type: SAVE_ROLE, dealershipRole };\r\n};\r\n\r\nexport const CHANGE_STATUS = \"DEALERSHIP_CHANGE_STATUS\";\r\nexport const changeStatus = (id, status) => {\r\n return { type: CHANGE_STATUS, id, status };\r\n};\r\n\r\nexport const UI_BLOCK_START = \"UI_BLOCK_START\";\r\nexport const uiblockstart = () => {\r\n return { type: UI_BLOCK_START };\r\n};\r\n\r\nexport const UI_BLOCK_END = \"UI_BLOCK_END\";\r\nexport const uiblockend = () => {\r\n return { type: UI_BLOCK_END };\r\n};\r\n","export const INITIALIZE = 'REQUESTMODIFICATION_INITIALIZE'\r\nexport const initialize = (policyNumber) => {\r\n return { 'type': INITIALIZE, policyNumber }\r\n}\r\n\r\nexport const INITIALIZED = 'REQUESTMODIFICATION_INITIALIZED'\r\nexport const initialized = (policyNumber, message) => {\r\n return { 'type': INITIALIZED, policyNumber, message }\r\n}\r\n\r\nexport const WAIT = 'REQUESTMODIFICATION_WAIT'\r\nexport const wait = (wait) => {\r\n return { 'type': WAIT, wait }\r\n}\r\n\r\nexport const SAVE = 'REQUESTMODIFICATION_SAVE'\r\nexport const save = (policyNumber, message) => {\r\n return { 'type': SAVE, policyNumber, message }\r\n}\r\n\r\nexport const CLOSEREQUESTMODIFICATION = 'REQUESTMODIFICATION_CANCEL'\r\nexport const closeRequestModification = () => {\r\n return { 'type': CLOSEREQUESTMODIFICATION }\r\n}\r\n\r\nexport const SAVED = 'REQUESTMODIFICATION_SAVED'\r\nexport const ERROR = 'REQUESTMODIFICATION_ERROR'\r\n","export const LOADPAGE = 'MONTHLIST_LOADPAGE'\r\nexport const loadPage = (listType, page, search) => {\r\n return { 'type': LOADPAGE, listType }\r\n}\r\n\r\nexport const PAGELOADED = 'MONTHLIST_PAGELOADED'\r\nexport const pageLoaded = (listType, data) => {\r\n return { 'type': PAGELOADED, listType, data }\r\n}\r\n\r\nexport const UPDATE = 'MONTHLIST_UPDATE'\r\nexport const update = (month) => {\r\n return { 'type': UPDATE, month }\r\n}\r\n\r\nexport const YES = 'MONTHLIST_YES'\r\nexport const yes = (month) => {\r\n return { 'type': YES, month }\r\n}\r\n\r\nexport const NO = 'MONTHLIST_NO'\r\nexport const no = (month) => {\r\n return { 'type': NO, month }\r\n}\r\n\r\nexport const UPDATED = 'MONTHLIST_UPDATED'\r\nexport const updated = (month) => {\r\n return { 'type': UPDATED, month }\r\n}\r\n\r\nexport const WAIT = 'MONTHLIST_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'MONTHLIST_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n","export const INITIALIZE = 'REQUESTREGOMODIFICATION_INITIALIZE'\r\nexport const initialize = (policyNumber,id) => {\r\n return { 'type': INITIALIZE, policyNumber,id }\r\n}\r\n\r\nexport const INITIALIZED = 'REQUESTREGOMODIFICATION_INITIALIZED'\r\nexport const initialized = (policyNumber,id, message) => {\r\n return { 'type': INITIALIZED, policyNumber,id, message }\r\n}\r\n\r\nexport const WAIT = 'REQUESTREGOMODIFICATION_WAIT'\r\nexport const wait = (wait) => {\r\n return { 'type': WAIT, wait }\r\n}\r\n\r\nexport const SAVE = 'REQUESTREGOMODIFICATION_SAVE'\r\nexport const save = (policyNumber,id, message) => {\r\n return { 'type': SAVE, policyNumber,id, message }\r\n}\r\n\r\nexport const CLOSEREQUESTREGOMODIFICATION = 'REQUESTREGOMODIFICATION_CANCEL'\r\nexport const closeRequestRegoModification = () => {\r\n return { 'type': CLOSEREQUESTREGOMODIFICATION }\r\n}\r\n\r\nexport const SAVED = 'REQUESTREGOMODIFICATION_SAVED'\r\nexport const ERROR = 'REQUESTREGOMODIFICATION_ERROR'\r\n","export const LOADPAGE = \"NOTIFICATION_LOADPAGE\";\r\nexport const loadPage = (listType, page, search, userid) => {\r\n return { type: LOADPAGE, listType, page, search, userid };\r\n};\r\n\r\nexport const PAGELOADED = \"NOTIFICATION_PAGELOADED\";\r\nexport const pageLoaded = (listType, activePage, search, recordsTotal, data, userid) => {\r\n return { type: PAGELOADED, listType, activePage, search, recordsTotal, data, userid };\r\n};\r\nexport const TRIGGER_NOTIFICATION_ID = \"TRIGGER_NOTIFICATION_ID\";\r\nexport const triggerNotificationId = (id, listType, page, search) => {\r\n return { type: TRIGGER_NOTIFICATION_ID, id, listType, page, search };\r\n};\r\n\r\nexport const TRIGGER_NOTIFICATION_ID_USER = \"TRIGGER_NOTIFICATION_ID_USER\";\r\nexport const triggerNotificationIdUser = (id, listType, page, search) => {\r\n return { type: TRIGGER_NOTIFICATION_ID_USER, id, listType, page, search };\r\n};\r\n\r\nexport const WAIT = \"NOTIFICATION_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"NOTIFICATION_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n","import React, { PureComponent, Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport Button from \"react-bootstrap/lib/Button\";\r\nimport Modal from \"react-bootstrap/lib/Modal\";\r\n\r\nimport StoreLogger from \"./StoreLogger\";\r\n\r\nimport { closeErrorModal } from \"../actions\";\r\n\r\nclass ErrorModal extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleClose = this.handleClose.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.props.dispatch(closeErrorModal());\r\n }\r\n\r\n render() {\r\n const { message } = this.props;\r\n\r\n let messages = [\"An error occurred\"];\r\n let title = \"Error\";\r\n\r\n try {\r\n if (\r\n message.includes(\"Error ID\") &&\r\n !(\r\n message.includes(\"Sorry, an error has occurred\") ||\r\n message.includes(\"Driver has been declined\") ||\r\n message.includes(\"Sorry, you need to login\") ||\r\n message.includes(\"proposer\") ||\r\n message.includes(\"INVALID-CC\") ||\r\n message.includes(\"Vehicle Declined\")\r\n )\r\n ) {\r\n if (message.includes(\"is not a number\")) {\r\n messages[0] = \"A non-numeric value encountered. Please avoid any commas or non-numeric values from the numeric fields.\";\r\n } else {\r\n messages = message.split(\"#\");\r\n title = messages[0];\r\n }\r\n } else {\r\n messages = message.split(\";\");\r\n if (message.includes(\"#\")) {\r\n var n = messages[0].indexOf(\"#\");\r\n messages[0] = messages[0].slice(n + 1);\r\n }\r\n }\r\n } catch (e) {}\r\n\r\n return (\r\n \r\n {title === \"Error\" ? (\r\n \r\n \r\n

    Error

    \r\n
    \r\n \r\n
      \r\n {messages.map((msg, i) => (\r\n
    • {msg}
    • \r\n ))}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n ) : (\r\n \r\n \r\n

    Something Went Wrong !

    \r\n
    \r\n \r\n
    {title}
    \r\n

    \r\n Please take a screen shot of this and send it to support_protecta@protecta.co.nz\r\n

    \r\n

    We will fix this issue as soon as possible.

    \r\n

    Sorry for the inconvenience.

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nErrorModal.propTypes = {\r\n dispatch: PropTypes.func.isRequired,\r\n message: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ErrorModal;\r\n\r\nconst slstyle = { position: \"relative\", top: \"0\", marginLeft: \"4px\", marginBottom: 0, float: \"right\" };\r\n","import React, { PureComponent, Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport Button from \"react-bootstrap/lib/Button\";\r\nimport Modal from \"react-bootstrap/lib/Modal\";\r\n\r\nimport StoreLogger from \"./StoreLogger\";\r\n\r\nimport { closeSuccessModal } from \"../actions\";\r\n\r\nclass SuccessModal extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleClose = this.handleClose.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.props.dispatch(closeSuccessModal());\r\n }\r\n\r\n render() {\r\n const { message, title, submessage, footer } = this.props;\r\n return (\r\n \r\n \r\n

    {title}

    \r\n
    \r\n \r\n {title === \"MVIS\" ? (\r\n \r\n {message}\r\n \r\n ) : (\r\n

    {message}

    \r\n )}\r\n
      {typeof submessage !== \"undefined\" && submessage.map((val) =>
    1. {val}
    2. )}
    \r\n
    \r\n {typeof footer !== \"undefined\" && footer.map((val) =>

    {val}

    )}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nSuccessModal.propTypes = {\r\n dispatch: PropTypes.func.isRequired,\r\n message: PropTypes.string.isRequired,\r\n title: PropTypes.string,\r\n submessage: PropTypes.array,\r\n footer: PropTypes.array,\r\n};\r\n\r\nexport default SuccessModal;\r\n\r\nconst slstyle = {\r\n position: \"relative\",\r\n top: \"0\",\r\n marginLeft: \"4px\",\r\n marginBottom: 0,\r\n float: \"right\",\r\n};\r\n","import React, { PureComponent, Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport Button from \"react-bootstrap/lib/Button\";\r\nimport Modal from \"react-bootstrap/lib/Modal\";\r\n\r\nimport StoreLogger from \"./StoreLogger\";\r\n\r\nimport { closeSuccessModal } from \"../actions\";\r\nimport { Fieldset } from \"react-redux-form\";\r\nimport Label from \"./forms/Label\";\r\nimport Input from \"./forms/Input\";\r\nimport FormGroup from \"react-bootstrap/lib/FormGroup\";\r\nimport TextArea from \"./forms/TextArea\";\r\nimport Checkbox from \"./forms/Checkbox\";\r\n\r\nclass NotticationModal extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleClose = this.handleClose.bind(this);\r\n }\r\n\r\n handleClose() {\r\n this.props.dispatch(closeSuccessModal());\r\n }\r\n\r\n render() {\r\n const { message } = this.props;\r\n\r\n return (\r\n \r\n \r\n

    You have a new notification from Protecta Team

    \r\n
    \r\n \r\n {\r\n
      \r\n
    • \r\n

      Please settle your debts before 30th Sep 2020 to avoid the distruption to your protecta services.

      \r\n
    • \r\n
    \r\n }\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNotticationModal.propTypes = {\r\n dispatch: PropTypes.func.isRequired,\r\n message: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default NotticationModal;\r\n\r\nconst slstyle = { position: \"relative\", top: \"0\", marginLeft: \"4px\", marginBottom: 0, float: \"right\" };\r\n","import React, { PureComponent } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport Modal from \"react-bootstrap/lib/Modal\";\r\n\r\nimport Button from \"react-bootstrap/lib/Button\";\r\n\r\nimport { Form, Fieldset } from \"react-redux-form\";\r\n\r\nimport { wait, closeUserNotificationBlock, acceptNotifications } from \"./actions\";\r\n\r\nimport ErrorBoundary from \"../../components/ErrorBoundary\";\r\nimport StoreLogger from \"../../components/StoreLogger\";\r\nimport Checkbox from \"../../components/forms/Checkbox\";\r\n\r\nimport FormGroup from \"react-bootstrap/lib/FormGroup\";\r\n\r\nclass InnerUserNotifications extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleAccept = this.handleAccept.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.doLog = this.doLog.bind(this);\r\n }\r\n\r\n handleAccept() {\r\n const { usernotification } = this.props.usernotification;\r\n const { dispatch } = this.props;\r\n dispatch(wait(true));\r\n dispatch(acceptNotifications(usernotification));\r\n }\r\n\r\n handleClose() {\r\n const { dispatch } = this.props;\r\n dispatch(closeUserNotificationBlock());\r\n }\r\n\r\n doLog(store) {\r\n console.log(store.getState().usernotification);\r\n }\r\n\r\n render() {\r\n const { dispatch } = this.props;\r\n\r\n const { usernotification, ui } = this.props.usernotification;\r\n\r\n return (\r\n
    \r\n \r\n

    Your Notifications

    \r\n
    \r\n\r\n \r\n \r\n
    \r\n Please read and accept the nofications\r\n
      \r\n {usernotification.notifications.map((msg) => (\r\n
    • {msg.message}
    • \r\n ))}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nInnerUserNotifications.propTypes = {\r\n dispatch: PropTypes.func.isRequired,\r\n usernotification: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n usernotification: state.usernotification,\r\n user: state.auth.user,\r\n allow: state.auth.allow,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return { dispatch };\r\n};\r\n\r\nconst UserNotifications = connect(mapStateToProps, mapDispatchToProps)(InnerUserNotifications);\r\n\r\nexport default UserNotifications;\r\n\r\nconst slstyle = { position: \"relative\", top: \"0\", marginLeft: \"4px\", marginBottom: 0, float: \"right\" };\r\n","import React, { Fragment, PureComponent } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Router } from \"react-router-dom\";\r\n\r\nimport Modal from \"react-bootstrap/lib/Modal\";\r\n\r\nimport history from \"./history\";\r\nimport Routes from \"./Routes\";\r\n\r\nimport { startKeepAlive, stopKeepAlive } from \"./actions\";\r\n\r\nimport { queryAllowed } from \"./auth/actions\";\r\n\r\nimport asyncComponent from \"./components/asyncComponent\";\r\nimport ErrorBoundary from \"./components/ErrorBoundary\";\r\nimport ErrorModal from \"./components/ErrorModal\";\r\nimport SuccessModal from \"./components/SuccessModal\";\r\nimport NotificationModal from \"./components/NotificationModal\";\r\nimport UserNotifications from \"./dashboard/usernotifications/UserNotifications\";\r\n\r\nconst ModifyPolicyModal = asyncComponent(() => import(\"./policyactions/modifypolicy/ModifyPolicyModal\"));\r\nconst UserBlockModal = asyncComponent(() => import(\"./dashboard/user/userblock/UserBlockModal\"));\r\nconst RequestModificationModal = asyncComponent(() => import(\"./policyactions/requestmodification/RequestModificationModal\"));\r\nconst CovidAlertMsgForPPPModal = asyncComponent(() => import(\"./policyactions/alertmsgs/CovidAlertMsgForPPPModal\"));\r\nconst RequestRegoModificationModal = asyncComponent(() => import(\"./policyactions/requestregomodification/RequestRegoModificationModal\"));\r\nconst CopyPolicyModal = asyncComponent(() => import(\"./policyactions/copypolicy/CopyPolicyModal\"));\r\nconst CopyDealershipModal = asyncComponent(() => import(\"./dashboard/dealership/copydealership/CopyDealershipModal\"));\r\nconst ArchiveModal = asyncComponent(() => import(\"./policyactions/archive/ArchiveModal\"));\r\n\r\nconst DiscOverrideReqModal = asyncComponent(() => import(\"./policy/components/disclosure/DiscOverrideRequestModal\"));\r\n\r\nclass InnerAppContainer extends PureComponent {\r\n componentWillMount() {\r\n const { dispatch } = this.props;\r\n dispatch(queryAllowed());\r\n dispatch(startKeepAlive());\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.dispatch(stopKeepAlive());\r\n }\r\n\r\n render() {\r\n const { dispatch, auth, application } = this.props;\r\n\r\n const {\r\n ui,\r\n modifyPolicyVisible,\r\n userBlockVisble,\r\n requestModificationVisible,\r\n copyPolicyVisible,\r\n copyDealershipVisible,\r\n showPPPCovidMsg,\r\n requestRegoModificationVisible,\r\n archivePolicyVisible,\r\n userNotificationVisible,\r\n showDiscOverrideModal,\r\n } = application;\r\n\r\n console.log(ui.message);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {typeof ui.error !== \"undefined\" && (\r\n \r\n \r\n \r\n )}\r\n\r\n {typeof ui.message !== \"undefined\" && (\r\n \r\n \r\n \r\n )}\r\n\r\n {typeof auth.dealership !== \"undefined\" && auth.dealership.code === \"TEST7\" && (\r\n \r\n \r\n \r\n )}\r\n\r\n {typeof this.props.auth.user.name !== \"undefined\" && (\r\n \r\n {modifyPolicyVisible && (\r\n \r\n \r\n \r\n )}\r\n {requestModificationVisible && (\r\n \r\n \r\n \r\n )}\r\n {userNotificationVisible && (\r\n \r\n \r\n \r\n )}\r\n\r\n {showPPPCovidMsg && (\r\n \r\n \r\n \r\n )}\r\n\r\n {showDiscOverrideModal && (\r\n \r\n \r\n \r\n )}\r\n\r\n {userBlockVisble && (\r\n \r\n \r\n \r\n )}\r\n\r\n {requestRegoModificationVisible && (\r\n \r\n \r\n \r\n )}\r\n {copyPolicyVisible && (\r\n \r\n \r\n \r\n )}\r\n\r\n {copyDealershipVisible && (\r\n \r\n \r\n \r\n )}\r\n\r\n {archivePolicyVisible && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nInnerAppContainer.propTypes = {\r\n dispatch: PropTypes.func.isRequired,\r\n application: PropTypes.shape({\r\n ui: PropTypes.object.isRequired,\r\n loginVisible: PropTypes.bool,\r\n modifyPolicyVisible: PropTypes.bool,\r\n requestModificationVisible: PropTypes.bool,\r\n requestRegoModificationVisible: PropTypes.bool,\r\n copyPolicyVisible: PropTypes.bool,\r\n archivePolicyVisible: PropTypes.bool,\r\n }),\r\n auth: PropTypes.shape({\r\n user: PropTypes.object,\r\n allow: PropTypes.object,\r\n }),\r\n};\r\n\r\nconst AppContainer = connect(\r\n (state) => {\r\n return { application: state.application, auth: state.auth };\r\n },\r\n (dispatch) => {\r\n return { dispatch };\r\n }\r\n)(InnerAppContainer);\r\n\r\nexport default AppContainer;\r\n","import React from \"react\";\r\n\r\nimport { Provider } from \"react-redux\";\r\n\r\nimport AppContainer from \"./AppContainer\";\r\nimport store from \"./store\";\r\n\r\nexport default (props) => (\r\n \r\n \r\n \r\n);\r\n","import 'babel-polyfill'\r\n\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\n\r\nimport App from './App'\r\n\r\nimport { ErrorBoundary } from './bugsnagClient'\r\n\r\nReactDOM.render((), document.getElementById('root'))\r\n","export const LOAD_BDMS = \"LOAD_BDMS\";\r\nexport const loadBDMS = () => {\r\n return { type: LOAD_BDMS };\r\n};\r\n\r\nexport const WAIT = \"WAIT_BDMS\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"FINISHED_BDMS\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n\r\nexport const LOADED_BDMS = \"LOADED_BDMS\";\r\nexport const loadedBDMS = (data) => {\r\n return { type: LOADED_BDMS, data };\r\n};\r\n\r\nexport const LOADPAGE = \"BDM_DEALERSHIP_LOADPAGE\";\r\nexport const loadPage = (page, search, serviceLevel, bdm) => {\r\n return { type: LOADPAGE, page, search, serviceLevel, bdm };\r\n};\r\n\r\nexport const PAGELOADED = \"BDM_DEALERSHIP_LOADEDPAGE\";\r\nexport const pageLoaded = (activePage, search, serviceLevel, bdm, recordsTotal, data) => {\r\n return { type: PAGELOADED, activePage, search, serviceLevel, bdm, recordsTotal, data };\r\n};\r\n","export const LOADPAGE = \"DEALERSHIPLIST_LOADPAGE\";\r\nexport const loadPage = (listType, page, search, serviceLevel, bdm) => {\r\n return { type: LOADPAGE, listType, page, search, serviceLevel, bdm };\r\n};\r\n\r\nexport const LOADBDMS = \"DEALERSHIP_LOADBDMS\";\r\nexport const loadBDMS = () => {\r\n return { type: LOADBDMS };\r\n};\r\n\r\nexport const PAGELOADED = \"DEALERSHIPLIST_PAGELOADED\";\r\nexport const pageLoaded = (listType, activePage, search, serviceLevel, bdm, recordsTotal, data) => {\r\n return { type: PAGELOADED, listType, activePage, search, serviceLevel, bdm, recordsTotal, data };\r\n};\r\n\r\nexport const LOADEDBDMS = \"DEALERSHIP_LOADEDBDMS\";\r\nexport const loadedBDMS = (data) => {\r\n return { type: LOADEDBDMS, data };\r\n};\r\n\r\nexport const WAIT = \"DEALERSHIPLIST_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"DEALERSHIPLIST_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n\r\nexport const RETRIEVE = \"DEALERSHIPS_RETRIEVE\";\r\nexport const retrieveFromProteus = () => {\r\n return { type: RETRIEVE };\r\n};\r\n","export const LOADPAGE = \"USERLIST_LOADPAGE\";\r\nexport const loadPage = (listType, page, search) => {\r\n return { type: LOADPAGE, listType, page, search };\r\n};\r\n\r\nexport const PAGELOADED = \"USERLIST_PAGELOADED\";\r\nexport const pageLoaded = (listType, activePage, search, recordsTotal, data) => {\r\n return { type: PAGELOADED, listType, activePage, search, recordsTotal, data };\r\n};\r\n\r\nexport const CHANGE_LOGIN_STATUS = \"CHANGE_LOGIN_STATUS\";\r\nexport const changeUserStatus = (listType, activePage, search, id, enabled, message) => {\r\n return { type: CHANGE_LOGIN_STATUS, listType, activePage, search, id, enabled, message };\r\n};\r\n\r\nexport const CHANGE_ARCHIVED_STATUS = \"CHANGE_ARCHIVED_STATUS\";\r\nexport const changeArchivedStatus = (listType, activePage, search, id, archived) => {\r\n return { type: CHANGE_ARCHIVED_STATUS, listType, activePage, search, id, archived };\r\n};\r\n\r\nexport const WAIT = \"USERLIST_WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"USERLIST_FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n","export const INITIALIZE = 'MONTH_INITIALIZE'\r\nexport const initialize = (monthid) => {\r\n return { 'type': INITIALIZE, monthid }\r\n}\r\n\r\nexport const INITIALIZED = 'MONTH_INITIALIZED'\r\nexport const initialized = (month) => {\r\n return { 'type': INITIALIZED, month }\r\n}\r\n\r\nexport const WAIT = 'MONTH_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'MONTH_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n\r\nexport const SORTDATE = 'MONTH_SORTDATE'\r\nexport const sortDate = () => {\r\n return { type: SORTDATE }\r\n}\r\n\r\nexport const SORTTYPE = 'MONTH_SORTTYPE'\r\nexport const sortType = () => {\r\n return { type: SORTTYPE }\r\n}\r\n","export const LOADPAGE = 'POLICYLIST_LOADPAGE'\r\nexport const loadPage = (listType, page, search,searchtype) => {\r\n return { 'type': LOADPAGE, listType, page, search ,searchtype}\r\n}\r\n\r\nexport const PAGELOADED = 'POLICYLIST_PAGELOADED'\r\nexport const pageLoaded = (listType, activePage, search, searchtype,recordsTotal, data,) => {\r\n return { 'type': PAGELOADED, listType, activePage, search,searchtype, recordsTotal, data }\r\n}\r\n\r\nexport const WAIT = 'POLICYLIST_WAIT'\r\nexport const wait = () => {\r\n return { type: WAIT }\r\n}\r\n\r\nexport const FINISHED = 'POLICYLIST_FINISHED'\r\nexport const finished = () => {\r\n return { type: FINISHED }\r\n}\r\n\r\nexport const RELOAD = 'POLICYLIST_RELOAD'\r\nexport const reload = () => {\r\n return { type: RELOAD }\r\n}\r\n","export const SHOWUSERBLOCK = \"SHOWUSERBLOCK\";\r\nexport const showUserBlock = () => {\r\n return { type: SHOWUSERBLOCK };\r\n};\r\n\r\nexport const INITIATE_USER_BLOCK = \"INITIATE_USER_BLOCK\";\r\nexport const initiateUserBlock = (apiQuery, id, ch) => {\r\n return { type: INITIATE_USER_BLOCK, apiQuery, id, ch };\r\n};\r\n\r\nexport const CLOSEUSERBLOCK = \"CLOSEUSERBLOCK\";\r\nexport const closeUserBlock = () => {\r\n return { type: CLOSEUSERBLOCK };\r\n};\r\n\r\nexport const WAIT = \"WAIT\";\r\nexport const wait = () => {\r\n return { type: WAIT };\r\n};\r\n\r\nexport const FINISHED = \"FINISHED\";\r\nexport const finished = () => {\r\n return { type: FINISHED };\r\n};\r\n"],"sourceRoot":""}