From 6c770a6e261f29684a38e0e6cf970a22b3e1e820 Mon Sep 17 00:00:00 2001 From: bmauger Date: Fri, 25 Mar 2022 15:32:13 -0400 Subject: [PATCH 01/70] CSR-101 vin-lookup updates WIP --- src/constants/error-messages.js | 6 +- src/layouts/vin-lookup/vin-lookup.vue | 262 ++++++++++++++++++++++++-- 2 files changed, 246 insertions(+), 22 deletions(-) diff --git a/src/constants/error-messages.js b/src/constants/error-messages.js index 2b3382dc9..d552abd44 100644 --- a/src/constants/error-messages.js +++ b/src/constants/error-messages.js @@ -15,6 +15,8 @@ const errorMessages = { LAST_NAME_REQUIRED: "Please enter your last name", EMAIL_ADDRESS_REQUIRED: "Please enter your email address", EMAIL_ADDRESS_FORMAT: "Please enter a valid email address", + VIN_REQUIRED: "Please enter your VIN", + VIN_FORMAT: "Please enter a valid VIN", }; - -export { errorMessages }; \ No newline at end of file + +export { errorMessages }; diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index fc9058abf..1311bd05b 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -1,41 +1,263 @@ - - From b35a3b5698bd46eaf3ae45045faa402f271ab64a Mon Sep 17 00:00:00 2001 From: bmauger Date: Mon, 28 Mar 2022 13:15:50 -0400 Subject: [PATCH 02/70] WIP vin-lookup page --- src/router/router-constants/routing-table.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 584796a61..bef8fe234 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -102,7 +102,7 @@ const routingTable = [ maps: [ { scenario: navigationScenarios.CLICKED_BACK, - destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, + destinationFmgPageValue: fmgPageValues.REVEAL, }, { scenario: navigationScenarios.VIN_LOOKUP, From 478f09bd8897ba57f546b4b930d8a4319ad0e59a Mon Sep 17 00:00:00 2001 From: bmauger Date: Fri, 1 Apr 2022 10:07:50 -0400 Subject: [PATCH 03/70] WIP --- src/helpers/heritage-integration/navigation-helper.js | 8 ++++---- src/router/router-constants/routing-table.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 12207acf4..d1170cc24 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -8,7 +8,7 @@ import router from "@/router"; /* If the user has visited the funnel before this method will determine the bets place to drop them so they don't start at the beginning again. This method will return 'heritage' if - the user has an existing order and they come back in from the Safelite.com CTA. + the user has an existing order and they come back in from the Safelite.com CTA. */ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHeritageOrder = false) { @@ -43,8 +43,8 @@ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHerita return 'vehicle-damage' } else { if (store.getters.vehicle.vin) { - return 'vehicle-damage'; - //return "vin-lookup"; (uncomment) + //return 'vehicle-damage'; //(uncomment) + return "vin-lookup"; //This may be temporary } else { return 'vehicle-damage'; //return "estimate" (uncomment) @@ -69,4 +69,4 @@ export async function navigateToHeritageFunnel() { src: "concept-funnel", } ); -} \ No newline at end of file +} diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 2d7771d21..79c84f36b 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -68,7 +68,7 @@ const routingTable = [ }, { scenario: navigationScenarios.SELECTED_DAMAGE_WITH_PART_QUESTIONS, - destinationFmgPageValue: fmgPageValues.PART_QUESTIONS, + destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,//This might be temporary }, ], }, From 6d69c7c7af2b21746d960219a4e2a5671ed05294 Mon Sep 17 00:00:00 2001 From: bmauger Date: Tue, 5 Apr 2022 15:01:40 -0400 Subject: [PATCH 04/70] WIP Updates to vin-lookup page. --- src/layouts/vin-lookup/vin-lookup.vue | 113 ++++++++++++++------------ 1 file changed, 63 insertions(+), 50 deletions(-) diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 1311bd05b..c5ddda85f 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -6,9 +6,9 @@ v-slot="{ meta }" >
- - - + + +
@@ -21,38 +21,73 @@
- +
- +
+ + + + +
- +
{ - vm.$refs.funnelHeader.initializeComponent( - resultMap.cmsContent.FunnelHeaderWidget - ); - vm.$refs.vehicleBanner.initializeComponent( - resultMap.cmsContent.VehicleBannerWidget - ); - vm.$refs.funnelSubHeader.initializeComponent( - resultMap.cmsContent.FunnelSubHeaderWidget - ); - vm.$refs.VinNumber.initializeComponent( - resultMap.cmsContent.VinNumber.QuestionText - ); - vm.$refs.ServiceZIP.initializeComponent( - resultMap.cmsContent.ServiceZIP.QuestionText - ); - vm.$refs.EmailAddress.initializeComponent( - resultMap.cmsContent.EmailAddress.QuestionText - ); - vm.$refs.funnelFooter.initializeComponent( - resultMap.cmsContent.FunnelFooterWidget - ); + //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 - // }; + copy: resultMap.cmsContent.NoServiceZipWidget.BodyText, + }; + vm.noMatchAlertWidget = { + headline: resultMap.cmsContent.NoMatchAlertWidget.HeadlineText, + copy: resultMap.cmsContent.NoMatchAlertWidget.BodyText + }; + vm.MatchedDifferentVehicle = { + headline: resultMap.cmsContent.MatchedDifferentVehicle.HeadlineText, + copy: resultMap.cmsContent.MatchedDifferentVehicle.BodyText + }; }); }, props: { @@ -177,7 +190,7 @@ export default { async forwardButtonAction() { const zipValidation = this.serviceZip ? await this.validateZip(this.serviceZip) : await this.validateZip(this.zip); if (!zipValidation.data.isServiceable) { - this.$refs.funnelFooter.removeLoader(); + //this.$refs.funnelFooter.removeLoader(); this.newServiceZipRequired = true; return; } @@ -188,7 +201,7 @@ export default { }); if (vinLookup.data.vehicle.carId !== store.getters.vehicle.carId) { this.$refs.funnelFooter.updateButtonText(`Continue with ${vinLookup.data.vin} ${vinLookup.data.vehicle.year} ${vinLookup.data.vehicle.make} ${vinLookup.data.vehicle.model}`); - this.$refs.funnelFooter.removeLoader(); + //this.$refs.funnelFooter.removeLoader(); this.vinDoesNotMatchCarId = true; return; } From 4ccda4ee93046ec5bc1004d0c07f9b1b4f01c646 Mon Sep 17 00:00:00 2001 From: bmauger Date: Wed, 6 Apr 2022 17:08:25 -0400 Subject: [PATCH 05/70] WIP --- src/layouts/vin-lookup/vin-lookup.vue | 29 ++++++++++++-------- src/router/router-constants/routing-table.js | 2 +- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index c5ddda85f..f0721b66c 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -11,7 +11,7 @@
- +
@@ -21,7 +21,7 @@
- +
@@ -85,12 +85,8 @@ :alertHeadline="PerfectMatchNewVinAlert.headline" :alertCopy="PerfectMatchNewVinAlert.copy" /> -
-
- -
-
{ - //vm.setCmsContent(resultMap.cmsContent); + vm.setCmsContent(resultMap.cmsContent); vm.noServiceZipWidget = { headline: resultMap.cmsContent.NoServiceZipWidget.HeadlineText, copy: resultMap.cmsContent.NoServiceZipWidget.BodyText, @@ -157,6 +153,10 @@ export default { headline: resultMap.cmsContent.MatchedDifferentVehicle.HeadlineText, copy: resultMap.cmsContent.MatchedDifferentVehicle.BodyText }; + vm.PerfectMatchNewVinAlert = { + headline: resultMap.cmsContent.PerfectMatchNewVinAlert.HeadlineText, + copy: resultMap.cmsContent.PerfectMatchNewVinAlert.BodyText + }; }); }, props: { @@ -164,13 +164,18 @@ export default { }, data() { return { + MatchedDifferentVehicle: false, + NoMatchAlertWidget: false, + PerfectMatchNewVinAlert: false, + NoServiceZipWidget: false, + VinFoundWidget: false, + VinFoundReadOnlyWidget: false, + FoundWindshieldAlert: false, newServiceZipRequired: false, - vinNotValid: false, - vinDoesNotMatchCarId: false, - licensePlate: '', + VinNotFound: false, + vin: '', zip: '', email: '', - serviceZip: '', }; }, methods: { diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 20c8d97b3..620c788e2 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -60,7 +60,7 @@ const routingTable = [ }, { scenario: navigationScenarios.SELECTED_DAMAGE_WITH_SINGLE_PART, - destinationFmgPageValue: fmgPageValues.REVEAL + destinationFmgPageValue: fmgPageValues.VIN_LOOKUP, }, { scenario: navigationScenarios.SELECTED_DAMAGE_WITH_MULTIPLE_PARTS, From 6db315e01af0cfbc88d8eab835ab21d6d992d25f Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 8 Apr 2022 09:25:04 -0400 Subject: [PATCH 06/70] Fixing up part question widget retrieval --- .../heritage-integration/navigation-helper.js | 2 +- .../license-plate-lookup.vue | 4 +++- src/layouts/part-questions/part-questions.vue | 23 ++++++------------- .../windshield-options/windshield-options.vue | 1 + 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 77d6abe92..d9d231541 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -43,7 +43,7 @@ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHerita return 'vehicle-damage' } else { if (store.getters.vehicle.vin) { - return 'vehicle-damage'; + return 'heritage'; //return "vin-lookup"; (uncomment) } else { return 'vehicle-damage'; diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 1f99a38bc..b535bbcdb 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -80,6 +80,7 @@ import { storeMutations } from "@/constants/store-mutations"; import { errorMessages } from "@/constants/error-messages"; import { required, regex } from "@/helpers/validation-rules"; import { Form, defineRule } from "vee-validate"; +import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; // DEFINE VALIDATION RULES defineRule("license-plate-required", required(errorMessages.LICENSE_PLATE_REQUIRED)); @@ -188,7 +189,8 @@ export default { this.$router.navigateAfterSave(this.navigationScenarios.CONTINUING_WITH_MULTIPLE_PARTS, this.$route, {}, {}, partsData.data); return; } else { - this.$router.navigate(this.navigationScenarios.CONTINUING_WITH_SINGLE_PART, this.$route); + navigateToHeritageFunnel(); + return; } }, validateZip(zip) { diff --git a/src/layouts/part-questions/part-questions.vue b/src/layouts/part-questions/part-questions.vue index c1b9142bd..0cb64dcbc 100644 --- a/src/layouts/part-questions/part-questions.vue +++ b/src/layouts/part-questions/part-questions.vue @@ -1,10 +1,12 @@ @@ -49,18 +51,7 @@ export default { // Call the "next" function to complete the transition to this page. next((vm) => { - vm.$refs.funnelHeader.initializeComponent( - resultMap.cmsContent.FunnelHeaderWidget - ); - vm.$refs.vehicleBanner.initializeComponent( - resultMap.cmsContent.VehicleBannerWidget - ); - vm.$refs.funnelSubHeader.initializeComponent( - resultMap.cmsContent.FunnelSubHeaderWidget - ); - vm.$refs.funnelFooter.initializeComponent( - resultMap.cmsContent.FunnelFooterWidget - ); + vm.setCmsContent(resultMap.cmsContent); }); }, methods: { diff --git a/src/layouts/vehicle-damage/windshield-options/windshield-options.vue b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue index 7802dfbff..584242a37 100644 --- a/src/layouts/vehicle-damage/windshield-options/windshield-options.vue +++ b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue @@ -102,6 +102,7 @@ export default ({ 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) From 047d8adacfd1ffbb77e4e10655d48a57ccf0f0bf Mon Sep 17 00:00:00 2001 From: CarlNation Date: Mon, 11 Apr 2022 09:33:33 -0400 Subject: [PATCH 07/70] CSR-478 Block keyboard input after button click --- src/layouts/vehicle-damage/vehicle-damage.vue | 2 ++ src/mixins/base-mixin.js | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index b84e2fbfa..d9cdd1f0f 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -258,6 +258,8 @@ export default { }, async forwardButtonAction() { + this.blockKeyboard(); + store.commit(this.storeMutations.UPDATE_IS_REPAIR, this.isWindshieldRepair); if (this.isWindshieldRepair){ diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index b5a954c43..7160cc3d9 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -25,6 +25,11 @@ export default { return store.dispatch(type, payload); }, + blockKeyboard(){ + document.onkeydown = function (e) { + return false; + }; + }, savePageDataToStore(page, data){ store.commit(storeMutations.UPDATE_PAGE_DATA, { page: page, data: data }); }, From b6966aade08cc2f7ae83907b82252166101ca4fe Mon Sep 17 00:00:00 2001 From: CarlNation Date: Mon, 11 Apr 2022 10:11:47 -0400 Subject: [PATCH 08/70] CSR-478 rename and add mock for test --- src/layouts/vehicle-damage/vehicle-damage.spec.js | 1 + src/layouts/vehicle-damage/vehicle-damage.vue | 2 +- src/mixins/base-mixin.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) 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 d9cdd1f0f..f9207e710 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -258,7 +258,7 @@ export default { }, async forwardButtonAction() { - this.blockKeyboard(); + this.blockKeyDownInputFromKeyboard(); store.commit(this.storeMutations.UPDATE_IS_REPAIR, this.isWindshieldRepair); diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 7160cc3d9..6b3658089 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -25,7 +25,7 @@ export default { return store.dispatch(type, payload); }, - blockKeyboard(){ + blockKeyDownInputFromKeyboard(){ document.onkeydown = function (e) { return false; }; From 710898a3fe58ecb71d9d6f401a6381a2789f81d9 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Mon, 11 Apr 2022 11:03:31 -0400 Subject: [PATCH 09/70] CSR-478 reset keydown after navigation --- src/router/index.js | 2 ++ 1 file changed, 2 insertions(+) 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); From b16beff2d7689ed8f0d4a11f335659267e4c1def Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 11 Apr 2022 13:28:08 -0400 Subject: [PATCH 10/70] Adding navigation scenarios --- .../heritage-integration/navigation-helper.js | 4 +- .../license-plate-lookup.vue | 57 ++++++++++++------- 2 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index d9d231541..d72b78964 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -43,10 +43,10 @@ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHerita return 'vehicle-damage' } else { if (store.getters.vehicle.vin) { - return 'heritage'; + return 'vehicle-damage'; //return "vin-lookup"; (uncomment) } else { - return 'vehicle-damage'; + return 'license-plate-lookup'; //return "estimate" (uncomment) } } diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 2f6782a40..9d447e848 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -105,6 +105,7 @@ export default { // Call the "next" function to complete the transition to this page. next((vm) => { vm.setCmsContent(resultMap.cmsContent); + console.log(store.state) }); }, props: { @@ -142,25 +143,39 @@ export default { this.newServiceZipRequired = true; return; } - const vinLookup = await this.lookupVin(this.licensePlate, zipValidation.data.state).catch(() => { + const vinLookup = await this.lookupVin(this.licensePlate, zipValidation.data.state).catch((err) => { + console.log(err) this.$refs.funnelFooter.removeLoader(); this.vinNotValid = true; return; }); - if (vinLookup.data.vehicle.carId !== store.getters.vehicle.carId) { + if (vinLookup.data.vehicle.carId !== store.getters.vehicle.carId && !this.vinDoesNotMatchCarId) { this.$refs.funnelFooter.updateButtonText(`Continue with ${vinLookup.data.vin} ${vinLookup.data.vehicle.year} ${vinLookup.data.vehicle.make} ${vinLookup.data.vehicle.model}`); this.$refs.funnelFooter.removeLoader(); this.vinDoesNotMatchCarId = true; return; } + let vin; + let carInfo; + + if(this.vinDoesNotMatchCarId) { + vin = vinLookup.data.vin; + carInfo = vinLookup.data.vehicle; + } else { + vin = store.getters.vehicle.vin; + carInfo = store.getters.vehicle; + } + + this.updateStore(vin, carInfo, zipValidation.data.state); + const partsData = await baseMixin.methods.dispatchNonBlockingStoreAction( this.storeActions.GET_PARTS_OR_QUESTIONS, { - carId: store.getters.vehicle.carId, + carId: carInfo.carId, glassArray: store.getters.damage.glassToReplace, - zipCode: this.zip, - vin: vinLookup.vin + zipCode: this.serviceZip ? this.serviceZip : this.zip, + vin: vin }, false ); @@ -190,25 +205,25 @@ export default { { licensePlate: plate, licenseState: state } ); }, - updateStore() { + updateStore(vin, carInfo, registrationState) { // if(vehicleDamage){ // store.dispatch(storeActions.RESET_DAMAGE_STATE_AND_DEPENDENCIES); // } - store.commit(storeMutations.UPDATE_VEHICLE_VIN, null); - store.commit(storeMutations.UPDATE_YEAR, null); - store.commit(storeMutations.UPDATE_MAKE, null); - store.commit(storeMutations.UPDATE_MODEL, null); - store.commit(storeMutations.UPDATE_STYLE, null); - store.commit(storeMutations.UPDATE_CAR_ID, null); - store.commit(storeMutations.UPDATE_VEHICLE_CATEGORY, null); - store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_URL, null); - store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_VIF_NUMBER, null); - store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_COLOR, null); - store.commit(storeMutations.UPDATE_REGISTRATION_LICENSE_PLATE, null); - store.commit(storeMutations.UPDATE_REGISTRATION_STATE, null); - store.commit(storeMutations.UPDATE_REGISTRATION_ZIP_CODE, null); - store.commit(storeMutations.UPDATE_SERVICE_LOCATION_ZIP, null); - store.commit(storeMutations.UPDATE_CUSTOMER_EMAIL_ADDRESS, null); + store.commit(storeMutations.UPDATE_VEHICLE_VIN, vin); + store.commit(storeMutations.UPDATE_YEAR, carInfo.year); + store.commit(storeMutations.UPDATE_MAKE, carInfo.make); + store.commit(storeMutations.UPDATE_MODEL, carInfo.model); + store.commit(storeMutations.UPDATE_STYLE, carInfo.style); + store.commit(storeMutations.UPDATE_CAR_ID, carInfo.carId); + store.commit(storeMutations.UPDATE_VEHICLE_CATEGORY, carInfo.category); + store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_URL, carInfo.imageUrl); + store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_VIF_NUMBER, carInfo.imageVifNumber); + store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_COLOR, carInfo.imageColor); + store.commit(storeMutations.UPDATE_REGISTRATION_LICENSE_PLATE, this.licensePlate); + store.commit(storeMutations.UPDATE_REGISTRATION_STATE, registrationState); + store.commit(storeMutations.UPDATE_REGISTRATION_ZIP_CODE, this.zip); + store.commit(storeMutations.UPDATE_SERVICE_LOCATION_ZIP, this.serviceZip); + store.commit(storeMutations.UPDATE_CUSTOMER_EMAIL_ADDRESS, this.email); }, }, components: { From cc2e00b88d1af1789745ac8b836c768182f12db3 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Mon, 11 Apr 2022 13:51:52 -0400 Subject: [PATCH 11/70] parsed string for int to make consistent with documentation --- src/layouts/vehicle-damage/vehicle-damage.vue | 2 +- src/layouts/vehicle-year/vehicle-year.vue | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index f9207e710..e5fd04523 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -278,7 +278,7 @@ export default { navigateForward(partsData){ // CSR-98 TEMP - const vehicleYearsToShowHeritageFunnel = [ "2001", "2002", "2010" ]; + const vehicleYearsToShowHeritageFunnel = [ 2001, 2002, 2010 ]; if (vehicleYearsToShowHeritageFunnel.includes(store.getters.vehicle.year)) { navigateToHeritageFunnel(); return; 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 From c2e39d8b1be6f32dcadf87b8123a08fa0d2de85b Mon Sep 17 00:00:00 2001 From: CarlNation Date: Mon, 11 Apr 2022 14:48:21 -0400 Subject: [PATCH 12/70] CSR-482 defect the cms returns styling html embedded for the content and it is displaying the html in the alert box --- src/ux-components/alert/alert.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ux-components/alert/alert.vue b/src/ux-components/alert/alert.vue index 515658e16..e8f8848a7 100644 --- a/src/ux-components/alert/alert.vue +++ b/src/ux-components/alert/alert.vue @@ -5,7 +5,7 @@ :class="[isDismissible ? 'alert-dismissible' : '', this.alertClass]" >

{{ alertHeadline }}

-

{{ alertCopy }}

+

- + { vm.setCmsContent(resultMap.cmsContent); - vm.noServiceZipWidget = { - headline: resultMap.cmsContent.NoServiceZipWidget.HeadlineText, - copy: resultMap.cmsContent.NoServiceZipWidget.BodyText, + vm.matchedDifferentVehicleWidget = { + headline: resultMap.cmsContent.MatchedDifferentVehicle.HeadlineText, + copy: resultMap.cmsContent.MatchedDifferentVehicle.BodyText }; vm.noMatchAlertWidget = { headline: resultMap.cmsContent.NoMatchAlertWidget.HeadlineText, copy: resultMap.cmsContent.NoMatchAlertWidget.BodyText }; - vm.MatchedDifferentVehicle = { - headline: resultMap.cmsContent.MatchedDifferentVehicle.HeadlineText, - copy: resultMap.cmsContent.MatchedDifferentVehicle.BodyText + vm.noServiceZipWidget = { + headline: resultMap.cmsContent.NoServiceZipWidget.HeadlineText, + copy: resultMap.cmsContent.NoServiceZipWidget.BodyText }; - vm.PerfectMatchNewVinAlert = { + vm.vinFoundWidget = { + headline: resultMap.cmsContent.VinFoundWidget.HeadlineText, + copy: resultMap.cmsContent.VinFoundWidget.BodyText + }; + vm.vinFoundReadOnlyWidget = { + headline: resultMap.cmsContent.VinFoundReadOnlyWidget.HeadlineText, + copy: resultMap.cmsContent.VinFoundReadOnlyWidget.BodyText + }; + vm.foundWindshieldAlertWidget = { + headline: resultMap.cmsContent.FoundWindshieldAlert.HeadlineText, + copy: resultMap.cmsContent.FoundWindshieldAlert.BodyText + }; + vm.vinNotFoundWidget = { + headline: resultMap.cmsContent.VinNotFound.HeadlineText, + copy: resultMap.cmsContent.VinNotFound.BodyText + }; + vm.perfectMatchNewVinAlertWidget = { headline: resultMap.cmsContent.PerfectMatchNewVinAlert.HeadlineText, copy: resultMap.cmsContent.PerfectMatchNewVinAlert.BodyText }; @@ -164,15 +183,14 @@ export default { }, data() { return { - MatchedDifferentVehicle: false, - NoMatchAlertWidget: false, - PerfectMatchNewVinAlert: false, - NoServiceZipWidget: false, - VinFoundWidget: false, - VinFoundReadOnlyWidget: false, - FoundWindshieldAlert: false, - newServiceZipRequired: false, - VinNotFound: false, + matchedDifferentVehicle: false, + noMatchAlert: false, + noServiceZip: false, + vinFound: false, + vinFoundReadOnly: false, + foundWindshieldAlert: false, + vinNotFound: false, + perfectMatchNewVinAlert: false, vin: '', zip: '', email: '', @@ -193,24 +211,18 @@ export default { this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route); }, async forwardButtonAction() { - const zipValidation = this.serviceZip ? await this.validateZip(this.serviceZip) : await this.validateZip(this.zip); + const zipValidation = await this.validateZip(this.zip); + console.log(zipValidation); if (!zipValidation.data.isServiceable) { - //this.$refs.funnelFooter.removeLoader(); - this.newServiceZipRequired = true; + this.$refs.funnelFooter.removeLoader(); + this.noServiceZip = true; return; } - const vinLookup = await this.lookupVin(this.licensePlate, zipValidation.data.state).catch(() => { + const vinLookup = await this.lookupVin(this.vin).catch(() => { this.$refs.funnelFooter.removeLoader(); this.vinNotValid = true; return; }); - if (vinLookup.data.vehicle.carId !== store.getters.vehicle.carId) { - this.$refs.funnelFooter.updateButtonText(`Continue with ${vinLookup.data.vin} ${vinLookup.data.vehicle.year} ${vinLookup.data.vehicle.make} ${vinLookup.data.vehicle.model}`); - //this.$refs.funnelFooter.removeLoader(); - this.vinDoesNotMatchCarId = true; - return; - } - const partsData = await baseMixin.methods.dispatchNonBlockingStoreAction( this.storeActions.GET_PARTS_OR_QUESTIONS, { @@ -240,10 +252,10 @@ export default { { zip } ); }, - lookupVin(plate, state) { + lookupVin(vin) { return baseMixin.methods.dispatchNonBlockingStoreAction( - storeActions.LOOKUP_VIN_BY_PLATE, - { licensePlate: plate, licenseState: state } + storeActions.LOOKUP_VEHICLE_BY_VIN, + { vin } ); }, updateStore() { @@ -260,9 +272,6 @@ export default { store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_URL, null); store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_VIF_NUMBER, null); store.commit(storeMutations.UPDATE_VEHICLE_IMAGE_COLOR, null); - store.commit(storeMutations.UPDATE_REGISTRATION_LICENSE_PLATE, null); - store.commit(storeMutations.UPDATE_REGISTRATION_STATE, null); - store.commit(storeMutations.UPDATE_REGISTRATION_ZIP_CODE, null); store.commit(storeMutations.UPDATE_SERVICE_LOCATION_ZIP, null); store.commit(storeMutations.UPDATE_CUSTOMER_EMAIL_ADDRESS, null); }, From f14570f7e311ba2794ecb21229a35beb1ef121bc Mon Sep 17 00:00:00 2001 From: Katie Date: Mon, 11 Apr 2022 15:13:44 -0400 Subject: [PATCH 14/70] CSR-98 Remove test query strings --- src/helpers/heritage-integration/navigation-helper.js | 3 --- 1 file changed, 3 deletions(-) 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 From ac93b8fc6006d1acb3405865a416afd43d87949a Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Mon, 11 Apr 2022 17:03:37 -0400 Subject: [PATCH 15/70] CSR-459: fixes to error focus direction and error styling --- .../button-question/button-question.vue | 4 +++- .../textbox-question/textbox-question.vue | 2 +- src/styles/common-error-styles.scss | 10 ---------- .../list-button-horizontal/list-button-horizontal.vue | 10 ++++++---- src/ux-components/list-button/list-button.vue | 5 ++--- src/ux-components/list-card/list-card.vue | 4 +--- 6 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/common-components/button-question/button-question.vue b/src/common-components/button-question/button-question.vue index 79937c780..7b208a51e 100644 --- a/src/common-components/button-question/button-question.vue +++ b/src/common-components/button-question/button-question.vue @@ -6,7 +6,9 @@
- {{groupName}} + + {{(isMultiSelect && answers.length > 1) ? 'Select one or more options below.' : 'Select an option below.' }} +
-
+
@@ -11,7 +11,6 @@ :name="groupName" :value="value" :aria-required="isRequired" - :data-focus-target="groupName" v-model="checkValue" @change="!selectingInitiatesLoad ? handleCheckChange() : ''" /> @@ -143,11 +142,11 @@ export default { height: 0; position: absolute; &:focus-visible + label { - box-shadow: 0 0 0 2px $blue; + box-shadow: 0 0 0 2.5px $blue; z-index: 2; } &:focus + label { - box-shadow: 0 0 0 2px $blue; + box-shadow: 0 0 0 2.5px $blue; z-index: 3; } &:checked + label { @@ -156,6 +155,9 @@ export default { outline: none; z-index: 2; } + &:checked:focus + label { + box-shadow: 0 0 0 2.5px $blue; + } &:checked + label p:first-child { font-weight: 500; } diff --git a/src/ux-components/list-button/list-button.vue b/src/ux-components/list-button/list-button.vue index 775b19ff4..d48b2407d 100644 --- a/src/ux-components/list-button/list-button.vue +++ b/src/ux-components/list-button/list-button.vue @@ -1,7 +1,7 @@