{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Icons/Dbg.vue?c5bf","webpack:///./src/utilities/cookieJar.js","webpack:///./src/components/LogoBar/index.vue?f6a0","webpack:///./src/App.vue","webpack:///./src/components/LogoBar/index.vue","webpack:///./src/components/LogoBar/index.vue?d9af","webpack:///./src/components/Icons/UMiLogo.vue","webpack:///./src/components/Icons/UMiLogo.vue?1aa8","webpack:///./src/components/Icons/Dbg.vue","webpack:///./src/components/Icons/Dbg.vue?c542","webpack:///./src/App.vue?8ecf","webpack:///./src/services/apiAuthClient.js","webpack:///./src/constants/errors.js","webpack:///./src/utilities/serverErrorHandler.js","webpack:///./src/store/application/actions.js","webpack:///./src/store/application/getters.js","webpack:///./src/store/application/mutations.js","webpack:///./src/store/application/index.js","webpack:///./src/services/authClient.js","webpack:///./src/store/auth/index.js","webpack:///./src/services/apiClient.js","webpack:///./src/store/childEntities/index.js","webpack:///./src/store/notes/index.js","webpack:///./src/store/eoi/actions.js","webpack:///./src/store/eoi/getters.js","webpack:///./src/store/eoi/mutations.js","webpack:///./src/store/eoi/index.js","webpack:///./src/store/ui/index.js","webpack:///./src/store/notifications/index.js","webpack:///./src/store/settings/index.js","webpack:///./src/store/claim/actions.js","webpack:///./src/store/claim/getters.js","webpack:///./src/store/claim/mutations.js","webpack:///./src/store/claim/index.js","webpack:///./src/store/index.js","webpack:///./src/router/index.js","webpack:///./src/plugins/seo.js","webpack:///./src/plugins/appInsights.js","webpack:///./src/main.js","webpack:///./src/components/Icons/UMiLogo.vue?73ed","webpack:///./src/utilities/constants.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","CookieJar","set","expires","addDays","Date","cookie","encodeURIComponent","cookies","split","find","cookieName","trim","remove","class","_createElementVNode","id","_createBlock","_component_Container","_createVNode","_component_Header","title","homepage-url","$options","homepageUrl","logo","_withCtx","_component_header_logo","_ctx","isAuthenticated","routeRequiresAuth","_component_Nav","onBtnClick","logoutAndRedirect","_component_router_view","$data","logos","_component_LogoBar","_component_Footer","poweredBy","_hoisted_1","_hoisted_2","_toDisplayString","getFullYear","_hoisted_3","_component_router_link","to","version","_component_UMiLogo","getInterstitial","isLoading","_component_content_overlay","content","_component_Interstitial","loading-message","_hoisted_4","_component_notifications","_createElementBlock","_Fragment","_renderList","$props","index","assetUrl","url","width","height","props","Array","default","computed","process","__exports__","xmlns","x","y","viewBox","style","xml:space","aria-labelledby","role","_hoisted_12","components","LogoBar","UMiLogo","HeaderLogo","provide","stageOneSteps","this","stageTwoStepsLarge","stageTwoStepsSmall","claimSteps","dynamicsId","pathName","$route","meta","requiresAuth","mapGetters","mounted","setParentSectors","setSectors","methods","logout","$router","mapActions","render","apiAuthClient","axios","baseURL","headers","ENV","APIKey","Authorization","post","payload","accessToken","defaults","put","errors","verifyErrors","generic","422","500","404","409","401","authErrors","applicationErrors","childEntityErrors","delete","claimErrors","eoiErrors","notesErrors","failures","docManagementStatusErrors","errorHandler","errorObject","method","response","status","errorMessage","actions","updateApplication","commit","getters","dispatch","rootGetters","_payload$ua_businessb","ua_totalamountrequesting","ua_forecastnumberofjobs","activeApplication","getActiveApplication","mutation","ua_businessbanksortcode","replace","application","getApplication","root","res","catch","finally","applications","large","small","flagName","flagStatus","updateCurrentStep","resetApp","defaultApplication","prefillApplication","setActiveApplication","state","getApplicationId","appType","ua_icapplicationid","getApplicationStatus","ua_currentstatus","getAppSubmitted","ua_submitapplication","getApplicationCurrentStep","ua_currentpageinapplication","getParentEmployeesOpts","numberOfEmployeesOpts","label","minItemIndex","findIndex","option","ua_companyemployeeslist","parentOpts","mutations","UPDATE_APPLICATION_SMALL","UPDATE_APPLICATION_LARGE","UPDATE_ACTIVE_APPLICATION","UPDATE_ADDITIONAL_POSTCODE_FIELDS","ua_tradingaddresspostcode","ua_tradingpostcode","ua_registeredaddresspostcode","ua_registeredpostcode","UPDATE_CURRENT_STEP","PREFILL_APPLICATION","ua_businessname","ua_companyname","ua_maincontactname","ua_firstname","ua_lastname","ua_maincontacttelephone","ua_preferredcontacttelephoneno","ua_maincontactemail","ua_emailaddress","ua_tradingaddress","ua_tradingaddressline1","ua_tradingaddressline2","ua_tradingaddresstowncity","ua_tradingpostcodefromryi","ua_tradingaddresssameasregistered","ua_registeredaddresssameastrading","ua_registeredaddress","ua_registeredaddressline1","ua_registeredaddressline2","ua_registeredaddresstowncity","ua_registeredpostcodefromryi","ua_legalstatus","ua_typeofbusinessownership","ua_legalstatusother","ua_businessownershipother","ua_companyregistrationnumber","ua_datebusinessstartedtrading","ua_datestartedtrading","ua_uniquetaxreferencenumber","ua_utrnumber","ua_dateregisteredwithhmrc","ua_sectorparentlookup","ua_sector","ua_sectornamefromryi","ua_sectorlookup","ua_umisector","ua_lastapprovedturnover","ua_annualturnover","ua_financialyearenddate","ua_financialyearend","ua_lastapprovedemployees","ua_numberofemployees","ua_isthebusinesspartofagroup","ua_partofgroup","ua_businessoverview","ua_whatdoesthebusinessdo","ua_describeproposal","ua_enquirydetails","ua_haveregisteredcharitystatus","ua_registeredonmutualsregister","ua_mutualsregisterregistrationnumber","namespaced","assign","apiClient","auth","refreshToken","userName","getAccessToken","getUserName","UPDATE_AUTH","UPDATE_CURRENT_USERNAME","registerUser","authClient","Mail","checkUserVerified","sendVerificationEmail","emailPayload","emailaddress","weburl","emailtemplateid","senderaddress","businessunit","verifyUser","token","businessUnit","loginUser","user","username","password","tokenExpiry","getTime","parseInt","expires_in","refreshExpiry","refresh_token_expires_in","access_token","refresh_token","reload","location","redeemToken","forgotPassword","setNewPassword","authPayload","updateAuth","handleUnauthorised","retryFunction","retryPayload","refreshtoken","router","endPoints","directors","add","edit","fieldId","activities","expertise","extraFunds","competitors","jobs","assets","externalFunding","shareholders","childEntities","activityTypes","verifiedSuppliers","currentItemId","ADD","currentState","itemType","UPDATE","SET_CURRENT_ID","editingId","UPDATE_ACTIVITY_TYPES","ADD_VERIFIED_SUPPLIER","fetchItems","contractId","fetchAssetItems","addItem","editById","itemList","itemToUpdate","item","deleteById","statecode","setCurrentId","getActivityTypeList","activityOptions","forEach","ua_icfundactivitytypeid","ua_activitytype","getVerifiedSupplierList","ua_icsupplierexpertise","expItem","ua_name","ua_suppliername","getItems","items","filter","getEligibleActivities","claimId","eligible","ua_outcome","ua_claim","eligibleArr","activity","ua_activity","ua_activitydescription","ua_suppliernamenotinlist","ua_icactivitylineid","selected","getCurrentItemId","getCurrentItem","getActivityTypes","getActivityTypeName","getSupplierName","supplier","getActivityTotalCost","totalCost","costToAdd","parseFloat","ua_activitytotalcost","toFixed","getTotalExtraFunds","extraFund","ua_facilitylimit","getTotalJobs","total","sumFunction","a","b","job","ua_quantity","getVerifiedSuppliers","notes","ua_icexpressionofinterest","ua_icapplication","ua_icclaim","getAllNotes","applicationType","getNotesByType","subject","CREATE","uploadToSharepoint","JSON","stringify","files","uploadNotes","successes","IsUploaded","failedFiles","FileName","join","itemPayload","filename","loadNotes","applicationTypeId","claimIdQuery","getEOI","createEOI","eoi","updateEOI","resetEOI","defaultEoi","checkPostcodeEligibility","log","getEOIId","ua_icexpressionofinterestid","getEOISubmitted","ua_submiteoi","getEOIStatus","getEOICurrentStep","getReadyForFunding","ua_readyforfunding","getCompanyName","getApplicationTypes","ua_readyforfundinglarge","UPDATE_EOI","ui","interstitial","UPDATE_INTERSTITIAL","updateInterstitial","notifications","notification","REMOVE","notificationToRemove","addNotification","removeNotification","settings","eoiDownloaded","appDownloaded","claimsDownloaded","hcDownloaded","parentSectors","sectors","eoiDocumentStatus","applicationDocumentStatus","getEoiDownloaded","getAppDownloaded","getHcDownloaded","getClaimsDownloaded","getParentSectors","getSectors","getDocumentStatus","UPDATE_DOWNLOADED_FLAG","SET_PARENT_SECTORS","SET_SECTORS","UPDATE_DOCUMENT_STATUS","updateDownloadedFlag","ua_sectorparent","ua_umisectorparentid","ua_umisectorid","parentId","getDocManagementStatus","entityId","updateClaim","claim","getCurrentClaim","fetchClaims","toUpperCase","fetchCurrentClaim","claims","getAllClaims","size","obj","ua_icclaimid","resetClaim","prefillClaim","getClaim","getClaims","UPDATE_CLAIMS_SMALL","UPDATE_CLAIMS_LARGE","UPDATE_CLAIM_LARGE","claimInClaims","UPDATE_CLAIM_SMALL","RESET_CLAIMS","UPDATE_CLAIM","store","createStore","routes","path","redirect","component","steps","stageName","confirmationPage","children","requiresEOI","requiresApplication","requiresClaims","beforeEnter","from","query","email","createRouter","history","createWebHistory","beforeEach","next","matched","some","record","description","image","separator","compliment","mapSeoData","canonical","robots","robotsNoFollow","og","ogType","structuredData","install","Vue","options","init","seoData","setPageTitle","querySelector","innerHTML","setCanonical","newTag","frag","append","setOGData","entries","setMetaTags","setStructuredData","innerText","addSeoTags","createDocumentFragment","mixin","config","appInsights","ApplicationInsights","originSiteTelemetry","envelope","originSite","addTelemetryInitializer","loadAppInsights","onAfterScriptLoaded","trackInitialPageView","setupPageTracking","onReady","baseName","route","startTrackPage","afterEach","protocol","host","fullPath","stopTrackPage","flush","use","app","createApp","App","minr","seo","mount","instrumentationKey","excludeRequestFromAutoTrackingPatterns","globalProperties","$filters","userFriendlyDate","toLocaleDateString","ua_title","ua_othertitle","ua_directornameformfa","ua_directoremailformfa","ua_tradingaddresscounty","ua_registeredaddresscounty","ua_website","ua_charitynumber","ua_dateregisteredwithcharitycommission","ua_areyouvatregistered","ua_vatregistrationnumber","ua_howmuchsalesdirecttopublic","ua_groupname","ua_companygroupaddress","ua_companygrouppostcode","ua_companygrouprefno","ua_groupemployees","ua_groupturnover","ua_agreetodataprotection","ua_wheredidyouhearaboutus","ua_wheredidyouhearaboutusother","ua_pleasedescribeproject","ua_iccontractid","ua_eoitype","ua_contact","ua_briefdescriptionoforganisation","ua_parentcompanydetails","ua_maincontactposition","ua_maincontactmobile","ua_directornameforofferletter","ua_directoremailforofferletter","ua_descriptionofproject","ua_consultancydays","ua_howintendtofinancetheproject","ua_briefdescription","ua_doyouknowwhoyourmaincompetitorsare","ua_willsafeguardjobs","ua_jobssafeguarded","ua_bankaccountname","ua_businessbankaccountnumber","ua_decexperianverification","ua_decexperianrecordkept","ua_decpersonalcreditcard","ua_decincorrectorincomplete","ua_decnotstartedproject","ua_decnoactivityuntilofferaccepted","ua_decoffermaybepublicised","ua_decinfostoredelectronically","ua_decawardatdiscretionofumi","ua_decnopartnerdisqualified","ua_decnodirectorbankrupt","ua_decnodirectorrequestedtorepay","ua_decnodirectorlast5yearscivilaction","ua_decsuppliersnotconnected","ua_decpreowneditemsnoterdf","ua_umioptin","ua_doccapitalgrantsupplementaryquestions","ua_financialappendicesspreadsheetuploaded","ua_doclastyearfinancial","ua_doclatestmanagementaccounts","ua_docgroupaccounts","ua_docmonthlyprofitlossforecast","ua_doccashflowforecasts","ua_docdirectorcvs","STATUS_MAP","created","ineligible","withdrawn","awaiting"],"mappings":"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","file":"js/app.0e6515d4.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-02b52abc\":\"9faef560\",\"chunk-2d0ab651\":\"2e926545\",\"chunk-2d0b90cf\":\"a3f50442\",\"chunk-2d0bd615\":\"0bd7c4f6\",\"chunk-2d0be6ca\":\"ffc318a3\",\"chunk-2d0c7f61\":\"d9ee737a\",\"chunk-2d0e4480\":\"df496e64\",\"chunk-2d0e8fe6\":\"6136b0a7\",\"chunk-2d21a5a2\":\"198d7cb6\",\"chunk-2d22fcc6\":\"9e3d6b28\",\"chunk-35950947\":\"1ba074c1\",\"chunk-001d1584\":\"7cf9343e\",\"chunk-02cc060d\":\"ae27d63f\",\"chunk-0a90c71f\":\"aafc600c\",\"chunk-0b3e0714\":\"a4f4258a\",\"chunk-24c8023c\":\"867f90a5\",\"chunk-2a816a34\":\"24e270dc\",\"chunk-304dfd0e\":\"67fbfc5f\",\"chunk-369890b3\":\"d3c5636c\",\"chunk-47515d66\":\"45ca8cd2\",\"chunk-550ec874\":\"ce55030e\",\"chunk-5694583c\":\"9fef28d7\",\"chunk-5cbf19ba\":\"945e2576\",\"chunk-695e945c\":\"438fb2a5\",\"chunk-9e10bee4\":\"6bbe8554\",\"chunk-1bffa736\":\"bccb11ab\",\"chunk-1fe9df38\":\"9ac14e9c\",\"chunk-26deaf1a\":\"5ff03a2d\",\"chunk-4b4d93fc\":\"575f92cc\",\"chunk-4e87c84b\":\"d9f5173a\",\"chunk-58f4fa87\":\"b62204a2\",\"chunk-5987faf2\":\"d2e746f7\",\"chunk-6a76fbda\":\"a69d2433\",\"chunk-9ca8a526\":\"6917ebe3\",\"chunk-9dec7772\":\"5c34bb06\",\"chunk-71a7655f\":\"65bf20fc\",\"chunk-7df086ca\":\"feabf11c\",\"chunk-947f67d6\":\"5a0734e4\",\"chunk-a1526370\":\"ee2e0387\",\"chunk-a3bd6c60\":\"a80644fa\",\"chunk-bfa4a39c\":\"85e1c4b5\",\"chunk-cb615cba\":\"c6e553f8\",\"chunk-d6ef13fe\":\"2d8df8ea\",\"chunk-e301502a\":\"e4c15a9c\",\"chunk-f9800594\":\"54423ee1\",\"chunk-ba20353c\":\"b24985ff\",\"chunk-77a645b0\":\"b5fbb680\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-02b52abc\":1,\"chunk-001d1584\":1,\"chunk-0a90c71f\":1,\"chunk-0b3e0714\":1,\"chunk-24c8023c\":1,\"chunk-695e945c\":1,\"chunk-9e10bee4\":1,\"chunk-1bffa736\":1,\"chunk-1fe9df38\":1,\"chunk-4e87c84b\":1,\"chunk-947f67d6\":1,\"chunk-bfa4a39c\":1,\"chunk-e301502a\":1,\"chunk-f9800594\":1,\"chunk-77a645b0\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-02b52abc\":\"b08ce8cf\",\"chunk-2d0ab651\":\"31d6cfe0\",\"chunk-2d0b90cf\":\"31d6cfe0\",\"chunk-2d0bd615\":\"31d6cfe0\",\"chunk-2d0be6ca\":\"31d6cfe0\",\"chunk-2d0c7f61\":\"31d6cfe0\",\"chunk-2d0e4480\":\"31d6cfe0\",\"chunk-2d0e8fe6\":\"31d6cfe0\",\"chunk-2d21a5a2\":\"31d6cfe0\",\"chunk-2d22fcc6\":\"31d6cfe0\",\"chunk-35950947\":\"31d6cfe0\",\"chunk-001d1584\":\"5ef0bf59\",\"chunk-02cc060d\":\"31d6cfe0\",\"chunk-0a90c71f\":\"d9f31255\",\"chunk-0b3e0714\":\"96798073\",\"chunk-24c8023c\":\"d9f31255\",\"chunk-2a816a34\":\"31d6cfe0\",\"chunk-304dfd0e\":\"31d6cfe0\",\"chunk-369890b3\":\"31d6cfe0\",\"chunk-47515d66\":\"31d6cfe0\",\"chunk-550ec874\":\"31d6cfe0\",\"chunk-5694583c\":\"31d6cfe0\",\"chunk-5cbf19ba\":\"31d6cfe0\",\"chunk-695e945c\":\"b57615c4\",\"chunk-9e10bee4\":\"ad27d45f\",\"chunk-1bffa736\":\"d9f31255\",\"chunk-1fe9df38\":\"d9f31255\",\"chunk-26deaf1a\":\"31d6cfe0\",\"chunk-4b4d93fc\":\"31d6cfe0\",\"chunk-4e87c84b\":\"d9f31255\",\"chunk-58f4fa87\":\"31d6cfe0\",\"chunk-5987faf2\":\"31d6cfe0\",\"chunk-6a76fbda\":\"31d6cfe0\",\"chunk-9ca8a526\":\"31d6cfe0\",\"chunk-9dec7772\":\"31d6cfe0\",\"chunk-71a7655f\":\"31d6cfe0\",\"chunk-7df086ca\":\"31d6cfe0\",\"chunk-947f67d6\":\"4a997fba\",\"chunk-a1526370\":\"31d6cfe0\",\"chunk-a3bd6c60\":\"31d6cfe0\",\"chunk-bfa4a39c\":\"96798073\",\"chunk-cb615cba\":\"31d6cfe0\",\"chunk-d6ef13fe\":\"31d6cfe0\",\"chunk-e301502a\":\"d9f31255\",\"chunk-f9800594\":\"d9f31255\",\"chunk-ba20353c\":\"31d6cfe0\",\"chunk-77a645b0\":\"8a012028\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/durhambusinessgrowth/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Dbg.vue?vue&type=style&index=0&id=a65942fe&scoped=true&lang=css\"","import { addDays } from 'date-fns';\r\n\r\nexport const CookieJar = {\r\n set: (name, value, expires = addDays(new Date(), 1)) => {\r\n const cookie = `${name}=${encodeURIComponent(value)}; expires=${expires}; path=/; SameSite=Strict;`;\r\n document.cookie = cookie;\r\n },\r\n get: (name) => {\r\n const cookies = document.cookie.split(';');\r\n\r\n const cookie = cookies.find((c) => {\r\n const cookieName = c.split('=')[0];\r\n return cookieName.trim() === name;\r\n });\r\n return cookie ? cookie.split('=')[1] : null;\r\n },\r\n remove: (name) => {\r\n document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;\r\n }\r\n};\r\n\r\nexport default CookieJar;\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=4ff1d41b&lang=scss&scoped=true\"","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./index.vue?vue&type=template&id=4ff1d41b&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport \"./index.vue?vue&type=style&index=0&id=4ff1d41b&lang=scss&scoped=true\"\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ff1d41b\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./UMiLogo.vue?vue&type=template&id=a8af6834\"\nimport script from \"./UMiLogo.vue?vue&type=script&lang=js\"\nexport * from \"./UMiLogo.vue?vue&type=script&lang=js\"\n\nimport \"./UMiLogo.vue?vue&type=style&index=0&id=a8af6834&lang=scss\"\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./Dbg.vue?vue&type=template&id=a65942fe&scoped=true\"\nconst script = {}\n\nimport \"./Dbg.vue?vue&type=style&index=0&id=a65942fe&scoped=true&lang=css\"\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a65942fe\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=0cd4351a\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/* eslint-disable dot-notation */\r\nimport axios from 'axios';\r\n\r\nconst apiAuthClient = axios.create({\r\n baseURL: `${process.env.VUE_APP_API_URL}investmentcentredirect/`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n ENV: process.env.VUE_APP_ENV,\r\n APIKey: process.env.VUE_APP_API_KEY,\r\n Authorization: null\r\n }\r\n});\r\n\r\nexport default {\r\n post (url, payload, accessToken) {\r\n if (!accessToken) {\r\n accessToken = payload;\r\n payload = {};\r\n }\r\n apiAuthClient.defaults.headers['Authorization'] = `Bearer ${accessToken}`;\r\n return apiAuthClient.post(url, payload);\r\n },\r\n put (url, payload, accessToken) {\r\n apiAuthClient.defaults.headers['Authorization'] = `Bearer ${accessToken}`;\r\n return apiAuthClient.put(url, payload);\r\n },\r\n get (url, accessToken) {\r\n apiAuthClient.defaults.headers['Authorization'] = `Bearer ${accessToken}`;\r\n return apiAuthClient.get(url);\r\n }\r\n};\r\n","export const errors = {\r\n verifyErrors: {\r\n generic: {\r\n 422: { message: 'Your application is being processed. Please check back in a couple of minutes.', type: 'info' },\r\n 500: { message: 'Something went wrong. Please try again later.', type: 'error' },\r\n 404: { message: \"Email address not found, either you haven't registered or you have provided an incorrect email address.\", type: 'error' },\r\n 409: { message: 'Your account is already verified. Please check your account details and try logging in again.', type: 'error' },\r\n 401: { message: 'Your verification link seems to have expired. Try to log in with your account to trigger a new email.', type: 'error' }\r\n }\r\n },\r\n authErrors: {\r\n generic: {\r\n 422: { message: 'Your application is being processed. Please check back in a couple of minutes.', type: 'info' },\r\n 500: { message: 'Something went wrong. Please try again later.', type: 'error' },\r\n 404: { message: 'User not found, please try again in a few minutes.', type: 'error' },\r\n 409: { message: 'A user has already registered using those details.', type: 'error' },\r\n 401: { message: 'Something went wrong. Please try again later.', type: 'error' }\r\n }\r\n },\r\n applicationErrors: {\r\n generic: {\r\n 422: { message: \"We're just getting your stage 2 application up to date. Please refresh the page in a couple of minutes.\", type: 'info' },\r\n 500: { message: 'Something went wrong retrieving your Stage 2 Application. Please try again later.', type: 'error' },\r\n 404: { message: 'Stage 2 Application not found, please try again in a few minutes.', type: 'error' },\r\n 409: { message: 'Stage 2 Application already exists.', type: 'error' }\r\n },\r\n put: {\r\n 500: { message: 'Something went wrong updating your Stage 2 Application. Please try again later.', type: 'error' }\r\n }\r\n },\r\n childEntityErrors: {\r\n generic: {\r\n 422: { message: 'Your items are being synced. Please try again later.', type: 'info' },\r\n 500: { message: 'Something went wrong adding your items. Please try again later.', type: 'error' },\r\n 404: { message: 'No items were found.', type: null }\r\n },\r\n get: {\r\n 500: { message: 'Something went wrong retrieving your items. Please try again later.', type: 'error' }\r\n },\r\n post: {\r\n 500: { message: 'Something went wrong adding your items. Please try again later.', type: 'error' }\r\n },\r\n put: {\r\n 500: { message: 'Something went wrong updating this item. Please try again later.', type: 'error' }\r\n },\r\n delete: {\r\n 500: { message: 'Something went wrong deleting this item. Please try again later.', type: 'error' }\r\n }\r\n },\r\n claimErrors: {\r\n generic: {\r\n 422: { message: \"We're just getting your claim up to date. Please refresh the page in a couple of minutes.', type: 'info\" },\r\n 500: { message: 'Something went wrong retrieving your claim. Please try again later.', type: 'error' },\r\n 404: { message: 'Claim not found, please try again in a few minutes.', type: 'error' },\r\n 409: { message: 'Claim already exists.', type: 'error' }\r\n },\r\n put: {\r\n 500: { message: 'Something went wrong updating your claim. Please try again later.', type: 'error' }\r\n }\r\n },\r\n eoiErrors: {\r\n generic: {\r\n 422: { message: \"We're just getting your Stage 1 application up to date. Please refresh the page in a couple of minutes.\", type: 'info' },\r\n 500: { message: 'Something went wrong retrieving your Stage 1 Application. This may be because you are a brand new user, Please try refreshing the page in a couple of minutes.', type: 'error' },\r\n 404: { message: 'Stage 1 Application not found, please try again in a few minutes.', type: 'error' },\r\n 409: { message: 'Stage 1 Application already exists.', type: 'error' }\r\n },\r\n put: {\r\n 500: { message: 'Something went wrong updating your Stage 1 Application. This may be because you are a brand new user, Please try refreshing the page in a couple of minutes.', type: 'error' }\r\n }\r\n },\r\n notesErrors: {\r\n generic: {\r\n 422: { message: 'It looks like your files are still saving so the below list may not be up to date just yet. Please check back in a couple of minutes.', type: 'info' },\r\n 500: { message: 'Something went wrong retrieving your files. Please try again later.', type: 'error' },\r\n 404: { message: 'No uploaded files were found.', type: null },\r\n failures: { message: 'The following files have failed to upload. Please check the guidance and try again:.', type: 'error' }\r\n }\r\n },\r\n docManagementStatusErrors: {\r\n generic: {\r\n 500: { message: 'Something went wrong finding the status of document uploads for this application.', type: 'error' },\r\n 404: { message: 'Unable to find the status of document uploads for this application', type: 'error' },\r\n 401: { message: 'We are unable to authorise your user. Please try logging in again', type: 'error' }\r\n }\r\n }\r\n};\r\n\r\nexport default errors;\r\n","import errors from '@/constants/errors';\r\n\r\nconst errorHandler = (errorObject, err, method = 'generic') => {\r\n if (err && err.response && err.response.status) {\r\n const status = err.response.status;\r\n const errorMessage = errors[errorObject][method][status];\r\n return { status, ...errorMessage || 'Something went wrong, try again later.' };\r\n }\r\n};\r\n\r\nexport default errorHandler;\r\n","import apiAuthClient from '@/services/apiAuthClient';\r\nimport { defaultApplication } from '@/utilities/constants';\r\n\r\nimport errorHandler from '@/utilities/serverErrorHandler';\r\n\r\nexport const actions = {\r\n updateApplication ({ commit, getters, dispatch, rootGetters }, payload) {\r\n payload.ua_totalamountrequesting = rootGetters['childEntities/getActivityTotalCost'];\r\n payload.ua_forecastnumberofjobs = rootGetters['childEntities/getTotalJobs'] || payload.ua_forecastnumberofjobs;\r\n\r\n const activeApplication = getters.getActiveApplication;\r\n const mutation = activeApplication === 'small' ? 'UPDATE_APPLICATION_SMALL' : 'UPDATE_APPLICATION_LARGE';\r\n\r\n payload.ua_businessbanksortcode = payload?.ua_businessbanksortcode?.replace(/-/g, '') || null;\r\n\r\n commit(mutation, payload);\r\n\r\n commit('UPDATE_ADDITIONAL_POSTCODE_FIELDS');\r\n\r\n const application = getters.getApplication;\r\n\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Updating your application...' }, { root: true });\r\n return apiAuthClient.put('UpdateICApplication', application, rootGetters['auth/getAccessToken']).then((res) => {\r\n commit(mutation, application);\r\n if (res.status === 200) {\r\n return true;\r\n }\r\n }).catch((err) => {\r\n return errorHandler('applicationErrors', err, 'put');\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n getApplication ({ commit, dispatch, getters, rootGetters }) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Finding your application...' }, { root: true });\r\n const applications = [];\r\n const { large, small } = rootGetters['eoi/getApplicationTypes'];\r\n\r\n if (small) {\r\n applications.push(apiAuthClient.get(`geticapplication/${process.env.VUE_APP_CONTRACT_ID_SMALL}`, rootGetters['auth/getAccessToken']).then(res => {\r\n if (res.status === 200) {\r\n commit('UPDATE_APPLICATION_SMALL', res.data);\r\n dispatch('settings/updateDownloadedFlag', { flagName: 'appDownloaded', flagStatus: true }, { root: true });\r\n return 'small';\r\n }\r\n }).catch((err) => {\r\n return errorHandler('applicationErrors', err);\r\n }));\r\n }\r\n\r\n if (large) {\r\n applications.push(apiAuthClient.get(`geticapplication/${process.env.VUE_APP_CONTRACT_ID_LARGE}`, rootGetters['auth/getAccessToken']).then(res => {\r\n if (res.status === 200) {\r\n commit('UPDATE_APPLICATION_LARGE', res.data);\r\n dispatch('settings/updateDownloadedFlag', { flagName: 'appDownloaded', flagStatus: true }, { root: true });\r\n return 'large';\r\n }\r\n }).catch((err) => {\r\n return errorHandler('applicationErrors', err);\r\n }));\r\n }\r\n if (applications.length) {\r\n return Promise.all(applications).then((res) => {\r\n return res;\r\n })\r\n .finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n }\r\n },\r\n updateCurrentStep ({ commit }, payload) {\r\n commit('UPDATE_CURRENT_STEP', payload);\r\n },\r\n resetApp ({ commit, getters }) {\r\n const activeApplication = getters.getActiveApplication;\r\n const mutation = activeApplication === 'small' ? 'UPDATE_APPLICATION_SMALL' : 'UPDATE_APPLICATION_LARGE';\r\n commit(mutation, defaultApplication);\r\n },\r\n prefillApplication ({ commit, dispatch, rootGetters, getters }) {\r\n const payload = rootGetters['eoi/getEOI'];\r\n commit('PREFILL_APPLICATION', payload);\r\n\r\n const application = getters.getApplication;\r\n\r\n dispatch('updateApplication', application);\r\n },\r\n setActiveApplication ({ commit }, payload) {\r\n commit('UPDATE_ACTIVE_APPLICATION', payload);\r\n }\r\n};\r\n","export const getters = {\r\n getApplication: (state) => {\r\n return state[state.activeApplication];\r\n },\r\n getApplicationId: state => (appType) => {\r\n return state[appType].ua_icapplicationid;\r\n },\r\n getApplicationStatus: state => (appType) => {\r\n return state[appType].ua_currentstatus;\r\n },\r\n getAppSubmitted: state => (appType) => {\r\n return state[appType].ua_submitapplication;\r\n },\r\n getApplicationCurrentStep: state => (appType) => {\r\n return state[appType].ua_currentpageinapplication;\r\n },\r\n getParentEmployeesOpts: (state) => {\r\n const numberOfEmployeesOpts = [\r\n { label: '1', value: '1' },\r\n { label: '2-4', value: '2' },\r\n { label: '5-9', value: '4' },\r\n { label: '10-19', value: '3' },\r\n { label: '20-49', value: '8' },\r\n { label: '50-99', value: '6' },\r\n { label: '100-249', value: '7' }\r\n ];\r\n const minItemIndex = numberOfEmployeesOpts.findIndex(option => option.value === state.ua_companyemployeeslist);\r\n const parentOpts = minItemIndex > -1 ? numberOfEmployeesOpts.splice(minItemIndex) : numberOfEmployeesOpts;\r\n\r\n return parentOpts;\r\n },\r\n getActiveApplication: state => {\r\n // returns 'small' or 'large'\r\n const activeApplication = state.activeApplication;\r\n if (!activeApplication) {\r\n return false;\r\n }\r\n return activeApplication;\r\n }\r\n};\r\n","export const mutations = {\r\n UPDATE_APPLICATION_SMALL (state, payload) {\r\n state.small = payload;\r\n },\r\n UPDATE_APPLICATION_LARGE (state, payload) {\r\n state.large = payload;\r\n },\r\n UPDATE_ACTIVE_APPLICATION (state, payload) {\r\n // payload === 'small' or 'large'\r\n state.activeApplication = payload;\r\n },\r\n UPDATE_ADDITIONAL_POSTCODE_FIELDS (state) {\r\n state.ua_tradingaddresspostcode = state.ua_tradingpostcode;\r\n state.ua_registeredaddresspostcode = state.ua_registeredpostcode;\r\n },\r\n UPDATE_CURRENT_STEP (state, payload) {\r\n state[state.activeApplication].ua_currentpageinapplication = payload;\r\n },\r\n PREFILL_APPLICATION (state, payload) {\r\n state.ua_businessname = payload.ua_companyname;\r\n state.ua_maincontactname = `${payload.ua_firstname} ${payload.ua_lastname}`;\r\n state.ua_maincontacttelephone = payload.ua_preferredcontacttelephoneno;\r\n state.ua_maincontactemail = payload.ua_emailaddress;\r\n state.ua_tradingaddress = payload.ua_tradingaddressline1;\r\n state.ua_tradingaddressline2 = payload.ua_tradingaddressline2;\r\n state.ua_tradingaddresstowncity = payload.ua_tradingaddresstowncity;\r\n state.ua_tradingaddresspostcode = payload.ua_tradingaddresspostcode;\r\n state.ua_tradingpostcode = payload.ua_tradingpostcodefromryi;\r\n state.ua_tradingaddresssameasregistered = payload.ua_registeredaddresssameastrading;\r\n state.ua_registeredaddress = payload.ua_registeredaddressline1;\r\n state.ua_registeredaddressline2 = payload.ua_registeredaddressline2;\r\n state.ua_registeredaddresstowncity = payload.ua_registeredaddresstowncity;\r\n state.ua_registeredaddresspostcode = payload.ua_registeredaddresspostcode;\r\n state.ua_registeredpostcode = payload.ua_registeredpostcodefromryi;\r\n state.ua_legalstatus = payload.ua_typeofbusinessownership;\r\n state.ua_legalstatusother = payload.ua_businessownershipother;\r\n state.ua_companyregistrationnumber = payload.ua_companyregistrationnumber;\r\n state.ua_datebusinessstartedtrading = payload.ua_datestartedtrading;\r\n state.ua_uniquetaxreferencenumber = payload.ua_utrnumber;\r\n state.ua_dateregisteredwithhmrc = payload.ua_dateregisteredwithhmrc;\r\n state.ua_sectorparentlookup = payload.ua_sectorparentlookup;\r\n state.ua_sector = payload.ua_sectornamefromryi;\r\n state.ua_sectorlookup = payload.ua_umisector;\r\n state.ua_lastapprovedturnover = payload.ua_annualturnover;\r\n state.ua_financialyearenddate = payload.ua_financialyearend;\r\n state.ua_lastapprovedemployees = payload.ua_numberofemployees;\r\n state.ua_isthebusinesspartofagroup = payload.ua_partofgroup === true ? 1 : 2;\r\n state.ua_businessoverview = payload.ua_whatdoesthebusinessdo;\r\n state.ua_describeproposal = payload.ua_enquirydetails;\r\n state.ua_haveregisteredcharitystatus = payload.ua_haveregisteredcharitystatus;\r\n state.ua_registeredonmutualsregister = payload.ua_registeredonmutualsregister;\r\n state.ua_mutualsregisterregistrationnumber = payload.ua_mutualsregisterregistrationnumber;\r\n }\r\n};\r\n","import { actions } from './actions';\r\nimport { getters } from './getters';\r\nimport { mutations } from './mutations';\r\nimport { defaultApplication } from '@/utilities/constants';\r\n\r\nexport const application = {\r\n namespaced: true,\r\n state: {\r\n activeApplication: null,\r\n large: Object.assign({}, defaultApplication),\r\n small: Object.assign({}, defaultApplication)\r\n },\r\n actions,\r\n getters,\r\n mutations\r\n};\r\n","import axios from 'axios';\r\n\r\nconst apiClient = axios.create({\r\n baseURL: process.env.VUE_APP_AUTH_API_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n APIKey: process.env.VUE_APP_AUTH_API_KEY,\r\n ENV: process.env.VUE_APP_ENV,\r\n Authorization: null\r\n }\r\n});\r\n\r\nexport default {\r\n post (url, payload) {\r\n return apiClient.post(url, payload);\r\n },\r\n get (url, payload) {\r\n return apiClient.get(url, payload);\r\n },\r\n put (url, payload) {\r\n return apiClient.put(url, payload);\r\n }\r\n};\r\n","import router from '@/router';\r\n\r\nimport authClient from '@/services/authClient';\r\nimport CookieJar from '@/utilities/cookieJar';\r\n\r\nimport errorHandler from '@/utilities/serverErrorHandler';\r\n\r\nexport const auth = {\r\n namespaced: true,\r\n state: {\r\n accessToken: null,\r\n refreshToken: null,\r\n userName: null\r\n },\r\n\r\n getters: {\r\n isAuthenticated: state => state.accessToken !== null,\r\n getAccessToken: state => state.accessToken,\r\n getUserName: state => state.userName\r\n },\r\n\r\n mutations: {\r\n UPDATE_AUTH (state, payload) {\r\n state.accessToken = payload.accessToken;\r\n state.refreshToken = payload.refreshToken;\r\n },\r\n UPDATE_CURRENT_USERNAME (state, payload) {\r\n state.userName = payload;\r\n }\r\n },\r\n\r\n actions: {\r\n registerUser ({ commit, dispatch }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Creating your account...' }, { root: true });\r\n return authClient.post('api/user/create', payload).then((res) => {\r\n if (res.status === 200) {\r\n commit('UPDATE_CURRENT_USERNAME', payload.Mail);\r\n return res;\r\n }\r\n })\r\n .catch((err) => {\r\n throw errorHandler('authErrors', err);\r\n })\r\n .finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n checkUserVerified ({ commit, dispatch }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Checking your user...' }, { root: true });\r\n return authClient.get(`api/user/isuserverified/${process.env.VUE_APP_BUSINESS_UNIT}/${payload}`).then((res) => {\r\n if (res.status !== 200) {\r\n return errorHandler('verifyErrors', res);\r\n } else {\r\n if (!res.data) {\r\n commit('UPDATE_CURRENT_USERNAME', payload);\r\n }\r\n return res;\r\n }\r\n })\r\n .catch((err) => {\r\n return errorHandler('verifyErrors', err);\r\n })\r\n .finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n sendVerificationEmail ({ getters }, payload) {\r\n const emailPayload = {\r\n emailaddress: payload,\r\n weburl: `${process.env.VUE_APP_SITE_URL}/verify?avt=`,\r\n emailtemplateid: 'd-34de894584784518aba574b92995f671',\r\n senderaddress: `${process.env.VUE_APP_CONTACT_EMAIL}`,\r\n businessunit: process.env.VUE_APP_BUSINESS_UNIT\r\n };\r\n return authClient.post('api/user/sendverificationemailforunverified', emailPayload).then((res) => {\r\n if (res.status === 200) {\r\n return res;\r\n }\r\n return false;\r\n }).catch((err) => {\r\n return errorHandler('verifyErrors', err);\r\n });\r\n },\r\n verifyUser ({ commit, getters }, token) {\r\n const payload = {\r\n businessUnit: process.env.VUE_APP_BUSINESS_UNIT,\r\n token: encodeURIComponent(token)\r\n };\r\n return authClient.post('api/user/verify', payload).then((res) => {\r\n if (res.status === 200 || res.status === 409) {\r\n commit('UPDATE_CURRENT_USERNAME', null);\r\n return res;\r\n } else {\r\n return errorHandler('verifyErrors', res);\r\n }\r\n }).catch((err) => {\r\n return errorHandler('verifyErrors', err);\r\n });\r\n },\r\n loginUser ({ commit, dispatch }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Logging you in...' }, { root: true });\r\n\r\n // In case user didn't previously log out.\r\n dispatch('logout', false);\r\n\r\n const user = {\r\n username: payload.username,\r\n password: payload.password,\r\n businessUnit: payload.businessUnit\r\n };\r\n return authClient.post('api/user/login', user).then((res) => {\r\n if (res.status === 200) {\r\n const tokenExpiry = new Date().getTime() + parseInt(res.data.expires_in) * 1000;\r\n const refreshExpiry = new Date().getTime() + parseInt(res.data.refresh_token_expires_in, 10) * 1000;\r\n\r\n commit('UPDATE_AUTH', {\r\n accessToken: res.data.access_token,\r\n refreshToken: res.data.refresh_token\r\n });\r\n\r\n CookieJar.set(`${process.env.VUE_APP_COOKIE_PREFIX}access_token`, res.data.access_token, new Date(tokenExpiry));\r\n CookieJar.set(`${process.env.VUE_APP_COOKIE_PREFIX}refresh_token`, res.data.refresh_token, new Date(refreshExpiry));\r\n\r\n return true;\r\n }\r\n throw new Error('There was a problem logging in. Please try again later.');\r\n }).catch((err) => {\r\n if (err.response.status === 500 || err.response.status === 401) {\r\n throw new Error('Email or password is incorrect.');\r\n }\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n logout ({ commit, dispatch }, reload = true) {\r\n CookieJar.remove(`${process.env.VUE_APP_COOKIE_PREFIX}access_token`);\r\n CookieJar.remove(`${process.env.VUE_APP_COOKIE_PREFIX}refresh_token`);\r\n if (reload) {\r\n location.reload();\r\n }\r\n },\r\n redeemToken ({ commit, dispatch }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Checking you are logged in...' }, { root: true });\r\n if (payload) {\r\n return authClient.post('api/user/redeemaccesstoken', payload).then((res) => {\r\n if (res.status === 200) {\r\n commit('UPDATE_AUTH', {\r\n accessToken: res.data.access_token,\r\n refreshToken: res.data.refresh_token\r\n });\r\n\r\n const tokenExpiry = new Date().getTime() + parseInt(res.data.expires_in) * 1000;\r\n const refreshExpiry = new Date().getTime() + parseInt(res.data.refresh_token_expires_in, 10) * 1000;\r\n\r\n CookieJar.set(`${process.env.VUE_APP_COOKIE_PREFIX}access_token`, res.data.access_token, new Date(tokenExpiry));\r\n CookieJar.set(`${process.env.VUE_APP_COOKIE_PREFIX}refresh_token`, res.data.refresh_token, new Date(refreshExpiry));\r\n\r\n return true;\r\n } else {\r\n dispatch('logout');\r\n return false;\r\n }\r\n }).catch((err) => {\r\n dispatch('logout');\r\n throw new Error(errorHandler('authErrors', err));\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n } else {\r\n dispatch('logout');\r\n this.$router.push({ name: 'Login' });\r\n return false;\r\n }\r\n },\r\n forgotPassword ({ getters }, payload) {\r\n const emailPayload = {\r\n emailaddress: payload.username,\r\n weburl: `${process.env.VUE_APP_SITE_URL}/reset-password?email=${payload.username}&token=`,\r\n emailtemplateid: 'd-a22f85d06b374d919081a22f6c5d72a1',\r\n senderaddress: `${process.env.VUE_APP_CONTACT_EMAIL}`,\r\n businessunit: process.env.VUE_APP_BUSINESS_UNIT\r\n };\r\n return authClient.post('api/user/sendresetpasswordemail', emailPayload).then((res) => {\r\n if (res.status === 200) {\r\n return res;\r\n }\r\n return false;\r\n }).catch((err) => {\r\n return errorHandler('verifyErrors', err);\r\n });\r\n },\r\n setNewPassword ({ getters }, payload) {\r\n const authPayload = {\r\n username: payload.username,\r\n password: payload.password,\r\n businessunit: process.env.VUE_APP_BUSINESS_UNIT\r\n };\r\n return authClient.put('api/user/setpasswordbysigninname', authPayload).then((res) => {\r\n if (res.status === 200) {\r\n return res;\r\n }\r\n return false;\r\n }).catch((err) => {\r\n return errorHandler('verifyErrors', err);\r\n });\r\n },\r\n updateAuth ({ commit }, payload) {\r\n commit('UPDATE_AUTH', payload);\r\n },\r\n handleUnauthorised ({ dispatch }, payload) {\r\n const retryFunction = payload.retryFunction;\r\n const retryPayload = payload.retryPayload;\r\n\r\n dispatch('auth/redeemToken', {\r\n refreshtoken: CookieJar.get(`${process.env.VUE_APP_COOKIE_PREFIX}refresh_token`),\r\n businessunit: process.env.VUE_APP_BUSINESS_UNIT\r\n }, { root: true }).then((res) => {\r\n if (res === true) {\r\n dispatch(retryFunction, retryPayload, { root: true });\r\n return true;\r\n }\r\n\t\t\t\trouter.push({ name: 'Login' });\r\n }).catch(() => {\r\n router.push({ name: 'Login' });\r\n });\r\n }\r\n }\r\n};\r\n","/* eslint-disable dot-notation */\r\nimport axios from 'axios';\r\n\r\nconst apiClient = axios.create({\r\n baseURL: process.env.VUE_APP_API_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n ENV: process.env.VUE_APP_ENV,\r\n APIKey: process.env.VUE_APP_API_KEY\r\n }\r\n});\r\n\r\nexport default {\r\n post (url, payload) {\r\n return apiClient.post(url, payload);\r\n },\r\n put (url, payload) {\r\n return apiClient.put(url, payload);\r\n },\r\n get (url) {\r\n return apiClient.get(url);\r\n }\r\n};\r\n","import apiAuthClient from '@/services/apiAuthClient';\r\nimport apiClient from '@/services/apiClient';\r\n\r\nimport errorHandler from '@/utilities/serverErrorHandler';\r\n\r\nconst endPoints = {\r\n directors: {\r\n add: 'addicdirectors',\r\n edit: 'updateicdirectors',\r\n get: 'geticdirectors',\r\n fieldId: 'ua_icapplicationdirectorsid'\r\n },\r\n activities: {\r\n add: 'addicprojectactivities',\r\n edit: 'updateicprojectactivities',\r\n get: 'geticprojectactivities',\r\n fieldId: 'ua_icactivitylineid'\r\n },\r\n expertise: '',\r\n extraFunds: '',\r\n competitors: {\r\n add: 'addicapplicationmaincompetitors',\r\n edit: 'updateicapplicationmaincompetitors',\r\n get: 'geticapplicationmaincompetitors',\r\n fieldId: 'ua_icapplicationmaincompetitorid'\r\n },\r\n jobs: {\r\n add: 'addicprojectforecastjobs',\r\n edit: 'updateicprojectforecastjobs',\r\n get: 'geticprojectforecastjobs',\r\n fieldId: 'ua_icprojectforecastjobsid'\r\n },\r\n assets: {\r\n add: 'AddICAssets',\r\n edit: 'UpdateICAssets',\r\n get: 'GetICAssetsByClaimId',\r\n fieldId: 'ua_icassetid'\r\n },\r\n externalFunding: {\r\n add: 'AddICApplicationExternalFundings',\r\n edit: 'UpdateICApplicationExternalFundings',\r\n get: 'GetICApplicationExternalFundings',\r\n fieldId: 'ua_icapplicationexternalfundingid'\r\n },\r\n shareholders: {\r\n add: 'AddICApplicationShareholders',\r\n edit: 'UpdateICApplicationShareholders',\r\n get: 'GetICAppShareholdersByAppID',\r\n fieldId: 'ua_icapplicationshareholderid'\r\n }\r\n};\r\n\r\nexport const childEntities = {\r\n namespaced: true,\r\n state: {\r\n directors: [],\r\n activities: [],\r\n expertise: [],\r\n externalFunding: [],\r\n extraFunds: [],\r\n competitors: [],\r\n jobs: [],\r\n assets: [],\r\n activityTypes: [],\r\n verifiedSuppliers: [],\r\n shareholders: [],\r\n currentItemId: ''\r\n },\r\n mutations: {\r\n ADD (state, payload) {\r\n const currentState = state[payload.itemType];\r\n currentState.push(payload.data);\r\n state[payload.itemType] = currentState;\r\n },\r\n UPDATE (state, payload) {\r\n state[payload.itemType] = payload.data;\r\n },\r\n SET_CURRENT_ID (state, editingId) {\r\n state.currentItemId = editingId;\r\n },\r\n UPDATE_ACTIVITY_TYPES (state, payload) {\r\n state.activityTypes = payload;\r\n },\r\n ADD_VERIFIED_SUPPLIER (state, payload) {\r\n state.verifiedSuppliers = payload;\r\n }\r\n },\r\n actions: {\r\n fetchItems ({ commit, dispatch, rootGetters }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Fetching your items...' }, { root: true });\r\n const activeApplication = rootGetters['application/getActiveApplication'];\r\n const contractId = activeApplication === 'small' ? process.env.VUE_APP_CONTRACT_ID_SMALL : process.env.VUE_APP_CONTRACT_ID_LARGE;\r\n let method = 'post';\r\n\r\n if (payload === 'externalFunding' || payload === 'shareholders') {\r\n method = 'get';\r\n }\r\n\r\n return apiAuthClient[method](`${endPoints[payload].get}/${contractId}`, rootGetters['auth/getAccessToken']).then(response => {\r\n if (response.status === 200) {\r\n commit('UPDATE', {\r\n itemType: payload,\r\n data: response.data\r\n });\r\n return response;\r\n }\r\n }).catch((err) => {\r\n if (err.response.status === 401) {\r\n dispatch('auth/handleUnauthorised', { retryFunction: 'childEntities/fetchItems', retryPayload: payload }, { root: true });\r\n } else {\r\n return errorHandler('childEntityErrors', err, 'get');\r\n }\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false }, { root: true });\r\n });\r\n },\r\n fetchAssetItems ({ commit, dispatch, rootGetters }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Fetching your items...' }, { root: true });\r\n\r\n return apiAuthClient.post(`${endPoints.assets.get}`, payload, rootGetters['auth/getAccessToken']).then(response => {\r\n if (response.status === 200) {\r\n commit('UPDATE', {\r\n itemType: 'assets',\r\n data: response.data\r\n });\r\n return response;\r\n }\r\n }).catch((err) => {\r\n if (err.response.status === 401) {\r\n dispatch('auth/handleUnauthorised', { retryFunction: 'childEntities/fetchAssetItems', retryPayload: payload }, { root: true });\r\n } else {\r\n return errorHandler('childEntityErrors', err, 'get');\r\n }\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false }, { root: true });\r\n });\r\n },\r\n addItem ({ commit, dispatch, rootGetters }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Adding your item...' }, { root: true });\r\n return apiAuthClient.post(`${endPoints[payload.itemType].add}`, [payload.data], rootGetters['auth/getAccessToken']).then(response => {\r\n if (response.status === 200) {\r\n commit('ADD', {\r\n itemType: payload.itemType,\r\n data: response.data[0]\r\n });\r\n return true;\r\n }\r\n }).catch((err) => {\r\n if (err.response.status === 401) {\r\n dispatch('auth/handleUnauthorised', { retryFunction: 'childEntities/addItem', retryPayload: payload }, { root: true });\r\n } else {\r\n throw errorHandler('childEntityErrors', err, 'post');\r\n }\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n editById ({ commit, dispatch, state, rootGetters }, payload) {\r\n const itemList = state[payload.itemType];\r\n const fieldId = endPoints[payload.itemType].fieldId;\r\n const itemToUpdate = itemList.findIndex(item => item[fieldId] === payload.data[fieldId]);\r\n\r\n itemList.splice(itemToUpdate, 1, payload.data);\r\n\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'editing your item...' }, { root: true });\r\n return apiAuthClient.put(`${endPoints[payload.itemType].edit}`, itemList, rootGetters['auth/getAccessToken']).then(response => {\r\n if (response.status === 200) {\r\n commit('UPDATE', {\r\n itemType: payload.itemType,\r\n data: itemList\r\n });\r\n return true;\r\n }\r\n }).catch((err) => {\r\n if (err.response.status === 401) {\r\n dispatch('auth/handleUnauthorised', { retryFunction: 'childEntities/editById', retryPayload: payload }, { root: true });\r\n } else {\r\n throw errorHandler('childEntityErrors', err, 'put');\r\n }\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n deleteById ({ commit, state, dispatch, rootGetters }, payload) {\r\n const itemList = state[payload.itemType];\r\n const fieldId = endPoints[payload.itemType].fieldId;\r\n const itemToUpdate = itemList.findIndex(item => item[fieldId] === payload.id);\r\n const item = { ...itemList[itemToUpdate], statecode: 1 };\r\n\r\n itemList.splice(itemToUpdate, 1, item);\r\n\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'deleting your item...' }, { root: true });\r\n return apiAuthClient.put(`${endPoints[payload.itemType].edit}`, [item], rootGetters['auth/getAccessToken']).then(response => {\r\n if (response.status === 200) {\r\n commit('UPDATE', {\r\n itemType: payload.itemType,\r\n data: itemList\r\n });\r\n return true;\r\n }\r\n }).catch((err) => {\r\n if (err.response.status === 401) {\r\n dispatch('auth/handleUnauthorised', { retryFunction: 'childEntities/deleteById', retryPayload: payload }, { root: true });\r\n } else {\r\n throw errorHandler('childEntityErrors', err, 'delete');\r\n }\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n setCurrentId ({ commit }, payload) {\r\n commit('SET_CURRENT_ID', payload);\r\n },\r\n getActivityTypeList ({ commit, rootGetters }) {\r\n const activeApplication = rootGetters['application/getActiveApplication'];\r\n const contractId = activeApplication === 'small' ? process.env.VUE_APP_CONTRACT_ID_SMALL : process.env.VUE_APP_CONTRACT_ID_LARGE;\r\n\r\n return apiClient.get(`/INVESTMENTCENTRE/GetICFundActivityTypes/${contractId}`).then((res) => {\r\n const activityOptions = [];\r\n res.data.forEach((item) => {\r\n activityOptions.push({\r\n value: item.ua_icfundactivitytypeid,\r\n label: item.ua_activitytype\r\n });\r\n });\r\n\r\n commit('UPDATE_ACTIVITY_TYPES', activityOptions);\r\n });\r\n },\r\n getVerifiedSupplierList ({ commit, rootGetters }) {\r\n const activeApplication = rootGetters['application/getActiveApplication'];\r\n const contractId = activeApplication === 'small' ? process.env.VUE_APP_CONTRACT_ID_SMALL : process.env.VUE_APP_CONTRACT_ID_LARGE;\r\n\r\n return apiClient.get(`/INVESTMENTCENTRE/GetICProjectSuppliers/${contractId}`).then((res) => {\r\n const verifiedSuppliers = [];\r\n\r\n res.data.forEach(item => {\r\n // loop through suppliers and check if they have expertise associated to them\r\n if (item.ua_icsupplierexpertise) {\r\n const expertise = [];\r\n\r\n item.ua_icsupplierexpertise.forEach(expItem => {\r\n expertise.push(\r\n expItem.ua_name ? expItem.ua_name : 'Other'\r\n );\r\n });\r\n verifiedSuppliers.push({\r\n label: item.ua_suppliername,\r\n value: item.ua_suppliername,\r\n expertise: expertise\r\n });\r\n // If so loop through the expertise and add an item to the supplierExpertise array\r\n }\r\n });\r\n\r\n // Send the supplier expertise data to mutation\r\n commit('ADD_VERIFIED_SUPPLIER', verifiedSuppliers);\r\n });\r\n }\r\n },\r\n getters: {\r\n getItems: state => (itemType) => {\r\n const items = state[itemType];\r\n if (!items.length) {\r\n return items;\r\n }\r\n return items.filter(item => item.statecode !== 1);\r\n },\r\n getEligibleActivities: state => (claimId) => {\r\n const items = state.activities;\r\n const eligible = items.filter(item => item.ua_outcome === 953880000 && (item.ua_claim === null || item.ua_claim === claimId));\r\n\r\n const eligibleArr = [];\r\n\r\n eligible.forEach((activity) => {\r\n eligibleArr.push(\r\n {\r\n label: `${activity.ua_activity} - ${activity.ua_activitydescription} - Supplied by: ${activity.ua_suppliernamenotinlist}`,\r\n value: activity.ua_icactivitylineid,\r\n selected: activity.ua_claim === claimId\r\n }\r\n );\r\n });\r\n return eligibleArr;\r\n },\r\n getCurrentItemId (state) {\r\n return state.currentItemId;\r\n },\r\n getCurrentItem: state => (itemType) => {\r\n const fieldId = endPoints[itemType].fieldId;\r\n const result = state[itemType].find(item => item[fieldId] === state.currentItemId);\r\n return result;\r\n },\r\n getActivityTypes: (state) => {\r\n return state.activityTypes;\r\n },\r\n getActivityTypeName: state => (id) => {\r\n const type = state.activityTypes.find(item => item.value === id);\r\n return type ? type.label : '';\r\n },\r\n getSupplierName: state => (id) => {\r\n const supplier = state.verifiedSuppliers.find(item => item.value === id);\r\n return supplier ? supplier.label : '';\r\n },\r\n getActivityTotalCost: (state) => {\r\n const activities = state.activities;\r\n let totalCost = 0;\r\n if (activities.length) {\r\n activities.forEach((activity) => {\r\n if (activity.statecode !== 1) {\r\n const costToAdd = parseFloat(activity.ua_activitytotalcost).toFixed(2);\r\n totalCost += parseFloat(costToAdd);\r\n }\r\n });\r\n }\r\n return parseFloat(totalCost);\r\n },\r\n getTotalExtraFunds: (state) => {\r\n const extraFunds = state.extraFunds;\r\n let totalCost = 0;\r\n if (extraFunds.length) {\r\n extraFunds.forEach((extraFund) => {\r\n totalCost += parseInt(extraFund.ua_facilitylimit, 10);\r\n });\r\n }\r\n\r\n return totalCost;\r\n },\r\n getTotalJobs: (state) => {\r\n let total = 0;\r\n const sumFunction = (a, b) => a + b;\r\n\r\n state.jobs.forEach(job => {\r\n total = sumFunction(total, parseInt(job.ua_quantity));\r\n });\r\n return total;\r\n },\r\n getVerifiedSuppliers: (state) => {\r\n return state.verifiedSuppliers;\r\n }\r\n }\r\n};\r\n","import apiAuthClient from '@/services/apiAuthClient';\r\n\r\nimport errorHandler from '@/utilities/serverErrorHandler';\r\n\r\nexport const notes = {\r\n namespaced: true,\r\n state: {\r\n notes: {\r\n ua_icexpressionofinterest: [],\r\n ua_icapplication: [],\r\n ua_icclaim: []\r\n }\r\n\r\n },\r\n getters: {\r\n getAllNotes: state => (applicationType) => {\r\n return state.notes[applicationType];\r\n },\r\n getNotesByType: state => (applicationType, itemType) => {\r\n const notes = state.notes[applicationType].filter(item => item.subject === itemType);\r\n return notes;\r\n }\r\n },\r\n mutations: {\r\n UPDATE (state, payload) {\r\n const notes = state.notes[payload.applicationType];\r\n state.notes[payload.applicationType] = [...notes, ...payload.notes];\r\n },\r\n CREATE (state, payload) {\r\n state.notes[payload.applicationType] = payload.notes;\r\n }\r\n },\r\n actions: {\r\n uploadToSharepoint ({ commit, dispatch, rootGetters }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Uploading your supporting files...' }, { root: true });\r\n return apiAuthClient.post('SaveNewDocumentToSharepoint', JSON.stringify(payload), rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200 && res.data) {\r\n commit('UPDATE', { applicationType: 'ua_icclaim', files: [payload] });\r\n\r\n return true;\r\n }\r\n }).catch(err => {\r\n return errorHandler('notesErrors', err);\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n uploadNotes ({ commit, dispatch, rootGetters }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Uploading your supporting files...' }, { root: true });\r\n\r\n const activeApplication = rootGetters['application/getActiveApplication'];\r\n let contractId;\r\n\r\n if (!activeApplication) {\r\n contractId = process.env.VUE_APP_CONTRACT_ID_EOI;\r\n } else {\r\n contractId = activeApplication === 'small' ? process.env.VUE_APP_CONTRACT_ID_SMALL : process.env.VUE_APP_CONTRACT_ID_LARGE;\r\n }\r\n return apiAuthClient.post(`addicnotes?contractid=${contractId}`, JSON.stringify(payload.data), rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200 && res.data) {\r\n const successes = res.data.filter(item => item.IsUploaded === true);\r\n const failures = res.data.filter(item => item.IsUploaded === false);\r\n const failedFiles = [];\r\n\r\n failures.forEach((item) => {\r\n failedFiles.push(item.FileName);\r\n });\r\n\r\n const err = { type: 'error', message: `The following files have failed to upload: ${failedFiles.join(',')}. Please check the guidance and try again` };\r\n if (failures.length) {\r\n return err;\r\n } else {\r\n const items = [];\r\n successes.forEach((item) => {\r\n const itemPayload = {\r\n filename: item.FileName,\r\n subject: payload.itemType\r\n };\r\n items.push(itemPayload);\r\n });\r\n commit('UPDATE', { applicationType: payload.applicationType, notes: items });\r\n return true;\r\n }\r\n }\r\n }).catch(err => {\r\n if (err.response) {\r\n return errorHandler('notesErrors', err);\r\n }\r\n return { message: 'The files you are trying to upload exceed the maximum file size of 10MB. Please try reducing the file size before uploading', type: 'error' };\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n loadNotes ({ commit, dispatch, rootGetters }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Getting your uploaded files...' }, { root: true });\r\n\r\n const activeApplication = rootGetters['application/getActiveApplication'];\r\n let contractId;\r\n\r\n if (!activeApplication) {\r\n contractId = process.env.VUE_APP_CONTRACT_ID_EOI;\r\n } else {\r\n contractId = activeApplication === 'small' ? process.env.VUE_APP_CONTRACT_ID_SMALL : process.env.VUE_APP_CONTRACT_ID_LARGE;\r\n }\r\n\r\n return apiAuthClient.get(`geticnotes/${contractId}?entityname=${payload.applicationTypeId}${payload.claimIdQuery}`, rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200 && res.data) {\r\n const items = [];\r\n res.data.forEach((item) => {\r\n items.push(item);\r\n });\r\n commit('CREATE', { applicationType: payload.applicationTypeId, notes: items });\r\n return true;\r\n }\r\n }).catch(err => {\r\n return errorHandler('notesErrors', err);\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n }\r\n }\r\n\r\n};\r\n","import apiAuthClient from '@/services/apiAuthClient';\r\nimport apiClient from '@/services/apiClient';\r\nimport { defaultEoi } from '@/utilities/constants';\r\n\r\nimport errorHandler from '@/utilities/serverErrorHandler';\r\n\r\nexport const actions = {\r\n getEOI ({ commit, dispatch, getters, rootGetters }) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Getting your application...' }, { root: true });\r\n return apiAuthClient.get(`geticeoi/${process.env.VUE_APP_CONTRACT_ID_EOI}`, rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200) {\r\n // if EOI already exists, set the state to the response and flag that the eoi has been downloaded\r\n commit('UPDATE_EOI', res.data);\r\n dispatch('settings/updateDownloadedFlag', { flagName: 'eoiDownloaded', flagStatus: true }, { root: true });\r\n return true;\r\n }\r\n }).catch((err) => {\r\n return errorHandler('eoiErrors', err);\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n createEOI ({ commit, getters, rootGetters, dispatch }) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Creating your application...' }, { root: true });\r\n const eoi = getters.getEOI;\r\n return apiAuthClient.post('AddICEOI', eoi, rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200) {\r\n commit('UPDATE_EOI', res.data);\r\n dispatch('settings/updateDownloadedFlag', { flagName: 'eoiDownloaded', flagStatus: true }, { root: true });\r\n return true;\r\n }\r\n }).catch((err) => {\r\n return errorHandler('eoiErrors', err);\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n updateCurrentStep ({ commit }, payload) {\r\n commit('UPDATE_CURRENT_STEP', payload);\r\n },\r\n updateEOI ({ commit, getters, rootGetters, dispatch }, payload) {\r\n commit('UPDATE_EOI', payload);\r\n commit('UPDATE_ADDITIONAL_POSTCODE_FIELDS');\r\n\r\n const eoi = getters.getEOI;\r\n\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Updating your application...' }, { root: true });\r\n return apiAuthClient.put('UpdateICEOI', eoi, rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200) {\r\n return true;\r\n }\r\n }).catch((err) => {\r\n return errorHandler('eoiErrors', err, 'put');\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n resetEOI ({ commit }) {\r\n commit('UPDATE_EOI', defaultEoi);\r\n },\r\n checkPostcodeEligibility ({ dispatch }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Checking your postcode...' }, { root: true });\r\n return apiClient.get(`investmentcentre/ispostcodeincontract?postcode=${payload}&contractid=${process.env.VUE_APP_CONTRACT_ID_EOI}`).then((res) => {\r\n if (res.status === 200) {\r\n return res.data;\r\n }\r\n return false;\r\n }).catch((err) => {\r\n console.log(err);\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n }\r\n};\r\n","export const getters = {\r\n getEOI: (state) => {\r\n return state;\r\n },\r\n getEOIId: (state) => {\r\n return state.ua_icexpressionofinterestid;\r\n },\r\n getEOISubmitted: (state) => {\r\n return state.ua_submiteoi;\r\n },\r\n getEOIStatus: (state) => {\r\n return state.ua_currentstatus;\r\n },\r\n getEOICurrentStep: (state) => {\r\n return state.ua_currentpageinapplication;\r\n },\r\n getReadyForFunding: (state) => {\r\n return state.ua_readyforfunding;\r\n },\r\n getCompanyName: (state) => {\r\n return state.ua_companyname;\r\n },\r\n getApplicationTypes: (state) => {\r\n return {\r\n small: state.ua_readyforfunding,\r\n large: state.ua_readyforfundinglarge\r\n };\r\n }\r\n};\r\n","export const mutations = {\r\n UPDATE_EOI (state, payload) {\r\n Object.assign(state, payload);\r\n },\r\n UPDATE_ADDITIONAL_POSTCODE_FIELDS (state) {\r\n state.ua_tradingaddresspostcode = state.ua_tradingpostcodefromryi;\r\n state.ua_registeredaddresspostcode = state.ua_registeredpostcodefromryi;\r\n },\r\n UPDATE_CURRENT_STEP (state, payload) {\r\n state.ua_currentpageinapplication = payload;\r\n }\r\n};\r\n","import { actions } from './actions';\r\nimport { getters } from './getters';\r\nimport { mutations } from './mutations';\r\nimport { defaultEoi } from '@/utilities/constants';\r\n\r\nexport const eoi = {\r\n namespaced: true,\r\n state: Object.assign({}, defaultEoi),\r\n actions,\r\n getters,\r\n mutations\r\n};\r\n","export const ui = {\r\n namespaced: true,\r\n state: {\r\n interstitial: {\r\n isLoading: false,\r\n message: ''\r\n }\r\n },\r\n\r\n getters: {\r\n getInterstitial: (state) => {\r\n return state.interstitial;\r\n }\r\n },\r\n\r\n mutations: {\r\n UPDATE_INTERSTITIAL (state, payload) {\r\n state.interstitial = payload;\r\n }\r\n },\r\n\r\n actions: {\r\n updateInterstitial ({ commit }, payload) {\r\n commit('UPDATE_INTERSTITIAL', payload);\r\n }\r\n }\r\n};\r\n","export const notifications = {\r\n namespaced: true,\r\n\r\n state: {\r\n notifications: []\r\n },\r\n\r\n mutations: {\r\n ADD (state, notification) {\r\n state.notifications.push(notification);\r\n },\r\n REMOVE (state, notificationToRemove) {\r\n state.notifications = state.notifications.filter(notification => notification.id !== notificationToRemove.id);\r\n }\r\n },\r\n\r\n actions: {\r\n addNotification ({ commit }, payload) {\r\n commit('ADD', payload);\r\n },\r\n removeNotification ({ commit }, payload) {\r\n commit('REMOVE', payload);\r\n }\r\n }\r\n};\r\n","import apiClient from '@/services/apiClient';\r\nimport apiAuthClient from '@/services/apiAuthClient';\r\n\r\nimport errorHandler from '@/utilities/serverErrorHandler';\r\n\r\nexport const settings = {\r\n namespaced: true,\r\n state: {\r\n eoiDownloaded: false,\r\n appDownloaded: false,\r\n claimsDownloaded: false,\r\n hcDownloaded: false,\r\n parentSectors: [],\r\n sectors: [],\r\n eoiDocumentStatus: false,\r\n applicationDocumentStatus: false\r\n },\r\n\r\n getters: {\r\n getEoiDownloaded: (state) => {\r\n return state.eoiDownloaded;\r\n },\r\n getAppDownloaded: (state) => {\r\n return state.appDownloaded;\r\n },\r\n getHcDownloaded: (state) => {\r\n return state.hcDownloaded;\r\n },\r\n getClaimsDownloaded: (state) => {\r\n return state.claimsDownloaded;\r\n },\r\n getParentSectors: (state) => {\r\n return state.parentSectors;\r\n },\r\n getSectors: (state) => {\r\n return state.sectors;\r\n },\r\n getDocumentStatus: state => (itemType, status) => {\r\n return status === 3 ? state[itemType] : false;\r\n }\r\n },\r\n mutations: {\r\n UPDATE_DOWNLOADED_FLAG (state, payload) {\r\n state[payload.flagName] = payload.flagStatus;\r\n },\r\n SET_PARENT_SECTORS (state, payload) {\r\n state.parentSectors = payload;\r\n },\r\n SET_SECTORS (state, payload) {\r\n state.sectors = payload;\r\n },\r\n UPDATE_DOCUMENT_STATUS (state, payload) {\r\n state[payload.itemType] = payload.data;\r\n }\r\n },\r\n\r\n actions: {\r\n updateDownloadedFlag ({ commit }, payload) {\r\n commit('UPDATE_DOWNLOADED_FLAG', payload);\r\n },\r\n setParentSectors ({ commit }, payload) {\r\n apiClient.get('UMISECTORPARENT/GET').then((res) => {\r\n const parentSectors = [];\r\n\t\t\t\tif (res.status === 200) {\r\n\t\t\t\t\tres.data.forEach(item => {\r\n\t\t\t\t\t\tparentSectors.push({\r\n\t\t\t\t\t\t\tlabel: item.ua_sectorparent,\r\n\t\t\t\t\t\t\tvalue: item.ua_umisectorparentid\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n commit('SET_PARENT_SECTORS', parentSectors);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n },\r\n setSectors ({ commit }, payload) {\r\n apiClient.get('UMISECTOR/GET').then((res) => {\r\n const sectors = [];\r\n\t\t\t\tif (res.status === 200) {\r\n\t\t\t\t\tres.data.forEach(item => {\r\n sectors.push({\r\n\t\t\t\t\t\t\tlabel: item.ua_sector,\r\n\t\t\t\t\t\t\tvalue: item.ua_umisectorid,\r\n\t\t\t\t\t\t\tparentId: item.ua_sectorparent\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n commit('SET_SECTORS', sectors);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n },\r\n getDocManagementStatus ({ commit, rootGetters }, payload) {\r\n return apiAuthClient.get(`GetUploadButtonState?id=${payload.entityId}&entity=${payload.applicationTypeId}`, rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200) {\r\n commit('UPDATE_DOCUMENT_STATUS', { itemType: payload.itemType, data: res.data });\r\n return res.data;\r\n }\r\n }).catch((err) => {\r\n return errorHandler('docManagementStatusErrors', err);\r\n });\r\n }\r\n }\r\n};\r\n","import apiAuthClient from '@/services/apiAuthClient';\r\n\r\nimport errorHandler from '@/utilities/serverErrorHandler';\r\n\r\nexport const actions = {\r\n\r\n updateClaim ({ commit, getters, dispatch, rootGetters }, payload) {\r\n commit('UPDATE_CLAIM', payload);\r\n\r\n const claim = getters.getCurrentClaim;\r\n\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Updating your claim...' }, { root: true });\r\n return apiAuthClient.put('UpdateICClaims', claim, rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200) {\r\n return true;\r\n }\r\n }).catch((err) => {\r\n return errorHandler('claimErrors', err, 'put');\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n fetchClaims ({ commit, dispatch, rootGetters }, payload) {\r\n dispatch('ui/updateInterstitial', { isLoading: true, message: 'Finding your claim...' }, { root: true });\r\n const contractId = payload === 'small' ? process.env.VUE_APP_CONTRACT_ID_SMALL : process.env.VUE_APP_CONTRACT_ID_LARGE;\r\n\r\n return apiAuthClient.get(`GetICClaims/${contractId}`, rootGetters['auth/getAccessToken']).then((res) => {\r\n if (res.status === 200) {\r\n const mutation = `UPDATE_CLAIMS_${payload.toUpperCase()}`;\r\n commit(mutation, res.data);\r\n dispatch('settings/updateDownloadedFlag', { flagName: 'claimsDownloaded', flagStatus: true }, { root: true });\r\n return true;\r\n }\r\n }).catch((err) => {\r\n return errorHandler('claimErrors', err);\r\n }).finally(() => {\r\n dispatch('ui/updateInterstitial', { isLoading: false, message: '' }, { root: true });\r\n });\r\n },\r\n fetchCurrentClaim ({ commit, getters }, payload) {\r\n const claims = getters.getAllClaims;\r\n const result = claims[payload.size].find(obj => {\r\n return obj.ua_icclaimid === payload.id;\r\n });\r\n const mutation = `UPDATE_CLAIM_${payload.size.toUpperCase()}`;\r\n commit(mutation, result);\r\n },\r\n resetClaim ({ commit, dispatch }) {\r\n commit('RESET_CLAIMS');\r\n dispatch('settings/updateDownloadedFlag', { flagName: 'claimsDownloaded', flagStatus: false }, { root: true });\r\n },\r\n prefillClaim ({ commit, dispatch, rootGetters, getters }) {\r\n const payload = rootGetters['eoi/getEOI'];\r\n commit('PREFILL_CLAIM', payload);\r\n\r\n const claim = getters.getClaim;\r\n\r\n dispatch('updateClaim', claim);\r\n }\r\n\r\n};\r\n","export const getters = {\r\n getClaims: state => (appType) => {\r\n return state.claims[appType];\r\n },\r\n getCurrentClaim: (state) => {\r\n return state.claim;\r\n },\r\n getAllClaims: state => {\r\n return state.claims;\r\n }\r\n};\r\n","export const mutations = {\r\n UPDATE_CLAIMS_SMALL (state, payload) {\r\n state.claims.small = payload;\r\n },\r\n UPDATE_CLAIMS_LARGE (state, payload) {\r\n state.claims.large = payload;\r\n },\r\n UPDATE_CLAIM_LARGE (state, payload) {\r\n // need to update the claim object within the claims array as well as the individual claim\r\n const claimInClaims = state.claims.large.find(claim => {\r\n return claim.ua_icclaimid === payload.ua_icclaimid;\r\n });\r\n\r\n Object.assign(claimInClaims, payload);\r\n\r\n Object.assign(state.claim, payload);\r\n },\r\n UPDATE_CLAIM_SMALL (state, payload) {\r\n // need to update the claim object within the claims array as well as the individual claim\r\n const claimInClaims = state.claims.small.find(claim => {\r\n return claim.ua_icclaimid === payload.ua_icclaimid;\r\n });\r\n\r\n Object.assign(claimInClaims, payload);\r\n\r\n Object.assign(state.claim, payload);\r\n },\r\n RESET_CLAIMS (state) {\r\n state.claims = {\r\n large: [],\r\n small: []\r\n };\r\n state.claim = {};\r\n },\r\n UPDATE_CLAIM (state, payload) {\r\n Object.assign(state.claim, payload);\r\n }\r\n};\r\n","import { actions } from './actions';\r\nimport { getters } from './getters';\r\nimport { mutations } from './mutations';\r\n\r\nexport const claim = {\r\n namespaced: true,\r\n state: {\r\n claims: {\r\n large: null,\r\n small: null\r\n },\r\n claim: {}\r\n },\r\n actions,\r\n getters,\r\n mutations\r\n};\r\n","import { createStore } from 'vuex';\r\n\r\nimport { application } from './application';\r\nimport { auth } from './auth';\r\nimport { childEntities } from './childEntities';\r\nimport { notes } from './notes';\r\nimport { eoi } from './eoi';\r\nimport { ui } from './ui';\r\nimport { notifications } from './notifications';\r\nimport { settings } from './settings';\r\nimport { claim } from './claim';\r\n\r\nconst store = createStore({\r\n modules: {\r\n application,\r\n auth,\r\n childEntities,\r\n notes,\r\n eoi,\r\n ui,\r\n notifications,\r\n settings,\r\n claim\r\n }\r\n});\r\n\r\nexport default store;\r\n","import { createRouter, createWebHistory } from 'vue-router';\r\nimport store from '@/store';\r\nimport CookieJar from '@/utilities/cookieJar';\r\n\r\nconst routes = [\r\n\r\n {\r\n path: '/',\r\n redirect: { name: 'Login' }\r\n },\r\n {\r\n path: '/login',\r\n component: () => import('../pages/login.vue'),\r\n name: 'Login'\r\n },\r\n {\r\n path: '/register',\r\n component: () => import('../pages/register.vue'),\r\n name: 'Register'\r\n },\r\n {\r\n path: '/verification-check/:checkType',\r\n component: () => import('../pages/verification-check.vue'),\r\n props: true,\r\n name: 'VerificationCheck'\r\n },\r\n {\r\n path: '/verify',\r\n component: () => import('../pages/verify.vue'),\r\n name: 'VerifyUser'\r\n },\r\n {\r\n path: '/resend-verification',\r\n component: () => import('../pages/resend-verification.vue'),\r\n name: 'ResendVerification'\r\n },\r\n {\r\n path: '/dashboard',\r\n component: () => import('../pages/dashboard.vue'),\r\n name: 'Dashboard',\r\n meta: {\r\n requiresAuth: true\r\n }\r\n },\r\n {\r\n path: '/stage-one',\r\n component: () => import('../pages/stage.vue'),\r\n name: 'StageOne',\r\n redirect: { name: 'ContactDetailsEOI' },\r\n meta: {\r\n applicationType: 'eoi',\r\n steps: 'stageOneSteps',\r\n stageName: 'Stage 1 Application',\r\n confirmationPage: 'EOIConfirmation',\r\n requiresAuth: true\r\n },\r\n children: [\r\n {\r\n path: 'contact-details',\r\n component: () => import('../pages/stage-one/contact-details.vue'),\r\n name: 'ContactDetailsEOI',\r\n meta: {\r\n requiresAuth: true,\r\n requiresEOI: true\r\n }\r\n },\r\n {\r\n path: 'business-location',\r\n component: () => import('../pages/stage-one/business-location.vue'),\r\n name: 'BusinessLocation',\r\n meta: {\r\n requiresAuth: true,\r\n requiresEOI: true\r\n }\r\n },\r\n {\r\n path: 'business-details',\r\n component: () => import('../pages/stage-one/business-details.vue'),\r\n name: 'BusinessDetailsEOI',\r\n meta: {\r\n requiresAuth: true,\r\n requiresEOI: true\r\n }\r\n },\r\n {\r\n path: 'declarations',\r\n component: () => import('../pages/stage-one/declarations.vue'),\r\n name: 'DeclarationsEOI',\r\n meta: {\r\n requiresAuth: true,\r\n requiresEOI: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/stage-two/large',\r\n component: () => import('../pages/stage.vue'),\r\n name: 'StageTwoLarge',\r\n redirect: { name: 'BusinessDetails' },\r\n meta: {\r\n applicationType: 'application',\r\n steps: 'stageTwoStepsLarge',\r\n stageName: 'Stage 2 Application',\r\n confirmationPage: 'ApplicationConfirmation',\r\n requiresAuth: true,\r\n requiresApplication: true\r\n },\r\n children: [\r\n {\r\n path: 'business-details',\r\n component: () => import('../pages/stage-two/large/business-details.vue'),\r\n name: 'BusinessDetails',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'contact-details',\r\n component: () => import('../pages/stage-two/large/contact-details.vue'),\r\n name: 'ContactDetails',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'directors',\r\n component: () => import('../pages/stage-two/large/directors.vue'),\r\n name: 'Directors',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'shareholders',\r\n component: () => import('../pages/stage-two/large/shareholders.vue'),\r\n name: 'Shareholders',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'project-details-one',\r\n component: () => import('../pages/stage-two/large/project-details-1.vue'),\r\n name: 'ProjectDetailsOne',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'project-details-two',\r\n component: () => import('../pages/stage-two/large/project-details-2.vue'),\r\n name: 'ProjectDetailsTwo',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'market-information',\r\n component: () => import('../pages/stage-two/large/market-information.vue'),\r\n name: 'MarketInformation',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'project-impacts',\r\n component: () => import('../pages/stage-two/large/project-impacts.vue'),\r\n name: 'ProjectImpacts',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'payment-details',\r\n component: () => import('../pages/stage-two/large/payment-details.vue'),\r\n name: 'PaymentDetails',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'additional-documents',\r\n component: () => import('../pages/stage-two/large/additional-documents.vue'),\r\n name: 'AdditionalDocuments',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'declarations',\r\n component: () => import('../pages/stage-two/large/declarations.vue'),\r\n name: 'Declarations',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/stage-two/small',\r\n component: () => import('../pages/stage.vue'),\r\n name: 'StageTwoSmall',\r\n redirect: { name: 'BusinessDetailsSmall' },\r\n meta: {\r\n applicationType: 'application',\r\n steps: 'stageTwoStepsSmall',\r\n stageName: 'Stage 2 Application',\r\n confirmationPage: 'ApplicationConfirmation',\r\n requiresAuth: true,\r\n requiresApplication: true\r\n },\r\n children: [\r\n {\r\n path: 'business-details',\r\n component: () => import('../pages/stage-two/small/business-details.vue'),\r\n name: 'BusinessDetailsSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'contact-details',\r\n component: () => import('../pages/stage-two/small/contact-details.vue'),\r\n name: 'ContactDetailsSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'directors',\r\n component: () => import('../pages/stage-two/small/directors.vue'),\r\n name: 'DirectorsSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'project-details-one',\r\n component: () => import('../pages/stage-two/small/project-details-1.vue'),\r\n name: 'ProjectDetailsOneSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'project-details-two',\r\n component: () => import('../pages/stage-two/small/project-details-2.vue'),\r\n name: 'ProjectDetailsTwoSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'business-finances',\r\n component: () => import('../pages/stage-two/small/business-finances.vue'),\r\n name: 'BusinessFinancesSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'market-information',\r\n component: () => import('../pages/stage-two/small/market-information.vue'),\r\n name: 'MarketInformationSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'project-impacts',\r\n component: () => import('../pages/stage-two/small/project-impacts.vue'),\r\n name: 'ProjectImpactsSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'payment-details',\r\n component: () => import('../pages/stage-two/small/payment-details.vue'),\r\n name: 'PaymentDetailsSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n },\r\n {\r\n path: 'declarations',\r\n component: () => import('../pages/stage-two/small/declarations.vue'),\r\n name: 'DeclarationsSmall',\r\n meta: {\r\n requiresAuth: true,\r\n requiresApplication: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: '/stage-one/confirmation',\r\n component: () => import('../pages/eoi-confirmation.vue'),\r\n name: 'EOIConfirmation',\r\n meta: {\r\n requiresAuth: true\r\n }\r\n },\r\n {\r\n path: '/stage-two/confirmation',\r\n component: () => import('../pages/application-confirmation.vue'),\r\n name: 'ApplicationConfirmation',\r\n meta: {\r\n requiresAuth: true\r\n }\r\n },\r\n {\r\n path: '/claim',\r\n component: () => import('../pages/stage.vue'),\r\n name: 'Claim',\r\n redirect: { name: 'ClaimDetails' },\r\n props: true,\r\n meta: {\r\n applicationType: 'claim',\r\n steps: 'claimSteps',\r\n stageName: 'Claim',\r\n confirmationPage: 'ClaimConfirmation',\r\n requiresAuth: true\r\n },\r\n children: [\r\n {\r\n path: 'claim-details/:size/:claimId',\r\n component: () => import('../pages/claim/claim-details.vue'),\r\n name: 'ClaimDetails',\r\n props: true,\r\n meta: {\r\n requiresAuth: true,\r\n requiresClaims: true\r\n }\r\n }\r\n\r\n ]\r\n },\r\n {\r\n path: '/claim/confirmation',\r\n component: () => import('../pages/claim-confirmation.vue'),\r\n name: 'ClaimConfirmation',\r\n meta: {\r\n requiresAuth: true\r\n }\r\n },\r\n {\r\n path: '/documents/:stage/:applicationSize',\r\n component: () => import('../pages/document-management.vue'),\r\n name: 'DocumentManagement',\r\n props: true,\r\n meta: {\r\n requiresAuth: true\r\n }\r\n },\r\n {\r\n path: '/privacy-policy',\r\n component: () => import('../pages/privacy-policy.vue'),\r\n name: 'PrivacyPolicy'\r\n },\r\n {\r\n path: '/close-down',\r\n name: 'CloseDown',\r\n component: () => import('../pages/close-down.vue')\r\n },\r\n {\r\n path: '/error',\r\n name: 'Error',\r\n component: () => import('../pages/server-error.vue')\r\n },\r\n {\r\n path: '/faq',\r\n name: 'faq',\r\n component: () => import('../pages/faq.vue')\r\n },\r\n {\r\n path: '/forgot-password',\r\n name: 'forgotPassword',\r\n component: () => import('../pages/forgot-password.vue')\r\n },\r\n {\r\n path: '/reset-password',\r\n name: 'resetPassword',\r\n component: () => import('../pages/reset-password.vue'),\r\n beforeEnter: (to, from) => {\r\n if (!to.query.token || !to.query.email) {\r\n router.push({ name: 'Login' });\r\n }\r\n }\r\n },\r\n {\r\n path: '/:catchAll(.*)',\r\n name: 'Error',\r\n component: () => import('../pages/not-found.vue')\r\n }\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (to.matched.some(record => record.meta.requiresEOI) && !store.getters['settings/getEoiDownloaded']) {\r\n router.push({ name: 'Dashboard' });\r\n } else if (to.matched.some(record => record.meta.requiresApplication) && !store.getters['settings/getAppDownloaded']) {\r\n router.push({ name: 'Dashboard' });\r\n } else if (to.matched.some(record => record.meta.requiresClaims) && !store.getters['settings/getClaimsDownloaded']) {\r\n router.push({ name: 'Dashboard' });\r\n } else {\r\n next();\r\n }\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (to.matched.some(record => record.meta.requiresAuth)) {\r\n if (store.getters['auth/isAuthenticated']) {\r\n next();\r\n } else {\r\n // nothing in the store, so lets check cookies\r\n const accessToken = CookieJar.get(`${process.env.VUE_APP_COOKIE_PREFIX}access_token`);\r\n const refreshToken = CookieJar.get(`${process.env.VUE_APP_COOKIE_PREFIX}refresh_token`);\r\n if (!accessToken) {\r\n // access token is invalid, lets check the refresh token\r\n if (!refreshToken) {\r\n // no valid tokens, redirect to login\r\n next({ name: 'Login' });\r\n } else {\r\n store.dispatch('auth/redeemToken', {\r\n refreshtoken: refreshToken,\r\n businessunit: process.env.VUE_APP_BUSINESS_UNIT\r\n }).then(() => {\r\n next();\r\n }).catch(() => {\r\n next({ name: 'Login' });\r\n });\r\n }\r\n } else {\r\n store.dispatch('auth/updateAuth', {\r\n accessToken,\r\n refreshToken\r\n }).then(() => {\r\n next();\r\n });\r\n }\r\n }\r\n } else {\r\n next();\r\n }\r\n});\r\n\r\nexport default router;\r\n","const defaults = {\r\n title: 'Do more and go further',\r\n description: 'Test description for SEO',\r\n url: window.location.href,\r\n image: 'go-further-with-UMi.png',\r\n separator: null,\r\n compliment: null\r\n};\r\n\r\nconst mapSeoData = (data) => {\r\n return {\r\n canonical: data.canonical || null,\r\n title: `${data.title || defaults.title} ${defaults.separator || ''} ${defaults.compliment || ''}`,\r\n meta: {\r\n description: data.description || defaults.description,\r\n robots: data.robotsNoFollow ? data.robotsNoFollow.length ? 'noindex' : null : null\r\n },\r\n og: {\r\n url: data.url || defaults.url,\r\n image: data.image || defaults.image,\r\n title: `${data.title || defaults.title} ${defaults.separator || ''} ${defaults.compliment || ''}`,\r\n type: data.ogType || 'website',\r\n description: data.description || defaults.description\r\n },\r\n structuredData: data.structuredData ? data.structuredData.length ? data.structuredData[0] : null : null\r\n };\r\n};\r\n\r\nexport default {\r\n install (Vue, options) {\r\n function init () {\r\n const head = this.$options.head;\r\n\r\n if (head) {\r\n Vue.seoData = mapSeoData(head, Vue.options);\r\n setPageTitle();\r\n }\r\n return false;\r\n }\r\n\r\n function setPageTitle () {\r\n const title = Vue.head.querySelector('title');\r\n title.innerHTML = Vue.seoData.title || defaults.title;\r\n setCanonical();\r\n }\r\n\r\n function setCanonical () {\r\n\t\t\tconst canonical = Vue.head.querySelector('link[rel=\"canonical\"]');\r\n\t\t\tif (!canonical) {\r\n\t\t\t\tconst newTag = document.createElement('link');\r\n\t\t\t\tnewTag.setAttribute('rel', 'canonical');\r\n\t\t\t\tnewTag.setAttribute('href', Vue.seoData.canonical || window.location.href);\r\n\t\t\t\tVue.frag.append(newTag);\r\n\t\t\t} else {\r\n\t\t\t\tcanonical.setAttribute('href', Vue.seoData.canonical || window.location.href);\r\n\t\t\t}\r\n\t\t\tsetOGData();\r\n\t\t}\r\n\r\n function setOGData () {\r\n\t\t\tfor (const [key, value] of Object.entries(Vue.seoData.og)) {\r\n\t\t\t\tif (value !== null) {\r\n\t\t\t\t\tconst tag = Vue.head.querySelector(`meta[property=\"og:${key}\"]`);\r\n\t\t\t\t\tif (!tag) {\r\n\t\t\t\t\t\t// No tag means create and push to frag\r\n\t\t\t\t\t\tconst newTag = document.createElement('meta');\r\n\t\t\t\t\t\tnewTag.setAttribute('property', `og:${key}`);\r\n\t\t\t\t\t\tnewTag.setAttribute('content', value);\r\n\t\t\t\t\t\tVue.frag.append(newTag);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttag.setAttribute('content', value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tsetMetaTags();\r\n\t\t}\r\n\r\n function setMetaTags () {\r\n\t\t\tfor (const [key, value] of Object.entries(Vue.seoData.meta)) {\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\tconst tag = Vue.head.querySelector(`meta[name=${key}]`);\r\n\t\t\t\t\tif (!tag) {\r\n\t\t\t\t\t\t// No tag means create and push to frag\r\n\t\t\t\t\t\tconst newTag = document.createElement('meta');\r\n\t\t\t\t\t\tnewTag.setAttribute('name', `${key}`);\r\n\t\t\t\t\t\tnewTag.setAttribute('content', value || defaults[key]);\r\n\t\t\t\t\t\tVue.frag.append(newTag);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (key === 'robots' && Vue.seoData.meta.robots) {\r\n\t\t\t\t\t\t\ttag.setAttribute('content', value || defaults[key]);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tVue.head.removeChild(tag);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tsetStructuredData();\r\n\t\t}\r\n\r\n function setStructuredData () {\r\n\t\t\tif (Vue.seoData.structuredData) {\r\n\t\t\t\tconst tag = Vue.head.querySelector(\"script[type='application/ld+json']\");\r\n\t\t\t\tif (!tag) {\r\n\t\t\t\t\tconst newTag = document.createElement('script');\r\n\t\t\t\t\tnewTag.setAttribute('type', 'application/ld+json');\r\n\t\t\t\t\tnewTag.innerText = Vue.seoData.structuredData;\r\n\t\t\t\t\tVue.frag.append(newTag);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttag.innerText = Vue.seoData.structuredData;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\taddSeoTags();\r\n\t\t}\r\n\r\n function addSeoTags () {\r\n\t\t\tVue.head.append(Vue.frag);\r\n\t\t}\r\n\r\n Vue.options = Object.assign(defaults, options);\r\n Vue.seoData = {};\r\n Vue.head = document.querySelector('head');\r\n Vue.frag = document.createDocumentFragment();\r\n\r\n Vue.mixin({\r\n mounted () {\r\n init.call(this);\r\n }\r\n });\r\n }\r\n};\r\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\nfunction install (Vue, config) {\r\n Vue.appInsights = new ApplicationInsights({ config });\r\n\r\n const originSiteTelemetry = (envelope) => {\r\n envelope.data.originSite = process.env.VUE_APP_FUND_NAME;\r\n };\r\n\r\n Vue.appInsights.addTelemetryInitializer(originSiteTelemetry);\r\n\r\n Vue.appInsights.loadAppInsights();\r\n if (typeof (config.onAfterScriptLoaded) === 'function') {\r\n config.onAfterScriptLoaded(Vue.appInsights);\r\n }\r\n\r\n const router = config.router;\r\n\r\n // Watch route event if router option is defined.\r\n if (router) {\r\n if (config.trackInitialPageView !== false) {\r\n setupPageTracking(config, Vue);\r\n } else {\r\n router.onReady(() => setupPageTracking(config, Vue));\r\n }\r\n }\r\n\r\n Object.defineProperty(Vue, '$appInsights', {\r\n get: () => Vue.appInsights\r\n });\r\n}\r\n\r\n/**\r\n * Track route changes as page views with AppInsights\r\n * @param options\r\n */\r\nfunction setupPageTracking (options, Vue) {\r\n const router = options.router;\r\n\r\n const baseName = options.baseName || '(Vue App)';\r\n\r\n router.beforeEach((route, from, next) => {\r\n const name = baseName + ' / ' + route.name;\r\n Vue.appInsights.startTrackPage(name);\r\n next();\r\n });\r\n\r\n router.afterEach(route => {\r\n const name = baseName + ' / ' + route.name;\r\n const url = location.protocol + '//' + location.host + route.fullPath;\r\n Vue.appInsights.stopTrackPage(name, url);\r\n Vue.appInsights.flush();\r\n });\r\n}\r\n\r\n// auto install for navigator\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n window.Vue.use(install);\r\n}\r\n\r\nexport default install;\r\n","import { createApp } from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport store from './store';\r\nimport minr from '@weareumi/minr';\r\nimport seo from './plugins/seo';\r\nimport appInsights from './plugins/appInsights';\r\n\r\nimport '@weareumi/minr/minr.css';\r\nimport './assets/scss/index.scss';\r\n\r\nconst app = createApp(App);\r\n\r\napp.use(store).use(router).use(minr).use(seo, { separator: '|', compliment: 'Efficiency Grant' }).mount('#app');\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n app.use(appInsights, { instrumentationKey: '5e7868dd-5b0b-4cd9-bd11-5fa16834d949', excludeRequestFromAutoTrackingPatterns: ['api/notifications'] });\r\n}\r\n\r\napp.config.globalProperties.$filters = {\r\n userFriendlyDate (value) {\r\n return new Date(value).toLocaleDateString('en-GB');\r\n }\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UMiLogo.vue?vue&type=style&index=0&id=a8af6834&lang=scss\"","export const defaultEoi = {\r\n // contact details\r\n ua_companyname: null,\r\n ua_title: null,\r\n ua_othertitle: null,\r\n ua_firstname: null,\r\n ua_lastname: null,\r\n ua_preferredcontacttelephoneno: null,\r\n ua_emailaddress: null,\r\n ua_directornameformfa: null,\r\n ua_directoremailformfa: null,\r\n // business location\r\n ua_tradingaddressline1: null,\r\n ua_tradingaddressline2: null,\r\n ua_tradingaddresstowncity: null,\r\n ua_tradingaddresscounty: null,\r\n ua_tradingaddresspostcode: null,\r\n ua_tradingpostcodefromryi: null,\r\n ua_registeredaddresssameastrading: 2,\r\n ua_registeredaddressline1: null,\r\n ua_registeredaddressline2: null,\r\n ua_registeredaddresstowncity: null,\r\n ua_registeredaddresscounty: null,\r\n ua_registeredaddresspostcode: null,\r\n ua_registeredpostcodefromryi: null,\r\n // business details\r\n ua_website: null,\r\n\tua_typeofbusinessownership: null,\r\n\tua_businessownershipother: null,\r\n\tua_companyregistrationnumber: null,\r\n\tua_datestartedtrading: null,\r\n\tua_utrnumber: null,\r\n\tua_dateregisteredwithhmrc: null,\r\n ua_haveregisteredcharitystatus: null,\r\n\tua_charitynumber: null,\r\n\tua_dateregisteredwithcharitycommission: null,\r\n ua_registeredonmutualsregister: null,\r\n ua_mutualsregisterregistrationnumber: null,\r\n\tua_areyouvatregistered: 2,\r\n\tua_vatregistrationnumber: null,\r\n ua_sectorparentlookup: null,\r\n\tua_sectornamefromryi: null,\r\n ua_umisector: null,\r\n\tua_annualturnover: null,\r\n\tua_financialyearend: null,\r\n\tua_howmuchsalesdirecttopublic: null,\r\n\tua_numberofemployees: null,\r\n\tua_partofgroup: false,\r\n\tua_groupname: null,\r\n ua_companygroupaddress: null,\r\n\tua_companygrouppostcode: null,\r\n\tua_companygrouprefno: null,\r\n\tua_groupemployees: null,\r\n\tua_groupturnover: null,\r\n ua_whatdoesthebusinessdo: null,\r\n // declarations\r\n ua_agreetodataprotection: null,\r\n\tua_wheredidyouhearaboutus: null,\r\n\tua_wheredidyouhearaboutusother: null,\r\n\tua_pleasedescribeproject: null,\r\n // general\r\n ua_iccontractid: process.env.VUE_APP_CONTRACT_ID_EOI,\r\n ua_eoitype: 1,\r\n ua_icexpressionofinterestid: null,\r\n ua_submiteoi: 2,\r\n ua_currentstatus: null,\r\n ua_contact: null,\r\n ua_currentpageinapplication: null,\r\n ua_readyforfunding: null\r\n};\r\n\r\nexport const defaultApplication = {\r\n // Business Details\r\n ua_businessname: null,\r\n ua_sectorparentlookup: null,\r\n ua_sectorlookup: null,\r\n ua_legalstatus: null,\r\n ua_companyregistrationnumber: null,\r\n ua_datebusinessstartedtrading: null,\r\n ua_registeredaddress: null,\r\n ua_registeredaddressline2: null,\r\n ua_registeredaddresstowncity: null,\r\n ua_registeredaddresspostcode: null,\r\n ua_registeredpostcode: null,\r\n ua_tradingaddresssameasregistered: 2,\r\n ua_tradingaddress: null,\r\n ua_tradingaddressline2: null,\r\n ua_tradingaddresstowncity: null,\r\n ua_tradingaddresspostcode: null,\r\n ua_tradingpostcode: null,\r\n ua_uniquetaxreferencenumber: null,\r\n ua_dateregisteredwithhmrc: null,\r\n ua_legalstatusother: null,\r\n ua_businessoverview: null,\r\n ua_briefdescriptionoforganisation: null,\r\n ua_lastapprovedemployees: null,\r\n ua_isthebusinesspartofagroup: 2,\r\n ua_parentcompanydetails: null,\r\n ua_haveregisteredcharitystatus: null,\r\n ua_registeredonmutualsregister: null,\r\n ua_mutualsregisterregistrationnumber: null,\r\n // Contact Details\r\n ua_maincontactname: null,\r\n ua_maincontactposition: null,\r\n ua_maincontacttelephone: null,\r\n ua_maincontactmobile: null,\r\n ua_maincontactemail: null,\r\n // Directors\r\n ua_directornameforofferletter: null,\r\n ua_directoremailforofferletter: null,\r\n // Project Details 1\r\n ua_describeproposal: null,\r\n ua_descriptionofproject: null,\r\n ua_consultancydays: null,\r\n // Project Details 2\r\n activities: [],\r\n ua_totalamountrequesting: null,\r\n // Business Finances\r\n ua_financialyearenddate: null,\r\n ua_howintendtofinancetheproject: null,\r\n ua_lastapprovedturnover: null,\r\n ua_briefdescription: null,\r\n // Market Information\r\n ua_doyouknowwhoyourmaincompetitorsare: 1,\r\n competitors: [],\r\n // Project Impacts\r\n jobs: [],\r\n ua_willsafeguardjobs: 0,\r\n ua_jobssafeguarded: null,\r\n ua_forecastnumberofjobs: 0,\r\n // Payment Details\r\n ua_bankaccountname: null,\r\n ua_businessbanksortcode: null,\r\n ua_businessbankaccountnumber: null,\r\n // Declarations\r\n ua_decexperianverification: 2,\r\n ua_decexperianrecordkept: 2,\r\n ua_decpersonalcreditcard: 2,\r\n ua_decincorrectorincomplete: 2,\r\n ua_decnotstartedproject: 2,\r\n ua_decnoactivityuntilofferaccepted: 2,\r\n ua_decoffermaybepublicised: 2,\r\n ua_decinfostoredelectronically: 2,\r\n ua_decawardatdiscretionofumi: 2,\r\n ua_decnopartnerdisqualified: 2,\r\n ua_decnodirectorbankrupt: 2,\r\n ua_decnodirectorrequestedtorepay: 2,\r\n ua_decnodirectorlast5yearscivilaction: 2,\r\n ua_decsuppliersnotconnected: 2,\r\n ua_decpreowneditemsnoterdf: 2,\r\n ua_umioptin: 2,\r\n // general\r\n ua_iccontractid: '',\r\n ua_icexpressionofinterest: null,\r\n ua_icapplicationid: null,\r\n ua_submitapplication: false,\r\n ua_currentstatus: 'Application Created',\r\n ua_contact: null,\r\n ua_currentpageinapplication: null,\r\n // additional information\r\n ua_doccapitalgrantsupplementaryquestions: 2,\r\n ua_financialappendicesspreadsheetuploaded: 2,\r\n ua_doclastyearfinancial: 2,\r\n ua_doclatestmanagementaccounts: 2,\r\n ua_docgroupaccounts: 2,\r\n ua_docmonthlyprofitlossforecast: 2,\r\n ua_doccashflowforecasts: 2,\r\n ua_docdirectorcvs: 2\r\n};\r\n\r\nexport const defaultClaim = {\r\n ua_othercommentsforclaimassessment: null,\r\n ua_declareinvoicesuploaded: 0,\r\n ua_declarebankstatementsuploaded: 0,\r\n ua_declarechequeevidenceuploaded: 0,\r\n ua_declareBACSreportuploaded: 0,\r\n ua_declarePayPalstatementuploaded: 0,\r\n ua_declareCreditCardstatementuploaded: 0,\r\n ua_declareactivityexpenditurefullydefrayed: 0,\r\n ua_declareinfotrueandcomplete: 0,\r\n ua_declareprojectcomplete: 0,\r\n ua_isthisthefinalclaim: 1\r\n};\r\n\r\nexport const STATUS_MAP = {\r\n eoi: {\r\n created: 0,\r\n 'eoi-created': 0,\r\n 'eoi-submitted': 1,\r\n 'customer-app-submitted': 1,\r\n 'budi-grant-referral': 1,\r\n 'customer-app-assessment-started': 2,\r\n 'customer-app-in-assessment': 2,\r\n 'eoi-in-assessment': 2,\r\n 'customer-app-in-query': 3,\r\n 'eoi-in-query': 3,\r\n ineligible: 4,\r\n 'customer-app-rejected': 4,\r\n 'customer-app-withdrawn': 5,\r\n 'eoi-withdrawn': 5,\r\n withdrawn: 5,\r\n 'customer-app-eligible': 6,\r\n eligible: 6\r\n },\r\n application: {\r\n created: 0,\r\n 'application-created': 0,\r\n 'application-submitted': 1,\r\n 'customer-app-submitted': 1,\r\n 'offer-letter-signed': 1,\r\n 'stage-2-assessment-started': 2,\r\n 'assessment-complete': 2,\r\n 'application-assigned': 2,\r\n 'in-query-cust': 3,\r\n 'in-query-customer': 3,\r\n 'in-query-umi': 3,\r\n 'app-in-query': 3,\r\n 'application-rejected': 4,\r\n 'application-withdrawn': 5\r\n },\r\n claim: {\r\n created: 0,\r\n 'customer-ready-to-claim': 0,\r\n 'claim-created': 0,\r\n 'claim-started': 1,\r\n 'claim-submitted': 1,\r\n awaiting: 2,\r\n 'claim-authorised': 2,\r\n 'tvb-claim-assessment-1-started': 2,\r\n 'final-claim-assessment-ddcd-pass': 2,\r\n 'final-claim-assessment-ddcd-push-back-to-customer': 3,\r\n 'final-claim-assessment-ddcd-started': 2,\r\n 'initial-claim-assessment-ddcd-started': 2,\r\n 'initial-claim-assessment-started': 2,\r\n 'claim-pushed-back': 3,\r\n 'final-claim-assessment-ddcd-query': 3,\r\n 'initial-claim-assessment-ddcd-in-query-cust': 3,\r\n 'initial-claim-assessment-ddcd-query': 3,\r\n 'tvb-claim-assessment-1-push-back-to-customer': 3,\r\n 'tvb-claim-assessment-1-in-query-cust': 3,\r\n 'tvb-claim-assessment-1-in-query-umi': 3,\r\n 'in-query-cust': 3,\r\n 'in-query-customer': 3,\r\n 'tvb-claim-assessment-2-in-query-umi': 3,\r\n 'activity-not-being-claimed': 4,\r\n 'claim-rejected': 4,\r\n 'tvb-claim-assessment-1-fail': 5,\r\n 'claim-paid': 6\r\n }\r\n};\r\n"],"sourceRoot":""}