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 @@
+
+
+
+
+
+
+
+
+
+