diff --git a/src/assets/img/tints/BackGlass-BlueShade-BlueTint.svg b/src/assets/img/tints/Glass-BlueShade-BlueTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-BlueShade-BlueTint.svg
rename to src/assets/img/tints/Glass-BlueShade-BlueTint.svg
diff --git a/src/assets/img/tints/BackGlass-BlueShade-BrownTint.svg b/src/assets/img/tints/Glass-BlueShade-BrownTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-BlueShade-BrownTint.svg
rename to src/assets/img/tints/Glass-BlueShade-BrownTint.svg
diff --git a/src/assets/img/tints/BackGlass-BlueShade-GrayTint.svg b/src/assets/img/tints/Glass-BlueShade-GrayTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-BlueShade-GrayTint.svg
rename to src/assets/img/tints/Glass-BlueShade-GrayTint.svg
diff --git a/src/assets/img/tints/BackGlass-BlueShade-GreenTint.svg b/src/assets/img/tints/Glass-BlueShade-GreenTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-BlueShade-GreenTint.svg
rename to src/assets/img/tints/Glass-BlueShade-GreenTint.svg
diff --git a/src/assets/img/tints/BackGlass-BlueShade-NoTint.svg b/src/assets/img/tints/Glass-BlueShade-NoTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-BlueShade-NoTint.svg
rename to src/assets/img/tints/Glass-BlueShade-NoTint.svg
diff --git a/src/assets/img/tints/BackGlass-BrownShade-BrownTint.svg b/src/assets/img/tints/Glass-BrownShade-BrownTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-BrownShade-BrownTint.svg
rename to src/assets/img/tints/Glass-BrownShade-BrownTint.svg
diff --git a/src/assets/img/tints/BackGlass-GrayShade-BlueTint.svg b/src/assets/img/tints/Glass-GrayShade-BlueTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-GrayShade-BlueTint.svg
rename to src/assets/img/tints/Glass-GrayShade-BlueTint.svg
diff --git a/src/assets/img/tints/BackGlass-GrayShade-BrownTint.svg b/src/assets/img/tints/Glass-GrayShade-BrownTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-GrayShade-BrownTint.svg
rename to src/assets/img/tints/Glass-GrayShade-BrownTint.svg
diff --git a/src/assets/img/tints/BackGlass-GrayShade-GrayTint.svg b/src/assets/img/tints/Glass-GrayShade-GrayTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-GrayShade-GrayTint.svg
rename to src/assets/img/tints/Glass-GrayShade-GrayTint.svg
diff --git a/src/assets/img/tints/BackGlass-GrayShade-GreenTint.svg b/src/assets/img/tints/Glass-GrayShade-GreenTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-GrayShade-GreenTint.svg
rename to src/assets/img/tints/Glass-GrayShade-GreenTint.svg
diff --git a/src/assets/img/tints/BackGlass-GreenShade-BlueTint.svg b/src/assets/img/tints/Glass-GreenShade-BlueTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-GreenShade-BlueTint.svg
rename to src/assets/img/tints/Glass-GreenShade-BlueTint.svg
diff --git a/src/assets/img/tints/BackGlass-GreenShade-BrownTint.svg b/src/assets/img/tints/Glass-GreenShade-BrownTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-GreenShade-BrownTint.svg
rename to src/assets/img/tints/Glass-GreenShade-BrownTint.svg
diff --git a/src/assets/img/tints/BackGlass-GreenShade-GreenTint.svg b/src/assets/img/tints/Glass-GreenShade-GreenTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-GreenShade-GreenTint.svg
rename to src/assets/img/tints/Glass-GreenShade-GreenTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-BlueTint.svg b/src/assets/img/tints/Glass-NoShade-BlueTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-BlueTint.svg
rename to src/assets/img/tints/Glass-NoShade-BlueTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-BrownTint.svg b/src/assets/img/tints/Glass-NoShade-BrownTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-BrownTint.svg
rename to src/assets/img/tints/Glass-NoShade-BrownTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-DarkBrownTint.svg b/src/assets/img/tints/Glass-NoShade-DarkBrownTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-DarkBrownTint.svg
rename to src/assets/img/tints/Glass-NoShade-DarkBrownTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-DaryGrayTint.svg b/src/assets/img/tints/Glass-NoShade-DaryGrayTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-DaryGrayTint.svg
rename to src/assets/img/tints/Glass-NoShade-DaryGrayTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-GrayTint.svg b/src/assets/img/tints/Glass-NoShade-GrayTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-GrayTint.svg
rename to src/assets/img/tints/Glass-NoShade-GrayTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-GreenTint.svg b/src/assets/img/tints/Glass-NoShade-GreenTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-GreenTint.svg
rename to src/assets/img/tints/Glass-NoShade-GreenTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-NoTint.svg b/src/assets/img/tints/Glass-NoShade-NoTint.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-NoTint.svg
rename to src/assets/img/tints/Glass-NoShade-NoTint.svg
diff --git a/src/assets/img/tints/BackGlass-NoShade-Privacy.svg b/src/assets/img/tints/Glass-NoShade-Privacy.svg
similarity index 100%
rename from src/assets/img/tints/BackGlass-NoShade-Privacy.svg
rename to src/assets/img/tints/Glass-NoShade-Privacy.svg
diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js
index dddab1d66..0717a3498 100644
--- a/src/constants/store-actions.js
+++ b/src/constants/store-actions.js
@@ -14,10 +14,10 @@ const storeActions = {
GET_PARTS_OR_QUESTIONS: "getPartsOrQuestions",
// DEPENDENCY MUTATIONS
- RESET_VEHICLE_AND_DEPS: "resetVehicleAndDependencies",
- RESET_DAMAGE_AND_DEPS: "resetDamageAndDependencies",
- RESET_REGISTRATION_AND_DEPS: "resetRegistrationAndDependencies",
- RESET_PARTS_AND_DEPS: "resetPartsAndDependencies",
+ RESET_VEHICLE_STATE: "resetVehicleAndDependencies",
+ RESET_DAMAGE_STATE: "resetDamageAndDependencies",
+ RESET_REGISTRATION_STATE: "resetRegistrationAndDependencies",
+ RESET_PARTS_STATE: "resetPartsAndDependencies",
};
export { storeActions };
diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js
index 6ac9b6926..c07e88bf2 100644
--- a/src/constants/store-mutations.js
+++ b/src/constants/store-mutations.js
@@ -13,16 +13,20 @@ const storeMutations = {
UPDATE_IS_REPAIR: "updateIsRepair",
UPDATE_NUMBER_OF_CHIPS: "updateNumberOfChips",
UPDATE_GLASS_TO_REPLACE: "updateGlassToReplace",
+ UPDATE_PARTS: "updateParts",
// EVENT BUS MUTATIONS
ADD_EVENT_TO_BUS: "addEventToBus",
REMOVE_EVENT_FROM_BUS: "removeEventFromBus",
// DEPENDENCY MUTATIONS
- RESET_VEHICLE_AND_DEPS: "resetVehicleAndDependencies",
- RESET_DAMAGE_AND_DEPS: "resetDamageAndDependencies",
- RESET_REGISTRATION_AND_DEPS: "resetRegistrationAndDependencies",
- RESET_PARTS_AND_DEPS: "resetPartsAndDependencies",
+ RESET_VEHICLE_STATE: "resetVehicleState",
+ RESET_DAMAGE_STATE: "resetDamageState",
+ RESET_REGISTRATION_STATE: "resetRegistrationState",
+ RESET_PARTS_STATE: "resetPartsState",
+
+ // OTHER MUTATIONS
+ UPDATE_PAGE_DATA: "updatePageData",
};
diff --git a/src/constants/tint-mapper.js b/src/constants/tint-mapper.js
index 1291991f0..949ab19a7 100644
--- a/src/constants/tint-mapper.js
+++ b/src/constants/tint-mapper.js
@@ -3,62 +3,62 @@
// Src assumes you have a @/assets/img/tints/, making the final value @/assets/img/tints/{Src} in the markup.
// See vehicle-parts for implementation example.
const tintMap = {
- rear: [
+ other: [
// Blue Shade
- { name: "blue shade, blue tint", src: "BackGlass-BlueShade-BlueTint.svg" },
- { name: "blue shade, brown tint", src: "BackGlass-BlueShade-BrownTint.svg" },
- { name: "blue shade, gray tint", src: "BackGlass-BlueShade-GrayTint.svg" },
- { name: "blue shade, green tint", src: "BackGlass-BlueShade-GreenTint.svg" },
- { name: "blue shade", src: "BackGlass-BlueShade-NoTint.svg" },
+ { name: "blue tint, blue shade", src: "Glass-BlueShade-BlueTint.svg" },
+ { name: "brown tint, blue shade", src: "Glass-BlueShade-BrownTint.svg" },
+ { name: "gray tint, blue shade", src: "Glass-BlueShade-GrayTint.svg" },
+ { name: "green tint, blue shade", src: "Glass-BlueShade-GreenTint.svg" },
+ { name: "blue shade", src: "Glass-BlueShade-NoTint.svg" },
// Brown Shade
- { name: "brown shade, brown tint", src: "BackGlass-BrownShade-BrownTint.svg" },
+ { name: "brown tint, brown shade", src: "Glass-BrownShade-BrownTint.svg" },
// Gray Shade
- { name: "gray shade, blue tint", src: "BackGlass-GrayShade-BlueTint.svg" },
- { name: "gray shade, brown tint", src: "BackGlass-GrayShade-BrownTint.svg" },
- { name: "gray shade, gray tint", src: "BackGlass-GrayShade-GrayTint.svg" },
- { name: "gray shade, green tint", src: "BackGlass-GrayShade-GreenTint.svg" },
+ { name: "blue tint, gray shade", src: "Glass-GrayShade-BlueTint.svg" },
+ { name: "brown tint, gray shade", src: "Glass-GrayShade-BrownTint.svg" },
+ { name: "gray tint, gray shade", src: "Glass-GrayShade-GrayTint.svg" },
+ { name: "green tint, gray shade", src: "Glass-GrayShade-GreenTint.svg" },
// Green Shade
- { name: "green shade, blue tint", src: "BackGlass-GreenShade-BlueTint.svg" },
- { name: "green shade, brown tint", src: "BackGlass-GreenShade-BrownTint.svg" },
- { name: "green shade, green tint", src: "BackGlass-GreenShade-GreenTint.svg" },
+ { name: "blue tint, green shade", src: "Glass-GreenShade-BlueTint.svg" },
+ { name: "brown tint, green shade", src: "Glass-GreenShade-BrownTint.svg" },
+ { name: "green tint, green shade", src: "Glass-GreenShade-GreenTint.svg" },
// Tints Only
- { name: "blue tint", src: "BackGlass-NoShade-BlueTint.svg" },
- { name: "brown tint", src: "BackGlass-NoShade-BrownTint.svg" },
- { name: "dark brown tint", src: "BackGlass-NoShade-DarkBrownTint.svg" },
- { name: "dark gray tint", src: "BackGlass-NoShade-DarkGrayTint.svg" },
- { name: "gray tint", src: "BackGlass-NoShade-GrayTint.svg" },
- { name: "green tint", src: "BackGlass-NoShade-GreenTint.svg" },
- { name: "gray tint privacy", src: "BackGlass-NoShade-Privacy.svg" },
+ { name: "blue tint", src: "Glass-NoShade-BlueTint.svg" },
+ { name: "brown tint", src: "Glass-NoShade-BrownTint.svg" },
+ { name: "dark brown tint", src: "Glass-NoShade-DarkBrownTint.svg" },
+ { name: "dark gray tint", src: "Glass-NoShade-DarkGrayTint.svg" },
+ { name: "gray tint", src: "Glass-NoShade-GrayTint.svg" },
+ { name: "green tint", src: "Glass-NoShade-GreenTint.svg" },
+ { name: "gray tint privacy", src: "Glass-NoShade-Privacy.svg" },
// No shade or tint
- { name: "no shade, no tint", src: "BackGlass-NoShade-NoTint.svg" }, // ???
+ { name: "no shade, no tint", src: "Glass-NoShade-NoTint.svg" }, // ???
],
windshield: [
// Blue Shade
- { name: "blue shade, blue tint", src: "Windshield-BlueShade-BlueTint.svg" },
- { name: "blue shade, brown tint", src: "Windshield-BlueShade-BrownTint.svg" },
- { name: "blue shade, gray tint", src: "Windshield-BlueShade-GrayTint.svg" },
- { name: "blue shade, green tint", src: "Windshield-BlueShade-GreenTint.svg" },
+ { name: "blue tint, blue shade", src: "Windshield-BlueShade-BlueTint.svg" },
+ { name: "brown tint, blue shade", src: "Windshield-BlueShade-BrownTint.svg" },
+ { name: "gray tint, blue shade", src: "Windshield-BlueShade-GrayTint.svg" },
+ { name: "green tint, blue shade", src: "Windshield-BlueShade-GreenTint.svg" },
{ name: "blue shade", src: "Windshield-BlueShade-NoTint.svg" },
// Brown Shade
- { name: "brown shade, brown tint", src: "Windshield-BrownShade-BrownTint.svg" },
+ { name: "brown tint, brown shade", src: "Windshield-BrownShade-BrownTint.svg" },
// Gray Shade
- { name: "gray shade, blue tint", src: "Windshield-GrayShade-BlueTint.svg" },
- { name: "gray shade, brown tint", src: "Windshield-GrayShade-BrownTint.svg" },
- { name: "gray shade, gray tint", src: "Windshield-GrayShade-GrayTint.svg" },
- { name: "gray shade, green tint", src: "Windshield-GrayShade-GreenTint.svg" },
+ { name: "blue tint, gray shade", src: "Windshield-GrayShade-BlueTint.svg" },
+ { name: "brown tint, gray shade", src: "Windshield-GrayShade-BrownTint.svg" },
+ { name: "gray tint, gray shade", src: "Windshield-GrayShade-GrayTint.svg" },
+ { name: "green tint, gray shade", src: "Windshield-GrayShade-GreenTint.svg" },
// Green Shade
- { name: "green shade, blue tint", src: "Windshield-GreenShade-BlueTint.svg" },
- { name: "green shade, brown tint", src: "Windshield-GreenShade-BrownTint.svg" },
- { name: "green shade, green tint", src: "Windshield-GreenShade-GreenTint.svg" },
+ { name: "blue tint, green shade", src: "Windshield-GreenShade-BlueTint.svg" },
+ { name: "brown tint, green shade", src: "Windshield-GreenShade-BrownTint.svg" },
+ { name: "green tint, green shade", src: "Windshield-GreenShade-GreenTint.svg" },
// Tints Only
{ name: "blue tint", src: "Windshield-NoShade-BlueTint.svg" },
@@ -80,6 +80,11 @@ const tintMap = {
// Returns undefined if no items are found.
export function getTintImage(glassLocation, colorString) {
+ // Windshield glass has special images, all other glass uses the same though.
+ if(glassLocation.toLowerCase() !== 'windshield'){
+ glassLocation = 'other';
+ }
+
if (tintMap[glassLocation.toLowerCase()] === undefined) {
return '';
}
diff --git a/src/layouts/form-test/form-test.vue b/src/layouts/form-test/form-test.vue
index f12abb261..774d863a8 100644
--- a/src/layouts/form-test/form-test.vue
+++ b/src/layouts/form-test/form-test.vue
@@ -144,7 +144,7 @@ export default {
},
resetDependentState() {
// Invokes
- store.dispatch(storeActions.RESET_PARTS_AND_DEPS);
+ store.dispatch(storeActions.RESET_PARTS_STATE);
},
onSubmit(values) {
window.alert('Success! Submitted values: ' + JSON.stringify(values, null ,2))
diff --git a/src/layouts/vehicle-damage/vehicle-damage.spec.js b/src/layouts/vehicle-damage/vehicle-damage.spec.js
index 519d33457..d01febba1 100644
--- a/src/layouts/vehicle-damage/vehicle-damage.spec.js
+++ b/src/layouts/vehicle-damage/vehicle-damage.spec.js
@@ -162,7 +162,7 @@ describe("vehicle-damage.vue", () => {
wrapper.vm.resetDependentState();
//Assert
- expect(store.dispatch).toBeCalledWith(storeActions.RESET_PARTS_AND_DEPS)
+ expect(store.dispatch).toBeCalledWith(storeActions.RESET_PARTS_STATE)
});
});
diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue
index cef8e076c..cc9f7c155 100644
--- a/src/layouts/vehicle-damage/vehicle-damage.vue
+++ b/src/layouts/vehicle-damage/vehicle-damage.vue
@@ -121,7 +121,7 @@ export default {
},
resetDependentState() {
// Invokes
- store.dispatch(storeActions.RESET_PARTS_AND_DEPS);
+ store.dispatch(storeActions.RESET_PARTS_STATE);
},
backButtonAction() {
// route to move backwards
@@ -145,7 +145,7 @@ export default {
const partsData = await baseMixin.methods.dispatchNonBlockingStoreAction(this.storeActions.GET_PARTS_OR_QUESTIONS,
{ carId: this.$store.getters.vehicle.carId, glassArray: this.selectedGlassToReplace()}, false);
- this.$router.navigateAfterSave(this.navigationScenarios.SELECTED_GLASS_MULTIPLE_PARTS, this.$route, { [routerParameterKeys.VEHICLE_PARTS_DATA]: partsData});
+ this.$router.navigateAfterSave(this.navigationScenarios.SELECTED_GLASS_MULTIPLE_PARTS, this.$route, {}, {}, partsData.data);
},
selectedGlassToReplace() {
diff --git a/src/layouts/vehicle-make/vehicle-make.spec.js b/src/layouts/vehicle-make/vehicle-make.spec.js
index b2c4dcaf7..ab04bb1d2 100644
--- a/src/layouts/vehicle-make/vehicle-make.spec.js
+++ b/src/layouts/vehicle-make/vehicle-make.spec.js
@@ -223,8 +223,8 @@ describe("vehicle-make.vue", () => {
expect(store.commit).toBeCalledWith(storeMutations.UPDATE_CAR_ID, null)
expect(store.commit).toBeCalledWith(storeMutations.UPDATE_VEHICLE_CATEGORY, null)
- expect(store.dispatch).toBeCalledWith(storeActions.RESET_DAMAGE_AND_DEPS)
- expect(store.dispatch).toBeCalledWith(storeActions.RESET_REGISTRATION_AND_DEPS)
+ expect(store.dispatch).toBeCalledWith(storeActions.RESET_DAMAGE_STATE)
+ expect(store.dispatch).toBeCalledWith(storeActions.RESET_REGISTRATION_STATE)
});
});
diff --git a/src/layouts/vehicle-make/vehicle-make.vue b/src/layouts/vehicle-make/vehicle-make.vue
index c91379318..41c19a64c 100644
--- a/src/layouts/vehicle-make/vehicle-make.vue
+++ b/src/layouts/vehicle-make/vehicle-make.vue
@@ -94,8 +94,8 @@ export default {
store.commit(storeMutations.UPDATE_VEHICLE_CATEGORY, null);
// Invokes
- store.dispatch(storeActions.RESET_DAMAGE_AND_DEPS);
- store.dispatch(storeActions.RESET_REGISTRATION_AND_DEPS);
+ store.dispatch(storeActions.RESET_DAMAGE_STATE);
+ store.dispatch(storeActions.RESET_REGISTRATION_STATE);
},
},
diff --git a/src/layouts/vehicle-model/vehicle-model.spec.js b/src/layouts/vehicle-model/vehicle-model.spec.js
index 7f8f96eb6..4e40a89cb 100644
--- a/src/layouts/vehicle-model/vehicle-model.spec.js
+++ b/src/layouts/vehicle-model/vehicle-model.spec.js
@@ -208,8 +208,8 @@ describe("vehicle-model.vue", () => {
expect(store.commit).toBeCalledWith(storeMutations.UPDATE_CAR_ID, null)
expect(store.commit).toBeCalledWith(storeMutations.UPDATE_VEHICLE_CATEGORY, null)
- expect(store.dispatch).toBeCalledWith(storeActions.RESET_DAMAGE_AND_DEPS)
- expect(store.dispatch).toBeCalledWith(storeActions.RESET_REGISTRATION_AND_DEPS)
+ expect(store.dispatch).toBeCalledWith(storeActions.RESET_DAMAGE_STATE)
+ expect(store.dispatch).toBeCalledWith(storeActions.RESET_REGISTRATION_STATE)
});
});
diff --git a/src/layouts/vehicle-model/vehicle-model.vue b/src/layouts/vehicle-model/vehicle-model.vue
index 02de04c3b..f57429c8b 100644
--- a/src/layouts/vehicle-model/vehicle-model.vue
+++ b/src/layouts/vehicle-model/vehicle-model.vue
@@ -94,8 +94,8 @@ export default {
store.commit(storeMutations.UPDATE_VEHICLE_CATEGORY, null);
// Invokes
- store.dispatch(storeActions.RESET_DAMAGE_AND_DEPS);
- store.dispatch(storeActions.RESET_REGISTRATION_AND_DEPS);
+ store.dispatch(storeActions.RESET_DAMAGE_STATE);
+ store.dispatch(storeActions.RESET_REGISTRATION_STATE);
},
},
diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/glass-part-question/glass-part-question.vue
similarity index 98%
rename from src/layouts/vehicle-parts/part-question/part-question.vue
rename to src/layouts/vehicle-parts/glass-part-question/glass-part-question.vue
index 9a7e63df6..f5f5cdaa0 100644
--- a/src/layouts/vehicle-parts/part-question/part-question.vue
+++ b/src/layouts/vehicle-parts/glass-part-question/glass-part-question.vue
@@ -1,7 +1,7 @@
-
{{ colorQuestionText }}
+
{{ colorQuestionText }}
@@ -27,6 +27,7 @@
+
diff --git a/src/layouts/vehicle-style/vehicle-style.vue b/src/layouts/vehicle-style/vehicle-style.vue
index 3009a696a..11653e25d 100644
--- a/src/layouts/vehicle-style/vehicle-style.vue
+++ b/src/layouts/vehicle-style/vehicle-style.vue
@@ -99,8 +99,8 @@ export default {
},
resetDependentState() {
// Invokes
- store.dispatch(storeActions.RESET_DAMAGE_AND_DEPS);
- store.dispatch(storeActions.RESET_REGISTRATION_AND_DEPS);
+ store.dispatch(storeActions.RESET_DAMAGE_STATE);
+ store.dispatch(storeActions.RESET_REGISTRATION_STATE);
},
},
diff --git a/src/layouts/vehicle-year/vehicle-year.spec.js b/src/layouts/vehicle-year/vehicle-year.spec.js
index 5ef3ea404..c04d61b17 100644
--- a/src/layouts/vehicle-year/vehicle-year.spec.js
+++ b/src/layouts/vehicle-year/vehicle-year.spec.js
@@ -163,8 +163,8 @@ describe("vehicle-year.vue", () => {
expect(store.commit).toBeCalledWith(storeMutations.UPDATE_CAR_ID, null)
expect(store.commit).toBeCalledWith(storeMutations.UPDATE_VEHICLE_CATEGORY, null)
- expect(store.dispatch).toBeCalledWith(storeActions.RESET_DAMAGE_AND_DEPS)
- expect(store.dispatch).toBeCalledWith(storeActions.RESET_REGISTRATION_AND_DEPS)
+ expect(store.dispatch).toBeCalledWith(storeActions.RESET_DAMAGE_STATE)
+ expect(store.dispatch).toBeCalledWith(storeActions.RESET_REGISTRATION_STATE)
});
});
diff --git a/src/layouts/vehicle-year/vehicle-year.vue b/src/layouts/vehicle-year/vehicle-year.vue
index e8e69c29a..d73ac46f9 100644
--- a/src/layouts/vehicle-year/vehicle-year.vue
+++ b/src/layouts/vehicle-year/vehicle-year.vue
@@ -95,8 +95,8 @@ export default {
store.commit(storeMutations.UPDATE_VEHICLE_CATEGORY, null);
// Invokes
- store.dispatch(storeActions.RESET_DAMAGE_AND_DEPS);
- store.dispatch(storeActions.RESET_REGISTRATION_AND_DEPS);
+ store.dispatch(storeActions.RESET_DAMAGE_STATE);
+ store.dispatch(storeActions.RESET_REGISTRATION_STATE);
}
},
components: {
diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js
index d37ba38d7..d46841b6a 100644
--- a/src/mixins/base-mixin.js
+++ b/src/mixins/base-mixin.js
@@ -18,6 +18,9 @@ export default {
return store.dispatch(type, payload);
},
+ savePageDataToStore(page, data){
+ store.commit(storeMutations.UPDATE_PAGE_DATA, { page: page, data: data });
+ }
},
computed: {
storeActions() {
diff --git a/src/router/index.js b/src/router/index.js
index 0195dd8d9..bd3254d02 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,6 +1,7 @@
// Supporting files
import { createWebHistory, createRouter } from "vue-router";
import { storeActions } from "@/constants/store-actions";
+import baseMixin from "@/mixins/base-mixin";
import { lazyLoadComponent } from "@/router/dynamic-routing/component-loader.js";
import { routingTable } from "@/router/router-constants/routing-table.js";
import { globalEvents, globalEventTypes } from "@/constants/events";
@@ -55,7 +56,7 @@ const routes = [
.getRoutes()
.filter((x) => x.name === to.query.fmgPage)[0].components;
- if (!arePagePrerequisitesValid(component, to.params)) {
+ if (!arePagePrerequisitesValid(component)) {
await GoToFunnelStartOn404(next);
}
@@ -80,7 +81,7 @@ const routes = [
.filter((x) => x.name === routeData[0].name)[0]
.components.default();
- if (!arePagePrerequisitesValid(nextComponent, to.params)) {
+ if (!arePagePrerequisitesValid(nextComponent)) {
await GoToFunnelStartOn404(next);
}
@@ -108,18 +109,18 @@ const router = createRouter({
//---------------------------------------------------------- Router Functions ----------------------------------------------------------
-router.navigate = (scenario, currentRoute, optionalQuery = {}, optionalParams = {}) => {
- navigate(scenario, currentRoute, false, optionalQuery, optionalParams);
+router.navigate = (scenario, currentRoute, optionalQuery = {}, optionalParams = {}, optionalPageData = {}) => {
+ navigate(scenario, currentRoute, false, optionalQuery, optionalParams, optionalPageData);
}
-router.navigateAfterSave = (scenario, currentRoute, optionalQuery = {}, optionalParams = {}) => {
- navigate(scenario, currentRoute, true, optionalQuery, optionalParams);
+router.navigateAfterSave = (scenario, currentRoute, optionalQuery = {}, optionalParams = {}, optionalPageData = {}) => {
+ navigate(scenario, currentRoute, true, optionalQuery, optionalParams, optionalPageData);
}
// PRIVATE FUNCTIONS
// Navigate to the next route, depending on the scenario.
-function navigate(scenario, currentRoute, invalidateOnSave, optionalQuery = {}, optionalParams = {}) {
+function navigate(scenario, currentRoute, invalidateOnSave, optionalQuery = {}, optionalParams = {}, optionalPageData = {}) {
if (!scenario) {
console.error("No scenario provided. Please review the routing table.");
return;
@@ -138,6 +139,9 @@ function navigate(scenario, currentRoute, invalidateOnSave, optionalQuery = {},
resetDependentState(currentComponent);
}
+ // Append page data to the store for the NEXT page, if any. It will be an empty object if none is provided.
+ baseMixin.methods.savePageDataToStore(matchingScenarioMap.destinationFmgPageValue, optionalPageData);
+
router.push({
name: "root",
query: Object.assign(optionalQuery, {
@@ -217,8 +221,8 @@ async function GoToFunnelStartOn404(next) {
}
// Checks arePagePrerequisitesValid on the component passed in.
-function arePagePrerequisitesValid(component, parameters = {}) {
- return component.default.methods.arePagePrerequisitesValid(parameters);
+function arePagePrerequisitesValid(component) {
+ return component.default.methods.arePagePrerequisitesValid();
}
// Reset dependant state on route change.
diff --git a/src/router/router-constants/router-parameter-keys.js b/src/router/router-constants/router-parameter-keys.js
index 27f6a54b0..0c75eb738 100644
--- a/src/router/router-constants/router-parameter-keys.js
+++ b/src/router/router-constants/router-parameter-keys.js
@@ -1,5 +1,3 @@
-const routerParameterKeys = {
- VEHICLE_PARTS_DATA: "vehiclePartsData",
- };
+const routerParameterKeys = { };
export { routerParameterKeys };
\ No newline at end of file
diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js
index c5018716c..1e5b9833f 100644
--- a/src/router/router-constants/routing-table.js
+++ b/src/router/router-constants/routing-table.js
@@ -76,6 +76,19 @@ const routingTable = [
},
],
},
+ {
+ fmgPageValue: fmgPageValues.VEHICLE_PARTS,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_PARTS,
+ destinationFmgPageValue: fmgPageValues.QUOTE,
+ },
+ ],
+ },
];
export { routingTable };
diff --git a/src/store/index.js b/src/store/index.js
index c46b0f1cf..619f4a950 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -27,12 +27,12 @@ export const state = {
},
lineItems:{
glassParts: null,
- childParts: null,
otherParts: null
}
},
applicationUser: {
eventBus: [],
+ pageData: {}
},
}
@@ -75,7 +75,12 @@ export const mutations = {
updateGlassToReplace(state, glassToReplace){
state.order.damage.glassToReplace = glassToReplace;
},
-
+ updateParts(state, partsData){
+ state.order.lineItems.glassParts = partsData;
+ },
+ updatePageData(state, pageData){
+ state.applicationUser.pageData[pageData.page] = pageData.data;
+ },
// EVENT BUS MUTATIONS
addEventToBus(state, event) {
@@ -96,7 +101,7 @@ export const mutations = {
},
// DEPENDENCY MUTATIONS
- resetVehicleAndDependencies(state) {
+ resetVehicleState(state) {
state.order.vehicle.year = null;
state.order.vehicle.make = null;
state.order.vehicle.model = null;
@@ -104,7 +109,7 @@ export const mutations = {
state.order.vehicle.carId = null;
state.order.vehicle.category = null;
},
- resetDamageAndDependencies(state) {
+ resetDamageState(state) {
state.order.damage.isRepair = null;
state.order.damage.numberOfChips = null;
state.order.damage.windshieldGlassToReplace = null;
@@ -113,10 +118,10 @@ export const mutations = {
state.order.damage.rearGlassToReplace = null;
},
- resetRegistrationAndDependencies(state) {
+ resetRegistrationState(state) {
},
- resetPartsAndDependencies(state) {
+ resetPartsState(state) {
state.glassParts = null;
state.childParts = null;
state.otherParts = null;
@@ -136,7 +141,10 @@ export const getters = {
},
eventBus: (state) => state.applicationUser.eventBus,
damage: (state) => state.order.damage,
- lineItems: (state) => state.order.lineItems
+ lineItems: (state) => state.order.lineItems,
+ pageData: (state) => (page) => {
+ return state.applicationUser.pageData[page];
+ }
}
// Export Actions
@@ -212,20 +220,20 @@ export const actions = {
// DEPENDENCY ACTIONS
resetVehicleAndDependencies(context) {
- context.commit(storeMutations.RESET_VEHICLE_AND_DEPS);
- context.commit(storeMutations.RESET_DAMAGE_AND_DEPS);
- context.commit(storeMutations.RESET_REGISTRATION_AND_DEPS);
+ context.commit(storeMutations.RESET_VEHICLE_STATE);
+ context.commit(storeMutations.RESET_DAMAGE_STATE);
+ context.commit(storeMutations.RESET_REGISTRATION_STATE);
},
resetDamageAndDependencies(context) {
- context.commit(storeMutations.RESET_DAMAGE_AND_DEPS);
- context.commit(storeMutations.RESET_PARTS_AND_DEPS);
+ context.commit(storeMutations.RESET_DAMAGE_STATE);
+ context.commit(storeMutations.RESET_PARTS_STATE);
},
resetRegistrationAndDependencies(context) {
- context.commit(storeMutations.RESET_REGISTRATION_AND_DEPS);
- context.commit(storeMutations.RESET_PARTS_AND_DEPS)
+ context.commit(storeMutations.RESET_REGISTRATION_STATE);
+ context.commit(storeMutations.RESET_PARTS_STATE)
},
resetPartsAndDependencies(context) {
- context.commit(storeMutations.RESET_PARTS_AND_DEPS);
+ context.commit(storeMutations.RESET_PARTS_STATE);
},
// Content API Actions
diff --git a/src/store/store.spec.js b/src/store/store.spec.js
index f33595e58..b6920b72f 100644
--- a/src/store/store.spec.js
+++ b/src/store/store.spec.js
@@ -313,9 +313,9 @@ describe("Actions", () => {
// Act
await actions.resetVehicleAndDependencies(context)
- expect(commit).toBeCalledWith(storeMutations.RESET_VEHICLE_AND_DEPS);
- expect(commit).toBeCalledWith(storeMutations.RESET_DAMAGE_AND_DEPS);
- expect(commit).toBeCalledWith(storeMutations.RESET_REGISTRATION_AND_DEPS);
+ expect(commit).toBeCalledWith(storeMutations.RESET_VEHICLE_STATE);
+ expect(commit).toBeCalledWith(storeMutations.RESET_DAMAGE_STATE);
+ expect(commit).toBeCalledWith(storeMutations.RESET_REGISTRATION_STATE);
});
@@ -330,8 +330,8 @@ describe("Actions", () => {
// Act
await actions.resetDamageAndDependencies(context)
- expect(commit).toBeCalledWith(storeMutations.RESET_DAMAGE_AND_DEPS);
- expect(commit).toBeCalledWith(storeMutations.RESET_PARTS_AND_DEPS);
+ expect(commit).toBeCalledWith(storeMutations.RESET_DAMAGE_STATE);
+ expect(commit).toBeCalledWith(storeMutations.RESET_PARTS_STATE);
});
@@ -346,8 +346,8 @@ describe("Actions", () => {
// Act
await actions.resetRegistrationAndDependencies(context)
- expect(commit).toBeCalledWith(storeMutations.RESET_REGISTRATION_AND_DEPS);
- expect(commit).toBeCalledWith(storeMutations.RESET_PARTS_AND_DEPS);
+ expect(commit).toBeCalledWith(storeMutations.RESET_REGISTRATION_STATE);
+ expect(commit).toBeCalledWith(storeMutations.RESET_PARTS_STATE);
});
@@ -362,7 +362,7 @@ describe("Actions", () => {
// Act
await actions.resetPartsAndDependencies(context)
- expect(commit).toBeCalledWith(storeMutations.RESET_PARTS_AND_DEPS);
+ expect(commit).toBeCalledWith(storeMutations.RESET_PARTS_STATE);
});
diff --git a/src/ux-components/radio/radio.vue b/src/ux-components/radio/radio.vue
index 383b37da5..6b0fa291d 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="handleCheckChange()"
+ @change="handleCheckChanged()"
/>