Updates.
This commit is contained in:
parent
6dd7c8a9a2
commit
4783b86558
2 changed files with 56 additions and 4 deletions
|
|
@ -5,6 +5,13 @@ import { routingTable } from "@/router/router-constants/routing-table";
|
||||||
import { useMainStore } from '@/store';
|
import { useMainStore } from '@/store';
|
||||||
import eventBus from "@/helpers/event-bus/event-bus";
|
import eventBus from "@/helpers/event-bus/event-bus";
|
||||||
import { globalEvents, globalEventTypes } from "@/constants/events";
|
import { globalEvents, globalEventTypes } from "@/constants/events";
|
||||||
|
import {
|
||||||
|
getDeviceIdValue,
|
||||||
|
updateOrCreateISSCookie,
|
||||||
|
updateSessionIdCookie,
|
||||||
|
} from "@/helpers/cookie-helper";
|
||||||
|
import { experimentTriggers } from "@/constants/experiments";
|
||||||
|
import { applicationConfig } from "@/constants/application-config";
|
||||||
|
|
||||||
import analyticsMixin from "@/mixins/analytics-mixin";
|
import analyticsMixin from "@/mixins/analytics-mixin";
|
||||||
|
|
||||||
|
|
@ -13,8 +20,19 @@ const routes = [
|
||||||
path: '/',
|
path: '/',
|
||||||
name: 'root',
|
name: 'root',
|
||||||
async beforeEnter(to, from, next) {
|
async beforeEnter(to, from, next) {
|
||||||
try {
|
try {
|
||||||
to.query.issPage = !to.query.issPage ? issPageValues.VEHICLE_YEAR : to.query.issPage;
|
to.query.issPage = !to.query.issPage ? issPageValues.VEHICLE_YEAR : to.query.issPage;
|
||||||
|
|
||||||
|
if (analyticsMixin.methods.noSession()) {
|
||||||
|
await analyticsMixin.methods.initSession();
|
||||||
|
} else {
|
||||||
|
updateSessionIdCookie();
|
||||||
|
}
|
||||||
|
|
||||||
|
await runExperiments(to.query.issPage);
|
||||||
|
|
||||||
|
// Process ISS cookie.
|
||||||
|
updateOrCreateISSCookie();
|
||||||
|
|
||||||
if (router.hasRoute(to.query.issPage)) {
|
if (router.hasRoute(to.query.issPage)) {
|
||||||
return next({ name: to.query.issPage, query: to.query, params: to.params });
|
return next({ name: to.query.issPage, query: to.query, params: to.params });
|
||||||
|
|
@ -184,4 +202,23 @@ function GoToStartOn404(next) {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Run SiteEntry and PageEntry triggers for experiments
|
||||||
|
async function runExperiments(nextPage) {
|
||||||
|
const store = useMainStore();
|
||||||
|
|
||||||
|
if (!store.applicationUser.triggeredSiteEntry) {
|
||||||
|
await store.runExperimentsForTrigger({
|
||||||
|
userId: getDeviceIdValue(),
|
||||||
|
triggerEvent: experimentTriggers.SITE_ENTRY,
|
||||||
|
triggerValue: applicationConfig.SITE_ENTRY_TRIGGER_VALUE,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
await store.runExperimentsForTrigger({
|
||||||
|
userId: getDeviceIdValue(),
|
||||||
|
triggerEvent: experimentTriggers.PAGE_ENTRY,
|
||||||
|
triggerValue: nextPage,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|
@ -2,6 +2,7 @@ import { defineStore } from "pinia";
|
||||||
import { endpoints } from "@/constants/endpoints.js";
|
import { endpoints } from "@/constants/endpoints.js";
|
||||||
import { getDateForSavedSessionTimeout } from "@/helpers/session-helper";
|
import { getDateForSavedSessionTimeout } from "@/helpers/session-helper";
|
||||||
import globalMethods from "@/global-methods";
|
import globalMethods from "@/global-methods";
|
||||||
|
import { experimentTriggers } from "@/constants/experiments";
|
||||||
import { applicationConfig } from "@/constants/application-config";
|
import { applicationConfig } from "@/constants/application-config";
|
||||||
|
|
||||||
const storeId = 'main';
|
const storeId = 'main';
|
||||||
|
|
@ -38,6 +39,15 @@ const getDefaultState = () => {
|
||||||
moldingQuestionAnswers: null,
|
moldingQuestionAnswers: null,
|
||||||
capabilityQuestionAnswers: null,
|
capabilityQuestionAnswers: null,
|
||||||
},
|
},
|
||||||
|
lineItems: {
|
||||||
|
glassParts: null,
|
||||||
|
},
|
||||||
|
serviceLocation: {
|
||||||
|
address: null,
|
||||||
|
city: null,
|
||||||
|
state: null,
|
||||||
|
zipCode: null,
|
||||||
|
},
|
||||||
referralNumber: null,
|
referralNumber: null,
|
||||||
referralDate: null,
|
referralDate: null,
|
||||||
accountNumber: 0,
|
accountNumber: 0,
|
||||||
|
|
@ -92,9 +102,10 @@ export const useMainStore = defineStore({
|
||||||
funnelServiceState: state.order.serviceLocation.state,
|
funnelServiceState: state.order.serviceLocation.state,
|
||||||
funnelServiceZipCode: state.order.serviceLocation.zipCode,
|
funnelServiceZipCode: state.order.serviceLocation.zipCode,
|
||||||
funnelParentAccountNumber: state.order.accountNumber,
|
funnelParentAccountNumber: state.order.accountNumber,
|
||||||
funnelIsCoverageVerified: state.order.payment.insuranceCoverage.isVerified,
|
//funnelIsCoverageVerified: state.order.payment.insuranceCoverage.isVerified,
|
||||||
funnelHasRecalibrationPart: getHasRecalibrationPart(state),
|
//funnelHasRecalibrationPart: getHasRecalibrationPart(state),
|
||||||
funnelSelectedMultiGlass: state.order.damage.glassToReplace?.length > 1,
|
funnelSelectedMultiGlass: state.order.damage.glassToReplace?.length > 1,
|
||||||
|
/*
|
||||||
funnelSelectedWindshieldGlass: getNonFalseValuesOfPropertyInArrayOfObjects(
|
funnelSelectedWindshieldGlass: getNonFalseValuesOfPropertyInArrayOfObjects(
|
||||||
state.order.damage.glassToReplace,
|
state.order.damage.glassToReplace,
|
||||||
"glassLocation"
|
"glassLocation"
|
||||||
|
|
@ -111,7 +122,7 @@ export const useMainStore = defineStore({
|
||||||
state.order.damage.glassToReplace,
|
state.order.damage.glassToReplace,
|
||||||
"glassLocation"
|
"glassLocation"
|
||||||
).includes(damageLocationsSelected.PASSENGER),
|
).includes(damageLocationsSelected.PASSENGER),
|
||||||
|
*/
|
||||||
funnelOrderPartNumbers: [
|
funnelOrderPartNumbers: [
|
||||||
...getNonFalseValuesOfPropertyInArrayOfObjects(
|
...getNonFalseValuesOfPropertyInArrayOfObjects(
|
||||||
state.order.lineItems.glassParts,
|
state.order.lineItems.glassParts,
|
||||||
|
|
@ -451,3 +462,7 @@ export const useMainStore = defineStore({
|
||||||
},
|
},
|
||||||
persist: true
|
persist: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function getNonFalseValuesOfPropertyInArrayOfObjects(array, propertyName) {
|
||||||
|
return (array ?? []).map((x) => x[propertyName]).filter((x) => x);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue