From ff8be8e0dca5560428bcce6ce754eed8fa32c8b6 Mon Sep 17 00:00:00 2001 From: Jeremy Zimmerman Date: Tue, 28 Feb 2023 15:14:03 -0500 Subject: [PATCH 01/10] Updates --- src/layouts/entry-page/entry-page.vue | 50 ++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/src/layouts/entry-page/entry-page.vue b/src/layouts/entry-page/entry-page.vue index ba8237d5..11d51a7b 100644 --- a/src/layouts/entry-page/entry-page.vue +++ b/src/layouts/entry-page/entry-page.vue @@ -34,7 +34,14 @@ }, async validateClientTagOnEntry() { - const clientTag = this.$route.query.ClientTag; + // Dump the query string parameters into an array. Remove casing on the key for easy compare. + let queryStringParams = []; + for ( let param in this.$route.query) + { + queryStringParams[param.toLowerCase()] = this.$route.query[param]; + } + + const clientTag = queryStringParams["clienttag"]; const clientTagPresent = !!clientTag; let authorized = false; @@ -48,6 +55,29 @@ this.mainStore.issConfig.accountNumber = resp.data.accountNumber; this.mainStore.issConfig.styleSheet = resp.data.styleSheet; authorized = true; + + if ( resp.data.parameters?.length > 0 ) + { + const clientParams = JSON.parse(resp.data.parameters); + + let finalParams = []; + for ( let cparam in clientParams) + { + let cname = cparam.toLowerCase(); + + for ( let qsparam in queryStringParams) + { + let qsname = qsparam.toLowerCase(); + + if ( cname === qsname ) + { + finalParams[cname] = queryStringParams[cname]; + } + } + } + + //this.populateStoreItemsFromParams(finalParams); + } } } @@ -59,6 +89,24 @@ window.location = "/?issPage=" + issPageValues.WELCOME_PAGE; } }, + populateStoreItemsFromParams(params) { + + const mainStore = useMainStore(); + + // Populate store items from parameters. + for ( let param in params) + { + let name = param.toLowerCase(); + let value = params[param]; + + switch (name) + { + case "policynumber": + mainStore.order.policy.policyNumber = value; + break; + } + } + }, }, computed:{ }, From 56bed721b11694a7a3aae1c6d0ad0adbc1b90586 Mon Sep 17 00:00:00 2001 From: Jeremy Zimmerman Date: Wed, 1 Mar 2023 15:43:40 -0500 Subject: [PATCH 02/10] Updates. --- src/layouts/entry-page/entry-page.vue | 41 +++++++++++++++++++++++---- src/store/index.js | 4 +++ 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/src/layouts/entry-page/entry-page.vue b/src/layouts/entry-page/entry-page.vue index 11d51a7b..ddfb6862 100644 --- a/src/layouts/entry-page/entry-page.vue +++ b/src/layouts/entry-page/entry-page.vue @@ -51,9 +51,8 @@ if ( resp?.data.active && resp?.data.accountName.length > 0 ) { - this.mainStore.issConfig.clientName = resp.data.accountName; - this.mainStore.issConfig.accountNumber = resp.data.accountNumber; - this.mainStore.issConfig.styleSheet = resp.data.styleSheet; + this.populateISSConfigValues(resp.data); + authorized = true; if ( resp.data.parameters?.length > 0 ) @@ -89,9 +88,39 @@ window.location = "/?issPage=" + issPageValues.WELCOME_PAGE; } }, - populateStoreItemsFromParams(params) { + populateISSConfigValues(data) + { + this.mainStore.issConfig.clientName = data.accountName; + this.mainStore.issConfig.accountNumber = data.accountNumber; + this.mainStore.issConfig.styleSheet = data.styleSheet; - const mainStore = useMainStore(); + console.log(data.clientFlags); + console.log(data.parameters); + + try + { + const clientFlags = JSON.parse(data.clientFlags); + + console.log(clientFlags.clientDisplayName); + + if ( clientFlags.TPAEnabled ) + { + console.log("TPA Flow Enabled!"); + this.mainStore.issConfig.enableTPAFlow = true; + } + + if ( clientFlags.clientDisplayName != null ) + { + console.log("Client Display Name set!"); + this.mainStore.issConfig.clientDisplayName = clientflags.clientDisplayName; + } + } + catch ( e ) + { + console.error("Error parsing client flags: " + e); + } + }, + populateStoreItemsFromParams(params) { // Populate store items from parameters. for ( let param in params) @@ -102,7 +131,7 @@ switch (name) { case "policynumber": - mainStore.order.policy.policyNumber = value; + this.mainStore.order.policy.policyNumber = value; break; } } diff --git a/src/store/index.js b/src/store/index.js index 19aff5c1..de09569f 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -99,8 +99,10 @@ const getDefaultState = () => { }, issConfig: { clientName: "", + clientDisplayName: "", styleSheet: "", accountNumber: 0, + enableTPAFlow: false, } }; }; @@ -587,8 +589,10 @@ export const useMainStore = defineStore({ resetISSConfigState() { this.issConfig.clientName = ""; + this.issConfig.clientDisplayName = ""; this.issConfig.accountNumber = 0; this.issConfig.styleSheet = ""; + this.issConfig.enableTPAFlow = false; }, updateVehicleYear(year) { From e462b23af5d15077f3544196152b41974c15537b Mon Sep 17 00:00:00 2001 From: Jeremy Zimmerman Date: Fri, 3 Mar 2023 15:43:06 -0500 Subject: [PATCH 03/10] Auto stash before merge of "feature/Digital/SSR-275" and "develop" --- src/layouts/entry-page/entry-page.vue | 33 ++++++++++++++++++++------- src/router/index.js | 33 +++++++++++++++++---------- 2 files changed, 46 insertions(+), 20 deletions(-) diff --git a/src/layouts/entry-page/entry-page.vue b/src/layouts/entry-page/entry-page.vue index ddfb6862..ba26817b 100644 --- a/src/layouts/entry-page/entry-page.vue +++ b/src/layouts/entry-page/entry-page.vue @@ -59,10 +59,12 @@ { const clientParams = JSON.parse(resp.data.parameters); + console.log(clientParams); + let finalParams = []; for ( let cparam in clientParams) { - let cname = cparam.toLowerCase(); + let cname = clientParams[cparam].toLowerCase(); for ( let qsparam in queryStringParams) { @@ -74,8 +76,8 @@ } } } - - //this.populateStoreItemsFromParams(finalParams); + + this.populateStoreItemsFromParams(finalParams); } } } @@ -94,15 +96,10 @@ this.mainStore.issConfig.accountNumber = data.accountNumber; this.mainStore.issConfig.styleSheet = data.styleSheet; - console.log(data.clientFlags); - console.log(data.parameters); - try { const clientFlags = JSON.parse(data.clientFlags); - console.log(clientFlags.clientDisplayName); - if ( clientFlags.TPAEnabled ) { console.log("TPA Flow Enabled!"); @@ -122,9 +119,14 @@ }, populateStoreItemsFromParams(params) { + console.log("populate is running"); + // Populate store items from parameters. for ( let param in params) { + // ["PolicyNumber","LossDate","Timestamp","Token","Signature","ReturnURL","ReturnURL2"] + //console.log("param: " + params[param]) + let name = param.toLowerCase(); let value = params[param]; @@ -133,6 +135,21 @@ case "policynumber": this.mainStore.order.policy.policyNumber = value; break; + + case "lossdate": + this.mainStore.order.policy.dateOfLoss = value; + break; + + // Not implemented yet. + case "returnurl": + case "returnurl2": + break; + + // Not stored + case "timestamp": + case "token": + case "signature": + break; } } }, diff --git a/src/router/index.js b/src/router/index.js index ca0dcee3..8880066f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -23,15 +23,19 @@ const routes = [ async beforeEnter(to, from, next) { try { to.query.issPage = !to.query.issPage ? issPageValues.WELCOME_PAGE : to.query.issPage; - - if (analyticsMixin.methods.noSession()) { - await analyticsMixin.methods.initSession(); - } else { - updateSessionIdCookie(); + + // Do not run these for the main entry page - as it is not part of the user flow. + if ( to.query.issPage != issPageValues.ENTRY_PAGE ) + { + if (analyticsMixin.methods.noSession()) { + await analyticsMixin.methods.initSession(); + } else { + updateSessionIdCookie(); + } + + await runExperiments(to.query.issPage); } - - await runExperiments(to.query.issPage); - + // Process ISS cookie. updateOrCreateISSCookie(); @@ -78,11 +82,16 @@ router.afterEach((to, from) => { // Update lastPageVisited in the store store.updateLastPageVisited(to.name); - // Push page view to GA - analyticsMixin.methods.pushPageViewToGA(); + console.log("Page: " + to.query.issPage); - // Push experiments to Data Layer - analyticsMixin.methods.pushExperimentsToDataLayer(); + if ( to.query.issPage != issPageValues.ENTRY_PAGE ) + { + // Push page view to GA + analyticsMixin.methods.pushPageViewToGA(); + + // Push experiments to Data Layer + analyticsMixin.methods.pushExperimentsToDataLayer(); + } }); // Get route information by page name. From 5f1520a87e163a7e72eb3de6f59fe86185ae85f2 Mon Sep 17 00:00:00 2001 From: sheena Date: Tue, 7 Mar 2023 20:03:20 +0530 Subject: [PATCH 04/10] SSR-277 defect card -fixed scrollbar --- src/iss-components/site-footer/site-footer.vue | 5 ++--- src/layouts/address-lookup/address-lookup.vue | 10 +++++++++- .../policy-holder-details/policy-holder-details.vue | 12 ++++++++---- src/layouts/vehicle-damage/vehicle-damage.vue | 11 +++++++++-- src/layouts/vehicle-lookup/vehicle-lookup.vue | 11 +++++++++-- src/layouts/welcome-page/welcome-page.vue | 7 ++++++- 6 files changed, 43 insertions(+), 13 deletions(-) diff --git a/src/iss-components/site-footer/site-footer.vue b/src/iss-components/site-footer/site-footer.vue index 06e614d6..fb4849de 100644 --- a/src/iss-components/site-footer/site-footer.vue +++ b/src/iss-components/site-footer/site-footer.vue @@ -1,5 +1,5 @@