From f1b600b446dfbbe6a63ddba208ca942b26c57fea Mon Sep 17 00:00:00 2001 From: bmauger Date: Thu, 26 May 2022 17:03:52 -0400 Subject: [PATCH 1/3] WIP footer menu modal. --- .../footer-menu-modal.spec.js | 1 + .../footer-menu-modal/footer-menu-modal.vue | 52 ++++++++++++++ .../funnel-footer/funnel-footer.vue | 6 +- .../funnel-header/funnel-header.vue | 6 ++ .../menu-button/menu-button.vue | 70 +++++++++++-------- src/layouts/vehicle-damage/vehicle-damage.vue | 2 +- src/styles/common-styles.scss | 12 +++- src/styles/ux-variables.scss | 4 ++ 8 files changed, 120 insertions(+), 33 deletions(-) create mode 100644 src/common-components/footer-menu-modal/footer-menu-modal.spec.js create mode 100644 src/common-components/footer-menu-modal/footer-menu-modal.vue diff --git a/src/common-components/footer-menu-modal/footer-menu-modal.spec.js b/src/common-components/footer-menu-modal/footer-menu-modal.spec.js new file mode 100644 index 000000000..3d0843e10 --- /dev/null +++ b/src/common-components/footer-menu-modal/footer-menu-modal.spec.js @@ -0,0 +1 @@ +test.todo("some test to be written in the future"); diff --git a/src/common-components/footer-menu-modal/footer-menu-modal.vue b/src/common-components/footer-menu-modal/footer-menu-modal.vue new file mode 100644 index 000000000..929461a53 --- /dev/null +++ b/src/common-components/footer-menu-modal/footer-menu-modal.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/common-components/funnel-footer/funnel-footer.vue b/src/common-components/funnel-footer/funnel-footer.vue index 27ee88cb3..4e7ce11c4 100644 --- a/src/common-components/funnel-footer/funnel-footer.vue +++ b/src/common-components/funnel-footer/funnel-footer.vue @@ -1,5 +1,5 @@ diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index d4e44feb7..557de9dae 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -5,7 +5,7 @@ ref="theForm" v-slot="{ meta }" > -
+
- +
@@ -1089,7 +1089,7 @@ import textboxQuestion from "@/common-components/textbox-question/textbox-question"; import dropdownQuestion from "@/common-components/dropdown-question/dropdown-question"; import vinInformation from "@/layouts/vin-lookup/vin-information/vin-information"; - import menuButton from "@/common-components/menu-button/menu-button"; + import menuModal from "@/common-components/menu-modal/menu-modal"; export default { name: "App", components: { @@ -1104,7 +1104,7 @@ textboxQuestion, dropdownQuestion, vinInformation, - menuButton, + menuModal, }, data() { return { diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index d0474d67b..0a30524ec 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -43,9 +43,9 @@ export default { } }, getFooterInfoBoxHeight() { - const footerInfoBox = document.querySelector(".footer #infoBox"); + const footerInfoBox = document.querySelector(".footer#infoBox"); return footerInfoBox ? footerInfoBox.offsetHeight : 0; - } + }, }, computed: { storeActions() { From 07c12f4d8be5272f20814c8c057813cace3afa74 Mon Sep 17 00:00:00 2001 From: bmauger Date: Tue, 31 May 2022 16:58:12 -0400 Subject: [PATCH 3/3] Temporarily exclude menu-modal from unit tests. Remove un-needed code. --- jest.config.js | 1 + .../funnel-footer/funnel-footer.spec.js | 28 ++----------------- .../funnel-footer/funnel-footer.vue | 3 -- .../funnel-header/funnel-header.vue | 1 - .../menu-modal/menu-modal.vue | 2 +- src/layouts/vehicle-damage/vehicle-damage.vue | 2 +- 6 files changed, 5 insertions(+), 32 deletions(-) diff --git a/jest.config.js b/jest.config.js index 839db4378..afe4a8e0e 100644 --- a/jest.config.js +++ b/jest.config.js @@ -29,6 +29,7 @@ module.exports = { "!src/common-components/textbox-question/textbox-question.vue", "!src/ux-components/alert\alert.vue", "!src/helpers/validation-rules.js", + "!src/common-components/menu-modal/menu-modal.vue", // END ], // ! means exclude from coverage. testMatch: ["**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"], diff --git a/src/common-components/funnel-footer/funnel-footer.spec.js b/src/common-components/funnel-footer/funnel-footer.spec.js index 198fa5657..d246b602b 100644 --- a/src/common-components/funnel-footer/funnel-footer.spec.js +++ b/src/common-components/funnel-footer/funnel-footer.spec.js @@ -3,30 +3,6 @@ import funnelFooter from "./funnel-footer"; describe("funnel-footer.vue", () => { - it("Should return footer-link class", async () => { - // Act - const r = { - test:"testing", - clientHeight: 10, - offsetHeight: 24, - }; - - global.document.querySelector = jest.fn().mockImplementation(()=> { - return r; - }); - - const wrapper = mount(funnelFooter, { - mixins: [mockMixin] - }); - - // Assert - const link = wrapper.find("a"); - - // Expect - expect(link.attributes('class')).toContain("footer"); - - }); - it("Should emit ForwardClicked on button click", async () => { // Act const wrapper = mount(funnelFooter, { @@ -53,7 +29,7 @@ describe("funnel-footer.vue", () => { mixins: [mockMixin] }); wrapper.vm.updateButtonText('newText'); - + // Assert expect(wrapper.componentVM.customButtontext).toBe('newText'); }); @@ -65,4 +41,4 @@ const mockMixin = { getCmsContent: jest.fn(), getFooterInfoBoxHeight: jest.fn(()=>80) } -} \ No newline at end of file +} diff --git a/src/common-components/funnel-footer/funnel-footer.vue b/src/common-components/funnel-footer/funnel-footer.vue index fb07779f0..ab4796325 100644 --- a/src/common-components/funnel-footer/funnel-footer.vue +++ b/src/common-components/funnel-footer/funnel-footer.vue @@ -63,9 +63,6 @@ export default { document.onkeydown = null; }, computed: { - height () { - return this.$refs.infoBox.clientHeight; - }, backLink(){ return this.getCmsContent(this.cmsWidgetName, 'BackButtonText'); }, diff --git a/src/common-components/funnel-header/funnel-header.vue b/src/common-components/funnel-header/funnel-header.vue index 24e6c53c1..2244a52ab 100644 --- a/src/common-components/funnel-header/funnel-header.vue +++ b/src/common-components/funnel-header/funnel-header.vue @@ -27,7 +27,6 @@ export default { data() { return { displayGlobalAlert: false, - headerHeight: 0, globalAlertMessage: { isDismissible: false, messageCopy: "", diff --git a/src/common-components/menu-modal/menu-modal.vue b/src/common-components/menu-modal/menu-modal.vue index 905c17b63..de26738f0 100644 --- a/src/common-components/menu-modal/menu-modal.vue +++ b/src/common-components/menu-modal/menu-modal.vue @@ -43,8 +43,8 @@ export default { self.isActive = false; }); myModalEl.addEventListener('show.bs.modal', function (event) { - self.isActive = true; self.currentFooterAndHeaderHeight = self.getFooterInfoBoxHeight() + 72; + self.isActive = true; }) }, components: { diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index 557de9dae..d4e44feb7 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -5,7 +5,7 @@ ref="theForm" v-slot="{ meta }" > -