Merge pull request #1027 from Safelite/feature/humphries/INSR-7747

INSR-7747: address-lookup parity updates
This commit is contained in:
AHumphriesSL 2026-01-27 10:02:01 -05:00 committed by GitHub
commit 2dc959e041
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 45 additions and 13 deletions

View file

@ -40,6 +40,17 @@ export default {
shouldShowTextCarousel() { shouldShowTextCarousel() {
return this.globalNonpersistedState.showTextCarousel; return this.globalNonpersistedState.showTextCarousel;
} }
},
watch: {
shouldShowLoader(newVal) {
// prevent keyboard input when loader is shown, re-enable when hidden
if(newVal) {
document.onkeydown = () => false;
}
else {
document.onkeydown = null;
}
}
} }
}; };
// Add a global Javascript exception handler for logging exceptions, this handler will log when there is an uncaught exception // Add a global Javascript exception handler for logging exceptions, this handler will log when there is an uncaught exception

View file

@ -7,7 +7,7 @@
:key="copy"> :key="copy">
<span v-if="doesCopyContainRouterLink(copy)"> <span v-if="doesCopyContainRouterLink(copy)">
<routerLink <routerLink
class="bold" class="bold router-link"
:to="{ :to="{
query: { issPage: `${getRouterLinkRouteFromCopy(copy)}` }, query: { issPage: `${getRouterLinkRouteFromCopy(copy)}` },
name: 'root', name: 'root',

View file

@ -82,9 +82,6 @@ export default {
mounted() { mounted() {
this.paddingHeight = this.getFooterInfoBoxHeight() + 24; this.paddingHeight = this.getFooterInfoBoxHeight() + 24;
}, },
unmounted() {
document.onkeydown = null;
},
methods: { methods: {
onResize() { onResize() {
this.paddingHeight = this.getFooterInfoBoxHeight(); this.paddingHeight = this.getFooterInfoBoxHeight();
@ -93,9 +90,6 @@ export default {
this.customButtontext = newText; this.customButtontext = newText;
}, },
buttonClick() { buttonClick() {
// prevent keyboard input after button click
document.onkeydown = () => false;
if ((!this.disableForwardAction && !this.isForwardActionDisabled && !this.isForwardButtonNavigationDisabled)) { if ((!this.disableForwardAction && !this.isForwardActionDisabled && !this.isForwardButtonNavigationDisabled)) {
showIssLoadingModal(true); showIssLoadingModal(true);
} }

View file

@ -14,12 +14,16 @@
ref="siteSubHeader" ref="siteSubHeader"
cmsWidgetName="SiteSubHeaderWidget" cmsWidgetName="SiteSubHeaderWidget"
class="mt-4" /> class="mt-4" />
<customerQuestions
ref="customerQuestions"
v-model="customerQuestions" />
<alert <alert
v-if="displayVinNotFoundAlert" v-if="displayVinNotFoundAlert"
ref="alertVinNotFound" ref="alertVinNotFound"
class="mb-4 mt-4" class="mb-4 mt-4"
cmsWidgetName="AlertVinNotFoundWidget" cmsWidgetName="AlertVinNotFoundWidget"
alertClass="alert-danger" alertClass="alert-danger"
:isCollapsible="true"
:isDismissible="false" /> :isDismissible="false" />
<alert <alert
v-if="displayMatchedDifferentVehicleAlert" v-if="displayMatchedDifferentVehicleAlert"
@ -29,6 +33,7 @@
:manualHeadline="AlertMatchedDifferentVehicleHeader" :manualHeadline="AlertMatchedDifferentVehicleHeader"
:manualCopy="AlertMatchedDifferentVehicleBody" :manualCopy="AlertMatchedDifferentVehicleBody"
alertClass="alert-warning" alertClass="alert-warning"
:isCollapsible="true"
:isDismissible="false" /> :isDismissible="false" />
<alert <alert
v-if="displayMatchedTwoIdenticalYMMVehicleAlert" v-if="displayMatchedTwoIdenticalYMMVehicleAlert"
@ -38,6 +43,7 @@
:manualHeadline="AlertMatchedTwoIdenticalYMMVehicleHeader" :manualHeadline="AlertMatchedTwoIdenticalYMMVehicleHeader"
:manualCopy="AlertMatchedTwoIdenticalYMMVehicleBody" :manualCopy="AlertMatchedTwoIdenticalYMMVehicleBody"
alertClass="alert-warning" alertClass="alert-warning"
:isCollapsible="true"
:isDismissible="false" /> :isDismissible="false" />
<alert <alert
v-if="displayVinLookupByHomeAddressNotAllowedAlert" v-if="displayVinLookupByHomeAddressNotAllowedAlert"
@ -45,6 +51,7 @@
class="mt-4" class="mt-4"
cmsWidgetName="AlertVinLookupsByHomeAddressNotAllowedWidget" cmsWidgetName="AlertVinLookupsByHomeAddressNotAllowedWidget"
alertClass="alert-danger" alertClass="alert-danger"
:isCollapsible="true"
:isDismissible="false" /> :isDismissible="false" />
<alert <alert
v-if="displayNoServiceAlert" v-if="displayNoServiceAlert"
@ -52,10 +59,8 @@
class="mt-5" class="mt-5"
cmsWidgetName="AlertNoServiceWidget" cmsWidgetName="AlertNoServiceWidget"
alertClass="alert-danger" alertClass="alert-danger"
:isCollapsible="true"
:isDismissable="false" /> :isDismissable="false" />
<customerQuestions
ref="customerQuestions"
v-model="customerQuestions" />
<siteFooter <siteFooter
ref="siteFooter" ref="siteFooter"
class="mt-5" class="mt-5"
@ -92,6 +97,7 @@ import {
import vinPagesMixin from '@/mixins/vin-pages-mixin'; import vinPagesMixin from '@/mixins/vin-pages-mixin';
import { useMainStore } from '@/store/index.js'; import { useMainStore } from '@/store/index.js';
import showIssLoadingModal from '@/helpers/loading-modal-helper';
export default { export default {
name: 'address-lookup', name: 'address-lookup',
@ -250,6 +256,7 @@ export default {
if (!resultMap.vinLookupResponse.isStatePermissible) { if (!resultMap.vinLookupResponse.isStatePermissible) {
// State Restrictions forbid lookup by address // State Restrictions forbid lookup by address
this.displayVinLookupByHomeAddressNotAllowedAlert = true; this.displayVinLookupByHomeAddressNotAllowedAlert = true;
showIssLoadingModal(false);
return this.$refs.siteFooter.disableForwardButton(); return this.$refs.siteFooter.disableForwardButton();
} }
@ -262,6 +269,7 @@ export default {
if (!carFound.canSafeliteService) { if (!carFound.canSafeliteService) {
this.displayNoServiceAlert = true; this.displayNoServiceAlert = true;
showIssLoadingModal(false);
return this.$refs.siteFooter.disableForwardButton(); return this.$refs.siteFooter.disableForwardButton();
} }
@ -281,6 +289,7 @@ export default {
await isGlassAvailableForCarId(carFound.carId); await isGlassAvailableForCarId(carFound.carId);
// Update button "Continue with..." // Update button "Continue with..."
showIssLoadingModal(false);
return this.$refs.siteFooter return this.$refs.siteFooter
// eslint-disable-next-line max-len // eslint-disable-next-line max-len
.updateButtonText(`Continue with ${carFound.year} ${carFound.make} ${carFound.model} ${this.forwardButtonCarStyle}`); .updateButtonText(`Continue with ${carFound.year} ${carFound.make} ${carFound.model} ${this.forwardButtonCarStyle}`);
@ -306,6 +315,7 @@ export default {
} else { } else {
// No VINS found. // No VINS found.
this.displayVinNotFoundAlert = true; this.displayVinNotFoundAlert = true;
showIssLoadingModal(false);
return this.$refs.siteFooter.disableForwardButton(); return this.$refs.siteFooter.disableForwardButton();
} }

View file

@ -2,7 +2,7 @@
<addressQuestions <addressQuestions
ref="addressQuestions" ref="addressQuestions"
v-model="customerModel.addressQuestions" /> v-model="customerModel.addressQuestions" />
<div class="row mb-4"> <div class="row">
<div class="col"> <div class="col">
<textboxQuestion <textboxQuestion
ref="firstName" ref="firstName"
@ -13,7 +13,7 @@
:validationRules="rules.firstName" /> :validationRules="rules.firstName" />
</div> </div>
</div> </div>
<div class="row mb-4"> <div class="row">
<div class="col"> <div class="col">
<textboxQuestion <textboxQuestion
ref="lastName" ref="lastName"
@ -76,3 +76,8 @@ export default {
} }
}; };
</script> </script>
<style lang="scss" scoped>
.textbox-question {
margin-bottom: 1.25rem;
}
</style>

View file

@ -199,4 +199,16 @@ $heritage-btn-width: 9.0625rem; // 145px
// fixes flicker while transitioning between states // fixes flicker while transitioning between states
transition: background 0s 0s ease-in-out; transition: background 0s 0s ease-in-out;
} }
}
a.router-link {
color: $heritage-blue-primary;
text-decoration: none;
font-weight: $font-weight-bold;
&:hover,
&:focus {
color: #125b7e;
text-decoration: underline;
}
} }

View file

@ -57,7 +57,7 @@
<textBlock <textBlock
:customText="paragraph" :customText="paragraph"
class="mb-1" class="mb-1"
marginTopSizeOverride="0" /> :marginTopSizeOverride="0" />
</template> </template>
<template <template
v-for="copy in splitCopyOnCMSPlaceHolder(paragraph)" v-for="copy in splitCopyOnCMSPlaceHolder(paragraph)"