61 lines
1.3 KiB
Vue
61 lines
1.3 KiB
Vue
<template>
|
|
<buttonQuestion
|
|
class="radioQuestion"
|
|
isOverflowScrollable
|
|
selectingInitiatesLoad
|
|
:questionText="questionText"
|
|
:answers="makes"
|
|
groupName="ChooseVehicleMake"
|
|
textPosition="text-start"
|
|
v-model="selectedValue"
|
|
isRequired
|
|
/>
|
|
</template>
|
|
|
|
<script>
|
|
import buttonQuestion from "@/common-components/button-question/button-question";
|
|
// Supporting files
|
|
import store from "@/store";
|
|
import { storeActions } from "@/constants/store-actions.js";
|
|
import baseMixin from "@/mixins/base-mixin.js";
|
|
|
|
export default {
|
|
name: "make-question",
|
|
data() {
|
|
return {
|
|
makes: [],
|
|
};
|
|
},
|
|
props: {
|
|
modelValue: String,
|
|
cmsWidgetName: String,
|
|
},
|
|
computed: {
|
|
questionText(){
|
|
return this.getCmsContent(this.cmsWidgetName, 'QuestionText');
|
|
},
|
|
selectedValue: {
|
|
get: function() {
|
|
return this.modelValue
|
|
},
|
|
set: function(newValue) {
|
|
this.$emit("update:modelValue", newValue);
|
|
}
|
|
}
|
|
},
|
|
components: {
|
|
buttonQuestion,
|
|
},
|
|
methods: {
|
|
loadInitialData() {
|
|
return baseMixin.methods.dispatchStoreAction(
|
|
storeActions.GET_VEHICLE_MAKES,
|
|
{ year: store.getters.vehicle.year }
|
|
);
|
|
},
|
|
initializeComponent(initialData) {
|
|
this.makes = initialData;
|
|
},
|
|
},
|
|
};
|
|
</script>
|