From 23711787dd54fd4d9bff85be8de51f2f74f64e68 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Wed, 17 May 2023 14:08:16 -0400 Subject: [PATCH] CSR-1137 | All timeslot implementations working --- src/constants/endpoints.js | 5 + src/constants/store-actions.js | 1 + .../button-question/button-question.vue | 1 + src/digital-components/modal/modal.vue | 16 +- .../text-block/text-block.vue | 3 +- src/layouts/schedule/schedule.vue | 78 +++++++-- .../time-slot-modal-question.vue | 158 +++++++++++++++--- .../timeslot-modal-list-button.vue | 119 +++++++++++++ src/mixins/base-mixin.js | 1 + src/store/index.js | 13 +- 10 files changed, 343 insertions(+), 52 deletions(-) create mode 100644 src/layouts/schedule/time-slot-modal-question/timeslot-modal-list-button/timeslot-modal-list-button.vue diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index 64703d682..92d967f39 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -103,6 +103,11 @@ const endpoints = { mockUrl: "https://mockey.qa.sagaws.net/service/shop-time-slots", // TODO: REMOVE MOCKURL method: "POST", }, + GetMobileEarlyBirdFee: { + url: "/parts/api/v1/parts/mobile-early-bird-fee", + mockUrl: "https://mockey.qa.sagaws.net/service/mobile-early-bird-fee", // TODO: REMOVE MOCKURL + method: "GET", + }, SaveSession: { url: "/order/api/v1/order/save-session", method: "POST", diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 019ac2310..b84c004fa 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -32,6 +32,7 @@ const storeActions = { GET_MOBILE_FEE_PART: "getMobileFeePart", GET_SERVICEABILITY_DETAILS: "getServiceabilityDetails", GET_SHOP_TIME_SLOTS: "getShopTimeSlots", + GET_MOBILE_EARLY_BIRD_FEE: "getMobileEarlyBirdFee", SAVE_SESSION: "saveSession", LOAD_SESSION: "loadSession", UPDATE_STORE_WITH_SAVE_SESSION_RESPONSE: "updateStoreWithSaveSessionResponse", diff --git a/src/digital-components/button-question/button-question.vue b/src/digital-components/button-question/button-question.vue index 26288c036..07b837e4e 100644 --- a/src/digital-components/button-question/button-question.vue +++ b/src/digital-components/button-question/button-question.vue @@ -176,6 +176,7 @@ export default { getComponentLoopWrapperClasses() { let classes; switch (this.buttonTypeString) { + case "timeSlotModalListButton": case "listButton": classes = "w-100"; break; diff --git a/src/digital-components/modal/modal.vue b/src/digital-components/modal/modal.vue index 823df0f98..0417e8c7e 100644 --- a/src/digital-components/modal/modal.vue +++ b/src/digital-components/modal/modal.vue @@ -56,13 +56,6 @@ export default { onModalClosedCallback: { type: Function, }, - allowManualFooterDisableOverride: { - type: Boolean, - default: false, - }, - isFooterDisabledManualOverride: { - type: Boolean, - }, }, setup() { const modalId = `modal-${crypto.randomUUID()}`; @@ -105,13 +98,10 @@ export default { }, computed: { isFooterButtonDisabled() { - if (this.allowManualFooterDisableOverride !== null) { - return this.isFooterDisabledManualOverride; - } else if (!this.meta.touched) { + if (!this.meta.touched) { return !this.meta.valid; - } else { - return !this.meta.dirty || !this.meta.valid; - } + } + return !this.meta.dirty || !this.meta.valid; }, }, components: { diff --git a/src/digital-components/text-block/text-block.vue b/src/digital-components/text-block/text-block.vue index 2eb45bf74..4f9c41599 100644 --- a/src/digital-components/text-block/text-block.vue +++ b/src/digital-components/text-block/text-block.vue @@ -1,6 +1,6 @@ @@ -28,6 +28,7 @@ export default { diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 43ce4c132..ab549d273 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -16,6 +16,7 @@ export default { }, methods: { setCmsContent(cmsContent) { + console.log(cmsContent); this.$root.cmsContentByWidget = cmsContent; }, getCmsContent(widgetName, fieldName) { diff --git a/src/store/index.js b/src/store/index.js index 024f14587..920077ecf 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1033,7 +1033,18 @@ export const actions = { // logApiCall: false, // }); }, - + getMobileEarlyBirdFee(context) { + const damageType = context.getters.damage.isRepair ? "Repair" : "Replace"; + const paymentType = context.getters.order.payment.isInsurance ? "Insurance" : "Cash"; + return globalMethods.callMockHttpClient({ + method: endpoints.GetMobileEarlyBirdFee.method, + endpoint: `${endpoints.GetMobileEarlyBirdFee.mockUrl}/Cash/Replace`, + }); + // return globalMethods.callHttpClient({ + // method: endpoints.GetMobileEarlyBirdFee.method, + // endpoint: `${endpoints.GetMobileEarlyBirdFee.url}/${paymentType}/${damageType}`, + // }); + }, // Session API Actions saveSession(context) { const vehicle = context.getters.vehicle;