diff --git a/src/common-components/button-question/button-question.vue b/src/common-components/button-question/button-question.vue
index c828f9ff9..7937f0cca 100644
--- a/src/common-components/button-question/button-question.vue
+++ b/src/common-components/button-question/button-question.vue
@@ -122,15 +122,17 @@ export default {
},
methods: {
handleCheckedChanged(val) {
+ const newSelectedValues = this.selectedValues;
if(this.isMultiSelect && this.selectedValues) {
// Add or remove item to array of data to emit
if(Array.isArray(this.selectedValues)) {
- const newSelectedValues = this.selectedValues;
val.checkValue ? newSelectedValues.push(val.value) : newSelectedValues.splice(newSelectedValues.indexOf(val.value), 1);
this.selectedValues = newSelectedValues;
}
} else {
- this.selectedValues = [val.value];
+ newSelectedValues.splice(0,newSelectedValues.length);
+ newSelectedValues.push(val.value);
+ this.selectedValues = newSelectedValues;
}
},
},
diff --git a/src/layouts/vehicle-damage/side-door-options/side-door-options.spec.js b/src/layouts/vehicle-damage/side-door-options/side-door-options.spec.js
index 239a54fd4..245076308 100644
--- a/src/layouts/vehicle-damage/side-door-options/side-door-options.spec.js
+++ b/src/layouts/vehicle-damage/side-door-options/side-door-options.spec.js
@@ -43,11 +43,11 @@ describe("replace-options-question.vue", () => {
const { wrapper } = setupMocks({});
//Act
- wrapper.vm.selectedDriverSideReplacOptionsValues = ["FrontDoor"]
+ wrapper.vm.selectedDriverSideReplaceOptionsValues = ["FrontDoor"]
await wrapper.vm.$nextTick();
//Assert
- expect(wrapper.emitted()["update:selectedDriverSideReplacOptions"][0]).toEqual([["FrontDoor"]]);
+ expect(wrapper.emitted()["update:selectedDriverSideReplaceOptions"][0]).toEqual([["FrontDoor"]]);
});
});
diff --git a/src/layouts/vehicle-damage/side-door-options/side-door-options.vue b/src/layouts/vehicle-damage/side-door-options/side-door-options.vue
index 1372f23f6..540074779 100644
--- a/src/layouts/vehicle-damage/side-door-options/side-door-options.vue
+++ b/src/layouts/vehicle-damage/side-door-options/side-door-options.vue
@@ -13,9 +13,9 @@
-
+
-
+
@@ -30,10 +30,6 @@ export default ({
return {
questionText: String,
answersFromCms: Array,
- selectedDoorSides: [],
- // Child component data
- selectedDriverSideReplacOptions: [],
- selectedPassengerSideReplaceOptions: [],
}
},
props: {
@@ -49,11 +45,11 @@ export default ({
this.$refs.driverSideOptions.initializeComponent(driverSideReplaceOptions, driverSideOptions);
this.$refs.passengerSideOptions.initializeComponent(passengerSideReplaceOptions, passengerSideOptions);
},
- getSideDoorReplacementOptions(){
+ getSideDoorReplacementOptions(selectedDoorSides, selectedDriverSideReplaceOptions, selectedPassengerSideReplaceOptions){
return {
- selectedDoorSides: this.selectedDoorSides,
- selectedDriverSideReplacOptions: this.selectedDriverSideReplacOptions,
- selectedPassengerSideReplaceOptions: this.selectedPassengerSideReplaceOptions
+ selectedDoorSides: selectedDoorSides,
+ selectedDriverSideReplaceOptions: selectedDriverSideReplaceOptions,
+ selectedPassengerSideReplaceOptions: selectedPassengerSideReplaceOptions
}
},
},
@@ -68,29 +64,26 @@ export default ({
},
selectedDoorSidesValues: {
get: function() {
- return this.selectedDoorSides;
+ return this.selectedValues.selectedDoorSides;
},
set: function(newValue) {
- this.$emit("update:selectedDoorSides", newValue);
- this.selectedValues = this.getSideDoorReplacementOptions();
+ this.selectedValues = this.getSideDoorReplacementOptions(newValue, this.selectedValues.selectedDriverSideReplaceOptions, this.selectedValues.selectedPassengerSideReplaceOptions);
}
},
- selectedDriverSideReplacOptionsValues: {
+ selectedDriverSideReplaceOptionsValues: {
get: function() {
- return this.selectedDriverSideReplacOptions;
+ return this.selectedValues.selectedDriverSideReplaceOptions;
},
set: function(newValue) {
- this.$emit("update:selectedDriverSideReplacOptions", newValue);
- this.selectedValues = this.getSideDoorReplacementOptions();
+ this.selectedValues = this.getSideDoorReplacementOptions(this.selectedValues.selectedDoorSides, newValue, this.selectedValues.selectedPassengerSideReplaceOptions);
}
},
selectedPassengerSideReplaceOptionsValues: {
get: function() {
- return this.selectedPassengerSideReplaceOptions;
+ return this.selectedValues.selectedPassengerSideReplaceOptions;
},
set: function(newValue) {
- this.$emit("update:selectedPassengerSideReplaceOptions", newValue);
- this.selectedValues = this.getSideDoorReplacementOptions();
+ this.selectedValues = this.getSideDoorReplacementOptions(this.selectedValues.selectedDoorSides, this.selectedValues.selectedDriverSideReplaceOptions, newValue);
}
},
answersToDisplay(){
@@ -115,13 +108,6 @@ export default ({
return Array.isArray(this.selectedDoorSidesValues) && this.selectedDoorSidesValues.includes("PassengerSide");
},
},
- mounted() {
- if(typeof(this.selectedValues) === "object"){
- this.selectedDoorSides = this.selectedValues.selectedDoorSides;
- this.selectedDriverSideReplacOptions = this.selectedValues.selectedDriverSideReplacOptions;
- this.selectedPassengerSideReplaceOptions = this.selectedValues.selectedPassengerSideReplaceOptions;
- }
- },
components: {
buttonQuestion,
replaceOptionsQuestion,
diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue
index edbaf3a0c..aa888e14a 100644
--- a/src/layouts/vehicle-damage/vehicle-damage.vue
+++ b/src/layouts/vehicle-damage/vehicle-damage.vue
@@ -115,7 +115,7 @@ export default {
selectedDamageLocations: [],
sideDoorOptionsData: {
selectedDoorSides: [],
- selectedDriverSideReplacOptions: [],
+ selectedDriverSideReplaceOptions: [],
selectedPassengerSideReplaceOptions: []
},
selectedWindshieldOptions: [],