CSR-762 Update YMMS

This commit is contained in:
Katie 2022-09-16 10:18:59 -04:00
parent 3707443e15
commit 94c3ea326f
9 changed files with 64 additions and 69 deletions

View file

@ -50,6 +50,7 @@
:groupName="groupName" :groupName="groupName"
:value="answer.value" :value="answer.value"
:modelValue="modelValue" :modelValue="modelValue"
selectingInitiatesLoad
@change="(e) => handleAnswerChange(e)" @change="(e) => handleAnswerChange(e)"
/> />

View file

@ -7,7 +7,7 @@
:answers="makes" :answers="makes"
groupName="ChooseVehicleMake" groupName="ChooseVehicleMake"
textPosition="text-start" textPosition="text-start"
v-model="selectedValue" v-model="selectedMake"
isRequired isRequired
/> />
</template> </template>
@ -23,7 +23,8 @@ export default {
name: "make-question", name: "make-question",
data() { data() {
return { return {
makes: Array, makes: [],
selectedMake: null
}; };
}, },
props: { props: {
@ -34,14 +35,6 @@ export default {
questionText(){ questionText(){
return this.getCmsContent(this.cmsWidgetName, 'QuestionText'); return this.getCmsContent(this.cmsWidgetName, 'QuestionText');
}, },
selectedValue: {
get: function() {
return this.modelValue
},
set: function(newValue) {
this.$emit("update:modelValue", newValue);
}
}
}, },
components: { components: {
buttonQuestion, buttonQuestion,
@ -57,5 +50,10 @@ export default {
this.makes = initialData; this.makes = initialData;
}, },
}, },
watch: {
selectedMake(selectedMake) {
this.$emit("update:modelValue", selectedMake)
}
}
}; };
</script> </script>

View file

@ -3,14 +3,21 @@
<funnelHeader cmsWidgetName="FunnelHeaderWidget" /> <funnelHeader cmsWidgetName="FunnelHeaderWidget" />
<div class="select-car"> <div class="select-car">
<div class="select-car-form rounded text-center"> <div class="select-car-form rounded text-center">
<vehicleBanner cmsWidgetName="VehicleBannerWidget" displayGenericVehicleImage /> <vehicleBanner
cmsWidgetName="VehicleBannerWidget"
displayGenericVehicleImage
/>
<funnelSubHeader <funnelSubHeader
cmsWidgetName="FunnelSubHeaderWidget" cmsWidgetName="FunnelSubHeaderWidget"
:hasBackButton="true" :hasBackButton="true"
@click-event="backButtonAction" @click-event="backButtonAction"
/> />
<div class="fade-on-route-transition"> <div class="fade-on-route-transition">
<makeQuestion v-model="selectedMake" ref="makeQuestion" cmsWidgetName="VehicleMakeQuestion" /> <makeQuestion
v-model="selectedMake"
ref="makeQuestion"
cmsWidgetName="VehicleMakeQuestion"
/>
</div> </div>
</div> </div>
</div> </div>
@ -26,7 +33,6 @@ import funnelSubHeader from "@/common-components/funnel-sub-header/funnel-sub-he
// Supporting files // Supporting files
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
import { settleAllPromises } from "@/helpers/layout-helper"; import { settleAllPromises } from "@/helpers/layout-helper";
import { storeMutations } from "@/constants/store-mutations";
import { storeActions } from "@/constants/store-actions"; import { storeActions } from "@/constants/store-actions";
import store from "@/store"; import store from "@/store";
@ -75,7 +81,7 @@ export default {
); );
}, },
arePagePrerequisitesValid() { arePagePrerequisitesValid() {
if (store.getters.vehicle.year){ if (store.getters.vehicle.year) {
return true; return true;
} }
return false; return false;

View file

@ -7,7 +7,7 @@
:answers="models" :answers="models"
groupName="ChooseVehicleModel" groupName="ChooseVehicleModel"
textPosition="text-start" textPosition="text-start"
v-model="selectedValue" v-model="selectedModel"
isRequired isRequired
/> />
</template> </template>
@ -23,7 +23,8 @@ export default {
name: "model-question", name: "model-question",
data() { data() {
return { return {
models: Array, models: [],
selectedModel: null
}; };
}, },
props: { props: {
@ -34,14 +35,6 @@ export default {
questionText(){ questionText(){
return this.getCmsContent(this.cmsWidgetName, 'QuestionText'); return this.getCmsContent(this.cmsWidgetName, 'QuestionText');
}, },
selectedValue: {
get: function() {
return this.modelValue
},
set: function(newValue) {
this.$emit("update:modelValue", newValue);
}
}
}, },
components: { components: {
buttonQuestion, buttonQuestion,
@ -57,5 +50,10 @@ export default {
this.models = initialData; this.models = initialData;
}, },
}, },
watch: {
selectedModel(selectedModel) {
this.$emit("update:modelValue", selectedModel);
}
}
}; };
</script> </script>

View file

@ -7,7 +7,7 @@
:answers="styles" :answers="styles"
groupName="ChooseVehicleStyle" groupName="ChooseVehicleStyle"
textPosition="text-start" textPosition="text-start"
v-model="selectedValue" v-model="selectedStyle"
isRequired isRequired
/> />
</template> </template>
@ -23,7 +23,8 @@ export default {
name: "style-question", name: "style-question",
data() { data() {
return { return {
styles: Array, styles: [],
selectedStyle: null
}; };
}, },
props: { props: {
@ -34,14 +35,6 @@ export default {
questionText(){ questionText(){
return this.getCmsContent(this.cmsWidgetName, 'QuestionText'); return this.getCmsContent(this.cmsWidgetName, 'QuestionText');
}, },
selectedValue: {
get: function() {
return this.modelValue
},
set: function(newValue) {
this.$emit("update:modelValue", newValue);
}
}
}, },
components: { components: {
buttonQuestion, buttonQuestion,
@ -61,5 +54,10 @@ export default {
this.styles = initialData; this.styles = initialData;
}, },
}, },
watch: {
selectedStyle(selectedStyle) {
this.$emit("update:modelValue", selectedStyle);
}
}
}; };
</script> </script>

View file

@ -1,18 +1,16 @@
<template> <template>
<div> <div>
YQ: {{ selectedValue }}
<buttonQuestion <buttonQuestion
class="radioQuestion" class="radioQuestion"
isOverflowScrollable isOverflowScrollable
selectingInitiatesLoad selectingInitiatesLoad
:questionText="questionText" :questionText="questionText"
:answers="years" :answers="years"
groupName="ChooseVehicleYear" groupName="ChooseVehicleYear"
textPosition="text-start" textPosition="text-start"
v-model="selectedValue" v-model="selectedYear"
isRequired isRequired
/> />
</div> </div>
</template> </template>
@ -26,7 +24,7 @@ export default {
data() { data() {
return { return {
years: [], years: [],
selectedValue: null selectedYear: null,
}; };
}, },
props: { props: {
@ -37,17 +35,9 @@ export default {
buttonQuestion, buttonQuestion,
}, },
computed: { computed: {
questionText(){ questionText() {
return this.getCmsContent(this.cmsWidgetName, 'QuestionText'); return this.getCmsContent(this.cmsWidgetName, "QuestionText");
}, },
// selectedValue: {
// get: function() {
// return this.modelValue
// },
// set: function(newValue) {
// this.$emit("update:modelValue", newValue);
// }
// }
}, },
methods: { methods: {
loadInitialData() { loadInitialData() {
@ -60,5 +50,10 @@ export default {
this.years = initialData; this.years = initialData;
}, },
}, },
watch: {
selectedYear(selectedYear) {
this.$emit("update:modelValue", selectedYear)
}
}
}; };
</script> </script>

View file

@ -33,10 +33,7 @@ export default {
type: String, type: String,
required: true, required: true,
}, },
validationRules: { validationRules: String,
type: String,
required: true,
},
classes: [String, Array, Object], classes: [String, Array, Object],
}, },
methods: { methods: {

View file

@ -85,7 +85,10 @@ export default {
screenReaderOnlyText: String, screenReaderOnlyText: String,
selectingInitiatesLoad: Boolean, selectingInitiatesLoad: Boolean,
loaderColor: String, loaderColor: String,
loaderPosition: String, loaderPosition: {
type: String,
default: "right"
},
hasError: Boolean, hasError: Boolean,
valueToLogType: String, valueToLogType: String,
}, },

View file

@ -27,6 +27,8 @@ export default {
<style lang="scss"> <style lang="scss">
.loader { .loader {
display: flex; display: flex;
position: absolute;
//Open an overlay to prevent page interaction //Open an overlay to prevent page interaction
&:before { &:before {
content: ""; content: "";
@ -56,16 +58,13 @@ export default {
} }
//Spinner position //Spinner position
&.center { &.center {
position: absolute;
right: 50%; right: 50%;
transform: translateX(50%); transform: translateX(50%);
} }
&.right { &.right {
position: absolute;
right: 1rem; right: 1rem;
} }
&.left { &.left {
position: absolute;
left: 1rem; left: 1rem;
} }
//Spinner color //Spinner color