CASH-376 fix for error message appearing when address modal is open
This commit is contained in:
parent
d304710d8c
commit
dd1852d4c3
4 changed files with 20 additions and 9 deletions
|
|
@ -119,12 +119,14 @@ export default {
|
||||||
},
|
},
|
||||||
onModalOpened() {
|
onModalOpened() {
|
||||||
this.onModalOpenedCallback?.();
|
this.onModalOpenedCallback?.();
|
||||||
|
this.$emit("isModalOpened", true);
|
||||||
},
|
},
|
||||||
onModalClosed() {
|
onModalClosed() {
|
||||||
this.resetButtonStyle();
|
this.resetButtonStyle();
|
||||||
this.onModalClosedCallback?.();
|
this.onModalClosedCallback?.();
|
||||||
if (this.suppressPageScroll)
|
if (this.suppressPageScroll)
|
||||||
document.querySelector("body").classList.remove("prevent-modal-scroll");
|
document.querySelector("body").classList.remove("prevent-modal-scroll");
|
||||||
|
this.$emit("isModalOpened", false);
|
||||||
},
|
},
|
||||||
openModal() {
|
openModal() {
|
||||||
if (this.suppressPageScroll)
|
if (this.suppressPageScroll)
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,7 @@ export default {
|
||||||
"updated-contains-military-base",
|
"updated-contains-military-base",
|
||||||
"updated-bill-to-account-number",
|
"updated-bill-to-account-number",
|
||||||
"setMobileLocationAndProceed",
|
"setMobileLocationAndProceed",
|
||||||
|
"updated-modal-opened",
|
||||||
],
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
@ -228,6 +229,7 @@ export default {
|
||||||
},
|
},
|
||||||
setModalStatus(isOpened) {
|
setModalStatus(isOpened) {
|
||||||
this.isModalOpened = isOpened;
|
this.isModalOpened = isOpened;
|
||||||
|
this.$emit("updated-modal-opened", isOpened);
|
||||||
},
|
},
|
||||||
closeModal() {
|
closeModal() {
|
||||||
this.modal.closeModal();
|
this.modal.closeModal();
|
||||||
|
|
|
||||||
|
|
@ -343,7 +343,7 @@ describe("service-location.vue", () => {
|
||||||
zipCode: "43054",
|
zipCode: "43054",
|
||||||
},
|
},
|
||||||
isVehicleProtected: true,
|
isVehicleProtected: true,
|
||||||
isMobileSelected: true,
|
isMobileSelectedAndModalClosed: true,
|
||||||
};
|
};
|
||||||
wrapper.vm.mobileLocationQuestions = mobileLocationQuestions;
|
wrapper.vm.mobileLocationQuestions = mobileLocationQuestions;
|
||||||
|
|
||||||
|
|
@ -356,7 +356,7 @@ describe("service-location.vue", () => {
|
||||||
zipCode: "61606",
|
zipCode: "61606",
|
||||||
},
|
},
|
||||||
isVehicleProtected: null,
|
isVehicleProtected: null,
|
||||||
isMobileSelected: false,
|
isMobileSelectedAndModalClosed: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -459,7 +459,7 @@ describe("service-location.vue", () => {
|
||||||
zipCode: "",
|
zipCode: "",
|
||||||
},
|
},
|
||||||
isVehicleProtected: null,
|
isVehicleProtected: null,
|
||||||
isMobileSelected: false,
|
isMobileSelectedAndModalClosed: false,
|
||||||
};
|
};
|
||||||
wrapper.vm.mobileLocationQuestions = mobileLocationQuestions;
|
wrapper.vm.mobileLocationQuestions = mobileLocationQuestions;
|
||||||
const newMobileLocationQuestions = {
|
const newMobileLocationQuestions = {
|
||||||
|
|
@ -471,7 +471,7 @@ describe("service-location.vue", () => {
|
||||||
zipCode: "43054",
|
zipCode: "43054",
|
||||||
},
|
},
|
||||||
isVehicleProtected: true,
|
isVehicleProtected: true,
|
||||||
isMobileSelected: true,
|
isMobileSelectedAndModalClosed: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
wrapper.vm.closeModalAction = jest.fn();
|
wrapper.vm.closeModalAction = jest.fn();
|
||||||
|
|
@ -521,7 +521,7 @@ describe("service-location.vue", () => {
|
||||||
zipCode: "",
|
zipCode: "",
|
||||||
},
|
},
|
||||||
isVehicleProtected: null,
|
isVehicleProtected: null,
|
||||||
isMobileSelected: false,
|
isMobileSelectedAndModalClosed: false,
|
||||||
mobileFeePart: null,
|
mobileFeePart: null,
|
||||||
};
|
};
|
||||||
wrapper.vm.mobileLocationQuestions = mobileLocationQuestions;
|
wrapper.vm.mobileLocationQuestions = mobileLocationQuestions;
|
||||||
|
|
@ -535,7 +535,7 @@ describe("service-location.vue", () => {
|
||||||
zipCode: "43081",
|
zipCode: "43081",
|
||||||
},
|
},
|
||||||
isVehicleProtected: true,
|
isVehicleProtected: true,
|
||||||
isMobileSelected: true,
|
isMobileSelectedAndModalClosed: true,
|
||||||
mobileFeePart: null,
|
mobileFeePart: null,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -599,7 +599,7 @@ describe("service-location.vue", () => {
|
||||||
zipCode: "43081",
|
zipCode: "43081",
|
||||||
},
|
},
|
||||||
isVehicleProtected: "YesAnswer",
|
isVehicleProtected: "YesAnswer",
|
||||||
isMobileSelected: true,
|
isMobileSelectedAndModalClosed: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
wrapper.vm.closeModalAction = jest.fn();
|
wrapper.vm.closeModalAction = jest.fn();
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,7 @@
|
||||||
@updated-serviceability="setServiceabilityDetails"
|
@updated-serviceability="setServiceabilityDetails"
|
||||||
@updated-contains-military-base="setContainsMilitaryBase"
|
@updated-contains-military-base="setContainsMilitaryBase"
|
||||||
@updated-mobile-ctu="setCtuForMobile"
|
@updated-mobile-ctu="setCtuForMobile"
|
||||||
|
@updated-modal-opened="setMobileLocationModalOpened"
|
||||||
validationRules="mobile-location-required"
|
validationRules="mobile-location-required"
|
||||||
ref="mobileLocationQuestions"
|
ref="mobileLocationQuestions"
|
||||||
linkWidgetName="MobileLocationLinkWidget"
|
linkWidgetName="MobileLocationLinkWidget"
|
||||||
|
|
@ -172,7 +173,7 @@ const MOBILE_FEE_PART_TYPE = "MOBILE FEE";
|
||||||
// DEFINE VALIDATION RULES
|
// DEFINE VALIDATION RULES
|
||||||
defineRule("mobile-location-required", (value) => {
|
defineRule("mobile-location-required", (value) => {
|
||||||
if (
|
if (
|
||||||
value.isMobileSelected &&
|
value.isMobileSelectedAndModalClosed &&
|
||||||
(!value.addressQuestions.streetAddress ||
|
(!value.addressQuestions.streetAddress ||
|
||||||
!value.addressQuestions.city ||
|
!value.addressQuestions.city ||
|
||||||
!value.addressQuestions.state ||
|
!value.addressQuestions.state ||
|
||||||
|
|
@ -211,6 +212,7 @@ export default {
|
||||||
billToAccountNumber: null,
|
billToAccountNumber: null,
|
||||||
shopProviderData: null,
|
shopProviderData: null,
|
||||||
navigatingForward: false,
|
navigatingForward: false,
|
||||||
|
mobileLocationModalOpened: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
async beforeRouteEnter(to, from, next) {
|
async beforeRouteEnter(to, from, next) {
|
||||||
|
|
@ -301,7 +303,9 @@ export default {
|
||||||
zipCode: this.zipCode,
|
zipCode: this.zipCode,
|
||||||
},
|
},
|
||||||
isVehicleProtected: this.isVehicleProtected,
|
isVehicleProtected: this.isVehicleProtected,
|
||||||
isMobileSelected: this.selectedAppointmentType === "Mobile",
|
isMobileSelectedAndModalClosed:
|
||||||
|
this.selectedAppointmentType === "Mobile" &&
|
||||||
|
!this.mobileLocationModalOpened,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -502,6 +506,9 @@ export default {
|
||||||
setRecycleFeePart(recycleFeePart) {
|
setRecycleFeePart(recycleFeePart) {
|
||||||
this.recycleFeePart = recycleFeePart;
|
this.recycleFeePart = recycleFeePart;
|
||||||
},
|
},
|
||||||
|
setMobileLocationModalOpened(isModalOpened) {
|
||||||
|
this.mobileLocationModalOpened = isModalOpened;
|
||||||
|
},
|
||||||
//creating async function as the computed property can not directly handle asynchronous operations or promises.
|
//creating async function as the computed property can not directly handle asynchronous operations or promises.
|
||||||
async setMobileLocationQuestions(newValue) {
|
async setMobileLocationQuestions(newValue) {
|
||||||
var newZipCode = newValue.addressQuestions.zipCode;
|
var newZipCode = newValue.addressQuestions.zipCode;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue