Merge pull request #2116 from Safelite/feature/routerLogs
conditional logging in router
This commit is contained in:
commit
579beb937a
1 changed files with 44 additions and 6 deletions
|
|
@ -50,15 +50,23 @@ const routes = [
|
||||||
async beforeEnter(to, from, next) {
|
async beforeEnter(to, from, next) {
|
||||||
// If we have no query string, or we don't have the FmgPage query string.
|
// If we have no query string, or we don't have the FmgPage query string.
|
||||||
try {
|
try {
|
||||||
|
log("------------- router index.js beforeEnter start -----------------");
|
||||||
|
log(" --to: ", JSON.stringify(to));
|
||||||
|
log(" --from: ", JSON.stringify(from));
|
||||||
|
log(" --next: ", JSON.stringify(next));
|
||||||
|
log(" --cookie: ", JSON.stringify(getFunnelCookie()));
|
||||||
|
|
||||||
await analyticsMixin.methods.validateSession();
|
await analyticsMixin.methods.validateSession();
|
||||||
|
|
||||||
if (getFunnelCookie()?.SuppressConceptFunnel) {
|
if (getFunnelCookie()?.SuppressConceptFunnel) {
|
||||||
|
log(" --go to heritage suppressConceptFunnel: ");
|
||||||
await navigateToHeritageFunnel({ shouldSaveSession: false });
|
await navigateToHeritageFunnel({ shouldSaveSession: false });
|
||||||
return next(false);
|
return next(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the saved session has timed out, clear the session, execute 404 logic.
|
// If the saved session has timed out, clear the session, execute 404 logic.
|
||||||
if (getFunnelCookie() !== null && !isSavedSessionStillActive()) {
|
if (getFunnelCookie() !== null && !isSavedSessionStillActive()) {
|
||||||
|
log(" --save session timeout go to start");
|
||||||
await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE);
|
await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE);
|
||||||
deleteFunnelCookie();
|
deleteFunnelCookie();
|
||||||
GoToFunnelStartOn404(next);
|
GoToFunnelStartOn404(next);
|
||||||
|
|
@ -68,6 +76,7 @@ const routes = [
|
||||||
if (window.sessionStorage.getItem("submittedOrder") !== null) {
|
if (window.sessionStorage.getItem("submittedOrder") !== null) {
|
||||||
if (to.query.fmgPage !== funnelStartPageName) {
|
if (to.query.fmgPage !== funnelStartPageName) {
|
||||||
to.query.fmgPage = fmgPageValues.CONFIRMATION;
|
to.query.fmgPage = fmgPageValues.CONFIRMATION;
|
||||||
|
log(" --has submittedOrder go to confirmation");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// On entering the funnel "fresh", read cookie information, decide what to do next.
|
// On entering the funnel "fresh", read cookie information, decide what to do next.
|
||||||
|
|
@ -130,12 +139,15 @@ const routes = [
|
||||||
|
|
||||||
// This logic may determine that the user should be sent to heritage -- if so, do that here.
|
// This logic may determine that the user should be sent to heritage -- if so, do that here.
|
||||||
if (pageToRedirectTo === fmgPageValues.HERITAGE) {
|
if (pageToRedirectTo === fmgPageValues.HERITAGE) {
|
||||||
|
// prettier-ignore
|
||||||
|
log(" --go to heritage pageToRedirectTo ", JSON.stringify(pageToRedirectTo));
|
||||||
await navigateToHeritageFunnel({ shouldSaveSession: false });
|
await navigateToHeritageFunnel({ shouldSaveSession: false });
|
||||||
return next(false);
|
return next(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Assign our fmgPage so it will load normally like the other pages.
|
// Assign our fmgPage so it will load normally like the other pages.
|
||||||
to.query.fmgPage = pageToRedirectTo;
|
to.query.fmgPage = pageToRedirectTo;
|
||||||
|
log(" --assign to: ", JSON.stringify(pageToRedirectTo));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -149,6 +161,7 @@ const routes = [
|
||||||
to.query.fmgPage === fmgPageValues.QUOTE ||
|
to.query.fmgPage === fmgPageValues.QUOTE ||
|
||||||
to.query.fmgPage === fmgPageValues.INSURANCE_COMPANY
|
to.query.fmgPage === fmgPageValues.INSURANCE_COMPANY
|
||||||
) {
|
) {
|
||||||
|
log(" --block quote page for integrated clients - go to heritage");
|
||||||
// Push to heritage if going to quote & integrated.
|
// Push to heritage if going to quote & integrated.
|
||||||
await navigateToHeritageFunnel({ shouldSaveSession: false });
|
await navigateToHeritageFunnel({ shouldSaveSession: false });
|
||||||
return next(false);
|
return next(false);
|
||||||
|
|
@ -183,6 +196,7 @@ const routes = [
|
||||||
GoToFunnelStartOn404(next);
|
GoToFunnelStartOn404(next);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log(" --has route:", to.query.fmgPage);
|
||||||
return next({ name: to.query.fmgPage, query: to.query, params: to.params });
|
return next({ name: to.query.fmgPage, query: to.query, params: to.params });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -210,12 +224,13 @@ const routes = [
|
||||||
.components.default();
|
.components.default();
|
||||||
|
|
||||||
if (!arePagePrerequisitesValid(nextComponent)) {
|
if (!arePagePrerequisitesValid(nextComponent)) {
|
||||||
console.log(
|
// prettier-ignore
|
||||||
"Page Prereqs not valid for next component: " + nextComponent.default.name
|
console.log("Page Prereqs not valid for next component: " + nextComponent.default.name);
|
||||||
);
|
|
||||||
GoToFunnelStartOn404(next);
|
GoToFunnelStartOn404(next);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log("------------- router index.js beforeEnter end -----------------");
|
||||||
|
|
||||||
// Assign current query string parameters, as well as our fmgPage one.
|
// Assign current query string parameters, as well as our fmgPage one.
|
||||||
next({
|
next({
|
||||||
name: routeData[0].name,
|
name: routeData[0].name,
|
||||||
|
|
@ -230,6 +245,8 @@ const routes = [
|
||||||
await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE);
|
await baseMixin.methods.dispatchStoreAction(storeActions.RESET_STATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(new Date() + " Exception in beforeEnter:" + JSON.stringify(error));
|
||||||
|
|
||||||
// If we don't have a route, go to our 404 page.
|
// If we don't have a route, go to our 404 page.
|
||||||
GoToFunnelStartOn404(next);
|
GoToFunnelStartOn404(next);
|
||||||
}
|
}
|
||||||
|
|
@ -441,7 +458,16 @@ async function navigate(
|
||||||
const zip = getQuerystringParameter(queryStrings.ZIP_CODE);
|
const zip = getQuerystringParameter(queryStrings.ZIP_CODE);
|
||||||
const promo = getQuerystringParameter(queryStrings.PROMO);
|
const promo = getQuerystringParameter(queryStrings.PROMO);
|
||||||
const pageError = getQuerystringParameter(queryStrings.PAGE_ERROR);
|
const pageError = getQuerystringParameter(queryStrings.PAGE_ERROR);
|
||||||
const log = getQuerystringParameter(queryStrings.LOG);
|
const logQs = getQuerystringParameter(queryStrings.LOG);
|
||||||
|
|
||||||
|
log("------------- router index.js navigate start -----------------");
|
||||||
|
log(" --scenario: ", scenario);
|
||||||
|
log(" --currentRoute: ", JSON.stringify(currentRoute));
|
||||||
|
log(" --isSavingNavigation: ", isSavingNavigation);
|
||||||
|
log(" --optionalQuery: ", JSON.stringify(optionalQuery));
|
||||||
|
log(" --optionalParams: ", JSON.stringify(optionalParams));
|
||||||
|
log(" --optionalPageData: ", JSON.stringify(optionalPageData));
|
||||||
|
log(" --nextPageName: ", nextPageName);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
hasZip &&
|
hasZip &&
|
||||||
|
|
@ -461,10 +487,13 @@ async function navigate(
|
||||||
queryStringsObject[queryStrings.PAGE_ERROR] = pageError;
|
queryStringsObject[queryStrings.PAGE_ERROR] = pageError;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (log) {
|
if (logQs) {
|
||||||
queryStringsObject[queryStrings.LOG] = log;
|
queryStringsObject[queryStrings.LOG] = logQs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log(" querystrings: ", JSON.stringify(queryStringsObject));
|
||||||
|
log("------------- router index.js navigate end -----------------");
|
||||||
|
|
||||||
router.push({
|
router.push({
|
||||||
name: "root",
|
name: "root",
|
||||||
query: Object.assign(optionalQuery, queryStringsObject),
|
query: Object.assign(optionalQuery, queryStringsObject),
|
||||||
|
|
@ -490,6 +519,15 @@ function getNavigationMap(scenario, currentRoute) {
|
||||||
return matchedQueryValue[0];
|
return matchedQueryValue[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function log(message, data) {
|
||||||
|
const log = getQuerystringParameter(queryStrings.LOG);
|
||||||
|
data = data ?? "";
|
||||||
|
|
||||||
|
if (eval(log)) {
|
||||||
|
console.log(new Date() + message + data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------- Private Functions ----------------------------------------------------------
|
//---------------------------------------------------------- Private Functions ----------------------------------------------------------
|
||||||
|
|
||||||
// Navigate to an external url.
|
// Navigate to an external url.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue