+
+ {{ questionText }}
-
With Error (class="has-error"):
+ With icon aligned left
+
+
+
+
+
+
With icon aligned right
+
+
+
+
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..9c40a0683 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
@@ -30,9 +30,9 @@ describe("replace-options-question.vue", () => {
//Act
wrapper.vm.selectedDoorSidesValues = ["DriverSide"]
await wrapper.vm.$nextTick();
-
+
//Assert
- expect(wrapper.emitted()["update:selectedDoorSides"][0]).toEqual([["DriverSide"]]);
+ expect(wrapper.vm.getSideDoorReplacementOptions()).toHaveBeenCalled;
});
});
@@ -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.vm.getSideDoorReplacementOptions()).toHaveBeenCalled;
});
});
@@ -62,7 +62,7 @@ describe("replace-options-question.vue", () => {
await wrapper.vm.$nextTick();
//Assert
- expect(wrapper.emitted()["update:selectedPassengerSideReplaceOptions"][0]).toEqual([["BacktDoor"]]);
+ expect(wrapper.vm.getSideDoorReplacementOptions()).toHaveBeenCalled;
});
});
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 ed11c825c..7d74b7152 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
@@ -68,10 +68,6 @@ export default ({
return {
questionText: String,
answersFromCms: Array,
- selectedDoorSides: [],
- // Child component data
- selectedDriverSideReplacOptions: [],
- selectedPassengerSideReplaceOptions: [],
}
},
props: {
@@ -87,11 +83,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
}
},
},
@@ -106,29 +102,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(){
@@ -147,19 +140,12 @@ export default ({
});
},
isDriverSideReplaceOptionsQuestionAvailable(){
- return Array.isArray(this.selectedDoorSidesValues) && this.selectedDoorSidesValues.includes("DriverSide");
+ return (Array.isArray(this.selectedDoorSidesValues) && this.selectedDoorSidesValues.includes("DriverSide") && (Array.isArray(this.selectedDamageLocations) && this.selectedDamageLocations.includes("SideDoor")));
},
isPassengerSideReplaceOptionsQuestionAvailable(){
- return Array.isArray(this.selectedDoorSidesValues) && this.selectedDoorSidesValues.includes("PassengerSide");
+ return (Array.isArray(this.selectedDoorSidesValues) && this.selectedDoorSidesValues.includes("PassengerSide") && (Array.isArray(this.selectedDamageLocations) && this.selectedDamageLocations.includes("SideDoor")));
},
},
- 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 2c735774f..944c480c5 100644
--- a/src/layouts/vehicle-damage/vehicle-damage.vue
+++ b/src/layouts/vehicle-damage/vehicle-damage.vue
@@ -125,7 +125,7 @@ export default {
selectedDamageLocations: [],
sideDoorOptionsData: {
selectedDoorSides: [],
- selectedDriverSideReplacOptions: [],
+ selectedDriverSideReplaceOptions: [],
selectedPassengerSideReplaceOptions: []
},
selectedWindshieldOptions: [],
diff --git a/src/layouts/vehicle-damage/windshield-options/windshield-options.vue b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue
index 4a08166bd..fc265fd0a 100644
--- a/src/layouts/vehicle-damage/windshield-options/windshield-options.vue
+++ b/src/layouts/vehicle-damage/windshield-options/windshield-options.vue
@@ -15,6 +15,7 @@
/>
diff --git a/src/ux-components/list-button-horizontal/list-button-horizontal.vue b/src/ux-components/list-button-horizontal/list-button-horizontal.vue
index 0810859bf..8cd79970a 100644
--- a/src/ux-components/list-button-horizontal/list-button-horizontal.vue
+++ b/src/ux-components/list-button-horizontal/list-button-horizontal.vue
@@ -162,9 +162,11 @@ export default {
width: 100%;
color: $gray-600;
&:hover {
- box-shadow: 0 0 0 4px $blue-300;
- cursor: pointer;
- z-index: 4 !important;
+ @include media-breakpoint-up(sm) {
+ box-shadow: 0 0 0 4px $blue-300;
+ cursor: pointer;
+ z-index: 4 !important;
+ }
}
+ p {
display: none;
diff --git a/src/ux-components/list-card/list-card.spec.js b/src/ux-components/list-card/list-card.spec.js
index a345c7b18..398c89c78 100644
--- a/src/ux-components/list-card/list-card.spec.js
+++ b/src/ux-components/list-card/list-card.spec.js
@@ -145,7 +145,7 @@ describe("list-card.vue", () => {
// Assert
const label = wrapper.find("label");
- expect(label.classes()).toEqual(["d-flex", "w-100", "align-items-center", "px-2", "h-100", "flex-row", "py-r", "ps-3", "pe-8"]);
+ expect(label.classes()).toEqual(["d-flex", "w-100", "align-items-center", "px-2", "h-100", "flex-row", "py-r", "ps-3", "pe-4"]);
});
it("Should return flex row classes if isWide is true and checkboxTop if buttonLabelSubCopy is true", async () => {
@@ -167,7 +167,7 @@ describe("list-card.vue", () => {
// Assert
const label = wrapper.find("label");
- expect(label.classes()).toEqual(["d-flex", "w-100", "align-items-center", "px-2", "h-100", "flex-row", "py-r", "ps-3", "pe-8", "checkboxTop"]);
+ expect(label.classes()).toEqual(["d-flex", "w-100", "align-items-center", "px-2", "h-100", "flex-row", "py-r", "ps-3", "pe-4", "checkboxTop"]);
});
it("Should return flex column classes if isWide is false", async () => {
@@ -188,7 +188,7 @@ describe("list-card.vue", () => {
// Assert
const label = wrapper.find("label");
- expect(label.classes()).toEqual(["d-flex", "w-100", "align-items-center", "px-2", "h-100", "flex-column", "pt-4", "pb-2"]);
+ expect(label.classes()).toEqual(["d-flex", "w-100", "align-items-center", "px-2", "h-100", "flex-column", "pt-4", "pb-3"]);
});
it("Should emit button value on click", async () => {
diff --git a/src/ux-components/list-card/list-card.vue b/src/ux-components/list-card/list-card.vue
index a1e13aec5..7309ca9c3 100644
--- a/src/ux-components/list-card/list-card.vue
+++ b/src/ux-components/list-card/list-card.vue
@@ -89,13 +89,13 @@ export default {
computed: {
getLabelClasses() {
if (this.isWide) {
- let classes = "flex-row py-r ps-3 pe-8";
+ let classes = "flex-row py-r ps-3 pe-4";
if (this.buttonLabelSubCopy) {
classes += " checkboxTop";
}
return classes;
} else {
- return "flex-column pt-4 pb-2";
+ return "flex-column pt-4 pb-3";
}
},
},
@@ -165,8 +165,10 @@ export default {
max-width: 100%;
}
&:hover {
- box-shadow: 0px 0px 0px 4px $blue-300;
- border: 1px solid transparent;
+ @include media-breakpoint-up(sm) {
+ box-shadow: 0px 0px 0px 4px $blue-300;
+ border: 1px solid transparent;
+ }
}
input[type="checkbox"],
input[type="radio"] {
diff --git a/src/ux-components/radio/radio.vue b/src/ux-components/radio/radio.vue
index 8d1ed6210..e1704167a 100644
--- a/src/ux-components/radio/radio.vue
+++ b/src/ux-components/radio/radio.vue
@@ -10,7 +10,7 @@
:aria-required="isRequired"
:value="value"
:v-model="checkValue"
- @change="handleCheckChanged()"
+ @change="handleCheckChange()"
/>