diff --git a/src/common-components/funnel-header/funnel-header.vue b/src/common-components/funnel-header/funnel-header.vue index 97c67bd40..83d075a3a 100644 --- a/src/common-components/funnel-header/funnel-header.vue +++ b/src/common-components/funnel-header/funnel-header.vue @@ -9,8 +9,8 @@ class="position-absolute rounded-0 w-100 border-0 shadow-sm" v-if="displayGlobalAlert" :alertClass="globalAlertMessage.type" - :alertHeadline="globalAlertMessage.messageHeadline" - :alertCopy="globalAlertMessage.messageCopy" + :manualHeadline="globalAlertMessage.messageHeadline" + :manualCopy="globalAlertMessage.messageCopy" v-bind:isDismissible="globalAlertMessage.isDismissible" /> diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 77d6abe92..06eff0042 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -66,9 +66,6 @@ export async function navigateToHeritageFunnel() { { corid: store.getters.order.referralCorrelationId, src: "concept-funnel", - // TODO CSR-28, remove this - cns: "all", - experiments: "RemoveServiceAreaPage=ServAreaRemoval_V7=NoShowPackages_CONTROL=true,ConceptFunnel=ConceptFunnel_V1=ConceptFunnel_TEST=true" } ); } \ No newline at end of file diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 1f99a38bc..a6d181ddd 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -26,24 +26,21 @@
@@ -107,18 +104,6 @@ export default { // Call the "next" function to complete the transition to this page. next((vm) => { vm.setCmsContent(resultMap.cmsContent); - vm.noServiceZipWidget = { - headline: resultMap.cmsContent.NoServiceZipWidget.HeadlineText, - copy: resultMap.cmsContent.NoServiceZipWidget.BodyText, - }; - vm.noMatchAlertWidget = { - headline: resultMap.cmsContent.NoMatchAlertWidget.HeadlineText, - copy: resultMap.cmsContent.NoMatchAlertWidget.BodyText - }; - vm.matchedDifferentVehicleAlertWidget = { - headline: resultMap.cmsContent.MatchedDifferentVehicleAlertWidget.HeadlineText, - copy: resultMap.cmsContent.MatchedDifferentVehicleAlertWidget.BodyText - }; }); }, props: { diff --git a/src/layouts/vehicle-damage/vehicle-damage.spec.js b/src/layouts/vehicle-damage/vehicle-damage.spec.js index fe3a4aa51..282c30d86 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.spec.js +++ b/src/layouts/vehicle-damage/vehicle-damage.spec.js @@ -814,6 +814,7 @@ function setupMocks({ damageLocationQuestion.methods.initializeComponent; wrapper.vm.setCmsContent = baseMixin.methods.setCmsContent; + wrapper.vm.blockKeyDownInputFromKeyboard = baseMixin.methods.blockKeyDownInputFromKeyboard; return { wrapper, apiPromise }; } diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index da252308a..e5fd04523 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -24,10 +24,9 @@ />
@@ -99,9 +97,9 @@ export default ({ }, methods: { - initializeComponent( - windshieldAvailableReplacementOptions){ + initializeComponent(windshieldAvailableReplacementOptions){ this.windshieldAvailableReplacementOptions = windshieldAvailableReplacementOptions; + this.$refs.replaceOptionsQuestion.initializeComponent(windshieldAvailableReplacementOptions); }, getWindshieldOptions(selectedWindshieldDamageType, selectedWindshieldChipCount, selectedWindshieldReplaceOptions){ // ONLY UPDATE THE NEW VALUE IF IT IS TRUTHY (NOT NULL) diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index d4c3e164a..25291d218 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -9,8 +9,7 @@
@@ -74,13 +73,6 @@ export default { FeatureQuestionWidget: resultMap.cmsContent.FeatureQuestionWidget, }) ); - - // Set alertData for the page alert. These use props so we don't call - // initializeComponent here. - vm.alertWidgetData = { - copy: resultMap.cmsContent.AlertWidget.BodyText, - headline: resultMap.cmsContent.AlertWidget.HeadlineText, - }; }); }, data() { diff --git a/src/layouts/vehicle-year/vehicle-year.vue b/src/layouts/vehicle-year/vehicle-year.vue index 9e3dd7e2f..305cef7fc 100644 --- a/src/layouts/vehicle-year/vehicle-year.vue +++ b/src/layouts/vehicle-year/vehicle-year.vue @@ -64,8 +64,8 @@ export default { watch: { selectedYear(year) { - - this.$store.commit(this.storeMutations.UPDATE_YEAR, year); + const parsedYear = parseInt(year); + this.$store.commit(this.storeMutations.UPDATE_YEAR, parsedYear); this.$router.navigateAfterSave( this.navigationScenarios.SELECTED_YEAR, this.$route diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index b5a954c43..6b3658089 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -25,6 +25,11 @@ export default { return store.dispatch(type, payload); }, + blockKeyDownInputFromKeyboard(){ + document.onkeydown = function (e) { + return false; + }; + }, savePageDataToStore(page, data){ store.commit(storeMutations.UPDATE_PAGE_DATA, { page: page, data: data }); }, diff --git a/src/router/index.js b/src/router/index.js index 778c55cfc..1caa4f3af 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -34,6 +34,8 @@ const routes = [ path: "/", name: "root", async beforeEnter(to, from, next) { + document.onkeydown = null; + // If we have no query string, or we don't have the FmgPage query string. if (to.query.fmgPage === undefined) { await GoToFunnelStartOn404(next); diff --git a/src/ux-components/alert/alert.spec.js b/src/ux-components/alert/alert.spec.js index be6dc8df7..8072f8d73 100644 --- a/src/ux-components/alert/alert.spec.js +++ b/src/ux-components/alert/alert.spec.js @@ -3,28 +3,40 @@ import alert from "./alert"; describe("alert.vue", () => { - it("Should set isMultiParagraph to true if alertCopy is an array of strings", async () => { + it("Should add class 'alert-dismissible' if isDismissible is true", async () => { // Arrange const wrapper = shallowMount(alert, { propsData: { - alertCopy: ["one", "two"] + isDismissible: true }, + mixins: [mockMixin] }); + const wrapperDiv = wrapper.find('div'); + // Assert - expect(wrapper.vm.isMultiParagraph).toBe(true); + expect(wrapperDiv.classes()).toContain('alert-dismissible') }); - it("Should set isMultiParagraph to false if alertCopy is a single string", async () => { + it("Should add specified alert class", async () => { // Arrange const wrapper = shallowMount(alert, { propsData: { - alertCopy: "three" + alertClass: 'warning' }, + mixins: [mockMixin] }); + const wrapperDiv = wrapper.find('div'); + // Assert - expect(wrapper.vm.isMultiParagraph).toBe(false); + expect(wrapperDiv.classes()).toContain('warning') }); }); + +const mockMixin = { + methods: { + getCmsContent: jest.fn() + } +} \ No newline at end of file diff --git a/src/ux-components/alert/alert.vue b/src/ux-components/alert/alert.vue index 5b27f385a..e8f8848a7 100644 --- a/src/ux-components/alert/alert.vue +++ b/src/ux-components/alert/alert.vue @@ -5,12 +5,7 @@ :class="[isDismissible ? 'alert-dismissible' : '', this.alertClass]" >

{{ alertHeadline }}

- -

- {{ para }} -

-
-

{{ alertCopy }}

+