From 39033e858d5f62a071f262c63573373df4a50815 Mon Sep 17 00:00:00 2001 From: hiteshkumar87 Date: Wed, 13 Nov 2024 13:57:17 +0530 Subject: [PATCH] CSR-2066 handleBeforeUnload and formatting --- .../heritage-integration/navigation-helper.js | 8 +--- .../navigation-helper.spec.js | 2 +- src/layouts/address-lookup/address-lookup.vue | 1 - .../address-vehicles/address-vehicles.vue | 1 - src/layouts/bailout/bailout.vue | 1 - src/layouts/confirmation/confirmation.vue | 4 +- .../insurance-company/insurance-company.vue | 14 +++--- .../license-plate-lookup.vue | 1 - src/layouts/payment-method/payment-method.vue | 6 +-- src/layouts/payment/payment.vue | 5 ++- src/layouts/quote/quote.vue | 10 +++-- src/layouts/schedule/schedule.vue | 6 ++- .../service-location/service-location.vue | 2 +- src/router/index.js | 9 ++-- src/styles/common-typography-styles.scss | 45 ++++++++++--------- 15 files changed, 59 insertions(+), 56 deletions(-) diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 484d6a2cf..e61c72f7f 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -106,11 +106,7 @@ export async function getImplicitNavigation(toRoute) { Used to navigate to the heritage funnel with the correct query string and url. */ -export async function navigateToHeritageFunnel({ - shouldSaveSession, - pageNameToLog, - callBackMethod = null, -}) { +export async function navigateToHeritageFunnel({ shouldSaveSession, pageNameToLog }) { const log = getQuerystringParameter(queryStrings.LOG); if (eval(log)) { console.log("------------- Navigate to heritage start -----------------"); @@ -154,7 +150,7 @@ export async function navigateToHeritageFunnel({ window.sessionStorage.removeItem("createNewSessionForHeritage"); } - router.navigateToExternalUrl(applicationConfig.HERITAGE_FUNNEL, heritageParms, callBackMethod); + router.navigateToExternalUrl(applicationConfig.HERITAGE_FUNNEL, heritageParms); } export async function skipVinLookup() { diff --git a/src/helpers/heritage-integration/navigation-helper.spec.js b/src/helpers/heritage-integration/navigation-helper.spec.js index 695c84bb1..2af724828 100644 --- a/src/helpers/heritage-integration/navigation-helper.spec.js +++ b/src/helpers/heritage-integration/navigation-helper.spec.js @@ -617,7 +617,7 @@ describe("navigateToHeritageFunnel", () => { externalUrls.HERITAGE_FUNNEL, expect.objectContaining({ corid: mockCorrelationId, - }),null + }) ); }); diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index 50a3f0e11..467177139 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -13,7 +13,6 @@
-
-
-
-
- -
+

{{ ScheduleDateFormatted }}

diff --git a/src/layouts/insurance-company/insurance-company.vue b/src/layouts/insurance-company/insurance-company.vue index 465d8047c..de29bdf0e 100644 --- a/src/layouts/insurance-company/insurance-company.vue +++ b/src/layouts/insurance-company/insurance-company.vue @@ -111,6 +111,10 @@ export default { : ""; return accountNumber; }, + handleBeforeUnload() { + const insuranceCompanyPage = document.getElementById("insurance-company"); + insuranceCompanyPage.parentElement.removeChild(insuranceCompanyPage); + }, arePagePrerequisitesValid() { return store.getters.order.payment.isInsurance === true; }, @@ -140,17 +144,17 @@ export default { billToAccountNumber, false ); + //Manually unmount component in case navigate to external application. + window.addEventListener("beforeunload", this.handleBeforeUnload); navigateToHeritageFunnel({ shouldSaveSession: true, pageNameToLog: "insurance-company", - callBackMethod: this.unloadPage, }); }, - unloadPage() { - const insuranceCompanyPage = document.getElementById("insurance-company"); - insuranceCompanyPage.parentElement.removeChild(insuranceCompanyPage); - }, + }, + unmounted() { + window.removeEventListener("beforeunload", this.handleBeforeUnload); }, components: { funnelHeader, diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 4c04b4e26..2aba11db4 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -8,7 +8,6 @@
-
-
@@ -420,7 +419,8 @@ export default { customer.emailAddress ); - const preReqResult = serviceLocationReqs && isInsuranceSet() && scheduleReqs && customerReqs; + const preReqResult = + serviceLocationReqs && isInsuranceSet() && scheduleReqs && customerReqs; // prettier-ignore { @@ -443,7 +443,7 @@ export default { console.log(new Date() + " customerReqs::customer.emailAddress:" + customer.emailAddress); console.log("------------- payment-method.vue pagePrereqs end -----------------"); } - } + } return preReqResult; }, diff --git a/src/layouts/payment/payment.vue b/src/layouts/payment/payment.vue index f301c46a8..75ad840e0 100644 --- a/src/layouts/payment/payment.vue +++ b/src/layouts/payment/payment.vue @@ -139,7 +139,10 @@ type="hidden" name="sgtermsofusedisplaytext" value="By selecting submit, I agree to Safelite's" /> - + 0)) && (payment.insuranceCoverage?.isVerified == null || - payment.insuranceCoverage?.isVerified === false) - ); + payment.insuranceCoverage?.isVerified === false); // prettier-ignore { @@ -592,7 +591,10 @@ export default { }); } let price = 0; - if (tier.additionalButtonData?.servicePackageDiscount && this.isServicePackageDiscountOnOrder) { + if ( + tier.additionalButtonData?.servicePackageDiscount && + this.isServicePackageDiscountOnOrder + ) { lineItemsToPrice.push(...this.servicePackageDiscountParts); } price += baseMixin.methods.getTierOnePackagePrice( diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue index 8063d8532..5af963d06 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -447,8 +447,10 @@ export default { this.updateSupportingItems(); if (this.selectedTimeSlotInfo.timeSlot.jobMinMinutes == null) { - this.selectedTimeSlotInfo.timeSlot.jobMinMinutes = this.selectableDatesData?.estimatedServiceMinutesMinimum?.toString(); - this.selectedTimeSlotInfo.timeSlot.jobMaxMinutes = this.selectableDatesData?.estimatedServiceMinutesMaximum?.toString(); + this.selectedTimeSlotInfo.timeSlot.jobMinMinutes = + this.selectableDatesData?.estimatedServiceMinutesMinimum?.toString(); + this.selectedTimeSlotInfo.timeSlot.jobMaxMinutes = + this.selectableDatesData?.estimatedServiceMinutesMaximum?.toString(); } this.dispatchStoreAction( diff --git a/src/layouts/service-location/service-location.vue b/src/layouts/service-location/service-location.vue index 4059d8edf..0f3d45d1a 100644 --- a/src/layouts/service-location/service-location.vue +++ b/src/layouts/service-location/service-location.vue @@ -410,7 +410,7 @@ export default { console.log(new Date() + "Cash: servce-location invalid prereqs"); console.log(new Date() + "store.getters.lineItems.supportingItems:" + JSON.stringify(store.getters.lineItems.supportingItems)); console.log(new Date() + "store.getters.order.serviceLocation.zipCode:" + store.getters.order.serviceLocation.zipCode); - } + } return false; } } diff --git a/src/router/index.js b/src/router/index.js index 40e6fdbb1..9fac41bb0 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -361,8 +361,8 @@ router.navigateWithSaving = ( navigate(scenario, currentRoute, true, optionalQuery, optionalParams, optionalPageData); }; -router.navigateToExternalUrl = (url, optionalQuery = {}, callBackMethod = null) => { - navigateToUrl(url, optionalQuery, callBackMethod); +router.navigateToExternalUrl = (url, optionalQuery = {}) => { + navigateToUrl(url, optionalQuery); }; router.navigateError = () => { @@ -493,16 +493,13 @@ function getNavigationMap(scenario, currentRoute) { //---------------------------------------------------------- Private Functions ---------------------------------------------------------- // Navigate to an external url. -function navigateToUrl(url, optionalQuery = {}, callBackMethod = null) { +function navigateToUrl(url, optionalQuery = {}) { // possibly show some loading screen in the future here. var externalUrl = new URL(url); for (const queryKey in optionalQuery) { externalUrl.searchParams.append(queryKey, optionalQuery[queryKey]); } - //cleanup method before navigate to external - callBackMethod?.(); - showFmgLoadingModal(true); window.location.assign(externalUrl); } diff --git a/src/styles/common-typography-styles.scss b/src/styles/common-typography-styles.scss index d3ad60708..6a9c4f893 100644 --- a/src/styles/common-typography-styles.scss +++ b/src/styles/common-typography-styles.scss @@ -79,50 +79,55 @@ caption, // Averta Fonts @font-face { - font-family: 'AvertaBold'; - src: url('@/assets/fonts/averta-bold-webfont.woff2') format('woff2'), - url('@/assets/fonts/averta-bold-webfont.woff') format('woff'); + font-family: "AvertaBold"; + src: + url("@/assets/fonts/averta-bold-webfont.woff2") format("woff2"), + url("@/assets/fonts/averta-bold-webfont.woff") format("woff"); font-weight: normal; font-style: normal; } @font-face { - font-family: 'AvertaBold_Italic'; - src: url('@/assets/fonts/averta-bolditalic-webfont.woff2') format('woff2'), - url('@/assets/fonts/averta-bolditalic-webfont.woff') format('woff'); + font-family: "AvertaBold_Italic"; + src: + url("@/assets/fonts/averta-bolditalic-webfont.woff2") format("woff2"), + url("@/assets/fonts/averta-bolditalic-webfont.woff") format("woff"); font-weight: normal; font-style: normal; } @font-face { - font-family: 'AvertaExtraBold'; - src: url('@/assets/fonts/averta-extrabold-webfont.woff2') format('woff2'), - url('@/assets/fonts/averta-extrabold-webfont.woff') format('woff'); + font-family: "AvertaExtraBold"; + src: + url("@/assets/fonts/averta-extrabold-webfont.woff2") format("woff2"), + url("@/assets/fonts/averta-extrabold-webfont.woff") format("woff"); font-weight: normal; font-style: normal; } @font-face { - font-family: 'AvertaRegular'; - src: url('@/assets/fonts/averta-regular-webfont.woff2') format('woff2'), - url('@/assets/fonts/averta-regular-webfont.woff') format('woff'); + font-family: "AvertaRegular"; + src: + url("@/assets/fonts/averta-regular-webfont.woff2") format("woff2"), + url("@/assets/fonts/averta-regular-webfont.woff") format("woff"); font-weight: normal; font-style: normal; } @font-face { - font-family: 'AvertaRegular_Italic'; - src: url('@/assets/fonts/averta-regularitalic-webfont.woff2') format('woff2'), - url('@/assets/fonts/averta-regularitalic-webfont.woff') format('woff'); + font-family: "AvertaRegular_Italic"; + src: + url("@/assets/fonts/averta-regularitalic-webfont.woff2") format("woff2"), + url("@/assets/fonts/averta-regularitalic-webfont.woff") format("woff"); font-weight: normal; font-style: normal; } @font-face { - font-family: 'AvertaSemibold'; - src: url('@/assets/fonts/averta-semibold-webfont.woff2') format('woff2'), - url('@/assets/fonts/averta-semibold-webfont.woff') format('woff'); + font-family: "AvertaSemibold"; + src: + url("@/assets/fonts/averta-semibold-webfont.woff2") format("woff2"), + url("@/assets/fonts/averta-semibold-webfont.woff") format("woff"); font-weight: normal; font-style: normal; - -} \ No newline at end of file +}