CASH-1712: more precise approach to fixing forced refresh of date picker

This commit is contained in:
AdamCaouetteSafelite 2025-10-28 15:52:07 -04:00
parent 55d0ae9a7e
commit e693f9e449

View file

@ -1669,15 +1669,10 @@ export default {
this.selectedProvider = new Provider(); this.selectedProvider = new Provider();
this.updateSelectedProvider(); this.updateSelectedProvider();
}, },
updateSelectedProvider(newProvider) { updateSelectedProvider(newShopProvider) {
if (newProvider) {
const didProviderNumberChange =
this.selectedProvider.providerNumber !== newProvider.providerNumber;
this.selectedProvider = newProvider;
if (didProviderNumberChange) { if (newShopProvider) {
this.initializeDatePicker(); this.selectedProvider = newShopProvider;
}
} else if (this.appointmentType === this.appointmentTypeStrings.MOBILE) { } else if (this.appointmentType === this.appointmentTypeStrings.MOBILE) {
this.selectedProvider = { this.selectedProvider = {
providerNumber: this.shopProviderData.mobileProviderNumber.toString(), providerNumber: this.shopProviderData.mobileProviderNumber.toString(),
@ -1743,6 +1738,7 @@ export default {
this.lastSelectedInshopOrDropoffProvider = this.selectedProvider; this.lastSelectedInshopOrDropoffProvider = this.selectedProvider;
} }
this.appointmentType = AppointmentTypeStrings.MOBILE; this.appointmentType = AppointmentTypeStrings.MOBILE;
this.updateSelectedProvider();
} else if (newAppointmentType) { } else if (newAppointmentType) {
if (this.appointmentType != AppointmentTypeStrings.MOBILE) { if (this.appointmentType != AppointmentTypeStrings.MOBILE) {
// Clear last shop selected if appointment type was changed in any manner other than from Mobile // Clear last shop selected if appointment type was changed in any manner other than from Mobile
@ -1756,6 +1752,8 @@ export default {
} else { } else {
this.appointmentType = AppointmentTypeStrings.IN_SHOP_OR_DROP_OFF; this.appointmentType = AppointmentTypeStrings.IN_SHOP_OR_DROP_OFF;
} }
// make sure a selectedProvider exists
this.updateSelectedProvider(this.lastSelectedInshopOrDropoffProvider);
} else { } else {
this.appointmentType = null; this.appointmentType = null;
} }