diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index c5b8df783..e809e97fc 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -5,6 +5,7 @@ + @@ -15,6 +16,8 @@ import vehicleBanner from "@/common-components/vehicle-banner/vehicle-banner"; import funnelSubHeader from "@/common-components/funnel-sub-header/funnel-sub-header"; import replaceOptionsQuestion from"@/layouts/vehicle-damage/replace-options-question/replace-options-question"; import damageLocationQuestion from"@/layouts/vehicle-damage/damage-location-question/damage-location-question"; +import windshieldOptions from"@/layouts/vehicle-damage/windshield-options/windshield-options"; + // Supporting files import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { settleAllPromises } from "@/helpers/layout-helper"; @@ -26,6 +29,7 @@ import baseMixin from "@/mixins/base-mixin"; export default { name: "vehicle-damage", async beforeRouteEnter(to, from, next) { + console.log("vd: beforeRoute"); // Call APIs const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage); const damageOptionsPromise = @@ -46,10 +50,12 @@ export default { }, ]; + console.log("vd: before settle"); const resultMap = await settleAllPromises(promiseResultMap); - + console.log("vd: after settle"); // Call the "next" function to complete the transition to this page. next((vm) => { + console.log("vd: next"); vm.$refs.funnelHeader.initializeComponent( resultMap.cmsContent.FunnelHeaderWidget ); @@ -65,12 +71,19 @@ export default { vm.$refs.damageLocation.initializeComponent( resultMap.cmsContent.DamageLocationQuestion, resultMap.damageOptions ); + console.log("vd: initialize wo"); + vm.$refs.windshieldOptions.initializeComponent( + resultMap.cmsContent.WindshieldDamageTypeQuestion, resultMap.cmsContent.WindshieldChipCountQuestion, + resultMap.cmsContent.WindshieldReplaceOptionsQuestion + ); }); }, data(){ return { selectedDamageLocations: [], driverSideOptionsData: [], + selectedWindshieldOptions: [], + selectedChipCount: [] } }, methods: { @@ -80,14 +93,24 @@ export default { resetDependentState() { // Invokes store.dispatch(storeActions.RESET_PARTS_AND_DEPS); - }, + } }, + //computed: { + // selectedWindshieldDamageType(){ + // return this.modelValue.some(selectedDamages => + // { + // const categoryAndGlass = selectedDamages.split('-'); //ie: model looks like "Suv-Windshield" so this Splits the answers into [0]"Suv" [1]"Windshield" + // return Boolean(categoryAndGlass[1].toUpperCase() === "WINDSHIELD"); + // }); + // }, + //}, components: { funnelHeader, vehicleBanner, funnelSubHeader, replaceOptionsQuestion, damageLocationQuestion, + windshieldOptions, }, }; diff --git a/src/layouts/vehicle-damage/windshield-options/windshield-chip-count-question/windshield-chip-count-question.vue b/src/layouts/vehicle-damage/windshield-options/windshield-chip-count-question/windshield-chip-count-question.vue new file mode 100644 index 000000000..fc3452dcb --- /dev/null +++ b/src/layouts/vehicle-damage/windshield-options/windshield-chip-count-question/windshield-chip-count-question.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/layouts/vehicle-damage/windshield-options/windshield-damage-type-question/windshield-damage-type-question.vue b/src/layouts/vehicle-damage/windshield-options/windshield-damage-type-question/windshield-damage-type-question.vue new file mode 100644 index 000000000..911d3e8ad --- /dev/null +++ b/src/layouts/vehicle-damage/windshield-options/windshield-damage-type-question/windshield-damage-type-question.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/layouts/vehicle-damage/windshield-options/windshield-options.vue b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue new file mode 100644 index 000000000..1baf8dd82 --- /dev/null +++ b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue @@ -0,0 +1,118 @@ + + +