Merge branch 'release/2024.11.21' into rlsmerge/2024.11.21-to-develop
This commit is contained in:
commit
b4e1572202
20 changed files with 53 additions and 323 deletions
|
|
@ -96,7 +96,7 @@
|
|||
</span>
|
||||
<span
|
||||
v-if="
|
||||
!showCoverageAsVerified ||
|
||||
!showCoverageAsVerified || cartItem.name === 'Recycling' ||
|
||||
(showCoverageAsVerified && !cartItem.isCoveredByInsurance)
|
||||
"
|
||||
>{{
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@
|
|||
<div class="modal-body d-flex flex-column">
|
||||
<textLink
|
||||
linkType="newWindowLink"
|
||||
text="Terms of use"
|
||||
href="//www.safelite.com/terms-of-use"
|
||||
text="Terms of service"
|
||||
href="//www.safelite.com/terms-of-service"
|
||||
target="_blank" />
|
||||
<textLink
|
||||
linkType="newWindowLink"
|
||||
|
|
|
|||
|
|
@ -8,11 +8,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner
|
||||
cmsWidgetName="VehicleBannerWidget"
|
||||
:displayGenericVehicleImage="false" />
|
||||
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -56,7 +52,6 @@
|
|||
<script>
|
||||
// Components
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import alert from "@/ux-components/alert/alert";
|
||||
import questionChain from "@/digital-components/question-chain/question-chain";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
|
|
@ -99,7 +94,6 @@ export default {
|
|||
},
|
||||
components: {
|
||||
funnelHeader,
|
||||
vehicleBanner,
|
||||
alert,
|
||||
questionChain,
|
||||
funnelSubHeader,
|
||||
|
|
|
|||
|
|
@ -1,134 +0,0 @@
|
|||
import { shallowMount } from "@vue/test-utils";
|
||||
import vehicleBanner from "./vehicle-banner";
|
||||
import { getMountOptions } from "@/helpers/unit-test-helper.js";
|
||||
import store from "@/store";
|
||||
import { vehicleCategories } from "@/constants/vehicle-categories.js";
|
||||
|
||||
jest.mock(
|
||||
"@/store",
|
||||
() => {
|
||||
return {};
|
||||
},
|
||||
{ virtual: true }
|
||||
);
|
||||
|
||||
describe("vehicleBanner", () => {
|
||||
test("renders the blurrycar image", async () => {
|
||||
// Arrange
|
||||
const { wrapper } = setupMocks({
|
||||
displayGenericVehicleImageProp: true,
|
||||
imageUrlValue: "NULL",
|
||||
displayUnmatchedVehicleIconProp: true,
|
||||
});
|
||||
|
||||
// Assert
|
||||
expect(wrapper.vm.vehicleImageToDisplay).toEqual(wrapper.vm.genericVehicleImage);
|
||||
expect(wrapper.find("img").attributes("class")).toContain("vehicle-image");
|
||||
wrapper.unmount();
|
||||
});
|
||||
});
|
||||
|
||||
describe("vehicleBanner", () => {
|
||||
test("renders expected vehicle image", async () => {
|
||||
// Arrange
|
||||
const { wrapper } = setupMocks({
|
||||
displayGenericVehicleImageProp: false,
|
||||
imageUrlValue: "url_to_vehicle_image",
|
||||
});
|
||||
|
||||
// Assert
|
||||
expect(wrapper.vm.vehicleImageToDisplay).toEqual("url_to_vehicle_image");
|
||||
expect(wrapper.find("img").attributes("class")).toContain("vehicle-image");
|
||||
wrapper.unmount();
|
||||
});
|
||||
});
|
||||
|
||||
describe("vehicleBanner", () => {
|
||||
test("should render car icon when imageUrl is null and category is default", async () => {
|
||||
// Arrange
|
||||
const { wrapper } = setupMocks({
|
||||
displayGenericVehicleImageProp: false,
|
||||
imageUrlValue: "NULL",
|
||||
});
|
||||
|
||||
var iconUrl = wrapper.vm.vehicleImageToDisplay;
|
||||
|
||||
// Assert
|
||||
expect(iconUrl).toEqual(undefined);
|
||||
wrapper.unmount();
|
||||
});
|
||||
});
|
||||
|
||||
const params = [
|
||||
["CAR", "car_icon_url"],
|
||||
["TRUCK", "truck_icon_url"],
|
||||
["VAN", "van_icon_url"],
|
||||
["COMMERCIAL VAN", "commercial_van_icon_url"],
|
||||
["SUV", "suv_icon_url"],
|
||||
["OTHER", "car_icon_url"],
|
||||
];
|
||||
|
||||
describe("vehicleBanner", () => {
|
||||
test.each(params)(
|
||||
"renders an icon instead of an image for %s and %s",
|
||||
async (category, expectedIcon) => {
|
||||
// Arrange
|
||||
const { wrapper, cmsContent } = setupMocks({
|
||||
displayGenericVehicleImageProp: false,
|
||||
imageUrlValue: expectedIcon,
|
||||
categoryValue: category,
|
||||
});
|
||||
//Act
|
||||
var vehicleIcon = wrapper.vm.getUnmatchedVehicleIcon();
|
||||
// Assert
|
||||
expect(store.getters.vehicle.category).toEqual(category);
|
||||
expect(wrapper.find("img").attributes("class")).toContain("vehicle-image");
|
||||
wrapper.unmount();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function setupMocks({
|
||||
displayGenericVehicleImageProp,
|
||||
displayUnmatchedVehicleIconProp,
|
||||
imageUrlValue,
|
||||
categoryValue = "CAR",
|
||||
}) {
|
||||
const mockGetCmsContent = jest.fn();
|
||||
mockGetCmsContent((cmsWidget, field) => {
|
||||
return field;
|
||||
});
|
||||
const mockMixin = {
|
||||
methods: {
|
||||
getCmsContent: mockGetCmsContent,
|
||||
},
|
||||
};
|
||||
//Mock store
|
||||
store.dispatch = jest.fn(() => {});
|
||||
store.getters = { vehicle: { category: categoryValue, imageUrl: imageUrlValue } };
|
||||
const mountOptions = getMountOptions({
|
||||
store: {
|
||||
dispatch: store.dispatch,
|
||||
getters: store.getters,
|
||||
},
|
||||
});
|
||||
|
||||
//Mock props
|
||||
mountOptions.propsData = {
|
||||
displayGenericVehicleImage: displayGenericVehicleImageProp,
|
||||
displayUnmatchedVehicleIconProp: displayUnmatchedVehicleIconProp,
|
||||
};
|
||||
mountOptions.mixins = [mockMixin];
|
||||
const wrapper = shallowMount(vehicleBanner, mountOptions);
|
||||
|
||||
//Mock CMS content
|
||||
const cmsContent = {
|
||||
GenericVehicleImage: "image_url",
|
||||
CarUnmatchedVehicleIcon: "car_icon_url",
|
||||
TruckUnmatchedVehicleIcon: "truck_icon_url",
|
||||
VanUnmatchedVehicleIcon: "van_icon_url",
|
||||
CommercialVanUnmatchedVehicleIcon: "commercial_van_icon_url",
|
||||
SuvUnmatchedVehicleIcon: "suv_icon_url",
|
||||
};
|
||||
return { wrapper, cmsContent };
|
||||
}
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
<template>
|
||||
<div class="vehicle_banner mb-4 text-center">
|
||||
<img class="vehicle-image img-fluid" :src="vehicleImageToDisplay" alt="" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "vehicle-banner",
|
||||
props: {
|
||||
displayGenericVehicleImage: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
cmsWidgetName: String,
|
||||
displayVehicleImage: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
displayUnmatchedVehicleIcon: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
vehicleCategory: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
vehicleImageToDisplay() {
|
||||
if (this.displayVehicleImage !== null) {
|
||||
return this.displayVehicleImage;
|
||||
}
|
||||
if (this.displayGenericVehicleImage) {
|
||||
return this.genericVehicleImage;
|
||||
}
|
||||
if (
|
||||
this.$store.getters.vehicle.imageUrl === null ||
|
||||
this.$store.getters.vehicle.imageUrl === "NULL" ||
|
||||
this.displayUnmatchedVehicleIcon
|
||||
) {
|
||||
return this.getUnmatchedVehicleIcon();
|
||||
}
|
||||
|
||||
return this.$store.getters.vehicle.imageUrl;
|
||||
},
|
||||
genericVehicleImage() {
|
||||
return this.getCmsContent(this.cmsWidgetName, "GenericVehicleImage");
|
||||
},
|
||||
carUnmatchedVehicleIcon() {
|
||||
return this.getCmsContent(this.cmsWidgetName, "CarUnmatchedVehicleIcon");
|
||||
},
|
||||
truckUnmatchedVehicleIcon() {
|
||||
return this.getCmsContent(this.cmsWidgetName, "TruckUnmatchedVehicleIcon");
|
||||
},
|
||||
vanUnmatchedVehicleIcon() {
|
||||
return this.getCmsContent(this.cmsWidgetName, "VanUnmatchedVehicleIcon");
|
||||
},
|
||||
commercialUnmatchedVehicleIcon() {
|
||||
return this.getCmsContent(this.cmsWidgetName, "CommercialVanUnmatchedVehicleIcon");
|
||||
},
|
||||
suvUnmatchedVehicleIcon() {
|
||||
return this.getCmsContent(this.cmsWidgetName, "SuvUnmatchedVehicleIcon");
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
getUnmatchedVehicleIcon() {
|
||||
const category = this.vehicleCategory ?? this.$store.getters.vehicle.category;
|
||||
switch (category) {
|
||||
case this.vehicleCategories.CAR:
|
||||
return this.carUnmatchedVehicleIcon;
|
||||
case this.vehicleCategories.SUV:
|
||||
return this.suvUnmatchedVehicleIcon;
|
||||
case this.vehicleCategories.TRUCK:
|
||||
return this.truckUnmatchedVehicleIcon;
|
||||
case this.vehicleCategories.VAN:
|
||||
return this.vanUnmatchedVehicleIcon;
|
||||
case this.vehicleCategories.COMMERCIALVAN:
|
||||
return this.commercialUnmatchedVehicleIcon;
|
||||
default:
|
||||
return this.carUnmatchedVehicleIcon;
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.vehicle-image {
|
||||
max-width: 290px;
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
height: 132px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -106,7 +106,11 @@ 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 }) {
|
||||
export async function navigateToHeritageFunnel({
|
||||
shouldSaveSession,
|
||||
pageNameToLog,
|
||||
cleanupBeforeNavigateExternalMethod = null,
|
||||
}) {
|
||||
const log = getQuerystringParameter(queryStrings.LOG);
|
||||
if (eval(log)) {
|
||||
console.log("------------- Navigate to heritage start -----------------");
|
||||
|
|
@ -143,6 +147,8 @@ export async function navigateToHeritageFunnel({ shouldSaveSession, pageNameToLo
|
|||
) {
|
||||
heritageParms["forceEndToEndInsurance"] = true;
|
||||
}
|
||||
//Cleanup Before Navigate to External
|
||||
cleanupBeforeNavigateExternalMethod?.();
|
||||
|
||||
// clear the heritage session that may still exist after an order was already submitted
|
||||
if (window.sessionStorage.getItem("createNewSessionForHeritage") !== null) {
|
||||
|
|
|
|||
|
|
@ -12,11 +12,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner
|
||||
cmsWidgetName="VehicleBannerWidget"
|
||||
ref="vehicleBanner"
|
||||
:displayGenericVehicleImage="false" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" ref="funnelSubHeader" />
|
||||
|
||||
|
|
@ -103,7 +99,6 @@
|
|||
// Components
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
import customerQuestions from "@/layouts/address-lookup/customer-questions/customer-questions";
|
||||
import alert from "@/ux-components/alert/alert";
|
||||
|
|
@ -480,7 +475,6 @@ export default {
|
|||
components: {
|
||||
funnelHeader,
|
||||
navbar,
|
||||
vehicleBanner,
|
||||
funnelSubHeader,
|
||||
customerQuestions,
|
||||
textboxQuestion,
|
||||
|
|
|
|||
|
|
@ -7,10 +7,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner
|
||||
cmsWidgetName="VehicleBannerWidget"
|
||||
:displayGenericVehicleImage="false" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
|
|
@ -54,7 +51,6 @@
|
|||
// Components
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
import alert from "@/ux-components/alert/alert";
|
||||
import addressVehiclesQuestion from "@/layouts/address-vehicles/address-vehicles-question/address-vehicles-question";
|
||||
|
|
@ -243,7 +239,6 @@ export default {
|
|||
components: {
|
||||
Form,
|
||||
funnelHeader,
|
||||
vehicleBanner,
|
||||
funnelSubHeader,
|
||||
alert,
|
||||
navbar,
|
||||
|
|
|
|||
|
|
@ -8,10 +8,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner
|
||||
cmsWidgetName="VehicleBannerWidget"
|
||||
:displayGenericVehicleImage="false" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
|
|
@ -30,7 +27,6 @@
|
|||
// Components
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
|
||||
|
||||
|
|
@ -71,7 +67,6 @@ export default {
|
|||
components: {
|
||||
funnelHeader,
|
||||
navbar,
|
||||
vehicleBanner,
|
||||
funnelSubHeader,
|
||||
loadingModal,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -512,7 +512,7 @@ export default {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 1rem 0 1.5rem 0;
|
||||
padding: 1.5rem 0;
|
||||
|
||||
p {
|
||||
display: inline-block;
|
||||
|
|
|
|||
|
|
@ -8,8 +8,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner cmsWidgetName="VehicleBannerWidget" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
<funnelSubHeader class="pb-4" cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
<div>
|
||||
<div class="vinlookupquestion" v-html="this.VinLookupQuestionText"></div>
|
||||
|
|
@ -40,7 +39,6 @@
|
|||
// Components
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
import buttonQuestion from "@/digital-components/button-question/button-question";
|
||||
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
|
||||
|
|
@ -218,7 +216,6 @@ export default {
|
|||
},
|
||||
components: {
|
||||
funnelHeader,
|
||||
vehicleBanner,
|
||||
funnelSubHeader,
|
||||
navbar,
|
||||
buttonQuestion,
|
||||
|
|
|
|||
|
|
@ -74,10 +74,6 @@ export default {
|
|||
|
||||
// Call the "next" function to complete the transition to this page.
|
||||
next((vm) => {
|
||||
//Reload page if serve from bfcache.
|
||||
if (performance.getEntriesByType("navigation")[0].type === "back_forward") {
|
||||
vm.handlePageShow();
|
||||
}
|
||||
vm.setCmsContent(resultMap.cmsContent);
|
||||
vm.originalList = resultMap.insuranceCompanyList;
|
||||
if (store.getters.externalParameterState?.isExternalParameter) {
|
||||
|
|
@ -97,9 +93,6 @@ export default {
|
|||
},
|
||||
},
|
||||
methods: {
|
||||
handlePageShow() {
|
||||
window.location.reload();
|
||||
},
|
||||
isCashParentAccountNumber() {
|
||||
return (
|
||||
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER.toString() ===
|
||||
|
|
@ -145,8 +138,12 @@ export default {
|
|||
navigateToHeritageFunnel({
|
||||
shouldSaveSession: true,
|
||||
pageNameToLog: "insurance-company",
|
||||
cleanupBeforeNavigateExternalMethod: this.reloadPage,
|
||||
});
|
||||
},
|
||||
reloadPage(){
|
||||
window.location.reload();
|
||||
}
|
||||
},
|
||||
components: {
|
||||
funnelHeader,
|
||||
|
|
|
|||
|
|
@ -7,10 +7,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner
|
||||
cmsWidgetName="VehicleBannerWidget"
|
||||
:displayGenericVehicleImage="false" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
|
|
@ -97,7 +94,6 @@
|
|||
// Components
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
import alert from "@/ux-components/alert/alert";
|
||||
import textboxQuestion from "@/digital-components/textbox-question/textbox-question";
|
||||
|
|
@ -403,7 +399,6 @@ export default {
|
|||
components: {
|
||||
funnelHeader,
|
||||
navbar,
|
||||
vehicleBanner,
|
||||
funnelSubHeader,
|
||||
textboxQuestion,
|
||||
alert,
|
||||
|
|
|
|||
|
|
@ -8,12 +8,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner
|
||||
cmsWidgetName="VehicleBannerWidget"
|
||||
:displayGenericVehicleImage="false" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
|
||||
<funnelSubHeader class="mb-5 mt-4" cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
<funnelSubHeader class="mb-5" cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
<hr class="my-0" />
|
||||
|
||||
|
|
|
|||
|
|
@ -139,8 +139,8 @@
|
|||
type="hidden"
|
||||
name="sgtermsofusedisplaytext"
|
||||
value="By selecting submit, I agree to Safelite's" />
|
||||
<input type="hidden" name="sgtermsofuseurl" value="http://www.safelite.com/terms-of-use/" />
|
||||
<input type="hidden" name="sgtermsofuselinkdisplaytext" value="terms of use" />
|
||||
<input type="hidden" name="sgtermsofuseurl" value="http://www.safelite.com/terms-of-service/" />
|
||||
<input type="hidden" name="sgtermsofuselinkdisplaytext" value="Terms of service" />
|
||||
<input type="hidden" name="sgtermsofcancelrefunddisplaytext" value="and" />
|
||||
<input
|
||||
type="hidden"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
<funnelSubHeader class="mb-5" cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
<cashOrInsuranceQuestion
|
||||
ref="cashOrInsurance"
|
||||
|
|
@ -62,12 +62,6 @@
|
|||
:useDefaultCashParentAccount="true"
|
||||
modalWidgetName="PromoModalWidget" />
|
||||
|
||||
<textBlock
|
||||
cmsWidgetName="quoteDisclaimer"
|
||||
justifyText="center"
|
||||
typeStyle="caption"
|
||||
class="mt-6 quote-disclaimer" />
|
||||
|
||||
<contentGroupModal ref="RainDefenseModal" cmsWidgetName="RainDefenseModal" />
|
||||
<contentGroupModal ref="FrontWiperModal" cmsWidgetName="FrontWiperModal" />
|
||||
<contentGroupModal ref="RearWiperModal" cmsWidgetName="RearWiperModal" />
|
||||
|
|
@ -79,6 +73,12 @@
|
|||
:isBackButtonHidden="shouldHideBackButton"
|
||||
@back-clicked="backButtonAction"
|
||||
@ForwardClicked="forwardButtonAction" />
|
||||
|
||||
<textBlock
|
||||
cmsWidgetName="quoteDisclaimer"
|
||||
justifyText="center"
|
||||
typeStyle="caption"
|
||||
class="mb-5 quote-disclaimer" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" class="mt-2" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
||||
<serviceZipModalQuestion
|
||||
editScreenReaderTextCmsWidgetName="ScreenReaderZipEditWidget"
|
||||
|
|
@ -389,14 +389,13 @@ export default {
|
|||
) {
|
||||
return true;
|
||||
} else {
|
||||
console.log(
|
||||
"ins: servce-location invalid prereq:" +
|
||||
store.getters.payment.parentAccountNumber +
|
||||
":" +
|
||||
store.getters.order.policy.policyNumber +
|
||||
":" +
|
||||
store.getters.order.serviceLocation.zipCode
|
||||
);
|
||||
// prettier-ignore
|
||||
{
|
||||
console.log(new Date() + "Insurance: servce-location invalid prereqs");
|
||||
console.log(new Date() + "store.getters.payment.parentAccountNumber:" + store.getters.payment.parentAccountNumber);
|
||||
console.log(new Date() + "store.getters.order.policy.policyNumber:" + store.getters.order.policy.policyNumber);
|
||||
console.log(new Date() + "store.getters.order.serviceLocation.zipCode:" + store.getters.order.serviceLocation.zipCode);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -406,12 +405,12 @@ export default {
|
|||
) {
|
||||
return true;
|
||||
} else {
|
||||
console.log(
|
||||
"cash: servce-location invalid prereq:" +
|
||||
JSON.stringify(store.getters.lineItems.supportingItems) +
|
||||
":" +
|
||||
store.getters.order.serviceLocation.zipCode
|
||||
);
|
||||
// prettier-ignore
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,8 +8,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner cmsWidgetName="VehicleBannerWidget" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
<funnelSubHeader class="pb-4" cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
<div>
|
||||
<textboxQuestion
|
||||
|
|
@ -65,7 +64,6 @@
|
|||
// Components
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
import buttonQuestion from "@/digital-components/button-question/button-question";
|
||||
import alert from "@/ux-components/alert/alert";
|
||||
|
|
@ -278,7 +276,6 @@ export default {
|
|||
},
|
||||
components: {
|
||||
funnelHeader,
|
||||
vehicleBanner,
|
||||
funnelSubHeader,
|
||||
navbar,
|
||||
Form,
|
||||
|
|
|
|||
|
|
@ -9,11 +9,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<vehicleBanner
|
||||
ref="vehicleBanner"
|
||||
cmsWidgetName="VehicleBannerWidget"
|
||||
:displayGenericVehicleImage="false" />
|
||||
<div class="col-md-6 col-xl-4 mt-4">
|
||||
<funnelSubHeader
|
||||
ref="funnelSubHeader"
|
||||
cmsWidgetName="FunnelSubHeaderWidget" />
|
||||
|
|
@ -60,7 +56,6 @@
|
|||
// Components
|
||||
import glassPartQuestion from "@/layouts/vehicle-parts/glass-part-question/glass-part-question";
|
||||
import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||
import alert from "@/ux-components/alert/alert";
|
||||
|
|
@ -238,7 +233,6 @@ export default {
|
|||
Form,
|
||||
glassPartQuestion,
|
||||
funnelHeader,
|
||||
vehicleBanner,
|
||||
funnelSubHeader,
|
||||
navbar,
|
||||
alert,
|
||||
|
|
|
|||
|
|
@ -113,8 +113,10 @@ const routes = [
|
|||
to.query.fmgPage
|
||||
);
|
||||
|
||||
//Update external parameter state
|
||||
updateExternalParameterState();
|
||||
//Update external parameter state but not when returning from heritage
|
||||
if (!to.query.fmgPage?.startsWith("service-location")) {
|
||||
updateExternalParameterState();
|
||||
}
|
||||
|
||||
// clear part related state because heritage selected a new vehicle
|
||||
if (
|
||||
|
|
|
|||
Loading…
Reference in a new issue