Merge branch 'develop' into feature/jnou/INSR-6847
This commit is contained in:
commit
8a58d2bc8b
11 changed files with 152 additions and 11 deletions
|
|
@ -11,7 +11,7 @@ export function isRecalPartOrHasChildRecalPart(glassPart) {
|
||||||
const isGlassPartRecalPart = isRecalPart(glassPart);
|
const isGlassPartRecalPart = isRecalPart(glassPart);
|
||||||
|
|
||||||
if (!isGlassPartRecalPart && glassPart.childParts && glassPart.childParts.length > 0) {
|
if (!isGlassPartRecalPart && glassPart.childParts && glassPart.childParts.length > 0) {
|
||||||
return glassPart.childParts.filter((cp) => isRecalPartOrHasChildRecalPart(cp));
|
return glassPart.childParts.some((cp) => isRecalPartOrHasChildRecalPart(cp));
|
||||||
}
|
}
|
||||||
|
|
||||||
return isGlassPartRecalPart;
|
return isGlassPartRecalPart;
|
||||||
|
|
@ -52,3 +52,24 @@ export function getRecalPartNumbers(glassPartsArray) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function containsRecalParts(lineItems) {
|
||||||
|
if (!lineItems) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Array.isArray(lineItems)) {
|
||||||
|
return lineItems.some((li) => isRecalPartOrHasChildRecalPart(li));
|
||||||
|
} else {
|
||||||
|
// complex object form -- flatten and re-call.
|
||||||
|
const flattened = [
|
||||||
|
...(lineItems.glassParts ?? []),
|
||||||
|
...(lineItems.supportingItems ?? []),
|
||||||
|
...(lineItems.otherParts ?? []),
|
||||||
|
...(lineItems.feeItems ?? []),
|
||||||
|
...(lineItems.vaps ?? []),
|
||||||
|
];
|
||||||
|
|
||||||
|
return flattened.some((li) => isRecalPartOrHasChildRecalPart(li));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,12 @@ jest.mock('@/helpers/text-helper', () => ({
|
||||||
formatAmountInDollars: jest.fn()
|
formatAmountInDollars: jest.fn()
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
jest.mock('@/helpers/recal-helper.js', () => ({
|
||||||
|
containsRecalParts: jest.fn()
|
||||||
|
}));
|
||||||
|
|
||||||
|
import { containsRecalParts } from '@/helpers/recal-helper.js';
|
||||||
|
|
||||||
const SAFELITE_PROVIDER = 'Safelite';
|
const SAFELITE_PROVIDER = 'Safelite';
|
||||||
const CANCEL_CLAIM_REF_NAME = 'CancelClaimModal';
|
const CANCEL_CLAIM_REF_NAME = 'CancelClaimModal';
|
||||||
|
|
||||||
|
|
@ -337,15 +343,17 @@ describe('coverageStatement.vue', () => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(result).toBeFalsy();
|
expect(result).toBeFalsy();
|
||||||
});
|
});
|
||||||
test('returns true when a part in glassParts require recalibration', () => {
|
test('returns true when a part in glassParts require recalibration and recalibration has been added to order', () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
|
containsRecalParts.mockReturnValue(true);
|
||||||
const mainInitialState = {
|
const mainInitialState = {
|
||||||
order: {
|
order: {
|
||||||
lineItems: {
|
lineItems: {
|
||||||
glassParts: [
|
glassParts: [
|
||||||
{
|
{
|
||||||
partNumber: 123,
|
partNumber: 123,
|
||||||
requiresRecalibration: true
|
requiresRecalibration: true,
|
||||||
|
partType: 'RECALIBRATION'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
partNumber: 111,
|
partNumber: 111,
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,7 @@ import { getPriceOfLineItems } from '@/helpers/price-calculator';
|
||||||
import coverageStatuses from '@/constants/coverage-statuses';
|
import coverageStatuses from '@/constants/coverage-statuses';
|
||||||
import coverageType from '@/constants/coverage-type';
|
import coverageType from '@/constants/coverage-type';
|
||||||
import oemEndorsementModal from '@/layouts/coverage-statement/oem-endorsement-modal/oem-endorsement-modal.vue';
|
import oemEndorsementModal from '@/layouts/coverage-statement/oem-endorsement-modal/oem-endorsement-modal.vue';
|
||||||
|
import { containsRecalParts } from '@/helpers/recal-helper';
|
||||||
|
|
||||||
const RECAL_MODAL_REF_NAME = 'RecalModal';
|
const RECAL_MODAL_REF_NAME = 'RecalModal';
|
||||||
const CANCEL_CLAIM_REF_NAME = 'CancelClaimModal';
|
const CANCEL_CLAIM_REF_NAME = 'CancelClaimModal';
|
||||||
|
|
@ -305,9 +306,11 @@ export default {
|
||||||
},
|
},
|
||||||
isADAS() {
|
isADAS() {
|
||||||
const { glassParts } = useMainStore().order.lineItems;
|
const { glassParts } = useMainStore().order.lineItems;
|
||||||
|
const orderContainsRecalPart = containsRecalParts(glassParts);
|
||||||
return (
|
return (
|
||||||
glassParts !== null
|
glassParts !== null
|
||||||
&& !!glassParts.find((part) => part.requiresRecalibration)
|
&& !!glassParts.find((part) => part.requiresRecalibration)
|
||||||
|
&& orderContainsRecalPart
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
totalServicePrice() {
|
totalServicePrice() {
|
||||||
|
|
@ -410,7 +413,8 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async navigateForward() {
|
async navigateForward() {
|
||||||
if (this.isUnverifiedVisible || this.isDeductibleVisible) {
|
showIssLoadingModal(true);
|
||||||
|
if (this.isUnverifiedVisible || this.isDeductibleVisible) {
|
||||||
this.navigateWithScenario(navigationScenarios.CLICKED_FORWARD);
|
this.navigateWithScenario(navigationScenarios.CLICKED_FORWARD);
|
||||||
} else if (this.isITACQuoteVisible || this.isNoCompQuoteVisible) {
|
} else if (this.isITACQuoteVisible || this.isNoCompQuoteVisible) {
|
||||||
this.mainStore.updateIsSafeliteProvider(true);
|
this.mainStore.updateIsSafeliteProvider(true);
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
ref="theForm"
|
ref="theForm"
|
||||||
v-slot="{ meta }"
|
v-slot="{ meta }"
|
||||||
@submit="onSubmit"
|
@submit="onSubmit"
|
||||||
@invalidSubmit="onInvalidSubmit">
|
@invalidSubmit="customInvalidSubmit">
|
||||||
<div class="fade-on-route-transition">
|
<div class="fade-on-route-transition">
|
||||||
<div class="justify-content-center">
|
<div class="justify-content-center">
|
||||||
<siteHeader cmsWidgetName="SiteHeaderWidget" />
|
<siteHeader cmsWidgetName="SiteHeaderWidget" />
|
||||||
|
|
@ -251,12 +251,15 @@ export default {
|
||||||
if (vinLookupResponse.error) {
|
if (vinLookupResponse.error) {
|
||||||
this.displayVinNotFoundAlert = true;
|
this.displayVinNotFoundAlert = true;
|
||||||
this.previouslyEnteredCarId = null;
|
this.previouslyEnteredCarId = null;
|
||||||
|
this.pushEventToGA("VehicleDamage", "LicensePlate_NoMatch", "Trouble_Finding", true, null, '0');
|
||||||
showIssLoadingModal(false);
|
showIssLoadingModal(false);
|
||||||
return this.$refs.siteFooter.disableForwardButton();
|
return this.$refs.siteFooter.disableForwardButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vehicle found from VIN lookup
|
// Vehicle found from VIN lookup
|
||||||
const vehicleFromLookup = vinLookupResponse.data.vehicle;
|
const vehicleFromLookup = vinLookupResponse.data.vehicle;
|
||||||
|
const vehicleString = vehicleFromLookup.year + '_' + vehicleFromLookup.make + '_' + vehicleFromLookup.model + '_' + vehicleFromLookup.style;
|
||||||
|
this.pushEventToGA("VehicleDamage", "LicensePlate_Vin_Match", vehicleString, true, null, '1');
|
||||||
if (!vehicleFromLookup.canSafeliteService) {
|
if (!vehicleFromLookup.canSafeliteService) {
|
||||||
this.mainStore.setBailout({
|
this.mainStore.setBailout({
|
||||||
type: 'HeavyTruckVehicle',
|
type: 'HeavyTruckVehicle',
|
||||||
|
|
@ -321,6 +324,12 @@ export default {
|
||||||
resetWarningsAndErrors() {
|
resetWarningsAndErrors() {
|
||||||
this.displayVinNotFoundAlert = false;
|
this.displayVinNotFoundAlert = false;
|
||||||
this.displayMatchedDifferentVehicleAlert = false;
|
this.displayMatchedDifferentVehicleAlert = false;
|
||||||
|
},
|
||||||
|
customInvalidSubmit({ errors }) {
|
||||||
|
if (errors['license-plate-question']) {
|
||||||
|
this.pushEventToGA("VehicleDamage", "LicensePlate_NoMatch", "Plate_Required", true, null, '0');
|
||||||
|
}
|
||||||
|
this.onInvalidSubmit({ errors });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import partTypeStrings from '@/constants/part-type-strings';
|
||||||
import { useMainStore } from '@/store';
|
import { useMainStore } from '@/store';
|
||||||
import { getPriceOfLineItem } from '@/helpers/price-calculator';
|
import { getPriceOfLineItem } from '@/helpers/price-calculator';
|
||||||
import { shallowRef } from 'vue';
|
import { shallowRef } from 'vue';
|
||||||
|
import { containsRecalParts } from '@/helpers/recal-helper';
|
||||||
|
|
||||||
const glassLocations = damageLocationsSelected;
|
const glassLocations = damageLocationsSelected;
|
||||||
|
|
||||||
|
|
@ -100,7 +101,7 @@ export default {
|
||||||
return modifiedAnswers;
|
return modifiedAnswers;
|
||||||
},
|
},
|
||||||
isRecalibrationOnOrder() {
|
isRecalibrationOnOrder() {
|
||||||
return this.mainStore.hasRecalibrationPart;
|
return this.mainStore.hasRecalibrationPart && containsRecalParts(this.mainStore.order.lineItems);
|
||||||
},
|
},
|
||||||
frontWipersApplicableForTierTwo() {
|
frontWipersApplicableForTierTwo() {
|
||||||
const frontWipersAreAvailable = this.lineItemsContainsPartType(partTypeStrings.FRONT_WIPER);
|
const frontWipersAreAvailable = this.lineItemsContainsPartType(partTypeStrings.FRONT_WIPER);
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,8 @@ const mountOptions = {
|
||||||
methods: {
|
methods: {
|
||||||
getCmsContent: jest.fn(),
|
getCmsContent: jest.fn(),
|
||||||
getFooterInfoBoxHeight: jest.fn(() => 80),
|
getFooterInfoBoxHeight: jest.fn(() => 80),
|
||||||
getPageNameByQueryString: jest.fn(() => '')
|
getPageNameByQueryString: jest.fn(() => ''),
|
||||||
|
pushEventToGA: jest.fn()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -412,6 +412,8 @@ export default {
|
||||||
this.selectedWindshieldOptions.selectedWindshieldChipCount
|
this.selectedWindshieldOptions.selectedWindshieldChipCount
|
||||||
);
|
);
|
||||||
|
|
||||||
|
this.logEvents();
|
||||||
|
|
||||||
if (this.isWindshieldRepair) {
|
if (this.isWindshieldRepair) {
|
||||||
const results = await Promise.allSettled([useMainStore().getSupportingItems(), useMainStore().getRecalParts()]);
|
const results = await Promise.allSettled([useMainStore().getSupportingItems(), useMainStore().getRecalParts()]);
|
||||||
const supportingItems = results[0].value;
|
const supportingItems = results[0].value;
|
||||||
|
|
@ -481,6 +483,76 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
return selectedGlassToReplace;
|
return selectedGlassToReplace;
|
||||||
|
},
|
||||||
|
logEvents() {
|
||||||
|
const vehicleString = this.mainStore.order.vehicle.make + '_' + this.mainStore.order.vehicle.model + '_' + this.mainStore.order.vehicle.style;
|
||||||
|
this.pushEventToGA("CAR SUBMISSION", this.mainStore.order.vehicle.year?.toString(), vehicleString, true, null, 0);
|
||||||
|
|
||||||
|
if (this.isWindshieldRepair) {
|
||||||
|
this.pushEventToGA("damage", "selected", "repair", true, null, null);
|
||||||
|
this.pushEventToGA("VehicleDamage", "Repair", this.mainStore.damage.numberOfChips?.toString(), true, null, this.mainStore.damage.numberOfChips);
|
||||||
|
} else {
|
||||||
|
this.pushEventToGA("damage", "selected", "replace", true, null, null);
|
||||||
|
this.selectedGlassToReplace().forEach((glass) => {
|
||||||
|
this.logEventForPart(glass);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
logEventForPart(glass) {
|
||||||
|
let eventGlassLocation = '';
|
||||||
|
let eventGlassName = '';
|
||||||
|
switch (glass.glassLocation) {
|
||||||
|
case damageLocationsSelected.WINDSHIELD:
|
||||||
|
eventGlassLocation = 'Windshield Replace';
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.DRIVER:
|
||||||
|
eventGlassLocation = "Driver's Side";
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.PASSENGER:
|
||||||
|
eventGlassLocation = "Passenger's Side";
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.REAR:
|
||||||
|
eventGlassLocation = 'Back Glass';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
eventGlassLocation = glass.glassLocation;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (glass.glassName) {
|
||||||
|
// Windshield options
|
||||||
|
case damageLocationsSelected.DRIVER:
|
||||||
|
eventGlassName = "Left piece";
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.PASSENGER:
|
||||||
|
eventGlassName = "Right piece";
|
||||||
|
break;
|
||||||
|
// Bottom two cases here are for rear options, but they are handled the same as single windshield
|
||||||
|
case damageLocationsSelected.SINGLE:
|
||||||
|
case damageLocationsSelected.STATIONARY:
|
||||||
|
case damageLocationsSelected.SLIDER:
|
||||||
|
eventGlassName = '';
|
||||||
|
break;
|
||||||
|
// Side door options
|
||||||
|
case damageLocationsSelected.FRONT:
|
||||||
|
eventGlassName = "Front door";
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.BACK:
|
||||||
|
eventGlassName = "Rear door";
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.QUARTER:
|
||||||
|
eventGlassName = "Quarter";
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.VENT:
|
||||||
|
eventGlassName = "Vent";
|
||||||
|
break;
|
||||||
|
case damageLocationsSelected.SIDEDOOR:
|
||||||
|
eventGlassName = "Sliding door";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
eventGlassName = glass.glassName;
|
||||||
|
}
|
||||||
|
const label = eventGlassName ? `${eventGlassLocation} - ${eventGlassName}` : eventGlassLocation;
|
||||||
|
this.pushEventToGA("VehicleDamage", "Replacement", label, true, null, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ export default {
|
||||||
isVinLocationDetailVisible: false
|
isVinLocationDetailVisible: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
emits: ['vin-location-detail-shown'],
|
||||||
computed: {
|
computed: {
|
||||||
textForToggle() {
|
textForToggle() {
|
||||||
return this.getCmsContent('WhereCanIFindMyVINToggle', 'HeaderText');
|
return this.getCmsContent('WhereCanIFindMyVINToggle', 'HeaderText');
|
||||||
|
|
@ -52,6 +53,9 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
handleClickToggle() {
|
handleClickToggle() {
|
||||||
this.isVinLocationDetailVisible = !this.isVinLocationDetailVisible;
|
this.isVinLocationDetailVisible = !this.isVinLocationDetailVisible;
|
||||||
|
if (this.isVinLocationDetailVisible) {
|
||||||
|
this.$emit('vin-location-detail-shown');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -16,11 +16,12 @@
|
||||||
class="mt-4" />
|
class="mt-4" />
|
||||||
<vinQuestion
|
<vinQuestion
|
||||||
v-model="vin"
|
v-model="vin"
|
||||||
|
ref="vin-question"
|
||||||
class="mt-4"
|
class="mt-4"
|
||||||
:mask="vinMask"
|
:mask="vinMask"
|
||||||
:isDisabled="vinPopulatedOnPageLoad"
|
:isDisabled="vinPopulatedOnPageLoad"
|
||||||
textPosition="left" />
|
textPosition="left" />
|
||||||
<vinLocationInformation />
|
<vinLocationInformation @vin-location-detail-shown="handleVinLocationDetailShown" />
|
||||||
<vinLookupAlerts
|
<vinLookupAlerts
|
||||||
:activeAlertType="activeVehicleLookupAlertType" />
|
:activeAlertType="activeVehicleLookupAlertType" />
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
|
@ -178,6 +179,7 @@ export default {
|
||||||
if (this.needToLookupVehicle) {
|
if (this.needToLookupVehicle) {
|
||||||
try {
|
try {
|
||||||
const vehicleLookupResponse = await this.lookupVehicleByVin(this.vin);
|
const vehicleLookupResponse = await this.lookupVehicleByVin(this.vin);
|
||||||
|
this.pushEventToGA("VIN", "TEXT", "SUCCESS", true, null, '1');
|
||||||
|
|
||||||
if (!vehicleLookupResponse.data.canSafeliteService) {
|
if (!vehicleLookupResponse.data.canSafeliteService) {
|
||||||
this.mainStore.setBailout(bailoutMessage.HeavyTruckVehicle(vehicleLookupResponse.data.carId));
|
this.mainStore.setBailout(bailoutMessage.HeavyTruckVehicle(vehicleLookupResponse.data.carId));
|
||||||
|
|
@ -201,6 +203,7 @@ export default {
|
||||||
// because the form itself actually passes its client-side validation.
|
// because the form itself actually passes its client-side validation.
|
||||||
// SSR-189 Scenario #4.
|
// SSR-189 Scenario #4.
|
||||||
this.$refs.siteFooter.enableForwardAction();
|
this.$refs.siteFooter.enableForwardAction();
|
||||||
|
this.pushEventToGA("VIN", "TEXT", "NO VEHICLE FOUND", true, null, '0');
|
||||||
showIssLoadingModal(false);
|
showIssLoadingModal(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -270,12 +273,26 @@ export default {
|
||||||
async lookupVehicleByVin(vin) {
|
async lookupVehicleByVin(vin) {
|
||||||
return this.mainStore.lookupVehicleByVin(vin);
|
return this.mainStore.lookupVehicleByVin(vin);
|
||||||
},
|
},
|
||||||
|
handleVinLocationDetailShown() {
|
||||||
|
if (!this.vin) {
|
||||||
|
this.pushEventToGA("VehicleDamage", "Where_Is_VIN", "VIN_Empty", true);
|
||||||
|
}
|
||||||
|
else if (this.checkVinForErrors()) {
|
||||||
|
this.pushEventToGA("VehicleDamage", "Where_Is_VIN", "VIN_Error", true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.pushEventToGA("VehicleDamage", "Where_Is_VIN", "VIN_Field_Active", true);
|
||||||
|
}
|
||||||
|
},
|
||||||
resetActiveAlert() {
|
resetActiveAlert() {
|
||||||
this.activeVehicleLookupAlertType = null;
|
this.activeVehicleLookupAlertType = null;
|
||||||
},
|
},
|
||||||
resetVehicleFromLookup() {
|
resetVehicleFromLookup() {
|
||||||
this.vehicleFromLookup = null;
|
this.vehicleFromLookup = null;
|
||||||
},
|
},
|
||||||
|
checkVinForErrors() {
|
||||||
|
return this.$refs['vin-question'].hasErrors;
|
||||||
|
},
|
||||||
resetDependentState() {}
|
resetDependentState() {}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<textboxQuestion
|
<textboxQuestion
|
||||||
id="vin-question-wrapper"
|
id="vin-question-wrapper"
|
||||||
|
ref="vin-question-wrapper"
|
||||||
v-model="vin"
|
v-model="vin"
|
||||||
cmsWidgetName="VinNumberQuestionWidget"
|
cmsWidgetName="VinNumberQuestionWidget"
|
||||||
disableAutoFill
|
disableAutoFill
|
||||||
|
|
@ -38,6 +39,9 @@ export default {
|
||||||
set(newValue) {
|
set(newValue) {
|
||||||
this.$emit('update:modelValue', newValue);
|
this.$emit('update:modelValue', newValue);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
hasErrors() {
|
||||||
|
return this.$refs['vin-question-wrapper']?.meta?.valid === false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ export default {
|
||||||
store.logCustomEvent(payload);
|
store.logCustomEvent(payload);
|
||||||
},
|
},
|
||||||
|
|
||||||
pushEventToGA(category, action, label, pushToLogApp = false, valueToLogType = null) {
|
pushEventToGA(category, action, label, pushToLogApp = false, valueToLogType = null, value = undefined) {
|
||||||
const currentPageName = this.getPageNameByQueryString();
|
const currentPageName = this.getPageNameByQueryString();
|
||||||
const labelToLog = getValueToLog(label, valueToLogType);
|
const labelToLog = getValueToLog(label, valueToLogType);
|
||||||
|
|
||||||
|
|
@ -101,14 +101,14 @@ export default {
|
||||||
category,
|
category,
|
||||||
action,
|
action,
|
||||||
label: labelToLog,
|
label: labelToLog,
|
||||||
value: undefined,
|
value: value,
|
||||||
path: `/iss/?${queryStrings.ISS_PAGE}=${currentPageName}`
|
path: `/iss/?${queryStrings.ISS_PAGE}=${currentPageName}`
|
||||||
};
|
};
|
||||||
|
|
||||||
pushToDataLayerIfDefined(eventToBePushed);
|
pushToDataLayerIfDefined(eventToBePushed);
|
||||||
|
|
||||||
if (pushToLogApp) {
|
if (pushToLogApp) {
|
||||||
this.logCustomEvent(category, action, labelToLog, undefined);
|
this.logCustomEvent(category, action, labelToLog, value);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue