From f13b2436692815c75f2c9e3c685d66e777757aa0 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Wed, 2 Oct 2024 15:27:50 -0400 Subject: [PATCH 1/4] CSR-2234: fix to enable BaseMixin ResetExternalParamsAndHideModal to work --- src/store/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/store/index.js b/src/store/index.js index 2b07d1dc1..670274c1a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -919,6 +919,7 @@ export const getters = { externalParameterServiceZip: (state) => externalParameterState?.serviceZip, externalParameterEstimate: (state) => externalParameterState?.estimate, externalParameterSource: (state) => externalParameterState?.source, + isExternalParameter: (state) => externalParameterState?.isExternalParameter, }; function getNonFalseValuesOfPropertyInArrayOfObjects(array, propertyName) { From 09f53773aef9bfa106f9f92076d96974fcb3c6b1 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Wed, 2 Oct 2024 15:28:59 -0400 Subject: [PATCH 2/4] CSR-2234: remove isExternalParameter from initialization setup --- src/store/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/store/index.js b/src/store/index.js index 670274c1a..135f17541 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -3433,7 +3433,6 @@ async function resetScheduleIfUnavailable(context, order, pageNameToLog) { function createExternalParameterDefaultState() { // create default externalParameter state const externalParameterDefaultState = { - isExternalParameter: null, vehicle: { year: null, make: null, From 06d54dcb99f18065efae3cfac4baa45ee060d540 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Wed, 2 Oct 2024 15:30:09 -0400 Subject: [PATCH 3/4] CSR-2234: remove external param source bc it is no longer needed --- src/store/index.js | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 135f17541..a35b339b3 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -476,10 +476,6 @@ export const mutations = { externalParameterState.quote.servicePackage = servicePackage; saveExternalParameterState(externalParameterState); }, - updateExternalParameterSource(state, source) { - externalParameterState.source = source; - saveExternalParameterState(externalParameterState); - }, //RESET ExternalParameter MUTATIONS resetExternalParameterVehicleState(state) { externalParameterState.vehicle.year = null; @@ -510,10 +506,6 @@ export const mutations = { externalParameterState.quote.servicePackage = null; saveExternalParameterState(externalParameterState); }, - resetExternalParameterSourceState(state) { - externalParameterState.source = null; - saveExternalParameterState(externalParameterState); - }, resetIsExternalParameter(state) { externalParameterState.isExternalParameter = null; saveExternalParameterState(externalParameterState); @@ -918,7 +910,6 @@ export const getters = { externalParameterQuote: (state) => externalParameterState?.quote, externalParameterServiceZip: (state) => externalParameterState?.serviceZip, externalParameterEstimate: (state) => externalParameterState?.estimate, - externalParameterSource: (state) => externalParameterState?.source, isExternalParameter: (state) => externalParameterState?.isExternalParameter, }; @@ -2912,7 +2903,6 @@ export const actions = { context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_ESTIMATE_STATE); context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_SERVICEZIP_STATE); context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_QUOTE_STATE); - context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_SOURCE_STATE); context.commit(storeMutations.RESET_IS_EXTERNAL_PARAMETER); } }, @@ -3455,7 +3445,6 @@ function createExternalParameterDefaultState() { isInsurance: null, servicePackage: null, }, - source: null, }; // set to session storage saveExternalParameterState(externalParameterDefaultState); From 7b73a164ad20cbb9d1f194017592c6b61c0a99c5 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Wed, 2 Oct 2024 15:32:33 -0400 Subject: [PATCH 4/4] CSR-2234: refine quote page external param logic --- src/layouts/quote/quote.vue | 39 +++++++++++++++---------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index b778116e9..9bc8bace4 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -337,17 +337,10 @@ export default { experimentSettings.INSURANCE_TAB_TO_DISPLAY_THRESHOLD_INTERNAL ); - if (!store.getters.externalParameterState?.isExternalParameter) { - // there are no external parameters + const isExternalParameter = store.getters.externalParameterState?.isExternalParameter; - if (internalThreshold) thresholdToUse = internalThreshold; - vm.isInsuranceSelected = getIsInsuranceSelectedValue( - vm.availableLineItems, - thresholdToUse - ); - baseMixin.methods.ResetExternalParamsAndHideModal(); - } else { - // there ARE external parameters + if (isExternalParameter !== undefined) { + // user is from an external source (either has value or is null) if (store.getters.externalParameterQuote.isInsurance == true) { // did user intentionally select insurance? @@ -361,26 +354,26 @@ export default { baseMixin.methods.ResetExternalParamsAndHideModal(); } } else { - // did user come from external source (LeadGen)? - let externalSource = store.getters.externalParameterSource - ? store.getters.externalParameterSource - : null; + const externalThreshold = experimentMixin.methods.getSettingValue( + experimentSettings.INSURANCE_TAB_TO_DISPLAY_THRESHOLD_EXTERNAL + ); + thresholdToUse = externalThreshold; - // Business logic to determine what "external" source is - if (externalSource?.includes("LeadGen")) { - const externalThreshold = experimentMixin.methods.getSettingValue( - experimentSettings.INSURANCE_TAB_TO_DISPLAY_THRESHOLD_EXTERNAL - ); - if (externalThreshold) thresholdToUse = externalThreshold; - } else { - if (internalThreshold) thresholdToUse = internalThreshold; - } vm.isInsuranceSelected = getIsInsuranceSelectedValue( vm.availableLineItems, thresholdToUse ); baseMixin.methods.ResetExternalParamsAndHideModal(); } + } else { + // there are no external parameters; use internal threshold + if (internalThreshold) thresholdToUse = internalThreshold; + + vm.isInsuranceSelected = getIsInsuranceSelectedValue( + vm.availableLineItems, + thresholdToUse + ); + baseMixin.methods.ResetExternalParamsAndHideModal(); } }); },