From fc3e57321e495d133a1fb2a85ac39385a225f8bb Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Sun, 12 Jan 2025 15:41:57 -0500 Subject: [PATCH 01/15] CASH-79: fix problems when loader suppressed --- src/ux-components/button-main/button-main.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ux-components/button-main/button-main.vue b/src/ux-components/button-main/button-main.vue index 9cc61e051..848cf3866 100644 --- a/src/ux-components/button-main/button-main.vue +++ b/src/ux-components/button-main/button-main.vue @@ -5,7 +5,7 @@ :class="[ isPrimary ? 'btn-primary' : 'btn-secondary', isFloat ? 'float-end' : '', - isLoaderDisplayed ? 'has-loader' : '', + (isLoaderDisplayed && !suppressLoader) ? 'has-loader' : '', ]" @click="clicked"> {{ this.buttonText }} @@ -47,7 +47,7 @@ export default { true ); if (!this.isDisabled) { - this.isLoaderDisplayed = true; + if (!this.suppressLoader) this.isLoaderDisplayed = true; this.$emit("click-event"); } }, From 4bf51c09ea70cfee25480021e081e4fc06136b7b Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Sun, 12 Jan 2025 15:54:52 -0500 Subject: [PATCH 02/15] create new save progress components --- .../questions-page-layout.vue | 5 + .../save-progress-modal-question.vue | 112 ++++++++++++++++++ .../save-progress-question.vue | 62 ++++++++++ 3 files changed, 179 insertions(+) create mode 100644 src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue create mode 100644 src/fmg-components/save-progress-modal-question/save-progress-question/save-progress-question.vue diff --git a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue index 982738394..281ffff0e 100644 --- a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue +++ b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue @@ -43,6 +43,9 @@ :isForwardActionDisabled="!isMetaValid" @back-clicked="handleBackButtonAction" @ForwardClicked="handleForwardButtonAction" /> + + @@ -57,6 +60,7 @@ import questionChain from "@/digital-components/question-chain/question-chain"; import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header"; import navbar from "@/fmg-components/nav-bar/nav-bar"; import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue"; +import saveProgressModalQuestion from "@/fmg-components/save-progress-modal-question/save-progress-modal-question"; export default { name: "questions-page", @@ -99,6 +103,7 @@ export default { funnelSubHeader, navbar, loadingModal, + saveProgressModalQuestion, }, }; diff --git a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue new file mode 100644 index 000000000..e9c04f5e8 --- /dev/null +++ b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/fmg-components/save-progress-modal-question/save-progress-question/save-progress-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-question/save-progress-question.vue new file mode 100644 index 000000000..221aa3415 --- /dev/null +++ b/src/fmg-components/save-progress-modal-question/save-progress-question/save-progress-question.vue @@ -0,0 +1,62 @@ + + + From ba32c8e417957df167a256873cd2b5f55f160229 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Sun, 12 Jan 2025 17:46:01 -0500 Subject: [PATCH 03/15] CASH-79: add ability to stop page scroll on modal open/close --- src/digital-components/modal/modal.vue | 3 +++ .../layouts/questions-page-layout/questions-page-layout.vue | 3 +-- .../save-progress-modal-question.vue | 2 +- src/styles/common-styles.scss | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/digital-components/modal/modal.vue b/src/digital-components/modal/modal.vue index 37ebee18e..f61238c2a 100644 --- a/src/digital-components/modal/modal.vue +++ b/src/digital-components/modal/modal.vue @@ -53,6 +53,7 @@ export default { props: { headerText: String, footerButtonText: String, + suppressPageScroll: Boolean, onModalOpenedCallback: { type: Function, }, @@ -107,8 +108,10 @@ export default { onModalClosed() { this.resetButtonStyle(); this.onModalClosedCallback?.(); + if (this.suppressPageScroll) document.querySelector("body").classList.remove("prevent-modal-scroll"); }, openModal() { + if (this.suppressPageScroll) document.querySelector("body").classList.add("prevent-modal-scroll"); const modal = Modal.getOrCreateInstance(document.getElementById(this.modalId)); modal.show(); this.$emit("isModalOpened", true); diff --git a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue index 281ffff0e..a82d77ff0 100644 --- a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue +++ b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue @@ -44,8 +44,7 @@ @back-clicked="handleBackButtonAction" @ForwardClicked="handleForwardButtonAction" /> - + diff --git a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue index e9c04f5e8..748825b62 100644 --- a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue +++ b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue @@ -9,6 +9,7 @@ @@ -80,7 +81,6 @@ export default { // TODO send store call to send to new API (that triggers an email send) // TODO hide button trigger and replace with success message - }, }, diff --git a/src/styles/common-styles.scss b/src/styles/common-styles.scss index 002debed8..a378f881e 100644 --- a/src/styles/common-styles.scss +++ b/src/styles/common-styles.scss @@ -77,7 +77,7 @@ body { } } } -.modal-open { +.modal-open:not(.prevent-modal-scroll) { .container-fluid { &.page-container-grouped-styles { overflow: hidden; From 14b899453f069e66ea7411f54fa24d7c13398d03 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Mon, 13 Jan 2025 10:01:42 -0500 Subject: [PATCH 04/15] CASH-79: add Save Progress success alert message --- .../save-progress-modal-question.vue | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue index 748825b62..627900ef9 100644 --- a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue +++ b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue @@ -2,14 +2,21 @@
+ @@ -27,6 +34,7 @@ import saveProgressQuestion from "@/fmg-components/save-progress-modal-question/ import modal from "@/digital-components/modal/modal"; import { storeActions } from "@/constants/store-actions.js"; import buttonMain from "@/ux-components/button-main/button-main"; +import alert from "@/ux-components/alert/alert"; export default { name: "save-progress-modal-question", @@ -34,6 +42,7 @@ export default { data() { return { userInput: "", + isProgressSaved: false, }; }, props: { @@ -69,15 +78,18 @@ export default { this.modal.openModal(); this.modal.resetButtonStyle(); }, - closeModal() { - this.modal.closeModal(); - }, + // onModalClosed() { + // this.isProgressSaved = true; + // }, async saveProgress() { console.log("Saving Progress! userInput is: ", this.userInput); // save email address to store await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.userInput, false); + // hide save progress button; show success message alert + this.isProgressSaved = true; + // TODO send store call to send to new API (that triggers an email send) // TODO hide button trigger and replace with success message @@ -88,6 +100,7 @@ export default { modal, buttonMain, saveProgressQuestion, + alert, }, }; From 7a7ed5a17ad3947efbaac4f834e53cd9dd4c646c Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Mon, 13 Jan 2025 10:03:27 -0500 Subject: [PATCH 05/15] CASH-79: add Save Progress success alert message --- .../save-progress-modal-question.vue | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue index 627900ef9..6d0472541 100644 --- a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue +++ b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue @@ -16,7 +16,6 @@ :ref="modalName" :headerText="modalHeaderText" suppressPageScroll - :onModalClosedCallback="onModalClosed" :footerButtonText="modalButtonText" @footer-button-event="saveProgress"> @@ -78,9 +77,6 @@ export default { this.modal.openModal(); this.modal.resetButtonStyle(); }, - // onModalClosed() { - // this.isProgressSaved = true; - // }, async saveProgress() { console.log("Saving Progress! userInput is: ", this.userInput); From ca5939d1efcd64554a0cc9be9959ac16866c0b84 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Mon, 13 Jan 2025 11:36:51 -0500 Subject: [PATCH 06/15] CASH-79: move save progress out of questions-page-layout up to page level --- .../questions-page-layout.vue | 16 +++++++++++----- .../save-progress-modal-question.vue | 3 +++ src/layouts/part-questions/part-questions.vue | 9 ++++++++- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue index a82d77ff0..2c4d71803 100644 --- a/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue +++ b/src/fmg-components/layouts/questions-page-layout/questions-page-layout.vue @@ -25,7 +25,7 @@
-
+
+ + - -
@@ -59,7 +59,6 @@ import questionChain from "@/digital-components/question-chain/question-chain"; import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header"; import navbar from "@/fmg-components/nav-bar/nav-bar"; import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue"; -import saveProgressModalQuestion from "@/fmg-components/save-progress-modal-question/save-progress-modal-question"; export default { name: "questions-page", @@ -102,7 +101,6 @@ export default { funnelSubHeader, navbar, loadingModal, - saveProgressModalQuestion, }, }; @@ -116,5 +114,13 @@ export default { text-align: left; } } + .question-chain-wrapper { + display: flex; + flex-direction: column; + + .nav-bar { + order: 1; + } + } } diff --git a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue index 6d0472541..7df928ac8 100644 --- a/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue +++ b/src/fmg-components/save-progress-modal-question/save-progress-modal-question.vue @@ -102,6 +102,9 @@ export default {