From 820a4387ac800623de33dbb501a29b43c1986e74 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Fri, 20 Oct 2023 09:56:38 -0400 Subject: [PATCH 1/2] CSR-1384: adding modals with add to cart buttons --- .../content-group-modal.vue | 15 +- .../add-vaps-button/add-vaps-button.vue | 0 .../add-vaps-modal-buttons.vue | 177 ++++++++++++++++++ src/layouts/payment-method/payment-method.vue | 22 +-- 4 files changed, 194 insertions(+), 20 deletions(-) rename src/{fmg-components => layouts/payment-method}/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue (100%) create mode 100644 src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue diff --git a/src/fmg-components/content-group-modal/content-group-modal.vue b/src/fmg-components/content-group-modal/content-group-modal.vue index d9d9da937..a64d10fa3 100644 --- a/src/fmg-components/content-group-modal/content-group-modal.vue +++ b/src/fmg-components/content-group-modal/content-group-modal.vue @@ -12,6 +12,7 @@ class="my-4 caption modal-sub-body" v-if="ModalSubBodyText" v-html="ModalSubBodyText">

+ @@ -22,6 +23,10 @@ export default { name: "content-group-modal", props: { cmsWidgetName: String, + footerButtonActionName: { + type: String, + default: null, + }, }, computed: { ModalName() { @@ -50,10 +55,16 @@ export default { openModal() { this.$refs[this.ModalName].openModal(); }, - - footerButtonClick() { + closeModal() { this.$refs[this.ModalName].closeModal(); }, + footerButtonClick() { + if (this.footerButtonActionName) { + this.$emit(this.footerButtonActionName, this.ModalName); + } else { + this.closeModal(); + } + }, }, components: { modal, diff --git a/src/fmg-components/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue similarity index 100% rename from src/fmg-components/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue rename to src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue diff --git a/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue new file mode 100644 index 000000000..a01d2d39f --- /dev/null +++ b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue @@ -0,0 +1,177 @@ + + + diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 45565d536..e0bf475ac 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -42,12 +42,10 @@ + vapsTilesCmsName="VapsProductTiles" /> - { @@ -320,7 +308,6 @@ export default { ); } }, - async piaSetup(payNowType) { this.$refs.loadingModal.showModal(); @@ -398,7 +385,6 @@ export default { cart, alert, addVapsModalButtons, - contentGroupModal, paymentMethodQuestion, }, }; From 2be4b378c136af2874297d20a162260e49df9f08 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Fri, 20 Oct 2023 10:38:13 -0400 Subject: [PATCH 2/2] CSR-1384: remove outdated code --- .../add-vaps-modal-buttons.vue | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue index a01d2d39f..3fc426d63 100644 --- a/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue +++ b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue @@ -73,21 +73,8 @@ export default { }, }, computed: { - currentCartItems: { - get: function () { - return this.modelValue; - }, - set: function (newValue) { - // does this.modelValue.vaps have this vap in it already? - const inCart = this.currentCartItems.vaps?.some((vap) => { - return vap.partType === "RAIN DEFENSE"; - }); - const newCartItems = this.currentCartItems; - if (!inCart) { - newCartItems.vaps.push(newValue); - } - this.$emit("update:modelValue", newCartItems); - }, + currentCartItems() { + return this.modelValue; }, showAddRainDefense() { // show if not in cart