Merge pull request #340 from Safelite/SSR-520-fix-footer-margins
Ssr 520 fix footer margins
This commit is contained in:
commit
fee4881489
14 changed files with 110 additions and 101 deletions
|
|
@ -16,7 +16,7 @@
|
||||||
alertClass="alert-warning"
|
alertClass="alert-warning"
|
||||||
:manualHeadline="alertFewMoreQuestionsHeader"
|
:manualHeadline="alertFewMoreQuestionsHeader"
|
||||||
:manualCopy="alertFewMoreQuestionsCopy"
|
:manualCopy="alertFewMoreQuestionsCopy"
|
||||||
v-bind:isDismissible="false"
|
v-bind:isDismissible="false"
|
||||||
class="mt-5"/>
|
class="mt-5"/>
|
||||||
<div v-for="(questionsDatum, i) in questionsData" :key="questionsDatum.key">
|
<div v-for="(questionsDatum, i) in questionsData" :key="questionsDatum.key">
|
||||||
<questionChain
|
<questionChain
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
:validationRules="validationRules" />
|
:validationRules="validationRules" />
|
||||||
</div>
|
</div>
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-3"
|
||||||
ref="siteFooter"
|
ref="siteFooter"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
:isForwardActionDisabled="!isMetaValid"
|
:isForwardActionDisabled="!isMetaValid"
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
|
<div>
|
||||||
<footer class="footer container-fluid g-5 px-0 py-3 " id="infoBox">
|
<footer class="footer container-fluid g-5 px-0" id="infoBox">
|
||||||
<div class="row d-flex flex-row-reverse align-items-center vw-100 mx-0">
|
<div class="row d-flex flex-row-reverse align-items-center vw-100 mx-0">
|
||||||
<div class="col button-col d-flex px-0" id="stacked" >
|
<div class="col button-col d-flex px-0" id="stacked" >
|
||||||
<buttonMain
|
<buttonMain
|
||||||
v-if="!isForwardButtonHidden"
|
v-if="!isForwardButtonHidden"
|
||||||
ref="buttonMain"
|
ref="buttonMain"
|
||||||
isPrimary
|
isPrimary
|
||||||
|
|
@ -16,9 +16,9 @@
|
||||||
data-bs-target="#footerModal"
|
data-bs-target="#footerModal"
|
||||||
data-bs-dismiss="modal"
|
data-bs-dismiss="modal"
|
||||||
data-test-id="site-footer-main-button" />
|
data-test-id="site-footer-main-button" />
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!isBackButtonHidden" class="col-auto link-col py-1 px-0 text-break">
|
<div v-if="!isBackButtonHidden" class="col-auto link-col py-1 px-0 text-break">
|
||||||
<textLink
|
<textLink
|
||||||
linkType="navigation"
|
linkType="navigation"
|
||||||
:text="backLink"
|
:text="backLink"
|
||||||
@click-event="linkClick"
|
@click-event="linkClick"
|
||||||
|
|
@ -26,11 +26,12 @@
|
||||||
data-bs-target="#footerModal"
|
data-bs-target="#footerModal"
|
||||||
data-bs-dismiss="modal"
|
data-bs-dismiss="modal"
|
||||||
data-test-id="site-footer-back-button" />
|
data-test-id="site-footer-back-button" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</footer>
|
||||||
|
<div class="footerImage" id="imgCity" v-if="footerImageURL" >
|
||||||
|
<img id="siteFooterImage" :src="footerImageURL" />
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
|
||||||
<div class="footerImage" id="imgCity" v-if="footerImageURL" >
|
|
||||||
<img id="siteFooterImage" :src="footerImageURL" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -77,8 +78,8 @@ export default {
|
||||||
},
|
},
|
||||||
buttonText() {
|
buttonText() {
|
||||||
return this.customButtontext
|
return this.customButtontext
|
||||||
? this.customButtontext
|
? this.customButtontext
|
||||||
: this.getCmsContent(this.cmsWidgetName, "ForwardButtonText");
|
: this.getCmsContent(this.cmsWidgetName, "ForwardButtonText");
|
||||||
},
|
},
|
||||||
footerImageURL()
|
footerImageURL()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -41,14 +41,13 @@
|
||||||
<alert
|
<alert
|
||||||
ref="alertVinLookupsByHomeAddressNotAllowed"
|
ref="alertVinLookupsByHomeAddressNotAllowed"
|
||||||
v-if="displayVinLookupByHomeAddressNotAllowedAlert"
|
v-if="displayVinLookupByHomeAddressNotAllowedAlert"
|
||||||
class="mb-4 mt-4"
|
class="mt-4"
|
||||||
cmsWidgetName="AlertVinLookupsByHomeAddressNotAllowedWidget"
|
cmsWidgetName="AlertVinLookupsByHomeAddressNotAllowedWidget"
|
||||||
alertClass="alert-danger"
|
alertClass="alert-danger"
|
||||||
v-bind:isDismissible="false" />
|
v-bind:isDismissible="false" />
|
||||||
|
|
||||||
<customerQuestions ref="customerQuestions" v-model="customerQuestions" />
|
<customerQuestions ref="customerQuestions" v-model="customerQuestions" />
|
||||||
|
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-5"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
ref="siteFooter"
|
ref="siteFooter"
|
||||||
:isDisabled="!meta.valid"
|
:isDisabled="!meta.valid"
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@
|
||||||
validationRules="state-required"
|
validationRules="state-required"
|
||||||
class="mt-4 mb-2"/>
|
class="mt-4 mb-2"/>
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-5"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
cms-widget-name="SiteFooterWidget"
|
cms-widget-name="SiteFooterWidget"
|
||||||
@back-clicked="backButtonAction"
|
@back-clicked="backButtonAction"
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-5"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
ref="siteFooter"
|
ref="siteFooter"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
|
|
@ -66,7 +67,7 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
customerQuestions: this.getPolicyHolderDetailsFromStore(),
|
customerQuestions: this.getPolicyHolderDetailsFromStore(),
|
||||||
vehiclesFound: [],
|
vehiclesFound: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
|
@ -91,8 +92,8 @@ export default {
|
||||||
|
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.setCmsContent(resultMap.cmsContent);
|
vm.setCmsContent(resultMap.cmsContent);
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
methods:
|
methods:
|
||||||
{
|
{
|
||||||
|
|
@ -101,8 +102,8 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
async forwardButtonAction()
|
async forwardButtonAction()
|
||||||
{
|
{
|
||||||
this.mainStore.updatePolicyHolderDetails(this.customerQuestions);
|
this.mainStore.updatePolicyHolderDetails(this.customerQuestions);
|
||||||
return this.navigateForward();
|
return this.navigateForward();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -114,7 +115,7 @@ export default {
|
||||||
{},
|
{},
|
||||||
{},
|
{},
|
||||||
this.vehiclesFound
|
this.vehiclesFound
|
||||||
);
|
);
|
||||||
else
|
else
|
||||||
this.$router.navigate(
|
this.$router.navigate(
|
||||||
this.navigationScenarios.CLICKED_FORWARD_POLICY_UNVERIFIED,
|
this.navigationScenarios.CLICKED_FORWARD_POLICY_UNVERIFIED,
|
||||||
|
|
@ -135,7 +136,7 @@ export default {
|
||||||
firstName : this.mainStore.order.customer.firstName,
|
firstName : this.mainStore.order.customer.firstName,
|
||||||
lastName : this.mainStore.order.customer.lastName,
|
lastName : this.mainStore.order.customer.lastName,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed:{
|
computed:{
|
||||||
isCoverageEnabled(){
|
isCoverageEnabled(){
|
||||||
|
|
@ -143,7 +144,7 @@ export default {
|
||||||
},
|
},
|
||||||
vehiclesCount(){
|
vehiclesCount(){
|
||||||
return this.vehiclesFound.length;
|
return this.vehiclesFound.length;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
siteHeader,
|
siteHeader,
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
class="mx-5" />
|
class="mx-5" />
|
||||||
<div class="px-5">
|
<div class="px-5">
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-5"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
:isForwardActionDisabled="isForwardActionDisabled"
|
:isForwardActionDisabled="isForwardActionDisabled"
|
||||||
@backClicked="backButtonAction"
|
@backClicked="backButtonAction"
|
||||||
|
|
@ -26,16 +27,16 @@
|
||||||
</div>
|
</div>
|
||||||
<recalModal ref="recalModal" cmsWidgetName="RecalModal" />
|
<recalModal ref="recalModal" cmsWidgetName="RecalModal" />
|
||||||
<steeringModal cmsWidgetName="StateSteeringModal" ref="StateSteeringModal" />
|
<steeringModal cmsWidgetName="StateSteeringModal" ref="StateSteeringModal" />
|
||||||
<shopPreferenceModal
|
<shopPreferenceModal
|
||||||
cmsWidgetName="ShopPreferenceDrawer"
|
cmsWidgetName="ShopPreferenceDrawer"
|
||||||
ref="ShopPreferenceDrawer"
|
ref="ShopPreferenceDrawer"
|
||||||
@openSteering="openStateSteeringModal"
|
@openSteering="openStateSteeringModal"
|
||||||
:showSteeringLink="showSteeringLink"/>
|
:showSteeringLink="showSteeringLink"/>
|
||||||
<tpaRecalModal cmsWidgetName="TPARecalModal"
|
<tpaRecalModal cmsWidgetName="TPARecalModal"
|
||||||
ref="TPARecalModal"
|
ref="TPARecalModal"
|
||||||
:ackError="ackError"
|
:ackError="ackError"
|
||||||
@buttonClick="navigateWithTPAAck"
|
@buttonClick="navigateWithTPAAck"
|
||||||
/>
|
/>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -159,12 +160,12 @@ export default {
|
||||||
this.$router.navigate(scenario, this.$route);
|
this.$router.navigate(scenario, this.$route);
|
||||||
},
|
},
|
||||||
navigateWithTPAAck() {
|
navigateWithTPAAck() {
|
||||||
this.mainStore.saveProviderPreferenceData({selectedProvider: this.selectedProvider, tpaAcknowledgement: this.tpaAcknowledgement});
|
this.mainStore.saveProviderPreferenceData({selectedProvider: this.selectedProvider, tpaAcknowledgement: this.tpaAcknowledgement});
|
||||||
this.navigateForward(this.navigationScenarios.CLICKED_FORWARD_WITH_TPA_ENABLED);
|
this.navigateForward(this.navigationScenarios.CLICKED_FORWARD_WITH_TPA_ENABLED);
|
||||||
},
|
},
|
||||||
forwardButtonAction() {
|
forwardButtonAction() {
|
||||||
if(this.selectedProvider) {
|
if(this.selectedProvider) {
|
||||||
let scenario = null;
|
let scenario = null;
|
||||||
switch (this.selectedProvider) {
|
switch (this.selectedProvider) {
|
||||||
case options.SAFELITE:
|
case options.SAFELITE:
|
||||||
scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE;
|
scenario = this.navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE;
|
||||||
|
|
@ -186,7 +187,7 @@ export default {
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
this.navigateForward(scenario);
|
this.navigateForward(scenario);
|
||||||
this.mainStore.saveProviderPreferenceData({selectedProvider: this.selectedProvider, tpaAcknowledgement: this.tpaAcknowledgement});
|
this.mainStore.saveProviderPreferenceData({selectedProvider: this.selectedProvider, tpaAcknowledgement: this.tpaAcknowledgement});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
openStateSteeringModal() {
|
openStateSteeringModal() {
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
<div class="container-fluid pb-2">
|
<div class="container-fluid pb-2">
|
||||||
<p>Placeholder for schedule page</p>
|
<p>Placeholder for schedule page</p>
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-5"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
ref="siteFooter"
|
ref="siteFooter"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
|
|
|
||||||
|
|
@ -31,11 +31,12 @@
|
||||||
validationRules="selection-required"
|
validationRules="selection-required"
|
||||||
class="service-location-button-question mb-1"/>
|
class="service-location-button-question mb-1"/>
|
||||||
<div class="select-car">
|
<div class="select-car">
|
||||||
<div class="container-fluid pb-2">
|
<div class="container-fluid pb-2 g-0">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col px-0">
|
<div class="col px-0">
|
||||||
<div class="select-car-form rounded">
|
<div class="select-car-form rounded">
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-4"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
@backClicked="backButtonAction"
|
@backClicked="backButtonAction"
|
||||||
|
|
@ -89,7 +90,7 @@ export default {
|
||||||
const zipCodeData = getZipCodeData(serviceZipCode);
|
const zipCodeData = getZipCodeData(serviceZipCode);
|
||||||
|
|
||||||
const serviceabilityDetailsPromise = getServiceabilityDetails(serviceZipCode);
|
const serviceabilityDetailsPromise = getServiceabilityDetails(serviceZipCode);
|
||||||
|
|
||||||
// Settle promises and get results
|
// Settle promises and get results
|
||||||
const promiseResultMap = [
|
const promiseResultMap = [
|
||||||
{
|
{
|
||||||
|
|
@ -107,7 +108,7 @@ export default {
|
||||||
];
|
];
|
||||||
|
|
||||||
const resultMap = await settleAllPromises(promiseResultMap);
|
const resultMap = await settleAllPromises(promiseResultMap);
|
||||||
|
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.setCmsContent(resultMap.cmsContent);
|
vm.setCmsContent(resultMap.cmsContent);
|
||||||
vm.setData(
|
vm.setData(
|
||||||
|
|
@ -161,7 +162,7 @@ export default {
|
||||||
},
|
},
|
||||||
displayMilitaryZipAlert() {
|
displayMilitaryZipAlert() {
|
||||||
return this.zipContainsMilitaryBase && this.isServiceableMobile;
|
return this.zipContainsMilitaryBase && this.isServiceableMobile;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
arePagePrerequisiteValid() {
|
arePagePrerequisiteValid() {
|
||||||
|
|
@ -258,11 +259,11 @@ export default {
|
||||||
.service-location-button-question {
|
.service-location-button-question {
|
||||||
.question-text {
|
.question-text {
|
||||||
margin-top: 1.5rem;
|
margin-top: 1.5rem;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@
|
||||||
groupName="BackGlassReplaceOptionsQuestion"
|
groupName="BackGlassReplaceOptionsQuestion"
|
||||||
validationRules="replace-options-required" />
|
validationRules="replace-options-required" />
|
||||||
<site-footer
|
<site-footer
|
||||||
|
class="mt-5"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
@backClicked="backButtonAction"
|
@backClicked="backButtonAction"
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
<VehicleBanner class="mt-2 mb-4" cms-widget-name="VehicleBannerWidget" :display-generic-vehicle-image="false" />
|
<VehicleBanner class="mt-2 mb-4" cms-widget-name="VehicleBannerWidget" :display-generic-vehicle-image="false" />
|
||||||
<SiteSubHeader cms-widget-name="SiteSubHeaderWidget" class="mt-5 mb-2" />
|
<SiteSubHeader cms-widget-name="SiteSubHeaderWidget" class="mt-5 mb-2" />
|
||||||
<VinLookupMethods v-model="selectedVinLookupMethod" cms-widget-name="VINLookupMethod" group-name="VinLookupMethods" ref="VinLookupMethods" />
|
<VinLookupMethods v-model="selectedVinLookupMethod" cms-widget-name="VINLookupMethod" group-name="VinLookupMethods" ref="VinLookupMethods" />
|
||||||
<SiteFooter cms-widget-name="SiteFooterWidget" :is-forward-action-disabled="isForwardActionDisabled" @back-clicked="backButtonAction" @forward-clicked="forwardButtonAction" />
|
<SiteFooter cms-widget-name="SiteFooterWidget" :is-forward-action-disabled="isForwardActionDisabled" @back-clicked="backButtonAction" @forward-clicked="forwardButtonAction" class="mt-3"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -181,12 +181,12 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
AutoSelectIfSinglePart() {
|
AutoSelectIfSinglePart() {
|
||||||
if (this.partsForSelectedTint?.length > 0)
|
if (this.partsForSelectedTint?.length > 0)
|
||||||
{
|
{
|
||||||
// Check if only a single part is present for the tint and set the v-model if it is.
|
// Check if only a single part is present for the tint and set the v-model if it is.
|
||||||
if (this.partsForSelectedTint?.length == 1) {
|
if (this.partsForSelectedTint?.length == 1) {
|
||||||
this.selectedPartNumber = { value: this.partsForSelectedTint[0].partNumber };
|
this.selectedPartNumber = { value: this.partsForSelectedTint[0].partNumber };
|
||||||
|
|
||||||
// //select element with matching partNumber
|
// //select element with matching partNumber
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const radioInput = document.querySelector('input[value=' + this.selectedPartNumber + ']');
|
const radioInput = document.querySelector('input[value=' + this.selectedPartNumber + ']');
|
||||||
|
|
@ -199,7 +199,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Loads the preselected values from the store.
|
// Loads the preselected values from the store.
|
||||||
LoadPreselectedValues() {
|
LoadPreselectedValues() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|
@ -208,7 +208,7 @@ export default {
|
||||||
{
|
{
|
||||||
this.selectedTint = this.modelValue.color;
|
this.selectedTint = this.modelValue.color;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }" >
|
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }" >
|
||||||
<div class="page-container-grouped-styles position-relative">
|
<div class="page-container-grouped-styles position-relative">
|
||||||
<div class="fade-on-route-transition position-relative">
|
<div class="fade-on-route-transition position-relative">
|
||||||
<siteHeader cmsWidgetName="SiteHeaderWidget" />
|
<siteHeader cmsWidgetName="SiteHeaderWidget" />
|
||||||
|
|
@ -8,57 +8,58 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="select-car-form rounded">
|
<div class="select-car-form rounded">
|
||||||
<siteSubHeader
|
<siteSubHeader
|
||||||
cmsWidgetName="SiteSubHeaderWidget"
|
cmsWidgetName="SiteSubHeaderWidget"
|
||||||
class="siteSubHeader"
|
class="siteSubHeader"
|
||||||
justification="left"
|
justification="left"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<vehicleQuestion
|
<vehicleQuestion
|
||||||
ref="vehicleYearQuestion"
|
ref="vehicleYearQuestion"
|
||||||
class="mb-2 mt-4"
|
class="mb-2 mt-4"
|
||||||
v-model="selectedYear"
|
v-model="selectedYear"
|
||||||
cmsWidgetName="VehicleYearQuestion"
|
cmsWidgetName="VehicleYearQuestion"
|
||||||
:updateValues="updateYearValues"
|
:updateValues="updateYearValues"
|
||||||
validationRules="year-required"
|
validationRules="year-required"
|
||||||
inputId="yearQuestionField"
|
inputId="yearQuestionField"
|
||||||
/>
|
/>
|
||||||
<vehicleQuestion
|
<vehicleQuestion
|
||||||
ref="vehicleMakeQuestion"
|
ref="vehicleMakeQuestion"
|
||||||
class="mb-2 mt-4"
|
class="mb-2 mt-4"
|
||||||
v-model="selectedMake"
|
v-model="selectedMake"
|
||||||
cmsWidgetName="VehicleMakeQuestion"
|
cmsWidgetName="VehicleMakeQuestion"
|
||||||
:updateValues="updateMakeValues"
|
:updateValues="updateMakeValues"
|
||||||
validationRules="make-required"
|
validationRules="make-required"
|
||||||
inputId="makeQuestionField"
|
inputId="makeQuestionField"
|
||||||
/>
|
/>
|
||||||
<vehicleQuestion
|
<vehicleQuestion
|
||||||
ref="vehicleModelQuestion"
|
ref="vehicleModelQuestion"
|
||||||
class="mb-2 mt-4"
|
class="mb-2 mt-4"
|
||||||
v-model="selectedModel"
|
v-model="selectedModel"
|
||||||
cmsWidgetName="VehicleModelQuestion"
|
cmsWidgetName="VehicleModelQuestion"
|
||||||
:updateValues="updateModelValues"
|
:updateValues="updateModelValues"
|
||||||
validationRules="model-required"
|
validationRules="model-required"
|
||||||
inputId="modelQuestionField"
|
inputId="modelQuestionField"
|
||||||
/>
|
/>
|
||||||
<vehicleQuestion
|
<vehicleQuestion
|
||||||
ref="vehicleStyleQuestion"
|
ref="vehicleStyleQuestion"
|
||||||
class="mb-2 mt-4"
|
class="mb-2 mt-4"
|
||||||
v-model="selectedStyle"
|
v-model="selectedStyle"
|
||||||
cmsWidgetName="VehicleStyleQuestion"
|
cmsWidgetName="VehicleStyleQuestion"
|
||||||
:updateValues="updateStyleValues"
|
:updateValues="updateStyleValues"
|
||||||
validationRules="style-required"
|
validationRules="style-required"
|
||||||
inputId="styleQuestionField"
|
inputId="styleQuestionField"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<vehicleBanner
|
<vehicleBanner
|
||||||
cmsWidgetName="VehicleBannerWidget"
|
cmsWidgetName="VehicleBannerWidget"
|
||||||
:displayGenericVehicleImage="displayGeneric"
|
:displayGenericVehicleImage="displayGeneric"
|
||||||
class="mt-5 mb-3"
|
class="mt-5 mb-3"
|
||||||
ref="banner"
|
ref="banner"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
class="mt-5"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
@ForwardClicked="forwardButtonAction"
|
@ForwardClicked="forwardButtonAction"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
|
|
@ -106,33 +107,33 @@ export default {
|
||||||
selectedYear: null,
|
selectedYear: null,
|
||||||
selectedMake: null,
|
selectedMake: null,
|
||||||
selectedModel: null,
|
selectedModel: null,
|
||||||
selectedStyle: null,
|
selectedStyle: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
cmsWidgetName:String,
|
cmsWidgetName:String,
|
||||||
validationRules:String,
|
validationRules:String,
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
this.$refs["vehicleYearQuestion"].getNewValues();
|
this.$refs["vehicleYearQuestion"].getNewValues();
|
||||||
},
|
},
|
||||||
|
|
||||||
async beforeRouteEnter(to, from, next) {
|
async beforeRouteEnter(to, from, next) {
|
||||||
// Call APIs
|
// Call APIs
|
||||||
const cmsContentPromise = fetchCmsContentForPage(to.query.issPage);
|
const cmsContentPromise = fetchCmsContentForPage(to.query.issPage);
|
||||||
|
|
||||||
// Settle promises and get results
|
// Settle promises and get results
|
||||||
const promiseResultMap = [
|
const promiseResultMap = [
|
||||||
{
|
{
|
||||||
resultKey: "cmsContent",
|
resultKey: "cmsContent",
|
||||||
promise: cmsContentPromise,
|
promise: cmsContentPromise,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
let resultMap = await settleAllPromises(promiseResultMap);
|
let resultMap = await settleAllPromises(promiseResultMap);
|
||||||
|
|
||||||
// Call the "next" function to complete the transition to this page.
|
// Call the "next" function to complete the transition to this page.
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
vm.setCmsContent(resultMap.cmsContent);
|
vm.setCmsContent(resultMap.cmsContent);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -142,7 +143,7 @@ export default {
|
||||||
this.mainStore.updateVehicleYear(value);
|
this.mainStore.updateVehicleYear(value);
|
||||||
this.$refs["vehicleMakeQuestion"].clearValues();
|
this.$refs["vehicleMakeQuestion"].clearValues();
|
||||||
if(value)
|
if(value)
|
||||||
{
|
{
|
||||||
this.$refs["vehicleMakeQuestion"].getNewValues();
|
this.$refs["vehicleMakeQuestion"].getNewValues();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -150,7 +151,7 @@ export default {
|
||||||
this.mainStore.updateVehicleMake(value);
|
this.mainStore.updateVehicleMake(value);
|
||||||
this.$refs["vehicleModelQuestion"].clearValues();
|
this.$refs["vehicleModelQuestion"].clearValues();
|
||||||
if(value)
|
if(value)
|
||||||
{
|
{
|
||||||
this.$refs["vehicleModelQuestion"].getNewValues();
|
this.$refs["vehicleModelQuestion"].getNewValues();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -158,7 +159,7 @@ export default {
|
||||||
this.mainStore.updateVehicleModel(value);
|
this.mainStore.updateVehicleModel(value);
|
||||||
this.$refs["vehicleStyleQuestion"].clearValues();
|
this.$refs["vehicleStyleQuestion"].clearValues();
|
||||||
if(value)
|
if(value)
|
||||||
{
|
{
|
||||||
this.$refs["vehicleStyleQuestion"].getNewValues();
|
this.$refs["vehicleStyleQuestion"].getNewValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -186,7 +187,7 @@ export default {
|
||||||
this.$route
|
this.$route
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async updateYearValues() {
|
async updateYearValues() {
|
||||||
return await useMainStore().getVehicleYears();
|
return await useMainStore().getVehicleYears();
|
||||||
},
|
},
|
||||||
|
|
@ -227,6 +228,6 @@ export default {
|
||||||
|
|
||||||
.subheader-secondary {
|
.subheader-secondary {
|
||||||
margin-top: .5rem;
|
margin-top: .5rem;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
<vinLookupAlerts class="mt-5" :activeAlertType="activeVehicleLookupAlertType" />
|
<vinLookupAlerts class="mt-5" :activeAlertType="activeVehicleLookupAlertType" />
|
||||||
<vinQuestion v-model="vin" :mask="vinMask" :isDisabled="vinPopulatedOnPageLoad" textPosition="left" />
|
<vinQuestion v-model="vin" :mask="vinMask" :isDisabled="vinPopulatedOnPageLoad" textPosition="left" />
|
||||||
<vinLocationInformation />
|
<vinLocationInformation />
|
||||||
<siteFooter cmsWidgetName="SiteFooterWidget" :isForwardActionDisabled="!meta.valid" @backClicked="backButtonAction" @forwardClicked="forwardButtonAction" ref="siteFooter" />
|
<siteFooter cmsWidgetName="SiteFooterWidget" :isForwardActionDisabled="!meta.valid" @backClicked="backButtonAction" @forwardClicked="forwardButtonAction" ref="siteFooter" class="mt-5" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -152,7 +152,7 @@ export default {
|
||||||
this.bailout=true
|
this.bailout=true
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.bailout){
|
if(this.bailout){
|
||||||
return this.$router.navigate(
|
return this.$router.navigate(
|
||||||
this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT,
|
this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT,
|
||||||
this.$route);
|
this.$route);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }" >
|
<Form @submit="onSubmit" @invalid-submit="onInvalidSubmit" ref="theForm" v-slot="{ meta }" >
|
||||||
<div class="page-container-grouped-styles welcome">
|
<div class="page-container-grouped-styles welcome">
|
||||||
<div class="fade-on-route-transition position-relative">
|
<div class="fade-on-route-transition position-relative">
|
||||||
<siteHeader cmsWidgetName="SiteHeaderWidget"/>
|
<siteHeader cmsWidgetName="SiteHeaderWidget" class="mt-5"/>
|
||||||
<siteSubHeader cmsWidgetName="SiteSubHeaderWidget" class="mt-4"/>
|
<siteSubHeader cmsWidgetName="SiteSubHeaderWidget" class="mt-4"/>
|
||||||
<div class="container-fluid px-5">
|
<div class="container-fluid px-5">
|
||||||
<div class="row mt-5">
|
<div class="row mt-5">
|
||||||
|
|
@ -140,7 +140,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="row position-sticky top-100" id="welcomeFooter">
|
<div class="row position-sticky top-100" id="welcomeFooter">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<site-footer
|
<siteFooter
|
||||||
|
class="mt-3"
|
||||||
cmsWidgetName="SiteFooterWidget"
|
cmsWidgetName="SiteFooterWidget"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
@back-clicked="backButtonAction"
|
@back-clicked="backButtonAction"
|
||||||
|
|
@ -259,12 +260,12 @@ export default {
|
||||||
|
|
||||||
const policyLookupResultMap = await settleAllPromises(promisePolicyLookupResultMap);
|
const policyLookupResultMap = await settleAllPromises(promisePolicyLookupResultMap);
|
||||||
const policyInfo = policyLookupResultMap.policyLookupResponse;
|
const policyInfo = policyLookupResultMap.policyLookupResponse;
|
||||||
|
|
||||||
// if policy lookup fails, navigate directly to policy-holder-details page
|
// if policy lookup fails, navigate directly to policy-holder-details page
|
||||||
if (!policyInfo) {
|
if (!policyInfo) {
|
||||||
this.navigateForward();
|
this.navigateForward();
|
||||||
}
|
}
|
||||||
|
|
||||||
const policy = policyInfo.policies?.[0];
|
const policy = policyInfo.policies?.[0];
|
||||||
if (policy) {
|
if (policy) {
|
||||||
//populate policy holder details from policy lookup
|
//populate policy holder details from policy lookup
|
||||||
|
|
@ -274,8 +275,8 @@ export default {
|
||||||
this.mainStore.order.customer.address.zipCode = policy.insureds?.[0]?.zipCode;
|
this.mainStore.order.customer.address.zipCode = policy.insureds?.[0]?.zipCode;
|
||||||
this.mainStore.order.customer.firstName = policy.insureds?.[0]?.firstName;
|
this.mainStore.order.customer.firstName = policy.insureds?.[0]?.firstName;
|
||||||
this.mainStore.order.customer.lastName = policy.insureds?.[0]?.lastName;
|
this.mainStore.order.customer.lastName = policy.insureds?.[0]?.lastName;
|
||||||
|
|
||||||
//populate vehicles
|
//populate vehicles
|
||||||
this.vehiclesFound = policy.vehicles;
|
this.vehiclesFound = policy.vehicles;
|
||||||
}
|
}
|
||||||
return this.navigateForward(policy);
|
return this.navigateForward(policy);
|
||||||
|
|
@ -289,7 +290,7 @@ export default {
|
||||||
// if policy lookup is successful and vehicles are found, navigate to policy-vehicles page
|
// if policy lookup is successful and vehicles are found, navigate to policy-vehicles page
|
||||||
this.$router.navigate(
|
this.$router.navigate(
|
||||||
this.navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES,
|
this.navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES,
|
||||||
this.$route,
|
this.$route,
|
||||||
{},
|
{},
|
||||||
{},
|
{},
|
||||||
this.vehiclesFound
|
this.vehiclesFound
|
||||||
|
|
@ -312,7 +313,7 @@ export default {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
getWelcomePageModelFromStore() {
|
getWelcomePageModelFromStore() {
|
||||||
return {
|
return {
|
||||||
policyNumber: this.mainStore.order.policy.policyNumber,
|
policyNumber: this.mainStore.order.policy.policyNumber,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue