From db66e137fa51b2ce8a1f208e02db7d5f34d8ef3e Mon Sep 17 00:00:00 2001 From: Michaela Brydon Date: Thu, 2 May 2024 15:18:32 -0400 Subject: [PATCH 1/9] Formatting --- src/layouts/welcome-page/welcome-page.vue | 44 +++++++++++------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index c07763a4..85a24fb7 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -120,7 +120,9 @@ isRequired isSmallQuestionLabelText disableAutoFill /> -
+
{ if ( - this.isCoverageEnabled && - !this.maxCoverageLookupAttemptsReached + this.isCoverageEnabled + && !this.maxCoverageLookupAttemptsReached ) { await this.mainStore .getCoveragePolicyInfo() @@ -362,28 +364,26 @@ export default { providerNumber: providerNumber.toString(), billToSelectionCriteria: { typeOfClaim: 'GLASS ONLY', - lineOfBusiness: 'PERSONAL', - }, + lineOfBusiness: 'PERSONAL' + } }; const response = await globalMethods.callHttpClient({ method: endpoints.GetBillToInfo.method, endpoint: endpoints.GetBillToInfo.url, - payload, + payload }); return response.data; } catch (err) { - console.error( - `Error Status Code: ${err.data?.status}: ${err.data?.title}` - ); + console.error(`Error Status Code: ${err.data?.status}: ${err.data?.title}`); return null; } }, navigateForward() { if ( - this.mainStore.applicationUser.duplicateOrders?.length > 0 ?? - false + this.mainStore.applicationUser.duplicateOrders?.length > 0 + ?? false ) { this.$router.navigate( this.navigationScenarios.CLICKED_FORWARD_WITH_DUPLICATES, @@ -434,10 +434,10 @@ export default { phoneNumber: this.mainStore.order.contactInfo.homePhone, email: this.mainStore.order.customer.emailAddress, isPolicyNumberDisabled: - this.mainStore.order.policy.isPolicyNumberDisabled, + this.mainStore.order.policy.isPolicyNumberDisabled }; - }, - }, + } + } }; From 00f8ce1e990f56a71677e56d1cdbe913fcff3ecc Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Thu, 2 May 2024 15:28:54 -0400 Subject: [PATCH 2/9] formatting --- src/layouts/welcome-page/welcome-page.vue | 51 ++++++++++------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index c07763a4..fa8ede5d 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -120,7 +120,9 @@ isRequired isSmallQuestionLabelText disableAutoFill /> -
+
+ set to display: flex and height 100dvh or height 100% -->
@@ -161,7 +163,7 @@ import footerImage from '@/iss-components/site-footer/footer-image/footer-image. import { fetchCmsContentForPage, fetchGlobalCmsContent, - updateCmsSiteHeader, + updateCmsSiteHeader } from '@/helpers/cms-content-helper'; import settleAllPromises from '@/helpers/layout-helper'; import { required } from '@/helpers/validation-rules'; @@ -194,7 +196,7 @@ export default { siteFooter, textBlock, // eslint-disable-next-line vue/no-reserved-component-names - Form, + Form }, mixins: [BaseFormMixin], async beforeRouteEnter(to, from, next) { @@ -207,12 +209,12 @@ export default { const promiseResultMap = [ { resultKey: 'cmsContent', - promise: cmsContentPromise, + promise: cmsContentPromise }, { resultKey: 'globalSiteHeaderCmsContent', - promise: cmsGlobalSiteHeaderContentPromise, - }, + promise: cmsGlobalSiteHeaderContentPromise + } ]; // use resultMap to populate layout content. @@ -244,8 +246,8 @@ export default { lossState: `${globalRules.DATE_OF_LOSS_STATE_REQUIRED}`, policyNumber: `${globalRules.POLICY_NUMBER_REQUIRED}|${globalRules.POLICY_NUMBER_FORMAT}`, policyZip: `${globalRules.POLICY_ZIP_REQUIRED}|${globalRules.POLICY_ZIP_FORMAT}`, - phoneNumber: `${globalRules.PHONE_NUMBER_REQUIRED}|${globalRules.PHONE_NUMBER_FORMAT}`, - }, + phoneNumber: `${globalRules.PHONE_NUMBER_REQUIRED}|${globalRules.PHONE_NUMBER_FORMAT}` + } }; }, computed: { @@ -300,7 +302,7 @@ export default { }, phoneMask() { return MaskaFormattedMasks.PHONE_NUMBER; - }, + } }, methods: { async forwardButtonAction() { @@ -335,8 +337,8 @@ export default { ) .finally(async () => { if ( - this.isCoverageEnabled && - !this.maxCoverageLookupAttemptsReached + this.isCoverageEnabled + && !this.maxCoverageLookupAttemptsReached ) { await this.mainStore .getCoveragePolicyInfo() @@ -362,29 +364,24 @@ export default { providerNumber: providerNumber.toString(), billToSelectionCriteria: { typeOfClaim: 'GLASS ONLY', - lineOfBusiness: 'PERSONAL', - }, + lineOfBusiness: 'PERSONAL' + } }; const response = await globalMethods.callHttpClient({ method: endpoints.GetBillToInfo.method, endpoint: endpoints.GetBillToInfo.url, - payload, + payload }); return response.data; } catch (err) { - console.error( - `Error Status Code: ${err.data?.status}: ${err.data?.title}` - ); + console.error(`Error Status Code: ${err.data?.status}: ${err.data?.title}`); return null; } }, navigateForward() { - if ( - this.mainStore.applicationUser.duplicateOrders?.length > 0 ?? - false - ) { + if (this.mainStore.applicationUser.duplicateOrders?.length > 0 ?? false) { this.$router.navigate( this.navigationScenarios.CLICKED_FORWARD_WITH_DUPLICATES, this.$route, @@ -429,15 +426,13 @@ export default { damageCause: this.mainStore.order.policy.damageCause, damageState: this.mainStore.order.policy.damageState, damageCity: this.mainStore.order.policy.damageCity, - isDamageGlassOnly: - this.mainStore.order.policy.isDamageGlassOnly, + isDamageGlassOnly: this.mainStore.order.policy.isDamageGlassOnly, phoneNumber: this.mainStore.order.contactInfo.homePhone, email: this.mainStore.order.customer.emailAddress, - isPolicyNumberDisabled: - this.mainStore.order.policy.isPolicyNumberDisabled, + isPolicyNumberDisabled: this.mainStore.order.policy.isPolicyNumberDisabled }; - }, - }, + } + } }; From 8f00fd47d3916e407dfbef86d1b98e71814da871 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Thu, 2 May 2024 15:44:27 -0400 Subject: [PATCH 3/9] update to cart component --- .../cart-dropdown/cart-dropdown.vue | 19 +++++- .../order-confirmation.spec.js | 60 +++++++++++++++---- 2 files changed, 66 insertions(+), 13 deletions(-) diff --git a/src/iss-components/cart-dropdown/cart-dropdown.vue b/src/iss-components/cart-dropdown/cart-dropdown.vue index 5aba7f8d..f6be8c4b 100644 --- a/src/iss-components/cart-dropdown/cart-dropdown.vue +++ b/src/iss-components/cart-dropdown/cart-dropdown.vue @@ -437,6 +437,23 @@ export default { partTypeStrings.MOBILE_FEE ) : null; + }, + isUnverified() { + const { isClaimRegistrationRequired } = useMainStore().issConfig; + const registerClaimSuccessful = !!this.submittedOrder.payment.insuranceCoverage.isVerified; + if (!this.submittedOrder.policy.policyLookupSuccessful) { + return true; + } + if (this.isNoComp && !useMainStore().issConfig.enableNoCompQuote) { + return true; + } + if (!this.isNoComp && this.deductible == null) { + return true; + } + if (isClaimRegistrationRequired && !registerClaimSuccessful) { + return true; + } + return false; } }, methods: { @@ -447,7 +464,7 @@ export default { this.isExpanded = !this.isExpanded; }, getDisplayed(amount) { - const { isUnverified } = useMainStore(); + const isUnverified = this.submittedOrder ? this.isUnverified : useMainStore().isUnverified; return isUnverified ? VERIFYING_COVERAGE : formatAmountInDollars(amount); diff --git a/src/layouts/order-confirmation/order-confirmation.spec.js b/src/layouts/order-confirmation/order-confirmation.spec.js index 83ae6067..dca28fb8 100644 --- a/src/layouts/order-confirmation/order-confirmation.spec.js +++ b/src/layouts/order-confirmation/order-confirmation.spec.js @@ -72,7 +72,10 @@ const initialStore = { }, payment: { isInsurance: true, - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, contactInfo: { firstName: 'Test', @@ -108,7 +111,10 @@ const sessionStorage = { } }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -315,7 +321,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Mobile' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -354,7 +363,10 @@ describe('OrderConfirmation.vue', () => { } }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -401,7 +413,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Mobile' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -440,7 +455,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Dropoff' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -479,7 +497,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Inshop' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -515,7 +536,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Mobile' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -554,7 +578,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Inshop' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -590,7 +617,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Mobile' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -629,7 +659,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Dropoff' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] @@ -669,7 +702,10 @@ describe('OrderConfirmation.vue', () => { appointmentType: 'Inshop' }, payment: { - isPayInAdvance: false + isPayInAdvance: false, + insuranceCoverage: { + isVerified: true + } }, lineItems: { vaps: [] From e7e0fd273bfc83ca12bf12e67fb1d2fc77987f1f Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Thu, 2 May 2024 15:55:22 -0400 Subject: [PATCH 4/9] style adjustments for welcome page --- src/layouts/welcome-page/welcome-page.vue | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index fa8ede5d..5ef4090d 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -11,7 +11,7 @@
-
+
@@ -24,7 +24,7 @@ disableAutoFill :isDisabled="isPolicyHolderDisabled" :validationRules="rules.policyNumber" - class="mb-3" /> + class="mt-5" /> + class="mt-3" /> + class="mt-3" /> + class="mt-2" /> + class="mt-3" /> + class="mt-3" /> + class="mt-3" /> Date: Thu, 2 May 2024 16:03:40 -0400 Subject: [PATCH 5/9] Fixing loader before code not triggering on welcome page --- src/ux-components/loader/loader.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ux-components/loader/loader.vue b/src/ux-components/loader/loader.vue index 1783c626..6c9b51bb 100644 --- a/src/ux-components/loader/loader.vue +++ b/src/ux-components/loader/loader.vue @@ -45,7 +45,7 @@ export default { display: flex; //Open an overlay to prevent page interaction - &:before:not(.date-picker-hidden) { + &:before { { content: ""; position: fixed; top: 0; From 4bd9f0fdf74cc22c4f7bc27e999f6445d431ea4f Mon Sep 17 00:00:00 2001 From: Michaela Brydon Date: Thu, 2 May 2024 16:06:35 -0400 Subject: [PATCH 6/9] forgot to delete bracket --- src/ux-components/loader/loader.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ux-components/loader/loader.vue b/src/ux-components/loader/loader.vue index 6c9b51bb..0b1315f4 100644 --- a/src/ux-components/loader/loader.vue +++ b/src/ux-components/loader/loader.vue @@ -45,7 +45,7 @@ export default { display: flex; //Open an overlay to prevent page interaction - &:before { { + &:before { content: ""; position: fixed; top: 0; From 7da943a2ed74c3d6d084da9862e1b62886428973 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Fri, 3 May 2024 11:12:56 -0400 Subject: [PATCH 7/9] SSR-1201 misc alignment and spacing fixes. --- .../shop-list-button/shop-list-button.vue | 3 +- .../site-sub-header/site-sub-header.vue | 14 ++--- .../service-packages/service-packages.vue | 61 ++++++++++--------- src/layouts/vehicle-damage/vehicle-damage.vue | 6 -- 4 files changed, 40 insertions(+), 44 deletions(-) diff --git a/src/iss-components/shop-list-button/shop-list-button.vue b/src/iss-components/shop-list-button/shop-list-button.vue index f27cc3a5..74997b54 100644 --- a/src/iss-components/shop-list-button/shop-list-button.vue +++ b/src/iss-components/shop-list-button/shop-list-button.vue @@ -32,7 +32,8 @@ :allowPageInteraction="true" />
+ id="availabilityIndicator" + class="d-flex align-items-center">

@@ -33,7 +33,7 @@ import { splitCopyOnCMSPlaceHolder, getRouterLinkRouteFromCopy, getRouterLinkDisplayTextFromCopy, - getRouterLinkHtmlStringFromCopy, + getRouterLinkHtmlStringFromCopy } from '@/helpers/cms-content-helper'; import { stripRteStyle } from '@/helpers/text-helper'; @@ -51,7 +51,7 @@ export default { stripRteStyle: Boolean, subContentProperty: String, subHeaderClasses: String, - subTextClasses: String, + subTextClasses: String }, emits: ['click-event'], computed: { @@ -103,10 +103,10 @@ export default { alternateFormatting() { // override for service-packages unique style if (this.issContainingPage?.toLowerCase() === 'service-packages') { - return 'service-packages-subtext mt-4 mb-4 px-5'; + return 'service-packages-subtext my-4'; } return this.darkGraySubText ? 'dark-gray' : 'light-gray'; - }, + } }, methods: { doesCopyContainRouterLink, @@ -116,8 +116,8 @@ export default { getRouterLinkHtmlStringFromCopy, clickEvent() { this.$emit('click-event'); - }, - }, + } + } }; diff --git a/src/layouts/service-packages/service-packages.vue b/src/layouts/service-packages/service-packages.vue index 2858d855..37879fd5 100644 --- a/src/layouts/service-packages/service-packages.vue +++ b/src/layouts/service-packages/service-packages.vue @@ -13,6 +13,7 @@
- + @@ -44,7 +47,9 @@ - +
@@ -80,7 +85,7 @@ export default { Form, servicePackageQuestion, loadingModal, - contentGroupModal, + contentGroupModal }, mixins: [baseFormMixin], async beforeRouteEnter(to, from, next) { @@ -93,20 +98,20 @@ export default { const promiseResultMap = [ { resultKey: 'cmsContent', - promise: cmsContentPromise, + promise: cmsContentPromise }, { resultKey: 'wipers', - promise: wipersPromise, + promise: wipersPromise }, { resultKey: 'rainDefense', - promise: rainDefensePromise, + promise: rainDefensePromise }, { resultKey: 'supportingItems', - promise: supportingItemsPromise, - }, + promise: supportingItemsPromise + } ]; const resultMap = await settleAllPromises(promiseResultMap); @@ -117,19 +122,17 @@ export default { resultMap.rainDefense, ...resultMap.supportingItems, ...resultMap.wipers, - ...clonedGlassParts, + ...clonedGlassParts ]; let hasBailedOut = false; const pricingResults = await store .getPriceOrderItems(availableLineItems) .catch((err) => { - useMainStore().setBailout( - bailoutMessage.pricingResponseError( - availableLineItems.map((li) => li.partNumber), - { code: err.code, message: err.message, data: err.data } - ) - ); + useMainStore().setBailout(bailoutMessage.pricingResponseError( + availableLineItems.map((li) => li.partNumber), + { code: err.code, message: err.message, data: err.data } + )); hasBailedOut = true; next(`/?issPage=${issPageValues.BAILOUT_PAGE}`); }); @@ -155,17 +158,17 @@ export default { 'Looking for dates', 'Searching for times', 'Nearly there', - 'Finishing up', + 'Finishing up' ], rules: { - optionRequired: globalRules.OPTION_REQUIRED, - }, + optionRequired: globalRules.OPTION_REQUIRED + } }; }, computed: { PriceDisclaimerText() { return this.getCmsContent('PriceDisclaimerWidget', 'Text'); - }, + } }, methods: { openModalAction(modalName) { @@ -173,11 +176,11 @@ export default { }, arePagePrerequisitesValid() { return ( - store.order.serviceLocation.zipCode && - store.order.serviceLocation.zipCodeCtu && - (store.order.damage.isRepair || - (store.order.lineItems?.glassParts != null && - store.order.lineItems.glassParts.length > 0)) + store.order.serviceLocation.zipCode + && store.order.serviceLocation.zipCodeCtu + && (store.order.damage.isRepair + || (store.order.lineItems?.glassParts != null + && store.order.lineItems.glassParts.length > 0)) ); }, vapsItemsSelectedAction(vapsItemsSelected) { @@ -187,12 +190,10 @@ export default { const parts = { glassParts: this.pricedGlassParts, supportingItems: this.supportingItems, - vaps: this.selectedVaps, + vaps: this.selectedVaps }; if (!allGlassPartsAndItemsHavePrices(parts)) { - window.console.error( - 'One or more items have no price assigned!' - ); + window.console.error('One or more items have no price assigned!'); } if (this.pricedGlassParts.length > 0) { store.updateGlassParts(this.pricedGlassParts); @@ -204,8 +205,8 @@ export default { this.navigationScenarios.CLICKED_FORWARD, this.$route ); - }, - }, + } + } }; diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index a8ae5494..7e37cb1a 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -522,12 +522,6 @@ export default { flex: 0 auto; } } -.damage-location-question { - span { - font-size: 1.25rem; - font-weight: 400; - } -} .button-question, .windshield-damage-type-question, .damage-location-question { From 78a08653c235fabd15edc0087138712eb5f66e2b Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Mon, 6 May 2024 11:46:01 -0400 Subject: [PATCH 8/9] format only --- src/layouts/schedule-page/schedule-page.vue | 151 +++++++++----------- 1 file changed, 69 insertions(+), 82 deletions(-) diff --git a/src/layouts/schedule-page/schedule-page.vue b/src/layouts/schedule-page/schedule-page.vue index e2d008f8..ee25c354 100644 --- a/src/layouts/schedule-page/schedule-page.vue +++ b/src/layouts/schedule-page/schedule-page.vue @@ -90,16 +90,16 @@ import { AppointmentTypeStrings, GET_MOBILE_TIME_SLOTS, GET_SHOP_TIME_SLOTS, - PREMIUM_FEE_PART_TYPE, + PREMIUM_FEE_PART_TYPE } from '@/constants/schedule-constants.js'; import { fetchCmsContentForPage, - splitCopyOnCMSPlaceHolder, + splitCopyOnCMSPlaceHolder } from '@/helpers/cms-content-helper'; import { calcDaysBetweenDates, convertDateStringToDate, - sumDateString, + sumDateString } from '@/helpers/date-helper'; import settleAllPromises from '@/helpers/layout-helper'; import { Form, defineRule } from 'vee-validate'; @@ -156,16 +156,16 @@ const getAvailableDates = async ( } if ( - appointmentType === AppointmentTypeStrings.MOBILE || - appointmentType === - AppointmentTypeStrings.MOBILE_NOT_ITAC_AND_NOT_NOCOMP + appointmentType === AppointmentTypeStrings.MOBILE + || appointmentType + === AppointmentTypeStrings.MOBILE_NOT_ITAC_AND_NOT_NOCOMP ) { storeActionConfig = { storeAction: GET_MOBILE_TIME_SLOTS, payload: { startDate: apiStartDate, - endDate: apiEndDate, - }, + endDate: apiEndDate + } }; } else { storeActionConfig = { @@ -174,16 +174,15 @@ const getAvailableDates = async ( startDate: apiStartDate, endDate: apiEndDate, shopAppointmentType: appointmentType, - providerNumber, - }, + providerNumber + } }; } - if (apiStartDate < apiEndDate) - storeActionConfigs.push(storeActionConfig); + if (apiStartDate < apiEndDate) storeActionConfigs.push(storeActionConfig); } const timeSlotsResponsesData = { - days: [], + days: [] }; function compareDayStrings(a, b) { @@ -193,33 +192,31 @@ const getAvailableDates = async ( } const makeParallelCalls = async () => { - await Promise.all( - storeActionConfigs.map(async (storeAction) => { - let timeSlotsResponse = null; - if (storeAction.storeAction === GET_SHOP_TIME_SLOTS) { - timeSlotsResponse = await useMainStore().getShopTimeSlots( - storeAction.payload.startDate, - storeAction.payload.endDate, - storeAction.payload.shopAppointmentType, - storeAction.payload.providerNumber - ); - } else { - timeSlotsResponse = await useMainStore().getMobileTimeSlots( - storeAction.payload.startDate, - storeAction.payload.endDate - ); - } + await Promise.all(storeActionConfigs.map(async (storeAction) => { + let timeSlotsResponse = null; + if (storeAction.storeAction === GET_SHOP_TIME_SLOTS) { + timeSlotsResponse = await useMainStore().getShopTimeSlots( + storeAction.payload.startDate, + storeAction.payload.endDate, + storeAction.payload.shopAppointmentType, + storeAction.payload.providerNumber + ); + } else { + timeSlotsResponse = await useMainStore().getMobileTimeSlots( + storeAction.payload.startDate, + storeAction.payload.endDate + ); + } - timeSlotsResponsesData.estimatedServiceMinutesMinimum = + timeSlotsResponsesData.estimatedServiceMinutesMinimum = timeSlotsResponse.data.estimatedServiceMinutesMinimum; - timeSlotsResponsesData.estimatedServiceMinutesMaximum = + timeSlotsResponsesData.estimatedServiceMinutesMaximum = timeSlotsResponse.data.estimatedServiceMinutesMaximum; - timeSlotsResponsesData.days = [ - ...timeSlotsResponsesData.days, - ...timeSlotsResponse.data.days, - ]; - }) - ); + timeSlotsResponsesData.days = [ + ...timeSlotsResponsesData.days, + ...timeSlotsResponse.data.days + ]; + })); }; return makeParallelCalls().then(() => { @@ -240,7 +237,7 @@ export default { siteFooter, textBlock, // eslint-disable-next-line vue/no-reserved-component-names - Form, + Form }, mixins: [BaseFormMixin], async beforeRouteEnter(to, from, next) { @@ -257,7 +254,7 @@ export default { selectableDatesSetting: 'custom', initialViewRowsToShow: 5, customSelectableDatesCallback: getAvailableDates, - preSelectedDate, + preSelectedDate }); const premiumFeePromise = useMainStore().getMobilePremiumFee(); @@ -278,29 +275,27 @@ export default { const promiseResultMap = [ { resultKey: 'cmsContent', - promise: cmsContentPromise, + promise: cmsContentPromise }, { resultKey: 'alertReasons', - promise: alertReasonsPromise, + promise: alertReasonsPromise }, { resultKey: 'datePickerInitialData', - promise: datePickerInitialDataPromise, + promise: datePickerInitialDataPromise }, { resultKey: 'premiumFeeWithPrice', - promise: premiumFeeWithPricePromise, - }, + promise: premiumFeeWithPricePromise + } ]; // use resultMap to populate layout content. const resultMap = await settleAllPromises(promiseResultMap); next((vm) => { vm.setCmsContent(resultMap.cmsContent); - vm.$refs.datePicker.initializeComponent( - resultMap.datePickerInitialData - ); + vm.$refs.datePicker.initializeComponent(resultMap.datePickerInitialData); vm.$refs.locationAlerts.initializeComponent(resultMap.alertReasons); vm.setData( resultMap.datePickerInitialData.initialShopTimeSlotsResponse, @@ -318,7 +313,7 @@ export default { selectedDate: this.getSelectedDate(), selectedTimeSlotInfo: this.getSelectedTimeSlotInfo(), selectableDatesData: [], - mobilePremiumAppointmentFee: null, + mobilePremiumAppointmentFee: null }; }, computed: { @@ -336,13 +331,11 @@ export default { return null; } - return this.selectableDatesData.days?.find( - (selectableDate) => selectableDate.date === this.selectedDate - ); + return this.selectableDatesData.days?.find((selectableDate) => selectableDate.date === this.selectedDate); }, supportingItems() { return useMainStore().lineItems.supportingItems; - }, + } }, watch: { selectedDate(newValue, oldValue) { @@ -355,34 +348,34 @@ export default { startTime: null, endTime: null, jobMaxMinutes: null, - jobMinMinutes: null, + jobMinMinutes: null }, - isPremiumAppointment: null, + isPremiumAppointment: null }; } }, selectedTimeSlotInfo(newValue) { this.updateFooterButtonText(newValue); - }, + } }, methods: { splitCopyOnCMSPlaceHolder, arePagePrerequisitesValid() { const { serviceLocation } = useMainStore().order; const serviceLocationPreReqs = - serviceLocation.zipCode && - serviceLocation.zipCodeCtu && - serviceLocation.appointmentType && - (serviceLocation.appointmentType === - AppointmentTypeStrings.MOBILE || - serviceLocation.appointmentType === - AppointmentTypeStrings.MOBILE_NOT_ITAC_AND_NOT_NOCOMP || - serviceLocation.provider.providerNumber); + serviceLocation.zipCode + && serviceLocation.zipCodeCtu + && serviceLocation.appointmentType + && (serviceLocation.appointmentType + === AppointmentTypeStrings.MOBILE + || serviceLocation.appointmentType + === AppointmentTypeStrings.MOBILE_NOT_ITAC_AND_NOT_NOCOMP + || serviceLocation.provider.providerNumber); const supportingItems = this.supportingItems !== null; const damageInfo = - useMainStore().order.damage.isRepair || - (useMainStore().order.lineItems?.glassParts != null && - useMainStore().order.lineItems.glassParts.length > 0); + useMainStore().order.damage.isRepair + || (useMainStore().order.lineItems?.glassParts != null + && useMainStore().order.lineItems.glassParts.length > 0); return serviceLocationPreReqs && supportingItems && damageInfo; }, @@ -417,15 +410,13 @@ export default { getSelectedTimeSlotInfo() { const isPremiumAppointment = !!( - this.supportingItems?.filter( - (lineItem) => - lineItem.partType === PREMIUM_FEE_PART_TYPE - ) ?? [] + this.supportingItems?.filter((lineItem) => + lineItem.partType === PREMIUM_FEE_PART_TYPE) ?? [] ).length > 0; const selectedTimeSlotInfo = { timeSlot: this.mainStore.order.schedule, - isPremiumAppointment, + isPremiumAppointment }; return selectedTimeSlotInfo; @@ -441,16 +432,12 @@ export default { if (!timeSlotInfo || !timeSlotInfo.timeSlot.date) { navbarButtonText = 'Continue'; } else { - navbarButtonText = `Select ${this.convertSelectedDateToShortMonthAndDay( - timeSlotInfo.timeSlot.date - )}`; + navbarButtonText = `Select ${this.convertSelectedDateToShortMonthAndDay(timeSlotInfo.timeSlot.date)}`; if (this.appointmentType === AppointmentTypeStrings.IN_SHOP) { - navbarButtonText += ` at ${this.getDisplayTextForMilitaryTime( - timeSlotInfo.timeSlot.startTime - )}`; + navbarButtonText += ` at ${this.getDisplayTextForMilitaryTime(timeSlotInfo.timeSlot.startTime)}`; } else if ( - this.appointmentType === AppointmentTypeStrings.MOBILE && - !timeSlotInfo.isPremiumAppointment + this.appointmentType === AppointmentTypeStrings.MOBILE + && !timeSlotInfo.isPremiumAppointment ) { navbarButtonText += ` at ${this.getDisplayTextForMilitaryTime( timeSlotInfo.timeSlot.startTime, @@ -468,7 +455,7 @@ export default { const dateObject = convertDateStringToDate(selectedDate); return dateObject.toLocaleDateString('en-us', { month: 'short', - day: 'numeric', + day: 'numeric' }); }, getDisplayTextForMilitaryTime( @@ -496,8 +483,8 @@ export default { this.navigationScenarios.CLICKED_FORWARD, this.$route ); - }, - }, + } + } }; From 4e14826647061f31198cf3603feea5009e7e39d9 Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Mon, 6 May 2024 12:13:56 -0400 Subject: [PATCH 9/9] fix for scheduling page second hidden loader. --- src/ux-components/loader/loader.vue | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ux-components/loader/loader.vue b/src/ux-components/loader/loader.vue index 0b1315f4..0da0b359 100644 --- a/src/ux-components/loader/loader.vue +++ b/src/ux-components/loader/loader.vue @@ -56,6 +56,13 @@ export default { z-index: 9999; cursor: default; } + + &.date-picker-hidden { + &:before { + content: none; + } + } + //Spinner basics &:after { content: "";