Cleanup Before Navigate to External
This commit is contained in:
hiteshkumar87 2024-11-12 21:20:40 +05:30
parent e63697762b
commit 9065676535
3 changed files with 20 additions and 13 deletions

View file

@ -109,7 +109,7 @@ export async function getImplicitNavigation(toRoute) {
export async function navigateToHeritageFunnel({ export async function navigateToHeritageFunnel({
shouldSaveSession, shouldSaveSession,
pageNameToLog, pageNameToLog,
cleanupBeforeNavigateExternalMethod = null, callBackMethod = null,
}) { }) {
const log = getQuerystringParameter(queryStrings.LOG); const log = getQuerystringParameter(queryStrings.LOG);
if (eval(log)) { if (eval(log)) {
@ -147,10 +147,7 @@ export async function navigateToHeritageFunnel({
) { ) {
heritageParms["forceEndToEndInsurance"] = true; heritageParms["forceEndToEndInsurance"] = true;
} }
//Cleanup Before Navigate to External router.navigateToExternalUrl(applicationConfig.HERITAGE_FUNNEL, heritageParms, callBackMethod);
cleanupBeforeNavigateExternalMethod?.();
router.navigateToExternalUrl(applicationConfig.HERITAGE_FUNNEL, heritageParms);
} }
export async function skipVinLookup() { export async function skipVinLookup() {

View file

@ -1,5 +1,10 @@
<template> <template>
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }"> <Form
@submit="onSubmit"
@invalid-submit="onInvalidSubmit"
ref="theForm"
v-slot="{ meta }"
id="insurance-company">
<loadingModal ref="loadingModal" /> <loadingModal ref="loadingModal" />
<div class="container-fluid page-container-grouped-styles"> <div class="container-fluid page-container-grouped-styles">
<div class="row justify-content-center"> <div class="row justify-content-center">
@ -81,6 +86,7 @@ export default {
} }
}); });
}, },
data() { data() {
return { return {
parentAccountNumber: this.parentAccountNumberFromStore(), parentAccountNumber: this.parentAccountNumberFromStore(),
@ -138,12 +144,13 @@ export default {
navigateToHeritageFunnel({ navigateToHeritageFunnel({
shouldSaveSession: true, shouldSaveSession: true,
pageNameToLog: "insurance-company", pageNameToLog: "insurance-company",
cleanupBeforeNavigateExternalMethod: this.reloadPage, callBackMethod: this.unloadPage,
}); });
}, },
reloadPage(){ unloadPage() {
window.location.reload(); const insuranceCompanyPage = document.getElementById("insurance-company");
} insuranceCompanyPage.parentElement.removeChild(insuranceCompanyPage);
},
}, },
components: { components: {
funnelHeader, funnelHeader,

View file

@ -359,8 +359,8 @@ router.navigateWithSaving = (
navigate(scenario, currentRoute, true, optionalQuery, optionalParams, optionalPageData); navigate(scenario, currentRoute, true, optionalQuery, optionalParams, optionalPageData);
}; };
router.navigateToExternalUrl = (url, optionalQuery = {}) => { router.navigateToExternalUrl = (url, optionalQuery = {}, callBackMethod = null) => {
navigateToUrl(url, optionalQuery); navigateToUrl(url, optionalQuery, callBackMethod);
}; };
router.navigateError = () => { router.navigateError = () => {
@ -491,13 +491,16 @@ function getNavigationMap(scenario, currentRoute) {
//---------------------------------------------------------- Private Functions ---------------------------------------------------------- //---------------------------------------------------------- Private Functions ----------------------------------------------------------
// Navigate to an external url. // Navigate to an external url.
function navigateToUrl(url, optionalQuery = {}) { function navigateToUrl(url, optionalQuery = {}, callBackMethod = null) {
// possibly show some loading screen in the future here. // possibly show some loading screen in the future here.
var externalUrl = new URL(url); var externalUrl = new URL(url);
for (const queryKey in optionalQuery) { for (const queryKey in optionalQuery) {
externalUrl.searchParams.append(queryKey, optionalQuery[queryKey]); externalUrl.searchParams.append(queryKey, optionalQuery[queryKey]);
} }
//cleanup method before navigate to external
callBackMethod?.();
showFmgLoadingModal(true);
window.location.assign(externalUrl); window.location.assign(externalUrl);
} }