diff --git a/src/digital-components/date-picker/date-picker.vue b/src/digital-components/date-picker/date-picker.vue index f30f9b7d..feaa430d 100644 --- a/src/digital-components/date-picker/date-picker.vue +++ b/src/digital-components/date-picker/date-picker.vue @@ -734,7 +734,11 @@ export default { } .loader { height: 2rem; - width: calc(100% - 1.5rem); + width: 100%; + display: flex; + justify-content: center; + transform: unset; + right: unset; &::after { width: 1.5rem; diff --git a/src/iss-components/site-sub-header/site-sub-header.vue b/src/iss-components/site-sub-header/site-sub-header.vue index 2c998fb3..a26ea95f 100644 --- a/src/iss-components/site-sub-header/site-sub-header.vue +++ b/src/iss-components/site-sub-header/site-sub-header.vue @@ -36,7 +36,7 @@ import { getRouterLinkHtmlStringFromCopy } from '@/helpers/cms-content-helper'; -import stripRteStyle from '@/helpers/text-helper'; +import { stripRteStyle } from '@/helpers/text-helper'; export default { name: 'site-sub-header', diff --git a/src/store/index.js b/src/store/index.js index 28363b8e..dc485fa3 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -11,6 +11,7 @@ import applicationConfig from '@/constants/application-config'; import issPageValues from '@/router/router-constants/issPage-values'; import damageLocationsSelected from '@/constants/damage-locations-selected'; import coverageStatuses from '@/constants/coverage-statuses'; +import { deepEqual } from '@/helpers/object-helper'; import { AppointmentTypeStrings, PREMIUM_FEE_PART_TYPE } from '@/constants/schedule-constants'; import getDateDifferenceInDays from '@/helpers/date-helper'; @@ -1259,10 +1260,18 @@ export const useMainStore = defineStore({ this.order.vehicle.registration.firstName = null; this.order.vehicle.registration.lastName = null; }, + resetServiceLocationAndDependencies(context) { + console.log('Reset service location and dependencies...'); + this.resetServiceLocationAppointmentType(); + this.resetServiceLocationProvider(); + this.resetSchedule(); + }, resetServiceLocationAppointmentType() { + console.log('Reset service location appointment type...'); this.order.serviceLocation.appointmentType = null; }, resetServiceLocationProvider() { + console.log('Reset service location provider...'); this.order.serviceLocation.provider = { providerNumber: null, address: { @@ -1275,6 +1284,7 @@ export const useMainStore = defineStore({ }; }, resetServiceLocationMobileAddress() { + console.log('Reset service location mobile address...'); this.order.serviceLocation.address = null; this.order.serviceLocation.address2 = null; this.order.serviceLocation.city = null; @@ -1349,6 +1359,7 @@ export const useMainStore = defineStore({ this.applicationUser.pageData[issPageValues.CAPABILITY_QUESTIONS] = null; }, resetSchedule() { + console.log('Reset Schedule...'); this.order.schedule.date = null; this.order.schedule.startTime = null; this.order.schedule.endTime = null; @@ -1510,6 +1521,8 @@ export const useMainStore = defineStore({ || !sortedPreviousResultsArray?.every((x, i) => x.result === sortedPartQuestionAnswersArray[i].result); if (havePartQuestionAnswersChanged) { + this.resetServiceLocationAndDependencies(); + this.updateGlassParts(null); this.updateMoldingQuestionAnswers(null); this.updateCapabilityQuestionAnswers(null); @@ -1531,6 +1544,8 @@ export const useMainStore = defineStore({ || !sortedPreviousResultsArray?.every((x, i) => x.result === sortedMoldingQuestionAnswersArray[i].result); if (haveMoldingQuestionAnswersChanged) { + this.resetServiceLocationAndDependencies(); + this.updateGlassParts(null); this.updateSupportingItems(null); this.updateCapabilityQuestionAnswers(null); @@ -1548,6 +1563,8 @@ export const useMainStore = defineStore({ || !sortedPreviousResultsArray?.every((x, i) => x.result === sortedCapabilityQuestionAnswersArray[i].result); if (haveCapabilityQuestionAnswersChanged) { + this.resetServiceLocationAndDependencies(); + this.updateGlassParts(null); this.updateSupportingItems(null); } @@ -1556,10 +1573,16 @@ export const useMainStore = defineStore({ this.updateCapabilityQuestionAnswers(capabilityQuestionAnswersArray); }, saveGlassParts(glassParts) { + if (!deepEqual(glassParts, this.order.lineItems.glassParts)) { + this.resetServiceLocationAndDependencies(); + } this.order.lineItems.glassParts = glassParts; }, saveSupportingItems(supportingItems) { - // TODO: RESET_SERVICE_LOCATION_STATE_AND_DEPENDENCIES + if (!deepEqual(supportingItems, this.order.lineItems.supportingItems)) { + this.resetServiceLocationAndDependencies(); + } + this.order.lineItems.supportingItems = supportingItems; }, saveSupportingItemsSuppressingStateResetting(supportingItems) { @@ -1930,6 +1953,8 @@ export const useMainStore = defineStore({ this.resetGlassPartsState(); this.resetSupportingItemsState(); this.resetVapsState(); + + this.resetServiceLocationAndDependencies(); }, resetPageFields() { diff --git a/src/ux-components/alert/alert.vue b/src/ux-components/alert/alert.vue index 143a421a..4837a939 100644 --- a/src/ux-components/alert/alert.vue +++ b/src/ux-components/alert/alert.vue @@ -76,6 +76,7 @@ import textBlock from '@/digital-components/text-block/text-block.vue'; import textLink from '@/ux-components/text-link/text-link.vue'; export default { + // eslint-disable-next-line vue/multi-word-component-names name: 'alert', components: { textBlock, diff --git a/src/ux-components/loader/loader.vue b/src/ux-components/loader/loader.vue index be644850..f11f7b80 100644 --- a/src/ux-components/loader/loader.vue +++ b/src/ux-components/loader/loader.vue @@ -28,7 +28,7 @@ export default { display: flex; //Open an overlay to prevent page interaction - &:before { + &:before:not(.date-picker-hidden) { content: ""; position: fixed; top: 0;