From b5cd51833021e28c5294a48b8b9e5953fe75423e Mon Sep 17 00:00:00 2001 From: FrankRua Date: Mon, 14 Feb 2022 16:39:17 -0500 Subject: [PATCH 01/45] init design for radio question data --- src/constants/tint-mapper.js | 76 +++++++++++++++ .../tints/BackGlass-BlueShade-BlueTint.svg | 18 ++++ .../tints/BackGlass-BlueShade-BrownTint.svg | 18 ++++ .../tints/BackGlass-BlueShade-GrayTint.svg | 19 ++++ .../tints/BackGlass-BlueShade-GreenTint.svg | 18 ++++ .../tints/BackGlass-BlueShade-NoTint.svg | 19 ++++ .../tints/BackGlass-BrownShade-BrownTint.svg | 18 ++++ .../tints/BackGlass-GrayShade-BlueTint.svg | 17 ++++ .../tints/BackGlass-GrayShade-BrownTint.svg | 17 ++++ .../tints/BackGlass-GrayShade-GrayTint.svg | 17 ++++ .../tints/BackGlass-GrayShade-GreenTint.svg | 17 ++++ .../tints/BackGlass-GreenShade-BlueTint.svg | 20 ++++ .../tints/BackGlass-GreenShade-BrownTint.svg | 18 ++++ .../tints/BackGlass-GreenShade-GreenTint.svg | 18 ++++ .../tints/BackGlass-NoShade-BlueTint.svg | 3 + .../tints/BackGlass-NoShade-BrownTint.svg | 3 + .../tints/BackGlass-NoShade-DarkBrownTint.svg | 3 + .../tints/BackGlass-NoShade-DaryGrayTint.svg | 3 + .../tints/BackGlass-NoShade-GrayTint.svg | 3 + .../tints/BackGlass-NoShade-GreenTint.svg | 3 + .../assets/tints/BackGlass-NoShade-NoTint.svg | 3 + .../tints/BackGlass-NoShade-Privacy.svg | 3 + .../tints/Windshield-BlueShade-BlueTint.svg | 18 ++++ .../tints/Windshield-BlueShade-BrownTint.svg | 18 ++++ .../tints/Windshield-BlueShade-GrayTint.svg | 19 ++++ .../tints/Windshield-BlueShade-GreenTint.svg | 17 ++++ .../tints/Windshield-BlueShade-NoTint.svg | 19 ++++ .../tints/Windshield-BrownShade-BrownTint.svg | 18 ++++ .../tints/Windshield-GrayShade-BlueTint.svg | 17 ++++ .../tints/Windshield-GrayShade-BrownTint.svg | 17 ++++ .../tints/Windshield-GrayShade-GrayTint.svg | 17 ++++ .../tints/Windshield-GrayShade-GreenTint.svg | 17 ++++ .../tints/Windshield-GreenShade-BlueTint.svg | 18 ++++ .../tints/Windshield-GreenShade-BrownTint.svg | 18 ++++ .../tints/Windshield-GreenShade-GreenTint.svg | 18 ++++ .../tints/Windshield-NoShade-BlueTint.svg | 3 + .../tints/Windshield-NoShade-BrownTint.svg | 3 + .../Windshield-NoShade-DarkBrownTint.svg | 3 + .../tints/Windshield-NoShade-DarkGrayTint.svg | 3 + .../tints/Windshield-NoShade-GrayTint.svg | 3 + .../tints/Windshield-NoShade-GreenTint.svg | 3 + .../tints/Windshield-NoShade-NoTint.svg | 3 + .../tints/Windshield-NoShade-Privacy.svg | 3 + .../part-question/part-question.vue | 65 +++++++++++++ src/layouts/vehicle-parts/response.json | 96 +++++++++++++++++++ src/layouts/vehicle-parts/vehicle-parts.vue | 44 +++++++++ 46 files changed, 794 insertions(+) create mode 100644 src/constants/tint-mapper.js create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DaryGrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg create mode 100644 src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg create mode 100644 src/layouts/vehicle-parts/part-question/part-question.vue create mode 100644 src/layouts/vehicle-parts/response.json create mode 100644 src/layouts/vehicle-parts/vehicle-parts.vue diff --git a/src/constants/tint-mapper.js b/src/constants/tint-mapper.js new file mode 100644 index 000000000..dc978dc38 --- /dev/null +++ b/src/constants/tint-mapper.js @@ -0,0 +1,76 @@ +const tintMap = { + backglass: [ + // Blue Shade + { name: "blue shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg" }, + { name: "blue shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg" }, + { name: "blue shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg" }, + { name: "blue shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg" }, + { name: "blue shade", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg" }, + + // Brown Shade + { name: "brown shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg" }, + + // Gray Shade + { name: "gray shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg" }, + { name: "gray shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg" }, + { name: "gray shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg" }, + { name: "gray shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg" }, + + // Green Shade + { name: "green shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg" }, + { name: "green shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg" }, + { name: "green shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg" }, + + // Tints Only + { name: "blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg" }, + { name: "brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg" }, + { name: "dark brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg" }, + { name: "dark gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkGrayTint.svg" }, + { name: "gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg" }, + { name: "green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg" }, + { name: "gray tint privacy", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg" }, + + // No shade or tint + { name: "no shade, no tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg" }, // ??? + ], + + windhshield: [ + // Blue Shade + { name: "blue shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg" }, + { name: "blue shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg" }, + { name: "blue shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg" }, + { name: "blue shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg" }, + { name: "blue shade", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg" }, + + // Brown Shade + { name: "brown shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg" }, + + // Gray Shade + { name: "gray shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg" }, + { name: "gray shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg" }, + { name: "gray shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg" }, + { name: "gray shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg" }, + + // Green Shade + { name: "green shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg" }, + { name: "green shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg" }, + { name: "green shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg" }, + + // Tints Only + { name: "blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg" }, + { name: "brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg" }, + { name: "dark brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg" }, + { name: "dark gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg" }, + { name: "gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg" }, + { name: "green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg" }, + { name: "gray tint privacy", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg" }, + + // No shade or tint + { name: "no shade, no tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg" }, // ??? + + ] +} + +export function getTintImage(glassType, colorString) { + return tintMap[glassType.toLowerCase()].find(item => item.name == colorString.toLowerCase()) +} \ No newline at end of file diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg new file mode 100644 index 000000000..007c490f0 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg new file mode 100644 index 000000000..d1ffeb8e0 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg new file mode 100644 index 000000000..417ce474d --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg new file mode 100644 index 000000000..4cf1c3831 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg new file mode 100644 index 000000000..220b1ab04 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg new file mode 100644 index 000000000..dbd059625 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg new file mode 100644 index 000000000..2ec4a0535 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg new file mode 100644 index 000000000..f9cc80c12 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg new file mode 100644 index 000000000..fcfe78cf6 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg new file mode 100644 index 000000000..b420ec6f4 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg new file mode 100644 index 000000000..e1f2e9688 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg new file mode 100644 index 000000000..b8f49b565 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg new file mode 100644 index 000000000..b07e8dbcc --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg new file mode 100644 index 000000000..1e4fd4eba --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg new file mode 100644 index 000000000..658774678 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg new file mode 100644 index 000000000..f36ebd878 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DaryGrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DaryGrayTint.svg new file mode 100644 index 000000000..5aab7ea07 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DaryGrayTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg new file mode 100644 index 000000000..ee14d3c4b --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg new file mode 100644 index 000000000..5f5b99de0 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg new file mode 100644 index 000000000..ec1ced501 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg new file mode 100644 index 000000000..caa726f47 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg new file mode 100644 index 000000000..b4cf30c92 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg new file mode 100644 index 000000000..dbca11b88 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg new file mode 100644 index 000000000..7ef277564 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg new file mode 100644 index 000000000..18bc35fb5 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg new file mode 100644 index 000000000..2217911a8 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg new file mode 100644 index 000000000..8c8b1da66 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg new file mode 100644 index 000000000..a924b6664 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg new file mode 100644 index 000000000..b26eedee1 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg new file mode 100644 index 000000000..69373ca2c --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg new file mode 100644 index 000000000..14824eb51 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg new file mode 100644 index 000000000..fcc3d63a3 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg new file mode 100644 index 000000000..2fdf4bcf9 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg new file mode 100644 index 000000000..65a735289 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg new file mode 100644 index 000000000..cbeb84ab4 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg new file mode 100644 index 000000000..f70fef994 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg new file mode 100644 index 000000000..feedfa3f0 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg new file mode 100644 index 000000000..9f55ee8a7 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg new file mode 100644 index 000000000..249a9866c --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg new file mode 100644 index 000000000..ce17261a5 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg new file mode 100644 index 000000000..5a9bc647f --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg new file mode 100644 index 000000000..ca1f024ac --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/part-question/part-question.vue new file mode 100644 index 000000000..7c29a6e61 --- /dev/null +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/layouts/vehicle-parts/response.json b/src/layouts/vehicle-parts/response.json new file mode 100644 index 000000000..6bcde0a58 --- /dev/null +++ b/src/layouts/vehicle-parts/response.json @@ -0,0 +1,96 @@ +{ + "partsOrQuestions": [ + { + "glassName": "Backglass", + "parts": [ + { + "partNumber": "DB12209GTYN", + "description": "heated glass, solar, 1 hole", + "color": "Green Tint", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DB12209YPYN", + "description": "heated glass, solar, 1 hole", + "color": "Gray Tint Privacy", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + } + ], + "partQuestions": null + }, + { + "glassName": "DriverRearQuarterGlass", + "parts": [ + { + "partNumber": "DQ12204GTYNOEM", + "description": "solar, driver side, encap", + "color": "Green Tint", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DQ12204YPYNOEM", + "description": "solar, driver side, encap", + "color": "Gray Tint Privacy", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DQ12205GTYNOEM", + "description": "solar, antenna, driver side, encap", + "color": "Green Tint", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DQ12205YPYNOEM", + "description": "solar, antenna, driver side, encap", + "color": "Gray Tint Privacy", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DQ12207GTYN", + "description": "solar, driver side, encap, chrome molding", + "color": "Green Tint", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DQ12207YPYNOEM", + "description": "solar, driver side, encap, chrome molding", + "color": "Gray Tint Privacy", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DQ12208GTYNOEM", + "description": "solar, antenna, driver side, encap, chrome molding", + "color": "Green Tint", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "DQ12208YPYNOEM", + "description": "solar, antenna, driver side, encap, chrome molding", + "color": "Gray Tint Privacy", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + } + ], + "partQuestions": null + } + ] + } \ No newline at end of file diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue new file mode 100644 index 000000000..a0aeb2ebb --- /dev/null +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -0,0 +1,44 @@ + + + From 5a6acf7bce64a7108ab87650192c14ae86597845 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Tue, 15 Feb 2022 13:00:02 -0500 Subject: [PATCH 02/45] More changes --- .../tints/BackGlass-BlueShade-BlueTint.svg | 0 .../tints/BackGlass-BlueShade-BrownTint.svg | 0 .../tints/BackGlass-BlueShade-GrayTint.svg | 0 .../tints/BackGlass-BlueShade-GreenTint.svg | 0 .../img}/tints/BackGlass-BlueShade-NoTint.svg | 0 .../tints/BackGlass-BrownShade-BrownTint.svg | 0 .../tints/BackGlass-GrayShade-BlueTint.svg | 0 .../tints/BackGlass-GrayShade-BrownTint.svg | 0 .../tints/BackGlass-GrayShade-GrayTint.svg | 0 .../tints/BackGlass-GrayShade-GreenTint.svg | 0 .../tints/BackGlass-GreenShade-BlueTint.svg | 0 .../tints/BackGlass-GreenShade-BrownTint.svg | 0 .../tints/BackGlass-GreenShade-GreenTint.svg | 0 .../img}/tints/BackGlass-NoShade-BlueTint.svg | 0 .../tints/BackGlass-NoShade-BrownTint.svg | 0 .../tints/BackGlass-NoShade-DarkBrownTint.svg | 0 .../tints/BackGlass-NoShade-DaryGrayTint.svg | 0 .../img}/tints/BackGlass-NoShade-GrayTint.svg | 0 .../tints/BackGlass-NoShade-GreenTint.svg | 0 .../img}/tints/BackGlass-NoShade-NoTint.svg | 0 .../img}/tints/BackGlass-NoShade-Privacy.svg | 0 .../tints/Windshield-BlueShade-BlueTint.svg | 0 .../tints/Windshield-BlueShade-BrownTint.svg | 0 .../tints/Windshield-BlueShade-GrayTint.svg | 0 .../tints/Windshield-BlueShade-GreenTint.svg | 0 .../tints/Windshield-BlueShade-NoTint.svg | 0 .../tints/Windshield-BrownShade-BrownTint.svg | 0 .../tints/Windshield-GrayShade-BlueTint.svg | 0 .../tints/Windshield-GrayShade-BrownTint.svg | 0 .../tints/Windshield-GrayShade-GrayTint.svg | 0 .../tints/Windshield-GrayShade-GreenTint.svg | 0 .../tints/Windshield-GreenShade-BlueTint.svg | 0 .../tints/Windshield-GreenShade-BrownTint.svg | 0 .../tints/Windshield-GreenShade-GreenTint.svg | 0 .../tints/Windshield-NoShade-BlueTint.svg | 0 .../tints/Windshield-NoShade-BrownTint.svg | 0 .../Windshield-NoShade-DarkBrownTint.svg | 0 .../tints/Windshield-NoShade-DarkGrayTint.svg | 0 .../tints/Windshield-NoShade-GrayTint.svg | 0 .../tints/Windshield-NoShade-GreenTint.svg | 0 .../img}/tints/Windshield-NoShade-NoTint.svg | 0 .../img}/tints/Windshield-NoShade-Privacy.svg | 0 src/constants/tint-mapper.js | 84 +++++++++---------- .../part-question/part-question.vue | 60 ++++++++----- src/layouts/vehicle-parts/vehicle-parts.vue | 16 +++- 45 files changed, 95 insertions(+), 65 deletions(-) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-BlueShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-BlueShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-BlueShade-GrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-BlueShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-BlueShade-NoTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-BrownShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-GrayShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-GrayShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-GrayShade-GrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-GrayShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-GreenShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-GreenShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-GreenShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-DarkBrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-DaryGrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-GrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-NoTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/BackGlass-NoShade-Privacy.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-BlueShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-BlueShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-BlueShade-GrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-BlueShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-BlueShade-NoTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-BrownShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-GrayShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-GrayShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-GrayShade-GrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-GrayShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-GreenShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-GreenShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-GreenShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-BlueTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-BrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-DarkBrownTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-DarkGrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-GrayTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-GreenTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-NoTint.svg (100%) rename src/{layouts/vehicle-parts/part-question/assets => assets/img}/tints/Windshield-NoShade-Privacy.svg (100%) diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg b/src/assets/img/tints/BackGlass-BlueShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg rename to src/assets/img/tints/BackGlass-BlueShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg b/src/assets/img/tints/BackGlass-BlueShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg rename to src/assets/img/tints/BackGlass-BlueShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg b/src/assets/img/tints/BackGlass-BlueShade-GrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg rename to src/assets/img/tints/BackGlass-BlueShade-GrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg b/src/assets/img/tints/BackGlass-BlueShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg rename to src/assets/img/tints/BackGlass-BlueShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg b/src/assets/img/tints/BackGlass-BlueShade-NoTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg rename to src/assets/img/tints/BackGlass-BlueShade-NoTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg b/src/assets/img/tints/BackGlass-BrownShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg rename to src/assets/img/tints/BackGlass-BrownShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg b/src/assets/img/tints/BackGlass-GrayShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg rename to src/assets/img/tints/BackGlass-GrayShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg b/src/assets/img/tints/BackGlass-GrayShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg rename to src/assets/img/tints/BackGlass-GrayShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg b/src/assets/img/tints/BackGlass-GrayShade-GrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg rename to src/assets/img/tints/BackGlass-GrayShade-GrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg b/src/assets/img/tints/BackGlass-GrayShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg rename to src/assets/img/tints/BackGlass-GrayShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg b/src/assets/img/tints/BackGlass-GreenShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg rename to src/assets/img/tints/BackGlass-GreenShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg b/src/assets/img/tints/BackGlass-GreenShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg rename to src/assets/img/tints/BackGlass-GreenShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg b/src/assets/img/tints/BackGlass-GreenShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg rename to src/assets/img/tints/BackGlass-GreenShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg b/src/assets/img/tints/BackGlass-NoShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg rename to src/assets/img/tints/BackGlass-NoShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg b/src/assets/img/tints/BackGlass-NoShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg rename to src/assets/img/tints/BackGlass-NoShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg b/src/assets/img/tints/BackGlass-NoShade-DarkBrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg rename to src/assets/img/tints/BackGlass-NoShade-DarkBrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DaryGrayTint.svg b/src/assets/img/tints/BackGlass-NoShade-DaryGrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DaryGrayTint.svg rename to src/assets/img/tints/BackGlass-NoShade-DaryGrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg b/src/assets/img/tints/BackGlass-NoShade-GrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg rename to src/assets/img/tints/BackGlass-NoShade-GrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg b/src/assets/img/tints/BackGlass-NoShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg rename to src/assets/img/tints/BackGlass-NoShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg b/src/assets/img/tints/BackGlass-NoShade-NoTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg rename to src/assets/img/tints/BackGlass-NoShade-NoTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg b/src/assets/img/tints/BackGlass-NoShade-Privacy.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg rename to src/assets/img/tints/BackGlass-NoShade-Privacy.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg b/src/assets/img/tints/Windshield-BlueShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg rename to src/assets/img/tints/Windshield-BlueShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg b/src/assets/img/tints/Windshield-BlueShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg rename to src/assets/img/tints/Windshield-BlueShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg b/src/assets/img/tints/Windshield-BlueShade-GrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg rename to src/assets/img/tints/Windshield-BlueShade-GrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg b/src/assets/img/tints/Windshield-BlueShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg rename to src/assets/img/tints/Windshield-BlueShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg b/src/assets/img/tints/Windshield-BlueShade-NoTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg rename to src/assets/img/tints/Windshield-BlueShade-NoTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg b/src/assets/img/tints/Windshield-BrownShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg rename to src/assets/img/tints/Windshield-BrownShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg b/src/assets/img/tints/Windshield-GrayShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg rename to src/assets/img/tints/Windshield-GrayShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg b/src/assets/img/tints/Windshield-GrayShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg rename to src/assets/img/tints/Windshield-GrayShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg b/src/assets/img/tints/Windshield-GrayShade-GrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg rename to src/assets/img/tints/Windshield-GrayShade-GrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg b/src/assets/img/tints/Windshield-GrayShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg rename to src/assets/img/tints/Windshield-GrayShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg b/src/assets/img/tints/Windshield-GreenShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg rename to src/assets/img/tints/Windshield-GreenShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg b/src/assets/img/tints/Windshield-GreenShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg rename to src/assets/img/tints/Windshield-GreenShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg b/src/assets/img/tints/Windshield-GreenShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg rename to src/assets/img/tints/Windshield-GreenShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg b/src/assets/img/tints/Windshield-NoShade-BlueTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg rename to src/assets/img/tints/Windshield-NoShade-BlueTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg b/src/assets/img/tints/Windshield-NoShade-BrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg rename to src/assets/img/tints/Windshield-NoShade-BrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg b/src/assets/img/tints/Windshield-NoShade-DarkBrownTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg rename to src/assets/img/tints/Windshield-NoShade-DarkBrownTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg b/src/assets/img/tints/Windshield-NoShade-DarkGrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg rename to src/assets/img/tints/Windshield-NoShade-DarkGrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg b/src/assets/img/tints/Windshield-NoShade-GrayTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg rename to src/assets/img/tints/Windshield-NoShade-GrayTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg b/src/assets/img/tints/Windshield-NoShade-GreenTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg rename to src/assets/img/tints/Windshield-NoShade-GreenTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg b/src/assets/img/tints/Windshield-NoShade-NoTint.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg rename to src/assets/img/tints/Windshield-NoShade-NoTint.svg diff --git a/src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg b/src/assets/img/tints/Windshield-NoShade-Privacy.svg similarity index 100% rename from src/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg rename to src/assets/img/tints/Windshield-NoShade-Privacy.svg diff --git a/src/constants/tint-mapper.js b/src/constants/tint-mapper.js index dc978dc38..65c714b1c 100644 --- a/src/constants/tint-mapper.js +++ b/src/constants/tint-mapper.js @@ -1,72 +1,72 @@ const tintMap = { backglass: [ // Blue Shade - { name: "blue shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BlueTint.svg" }, - { name: "blue shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-BrownTint.svg" }, - { name: "blue shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GrayTint.svg" }, - { name: "blue shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-GreenTint.svg" }, - { name: "blue shade", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BlueShade-NoTint.svg" }, + { 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" }, // Brown Shade - { name: "brown shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-BrownShade-BrownTint.svg" }, + { name: "brown shade, brown tint", src: "BackGlass-BrownShade-BrownTint.svg" }, // Gray Shade - { name: "gray shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BlueTint.svg" }, - { name: "gray shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-BrownTint.svg" }, - { name: "gray shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GrayTint.svg" }, - { name: "gray shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GrayShade-GreenTint.svg" }, + { 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" }, // Green Shade - { name: "green shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BlueTint.svg" }, - { name: "green shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-BrownTint.svg" }, - { name: "green shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-GreenShade-GreenTint.svg" }, + { 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" }, // Tints Only - { name: "blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BlueTint.svg" }, - { name: "brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-BrownTint.svg" }, - { name: "dark brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkBrownTint.svg" }, - { name: "dark gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-DarkGrayTint.svg" }, - { name: "gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GrayTint.svg" }, - { name: "green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-GreenTint.svg" }, - { name: "gray tint privacy", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-Privacy.svg" }, + { 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" }, // No shade or tint - { name: "no shade, no tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/BackGlass-NoShade-NoTint.svg" }, // ??? + { name: "no shade, no tint", src: "BackGlass-NoShade-NoTint.svg" }, // ??? ], windhshield: [ // Blue Shade - { name: "blue shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BlueTint.svg" }, - { name: "blue shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-BrownTint.svg" }, - { name: "blue shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GrayTint.svg" }, - { name: "blue shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-GreenTint.svg" }, - { name: "blue shade", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BlueShade-NoTint.svg" }, + { 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 shade", src: "Windshield-BlueShade-NoTint.svg" }, // Brown Shade - { name: "brown shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-BrownShade-BrownTint.svg" }, + { name: "brown shade, brown tint", src: "Windshield-BrownShade-BrownTint.svg" }, // Gray Shade - { name: "gray shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BlueTint.svg" }, - { name: "gray shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-BrownTint.svg" }, - { name: "gray shade, gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GrayTint.svg" }, - { name: "gray shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GrayShade-GreenTint.svg" }, + { 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" }, // Green Shade - { name: "green shade, blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BlueTint.svg" }, - { name: "green shade, brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-BrownTint.svg" }, - { name: "green shade, green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-GreenShade-GreenTint.svg" }, + { 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" }, // Tints Only - { name: "blue tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BlueTint.svg" }, - { name: "brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-BrownTint.svg" }, - { name: "dark brown tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkBrownTint.svg" }, - { name: "dark gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-DarkGrayTint.svg" }, - { name: "gray tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GrayTint.svg" }, - { name: "green tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-GreenTint.svg" }, - { name: "gray tint privacy", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-Privacy.svg" }, + { name: "blue tint", src: "Windshield-NoShade-BlueTint.svg" }, + { name: "brown tint", src: "Windshield-NoShade-BrownTint.svg" }, + { name: "dark brown tint", src: "Windshield-NoShade-DarkBrownTint.svg" }, + { name: "dark gray tint", src: "Windshield-NoShade-DarkGrayTint.svg" }, + { name: "gray tint", src: "Windshield-NoShade-GrayTint.svg" }, + { name: "green tint", src: "Windshield-NoShade-GreenTint.svg" }, + { name: "gray tint privacy", src: "Windshield-NoShade-Privacy.svg" }, // No shade or tint - { name: "no shade, no tint", src: "@/layouts/vehicle-parts/part-question/assets/tints/Windshield-NoShade-NoTint.svg" }, // ??? + { name: "no shade, no tint", src: "Windshield-NoShade-NoTint.svg" }, // ??? ] } diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/part-question/part-question.vue index 7c29a6e61..021410034 100644 --- a/src/layouts/vehicle-parts/part-question/part-question.vue +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -1,9 +1,11 @@ @@ -21,20 +23,6 @@ export default { return { glassColorQuestion: String, glassFeatureQuestion: String, - testTest: [ - { - // Computed to covert my data to name/text data, - // look at answersToDisplay in damage-location-question.vue - - Name: "DB12209GTYN", // Backing value - Text: "heated glass, solar, 1 hole", // Display to user - }, - - { - Name: "Zzzzzz", - Text: "AAAAAAA", - }, - ] }; }, props: { @@ -45,21 +33,49 @@ export default { listCard, buttonQuestion }, - mounted() { - const s = getTintImage("Backglass", "Green Tint"); - - console.log("hi"); - }, computed: { colorQuestionText() { return "Backglass"; }, + featureListData() { + return this.createFeatureListMap(this.colorAnswers); + }, }, methods: { initializeComponent(cmsContent, initialData) { this.glassColorQuestion = cmsContent.ColorQuestion; this.glassFeatureQuestion = cmsContent.FeatureQuestion; }, + + createFeatureListMap(colorAnswers) { + const tintMapByColor = colorAnswers.reduce((arr, item) => { + + // Create the key + const itemColor = item.ColorAnswerText; + arr[itemColor] = arr[itemColor] || []; + + // Map the data to Name/Text object for ButtonQuestion + const mappedItem = item.FeatureAnswers.reduce((featureArr, item) => { + featureArr["Text"] = item.FeatureAnswerText; + featureArr["Name"] = item.PartNumber; + + return featureArr + }, {}); + + // Add onto the final object + arr[itemColor].push(mappedItem); + + return arr; + }, {}); + + return tintMapByColor; + }, + + getTintImage(glassType, tintColor) { + const tintObject = getTintImage(glassType, tintColor); + + return tintObject === undefined ? "" : tintObject.src; + } }, }; diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index a0aeb2ebb..303afae0a 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -21,13 +21,27 @@ export default { PartNumber: 'DB12209GTYN' }] }, + { + ColorAnswerText: 'Green Tint', + FeatureAnswers: [{ + FeatureAnswerText: 'heated glass, solar, 3 hole', + PartNumber: 'DB12209XXXX' + }] + }, { ColorAnswerText: 'Gray Tint Privacy', FeatureAnswers: [{ FeatureAnswerText: 'heated glass, solar, 1 hole', PartNumber: 'DB12209YPYN' }] - } + }, + { + ColorAnswerText: 'Gray Tint Privacy', + FeatureAnswers: [{ + FeatureAnswerText: 'heated glass, solar, 5 hole', + PartNumber: 'DB12209YZZZ' + }] + }, ] }] } From b588fce5ee8136818f86254a7a2f26c94f2ce680 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Tue, 15 Feb 2022 16:30:59 -0500 Subject: [PATCH 03/45] v-model --- .../vehicle-parts/part-question/part-question.vue | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/part-question/part-question.vue index 021410034..c13298af2 100644 --- a/src/layouts/vehicle-parts/part-question/part-question.vue +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -1,12 +1,13 @@ diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/part-question/part-question.vue index c13298af2..abd5b6b76 100644 --- a/src/layouts/vehicle-parts/part-question/part-question.vue +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -1,22 +1,40 @@ + + diff --git a/src/layouts/vehicle-parts/response.json b/src/layouts/vehicle-parts/response.json deleted file mode 100644 index 6bcde0a58..000000000 --- a/src/layouts/vehicle-parts/response.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "partsOrQuestions": [ - { - "glassName": "Backglass", - "parts": [ - { - "partNumber": "DB12209GTYN", - "description": "heated glass, solar, 1 hole", - "color": "Green Tint", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DB12209YPYN", - "description": "heated glass, solar, 1 hole", - "color": "Gray Tint Privacy", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - } - ], - "partQuestions": null - }, - { - "glassName": "DriverRearQuarterGlass", - "parts": [ - { - "partNumber": "DQ12204GTYNOEM", - "description": "solar, driver side, encap", - "color": "Green Tint", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DQ12204YPYNOEM", - "description": "solar, driver side, encap", - "color": "Gray Tint Privacy", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DQ12205GTYNOEM", - "description": "solar, antenna, driver side, encap", - "color": "Green Tint", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DQ12205YPYNOEM", - "description": "solar, antenna, driver side, encap", - "color": "Gray Tint Privacy", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DQ12207GTYN", - "description": "solar, driver side, encap, chrome molding", - "color": "Green Tint", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DQ12207YPYNOEM", - "description": "solar, driver side, encap, chrome molding", - "color": "Gray Tint Privacy", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DQ12208GTYNOEM", - "description": "solar, antenna, driver side, encap, chrome molding", - "color": "Green Tint", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - }, - { - "partNumber": "DQ12208YPYNOEM", - "description": "solar, antenna, driver side, encap, chrome molding", - "color": "Gray Tint Privacy", - "requiresRecalibration": false, - "requiresCapabilityQuestions": false, - "childParts": null - } - ], - "partQuestions": null - } - ] - } \ No newline at end of file diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index 303afae0a..81a7240ca 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -12,38 +12,72 @@ export default { name: "vehicle-parts", data() { return { - Parts: [{ - glassName: 'Backglass', - colorAnswers: [{ - ColorAnswerText: 'Green Tint', - FeatureAnswers: [{ - FeatureAnswerText: 'heated glass, solar, 1 hole', - PartNumber: 'DB12209GTYN' - }] - }, - { - ColorAnswerText: 'Green Tint', - FeatureAnswers: [{ - FeatureAnswerText: 'heated glass, solar, 3 hole', - PartNumber: 'DB12209XXXX' - }] - }, - { - ColorAnswerText: 'Gray Tint Privacy', - FeatureAnswers: [{ - FeatureAnswerText: 'heated glass, solar, 1 hole', - PartNumber: 'DB12209YPYN' - }] - }, - { - ColorAnswerText: 'Gray Tint Privacy', - FeatureAnswers: [{ - FeatureAnswerText: 'heated glass, solar, 5 hole', - PartNumber: 'DB12209YZZZ' - }] - }, - ] - }] + Parts: [ + { + glassName: 'Backglass', + colorAnswers: [{ + ColorAnswerText: 'Green Tint', + FeatureAnswers: [{ + FeatureAnswerText: 'Backglass - heated glass, solar, 1 hole', + PartNumber: 'test-backglass-green-tint-1-hole', + }] + }, + { + ColorAnswerText: 'Green Tint', + FeatureAnswers: [{ + FeatureAnswerText: 'Backglass - heated glass, solar, 2 hole', + PartNumber: 'test-backglass-green-tint-2-hole' + }] + }, + { + ColorAnswerText: 'Gray Tint Privacy', + FeatureAnswers: [{ + FeatureAnswerText: 'Backglass - heated glass, solar, 3 hole', + PartNumber: 'test-backglass-gray-tint-privacy-3-hole' + }] + }, + { + ColorAnswerText: 'Gray Tint Privacy', + FeatureAnswers: [{ + FeatureAnswerText: 'Backglass - heated glass, solar, 4 hole', + PartNumber: 'test-backglass-blue-tint-4-hole' + }] + }, + ] + }, + { + glassName: 'Windshield', + colorAnswers: [{ + ColorAnswerText: 'Blue Tint', + FeatureAnswers: [{ + FeatureAnswerText: 'Windshield - heated glass, solar, 1 hole', + PartNumber: 'test-windshield-blue-tint-1-hole' + }] + }, + { + ColorAnswerText: 'Blue Tint', + FeatureAnswers: [{ + FeatureAnswerText: 'Windshield -heated glass, solar, 2 hole', + PartNumber: 'test-blue-tint-windshield-2-hole' + }] + }, + { + ColorAnswerText: 'Gray Tint Privacy', + FeatureAnswers: [{ + FeatureAnswerText: 'Windshield -heated glass, solar, 3 hole', + PartNumber: 'test-gray-tint-privacy-windshield-3-hole' + }] + }, + { + ColorAnswerText: 'Gray Tint Privacy', + FeatureAnswers: [{ + FeatureAnswerText: 'Windshield -heated glass, solar, 4 hole', + PartNumber: 'test-brown-tint-windshield-4-hole' + }] + }, + ] + }, + ] } }, components: { diff --git a/src/ux-components/list-card/list-card.vue b/src/ux-components/list-card/list-card.vue index ddecb9a31..bf06134e0 100644 --- a/src/ux-components/list-card/list-card.vue +++ b/src/ux-components/list-card/list-card.vue @@ -1,266 +1,268 @@ diff --git a/src/ux-components/radio/radio.vue b/src/ux-components/radio/radio.vue index 952aefb1d..386cfdb72 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="handleCheckChanged" /> - + - + \ No newline at end of file From d9dc1eeb7ec904950ef587d3974c0aa5cb037d0e Mon Sep 17 00:00:00 2001 From: FrankRua Date: Mon, 21 Feb 2022 17:26:29 -0500 Subject: [PATCH 05/45] Changed computed, commented --- .../part-question/part-question.vue | 46 ++++++++++--------- src/ux-components/list-card/list-card.vue | 8 +++- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/part-question/part-question.vue index abd5b6b76..6808c3bee 100644 --- a/src/layouts/vehicle-parts/part-question/part-question.vue +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -1,4 +1,5 @@ diff --git a/src/ux-components/list-card/list-card.vue b/src/ux-components/list-card/list-card.vue index da89bc55a..5f7ace3d4 100644 --- a/src/ux-components/list-card/list-card.vue +++ b/src/ux-components/list-card/list-card.vue @@ -44,36 +44,28 @@ - + + \ No newline at end of file diff --git a/src/ux-components/radio/radio.vue b/src/ux-components/radio/radio.vue index 1b4d71d9e..d7620df94 100644 --- a/src/ux-components/radio/radio.vue +++ b/src/ux-components/radio/radio.vue @@ -2,15 +2,15 @@
-
+ + \ No newline at end of file + From cbdde53a987267dfcf6083fd9417ff4b4d3b8a89 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Tue, 22 Feb 2022 17:06:31 -0500 Subject: [PATCH 09/45] Calls $refs dynamically --- src/layouts/vehicle-parts/vehicle-parts.vue | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index 703c9789c..1f4323a65 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -62,15 +62,10 @@ export default { vm.$refs.funnelFooter.initializeComponent( resultMap.cmsContent.FunnelFooterWidget ); + // Part Question dynamic component + Object.keys(vm.$refs).filter(r => r.includes(vm.refPrefix) && vm.$refs[r][0] !== undefined).forEach(c => vm.$refs[c][0].initializeComponent()); - // for (const key of Object.keys(vm.$refs)) { - // if (key.includes(vm.refPrefix) && vm.$refs[key][0] !== undefined) { - // const partQuestionComp = vm.$refs[key][0]; - - // partQuestionComp.initializeComponent() - // } - // } }); }, From 265e32f7a7b80810647283f4dbe15a2ade1f559c Mon Sep 17 00:00:00 2001 From: FrankRua Date: Wed, 23 Feb 2022 11:30:48 -0500 Subject: [PATCH 10/45] Integrated CMS, refactor --- src/constants/dynamictext-mapper.js | 2 +- src/constants/store-actions.js | 1 + .../part-question/part-question.vue | 45 +++-- src/layouts/vehicle-parts/vehicle-parts.vue | 169 +++++++++--------- src/store/index.js | 14 ++ 5 files changed, 120 insertions(+), 111 deletions(-) diff --git a/src/constants/dynamictext-mapper.js b/src/constants/dynamictext-mapper.js index 31e49c368..b450d0561 100644 --- a/src/constants/dynamictext-mapper.js +++ b/src/constants/dynamictext-mapper.js @@ -3,7 +3,7 @@ // Please use lowercase only so that we don't have to worry about case sensitivity. const customMappings = { - glassname: [ + formattedglassname: [ { key: 'Windshield Single', transformedValue: 'windshield' }, { key: 'Windshield Driver', transformedValue: 'driver side split windshield' }, { key: 'Windshield Passenger', transformedValue: 'passenger side split windshield' }, diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 177211ae0..dddab1d66 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -11,6 +11,7 @@ const storeActions = { GET_EVOX_IMAGE: "getEvoxImage", LOOKUP_VEHICLE_BY_YMMS: "lookupVehicleByYmms", LOOKUP_VEHICLE_BY_VIN: "lookupVehicleByVin", + GET_PARTS_OR_QUESTIONS: "getPartsOrQuestions", // DEPENDENCY MUTATIONS RESET_VEHICLE_AND_DEPS: "resetVehicleAndDependencies", diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/part-question/part-question.vue index 10d5a8392..121d358e8 100644 --- a/src/layouts/vehicle-parts/part-question/part-question.vue +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -17,14 +17,13 @@ " :buttonLabel="name" altText="" :buttonID="`${glassLocation}-${glassName}-${name}`" :groupName="`${glassLocation}-${glassName}`" @isCheckedChanged="ResetTintAndPartSelections()" /> -
- +
@@ -49,10 +48,8 @@ export default { inheritAttrs: false, data() { return { - glassColorQuestion: String, - glassFeatureQuestion: String, - featureListData: Object, - selectedPart: {}, // v-model for the radio button selections + glassColorQuestion: '', + glassFeatureQuestion: '', selectedTint: {}, // v-model for the list card selections }; }, @@ -60,6 +57,7 @@ export default { glassName: String, glassLocation: String, colorAnswers: Array, + modelValue: Object }, components: { listCard, @@ -67,24 +65,21 @@ export default { }, computed: { colorQuestionText() { - return getCustomTransformValue( - "Select your current {custom:glassName} color", - `${this.glassLocation} ${this.glassName}` - ); + return getCustomTransformValue(this.glassColorQuestion, `${this.glassLocation} ${this.glassName}`); }, - }, - mounted() { - this.featureListData = this.createFeatureListMap(this.colorAnswers); - }, - methods: { - initializeComponent(cmsContent, initialData) { - console.log("Im here"); + selectedPart: { + get: function () { + return this.modelValue; + }, + set: function (newValue) { + this.$emit("update:modelValue", newValue); + } }, // Creates a map of the feature list data in the correct Name/Value // format for the button-question component. - createFeatureListMap(colorAnswers) { - const tintMapByColor = colorAnswers.reduce((arr, item) => { + featureListData() { + const tintMapByColor = this.colorAnswers.reduce((arr, item) => { // Create the key const itemColor = item.ColorAnswerText; arr[itemColor] = arr[itemColor] || []; @@ -104,6 +99,12 @@ export default { }, {}); return tintMapByColor; + } + }, + methods: { + initializeComponent(cmsContent, initialData) { + this.glassColorQuestion = cmsContent.ColorQuestionWidget.QuestionText; + this.glassFeatureQuestion = cmsContent.FeatureQuestionWidget.QuestionText; }, // Gets tint images based on the glass type, and tint name. @@ -123,12 +124,6 @@ export default { this.selectedTint = {}; this.selectedPart = {}; }, - - // Emits selected part back to the parent vehicle-parts component - // so it can have a object that contains all selected parts. - EmitPartSelection(event) { - this.$emit("update:modelValue", event); - }, }, }; diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index 1f4323a65..1c213465e 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -1,11 +1,12 @@ @@ -20,6 +27,7 @@ import funnelHeader from "@/common-components/funnel-header/funnel-header"; import vehicleBanner from "@/common-components/vehicle-banner/vehicle-banner"; import funnelSubHeader from "@/common-components/funnel-sub-header/funnel-sub-header"; import funnelFooter from "@/common-components/funnel-footer/funnel-footer"; +import alert from "@/ux-components/alert/alert"; // Supporting Files import { @@ -29,6 +37,7 @@ import { settleAllPromises } from "@/helpers/layout-helper"; + export default { name: "vehicle-parts", async beforeRouteEnter(to, from, next) { @@ -38,8 +47,8 @@ export default { // Settle promises and get results const promiseResultMap = [{ resultKey: "cmsContent", - promise: cmsContentPromise - }]; + promise: cmsContentPromise, + }, ]; const resultMap = await settleAllPromises(promiseResultMap); @@ -61,16 +70,27 @@ export default { // Part Question dynamic component Object.keys(vm.$refs) .filter((r) => r.includes(vm.refPrefix) && vm.$refs[r][0] !== undefined) - .forEach((c) => vm.$refs[c][0].initializeComponent({ - ColorQuestionWidget: resultMap.cmsContent.ColorQuestionWidget, - FeatureQuestionWidget: resultMap.cmsContent.FeatureQuestionWidget - })); + .forEach((c) => + vm.$refs[c][0].initializeComponent({ + ColorQuestionWidget: resultMap.cmsContent.ColorQuestionWidget, + FeatureQuestionWidget: resultMap.cmsContent.FeatureQuestionWidget, + }) + ); + + // Set alertData for the page alert. These use props so we don't call + // initializeComponent here. + vm.alertWidgetData = { + copy: resultMap.cmsContent.AlertWidget.BodyText, + headline: resultMap.cmsContent.AlertWidget.HeadlineText + }; + }); }, data() { return { glassParts: {}, refPrefix: "partQuestion", + alertWidgetData: Object, }; }, components: { @@ -79,82 +99,85 @@ export default { vehicleBanner, funnelSubHeader, funnelFooter, + alert, }, computed: { Parts() { return [{ - glassLocation: "Rear", - glassName: "Stationary", - colorAnswers: [{ - ColorAnswerText: "Green Tint", - FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 1 hole", - PartNumber: "test-backglass-green-tint-1-hole", - }, ], - }, - { - ColorAnswerText: "Green Tint", - FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 2 hole", - PartNumber: "test-backglass-green-tint-2-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 3 hole", - PartNumber: "test-backglass-gray-tint-privacy-3-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 4 hole", - PartNumber: "test-backglass-blue-tint-4-hole", - }, ], - }, - ], - }, - { - glassLocation: "Windshield", - glassName: "Single", - colorAnswers: [{ - ColorAnswerText: "Blue Tint", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield - heated glass, solar, 1 hole", - PartNumber: "test-windshield-blue-tint-1-hole", - }, ], - }, - { - ColorAnswerText: "Blue Tint", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield -heated glass, solar, 2 hole", - PartNumber: "test-blue-tint-windshield-2-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield -heated glass, solar, 3 hole", - PartNumber: "test-gray-tint-privacy-windshield-3-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield -heated glass, solar, 4 hole", - PartNumber: "test-brown-tint-windshield-4-hole", - }, ], - }, - ], - }, - ] - } + glassLocation: "Rear", + glassName: "Stationary", + colorAnswers: [{ + ColorAnswerText: "Green Tint", + FeatureAnswers: [{ + FeatureAnswerText: "Backglass - heated glass, solar, 1 hole", + PartNumber: "test-backglass-green-tint-1-hole", + }, ], + }, + { + ColorAnswerText: "Green Tint", + FeatureAnswers: [{ + FeatureAnswerText: "Backglass - heated glass, solar, 2 hole", + PartNumber: "test-backglass-green-tint-2-hole", + }, ], + }, + { + ColorAnswerText: "Gray Tint Privacy", + FeatureAnswers: [{ + FeatureAnswerText: "Backglass - heated glass, solar, 3 hole", + PartNumber: "test-backglass-gray-tint-privacy-3-hole", + }, ], + }, + { + ColorAnswerText: "Gray Tint Privacy", + FeatureAnswers: [{ + FeatureAnswerText: "Backglass - heated glass, solar, 4 hole", + PartNumber: "test-backglass-blue-tint-4-hole", + }, ], + }, + ], + }, + { + glassLocation: "Windshield", + glassName: "Single", + colorAnswers: [{ + ColorAnswerText: "Blue Tint", + FeatureAnswers: [{ + FeatureAnswerText: "Windshield - heated glass, solar, 1 hole", + PartNumber: "test-windshield-blue-tint-1-hole", + }, ], + }, + { + ColorAnswerText: "Blue Tint", + FeatureAnswers: [{ + FeatureAnswerText: "Windshield -heated glass, solar, 2 hole", + PartNumber: "test-blue-tint-windshield-2-hole", + }, ], + }, + { + ColorAnswerText: "Gray Tint Privacy", + FeatureAnswers: [{ + FeatureAnswerText: "Windshield -heated glass, solar, 3 hole", + PartNumber: "test-gray-tint-privacy-windshield-3-hole", + }, ], + }, + { + ColorAnswerText: "Gray Tint Privacy", + FeatureAnswers: [{ + FeatureAnswerText: "Windshield -heated glass, solar, 4 hole", + PartNumber: "test-brown-tint-windshield-4-hole", + }, ], + }, + ], + }, + ]; + }, }, methods: { arePagePrerequisitesValid() { + // return store.getters.damage.isRepair !== null; + return true; - }, + } }, }; diff --git a/src/store/index.js b/src/store/index.js index 7e114cce4..7feea102d 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -25,6 +25,11 @@ export const state = { numberOfChips: null, glassToReplace: null, }, + lineItems:{ + glassParts: null, + childParts: null, + otherParts: null + } }, applicationUser: { eventBus: [], @@ -102,7 +107,9 @@ export const mutations = { }, resetPartsAndDependencies(state) { - + state.glassParts = null; + state.childParts = null; + state.otherParts = null; } } @@ -118,6 +125,8 @@ export const getters = { return matchedEvent !== undefined ? matchedEvent.eventValue : undefined; }, eventBus: (state) => state.applicationUser.eventBus, + damage: (state) => state.order.damage, + lineItems: (state) => state.order.lineItems } // Export Actions diff --git a/src/styles/common-styles.scss b/src/styles/common-styles.scss index ae409dd36..47ea0815d 100644 --- a/src/styles/common-styles.scss +++ b/src/styles/common-styles.scss @@ -3,7 +3,6 @@ body { font-size: 16px; background-color: #fff; - .container-fluid { max-width: 576px; //Remove once desktop app is complete &.container-shadow { @@ -14,6 +13,9 @@ body { display: flex; flex-direction: column; } + .prevent-squish{ + overflow-x: unset; + } } .pointer { cursor: pointer; diff --git a/src/ux-components/radio/radio.vue b/src/ux-components/radio/radio.vue index d7620df94..46c3b7c76 100644 --- a/src/ux-components/radio/radio.vue +++ b/src/ux-components/radio/radio.vue @@ -63,7 +63,7 @@ export default { }; this.$emit("isCheckedChanged", emitEvent); - this.$emit("update:modelValue", emitEvent); + //this.$emit("update:modelValue", emitEvent); } }, }, From 8e1c5fef34616554e765cb5b73e5955af34b4e24 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Wed, 23 Feb 2022 15:56:03 -0500 Subject: [PATCH 12/45] revert maxes changes --- .../button-question/button-question.vue | 253 +++++++++--------- src/ux-components/radio/radio.vue | 2 +- 2 files changed, 130 insertions(+), 125 deletions(-) diff --git a/src/common-components/button-question/button-question.vue b/src/common-components/button-question/button-question.vue index 946c6e4dd..3ea8fd52e 100644 --- a/src/common-components/button-question/button-question.vue +++ b/src/common-components/button-question/button-question.vue @@ -1,153 +1,158 @@ diff --git a/src/ux-components/radio/radio.vue b/src/ux-components/radio/radio.vue index 46c3b7c76..d7620df94 100644 --- a/src/ux-components/radio/radio.vue +++ b/src/ux-components/radio/radio.vue @@ -63,7 +63,7 @@ export default { }; this.$emit("isCheckedChanged", emitEvent); - //this.$emit("update:modelValue", emitEvent); + this.$emit("update:modelValue", emitEvent); } }, }, From 25f0eaf07516d14dc706537d0b319036ffb567fa Mon Sep 17 00:00:00 2001 From: FrankRua Date: Wed, 23 Feb 2022 16:55:13 -0500 Subject: [PATCH 13/45] include parameters in the prereq calls --- src/layouts/vehicle-parts/part-question/part-question.vue | 4 ++-- src/layouts/vehicle-parts/vehicle-parts.vue | 8 ++++---- src/router/index.js | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/layouts/vehicle-parts/part-question/part-question.vue b/src/layouts/vehicle-parts/part-question/part-question.vue index 574139727..9a7e63df6 100644 --- a/src/layouts/vehicle-parts/part-question/part-question.vue +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -8,7 +8,6 @@
- {{ selectedTint }}
- +
@@ -67,6 +66,7 @@ export default { colorQuestionText() { return getCustomTransformValue(this.glassColorQuestion, `${this.glassLocation} ${this.glassName}`); }, + selectedPart: { get: function () { return this.modelValue; diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index 5c2d290a7..06fa46341 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -3,7 +3,6 @@ - {{ glassParts }}
@@ -173,9 +172,10 @@ export default { }, }, methods: { - arePagePrerequisitesValid() { - // return store.getters.damage.isRepair !== null; - + arePagePrerequisitesValid(parameters) { + // store.getters.damage.isRepair !== null; + // parameters.PartsByGlassName.length > 0; + return true; } }, diff --git a/src/router/index.js b/src/router/index.js index b564b7e94..0195dd8d9 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -55,7 +55,7 @@ const routes = [ .getRoutes() .filter((x) => x.name === to.query.fmgPage)[0].components; - if (!arePagePrerequisitesValid(component)) { + if (!arePagePrerequisitesValid(component, to.params)) { await GoToFunnelStartOn404(next); } @@ -80,7 +80,7 @@ const routes = [ .filter((x) => x.name === routeData[0].name)[0] .components.default(); - if (!arePagePrerequisitesValid(nextComponent)) { + if (!arePagePrerequisitesValid(nextComponent, to.params)) { await GoToFunnelStartOn404(next); } @@ -217,8 +217,8 @@ async function GoToFunnelStartOn404(next) { } // Checks arePagePrerequisitesValid on the component passed in. -function arePagePrerequisitesValid(component) { - return component.default.methods.arePagePrerequisitesValid(); +function arePagePrerequisitesValid(component, parameters = {}) { + return component.default.methods.arePagePrerequisitesValid(parameters); } // Reset dependant state on route change. From 9636d358d8795b2eb442999ded745ce80acfbae4 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Thu, 24 Feb 2022 12:33:20 -0500 Subject: [PATCH 14/45] Map API data to vehicle-parts ds --- ...eTint.svg => Glass-BlueShade-BlueTint.svg} | 0 ...Tint.svg => Glass-BlueShade-BrownTint.svg} | 0 ...yTint.svg => Glass-BlueShade-GrayTint.svg} | 0 ...Tint.svg => Glass-BlueShade-GreenTint.svg} | 0 ...-NoTint.svg => Glass-BlueShade-NoTint.svg} | 0 ...int.svg => Glass-BrownShade-BrownTint.svg} | 0 ...eTint.svg => Glass-GrayShade-BlueTint.svg} | 0 ...Tint.svg => Glass-GrayShade-BrownTint.svg} | 0 ...yTint.svg => Glass-GrayShade-GrayTint.svg} | 0 ...Tint.svg => Glass-GrayShade-GreenTint.svg} | 0 ...Tint.svg => Glass-GreenShade-BlueTint.svg} | 0 ...int.svg => Glass-GreenShade-BrownTint.svg} | 0 ...int.svg => Glass-GreenShade-GreenTint.svg} | 0 ...lueTint.svg => Glass-NoShade-BlueTint.svg} | 0 ...wnTint.svg => Glass-NoShade-BrownTint.svg} | 0 ...nt.svg => Glass-NoShade-DarkBrownTint.svg} | 0 ...int.svg => Glass-NoShade-DaryGrayTint.svg} | 0 ...rayTint.svg => Glass-NoShade-GrayTint.svg} | 0 ...enTint.svg => Glass-NoShade-GreenTint.svg} | 0 ...de-NoTint.svg => Glass-NoShade-NoTint.svg} | 0 ...-Privacy.svg => Glass-NoShade-Privacy.svg} | 0 src/constants/tint-mapper.js | 49 ++++--- src/layouts/vehicle-parts/vehicle-parts.vue | 128 ++++++++---------- 23 files changed, 87 insertions(+), 90 deletions(-) rename src/assets/img/tints/{BackGlass-BlueShade-BlueTint.svg => Glass-BlueShade-BlueTint.svg} (100%) rename src/assets/img/tints/{BackGlass-BlueShade-BrownTint.svg => Glass-BlueShade-BrownTint.svg} (100%) rename src/assets/img/tints/{BackGlass-BlueShade-GrayTint.svg => Glass-BlueShade-GrayTint.svg} (100%) rename src/assets/img/tints/{BackGlass-BlueShade-GreenTint.svg => Glass-BlueShade-GreenTint.svg} (100%) rename src/assets/img/tints/{BackGlass-BlueShade-NoTint.svg => Glass-BlueShade-NoTint.svg} (100%) rename src/assets/img/tints/{BackGlass-BrownShade-BrownTint.svg => Glass-BrownShade-BrownTint.svg} (100%) rename src/assets/img/tints/{BackGlass-GrayShade-BlueTint.svg => Glass-GrayShade-BlueTint.svg} (100%) rename src/assets/img/tints/{BackGlass-GrayShade-BrownTint.svg => Glass-GrayShade-BrownTint.svg} (100%) rename src/assets/img/tints/{BackGlass-GrayShade-GrayTint.svg => Glass-GrayShade-GrayTint.svg} (100%) rename src/assets/img/tints/{BackGlass-GrayShade-GreenTint.svg => Glass-GrayShade-GreenTint.svg} (100%) rename src/assets/img/tints/{BackGlass-GreenShade-BlueTint.svg => Glass-GreenShade-BlueTint.svg} (100%) rename src/assets/img/tints/{BackGlass-GreenShade-BrownTint.svg => Glass-GreenShade-BrownTint.svg} (100%) rename src/assets/img/tints/{BackGlass-GreenShade-GreenTint.svg => Glass-GreenShade-GreenTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-BlueTint.svg => Glass-NoShade-BlueTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-BrownTint.svg => Glass-NoShade-BrownTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-DarkBrownTint.svg => Glass-NoShade-DarkBrownTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-DaryGrayTint.svg => Glass-NoShade-DaryGrayTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-GrayTint.svg => Glass-NoShade-GrayTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-GreenTint.svg => Glass-NoShade-GreenTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-NoTint.svg => Glass-NoShade-NoTint.svg} (100%) rename src/assets/img/tints/{BackGlass-NoShade-Privacy.svg => Glass-NoShade-Privacy.svg} (100%) 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/tint-mapper.js b/src/constants/tint-mapper.js index 1291991f0..0b4d17df9 100644 --- a/src/constants/tint-mapper.js +++ b/src/constants/tint-mapper.js @@ -3,39 +3,39 @@ // 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 shade, blue tint", src: "Glass-BlueShade-BlueTint.svg" }, + { name: "blue shade, brown tint", src: "Glass-BlueShade-BrownTint.svg" }, + { name: "blue shade, gray tint", src: "Glass-BlueShade-GrayTint.svg" }, + { name: "blue shade, green tint", 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 shade, brown tint", 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: "gray shade, blue tint", src: "Glass-GrayShade-BlueTint.svg" }, + { name: "gray shade, brown tint", src: "Glass-GrayShade-BrownTint.svg" }, + { name: "gray shade, gray tint", src: "Glass-GrayShade-GrayTint.svg" }, + { name: "gray shade, green tint", 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: "green shade, blue tint", src: "Glass-GreenShade-BlueTint.svg" }, + { name: "green shade, brown tint", src: "Glass-GreenShade-BrownTint.svg" }, + { name: "green shade, green tint", 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: [ @@ -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/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index 06fa46341..72bf62d9c 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -36,7 +36,6 @@ import { settleAllPromises } from "@/helpers/layout-helper"; - export default { name: "vehicle-parts", async beforeRouteEnter(to, from, next) { @@ -102,80 +101,73 @@ export default { }, computed: { Parts() { - return [{ - glassLocation: "Rear", - glassName: "Stationary", - colorAnswers: [{ - ColorAnswerText: "Green Tint", + const partsData = { + "partsOrQuestions": [{ + "glassName": "Front", + "glassLocation": "Driver", + "parts": [{ + "partNumber": "FD27736GTYN", + "description": "solar, driver side, front", + "color": "Green Tint", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }, + { + "partNumber": "FD27738GTYN", + "description": "solar, driver side, front, laminated, soundproofing", + "color": "Green Tint", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + } + ], + "partQuestions": null + }, + { + "glassName": "Back", + "glassLocation": "Passenger", + "parts": [{ + "partNumber": "FD27739YPYN", + "description": "solar, passenger side, rear", + "color": "Gray Tint Privacy", + "requiresRecalibration": false, + "requiresCapabilityQuestions": false, + "childParts": null + }], + "partQuestions": null + } + ] + } + + // Map API result data, to vehicle-parts data structure + const mappedData = partsData.partsOrQuestions.map(g => { + return { + glassName: g.glassName, + glassLocation: g.glassLocation, + colorAnswers: g.parts.reduce((arr, p) => { + + arr.push({ + ColorAnswerText: p.color, FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 1 hole", - PartNumber: "test-backglass-green-tint-1-hole", - }, ], - }, - { - ColorAnswerText: "Green Tint", - FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 2 hole", - PartNumber: "test-backglass-green-tint-2-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 3 hole", - PartNumber: "test-backglass-gray-tint-privacy-3-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Backglass - heated glass, solar, 4 hole", - PartNumber: "test-backglass-blue-tint-4-hole", - }, ], - }, - ], - }, - { - glassLocation: "Windshield", - glassName: "Single", - colorAnswers: [{ - ColorAnswerText: "Blue Tint", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield - heated glass, solar, 1 hole", - PartNumber: "test-windshield-blue-tint-1-hole", - }, ], - }, - { - ColorAnswerText: "Blue Tint", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield -heated glass, solar, 2 hole", - PartNumber: "test-blue-tint-windshield-2-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield -heated glass, solar, 3 hole", - PartNumber: "test-gray-tint-privacy-windshield-3-hole", - }, ], - }, - { - ColorAnswerText: "Gray Tint Privacy", - FeatureAnswers: [{ - FeatureAnswerText: "Windshield -heated glass, solar, 4 hole", - PartNumber: "test-brown-tint-windshield-4-hole", - }, ], - }, - ], - }, - ]; + FeatureAnswerText: p.description, + PartNumber: p.partNumber + }] + }); + + return arr; + }, []) + } + }); + + return mappedData; }, }, methods: { arePagePrerequisitesValid(parameters) { // store.getters.damage.isRepair !== null; // parameters.PartsByGlassName.length > 0; - + return true; } }, From 57ee0fd29a9a5d3780881f0cee26ab9fe6d635df Mon Sep 17 00:00:00 2001 From: CarlNation Date: Thu, 24 Feb 2022 14:55:40 -0500 Subject: [PATCH 15/45] CSR-297 wip store updates. first of three page routes --- .../button-question/button-question.vue | 9 +- src/constants/endpoints.js | 4 + src/constants/store-mutations.js | 3 + .../replace-options-question.vue | 2 +- src/layouts/vehicle-damage/vehicle-damage.vue | 103 ++++++++++++++++-- .../windshield-chip-count-question.vue | 1 + src/router/router-constants/fmgPage-values.js | 2 + .../router-constants/navigation-scenarios.js | 2 + .../router-constants/router-parameter-keys.js | 5 + src/router/router-constants/routing-table.js | 17 +++ src/store/index.js | 14 ++- 11 files changed, 149 insertions(+), 13 deletions(-) create mode 100644 src/router/router-constants/router-parameter-keys.js diff --git a/src/common-components/button-question/button-question.vue b/src/common-components/button-question/button-question.vue index 531043cb4..89f05cda1 100644 --- a/src/common-components/button-question/button-question.vue +++ b/src/common-components/button-question/button-question.vue @@ -13,7 +13,7 @@ :key="answer.Name ? answer.Name : answer" @isCheckedChanged="handleCheckedChanged" :buttonID="answer.Name ? groupName + '-' + answer.Name : groupName + '-' + answer" - :value="answer.Name ? answer.Name : answer" + :value="getValues(answer)" :buttonLabel="answer.Text ? answer.Text : answer" :buttonLabelSubCopy="answer.SubText" :textPosition="textPosition" @@ -79,6 +79,7 @@ export default { modelValue: Array, validationRules: String, suppressError: Boolean, + useTextForValue: Boolean, }, computed: { getFieldSetClasses() { @@ -121,6 +122,12 @@ export default { }, }, methods: { + getValues(answer){ + if (this.useTextForValue){ + return answer.Text + } + return answer.Name ? answer.Name : answer; + }, handleCheckedChanged(val) { if(this.isMultiSelect && this.selectedValues) { // Add or remove item to array of data to emit diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index 3f258a310..24e5120bd 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -43,6 +43,10 @@ const endpoints = { url: "/vehicle/api/v1/vehicle/Lookup", method: "POST", }, + GetPartsOrQuestions: { + url: "/parts/api/v1/parts/parts-or-questions", + method: "POST", + }, }; export { endpoints }; diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index c572c4f69..6ac9b6926 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -10,6 +10,9 @@ const storeMutations = { UPDATE_VEHICLE_IMAGE_URL: "updateVehicleImageUrl", UPDATE_VEHICLE_IMAGE_VIF_NUMBER: "updateVehicleImageVifNumber", UPDATE_VEHICLE_IMAGE_COLOR: "updateVehicleImageColor", + UPDATE_IS_REPAIR: "updateIsRepair", + UPDATE_NUMBER_OF_CHIPS: "updateNumberOfChips", + UPDATE_GLASS_TO_REPLACE: "updateGlassToReplace", // EVENT BUS MUTATIONS ADD_EVENT_TO_BUS: "addEventToBus", diff --git a/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue b/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue index 978cf6b41..25eca62da 100644 --- a/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue +++ b/src/layouts/vehicle-damage/replace-options-question/replace-options-question.vue @@ -52,7 +52,7 @@ export default ({ }, updateSelectedValues() { // UPDATE SELECTEDVALUES IF ONLY ONE ANSWER - if(Array.isArray(this.answersToDisplay) && this.answersToDisplay.length === 1 && this.selectedValues) { + if(Array.isArray(this.answersToDisplay) && this.answersToDisplay.length === 1) { this.selectedValues = [this.answersToDisplay[0].Name]; } }, diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index aa888e14a..cef8e076c 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -25,7 +25,7 @@ v-model="selectedRearReplaceOptions" groupName="BackGlassReplaceOptionsQuestion" /> - +
@@ -41,6 +41,7 @@ import windshieldOptions from "@/layouts/vehicle-damage/windshield-options/winds import replaceOptionsQuestion from "@/layouts/vehicle-damage/replace-options-question/replace-options-question"; // Supporting files +import { routerParameterKeys } from "@/router/router-constants/router-parameter-keys"; import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; import { settleAllPromises } from "@/helpers/layout-helper"; import { storeActions } from "@/constants/store-actions"; @@ -102,14 +103,6 @@ export default { ); }); }, - computed: { - isRearWindowDamageLocation() { - return this.selectedDamageLocations.some(selectedDamages => - { - return selectedDamages.toUpperCase() === "REARWINDOW"; - }); - }, - }, data(){ return { selectedDamageLocations: [], @@ -137,7 +130,99 @@ export default { this.$route ); }, + async forwardButtonAction() { + var windshieldChipCount = this.selectedWindshieldOptions.selectedWindshieldChipCount && this.isWindshieldDamageLocation ? + this.selectedWindshieldOptions.selectedWindshieldChipCount[0] : null; + + this.$store.commit(this.storeMutations.UPDATE_IS_REPAIR, this.isWindshieldRepair); + + if (windshieldChipCount){ + this.$store.commit(this.storeMutations.UPDATE_NUMBER_OF_CHIPS, parseInt(windshieldChipCount)); + } + + this.$store.commit(this.storeMutations.UPDATE_GLASS_TO_REPLACE, this.selectedGlassToReplace()); + + 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}); + }, + + selectedGlassToReplace() { + var selectedGlassToReplace = []; + if (this.isWindshieldDamageLocation && !this.isWindshieldRepair){ + this.selectedWindshieldOptions.selectedWindshieldReplaceOptions.forEach(wsItem => { + selectedGlassToReplace.push({ location: "Windshield", name: wsItem}); + }) + } + + if (this.isDriverSideReplace){ + this.sideDoorOptionsData.selectedDriverSideReplaceOptions.forEach(driverItem => { + selectedGlassToReplace.push({ location: "Driver", name: driverItem}); + }) + } + + if (this.isPassengerSideReplace){ + this.sideDoorOptionsData.selectedPassengerSideReplaceOptions.forEach(passengerItem => { + selectedGlassToReplace.push({ location: "Passenger", name: passengerItem}); + }) + selectedGlassToReplace = Array.prototype.concat.apply([], [selectedGlassToReplace, this.sideDoorOptionsData.selectedDoorSides.selectedPassengerSideReplaceOptions]); + } + + if (this.isRearWindowDamageLocation) { + this.selectedRearReplaceOptions.forEach(rearItem => { + selectedGlassToReplace.push({ location: "Rear", name: rearItem}); + }) + } + + return selectedGlassToReplace; + }, }, + computed:{ + isWindshieldDamageLocation() { + return this.selectedDamageLocations.some(selectedDamages => + { + return selectedDamages.toUpperCase() === "WINDSHIELD"; + }); + }, + isSideDoorDamageLocation() { + return this.selectedDamageLocations.some(selectedDamages => + { + return selectedDamages.toUpperCase() === "SIDEDOOR"; + }); + }, + isRearWindowDamageLocation() { + return this.selectedDamageLocations.some(selectedDamages => + { + return selectedDamages.toUpperCase() === "REARWINDOW"; + }); + }, + isWindshieldRepair() { + if (!this.isWindshieldDamageLocation) return false; + + return this.selectedWindshieldOptions.selectedWindshieldDamageType.some(selectedDamageType => + { + return selectedDamageType.toUpperCase() === "REPAIR"; + }); + }, + isDriverSideReplace() { + if (!this.isSideDoorDamageLocation) return false; + + return this.sideDoorOptionsData.selectedDoorSides.some(selectedDriverSide => + { + return selectedDriverSide.toUpperCase() === "DRIVERSIDE"; + }); + }, + isPassengerSideReplace() { + if (!this.isSideDoorDamageLocation) return false; + + return this.sideDoorOptionsData.selectedDoorSides.some(selectedPassengerSide => + { + return selectedPassengerSide.toUpperCase() === "PASSENGERSIDE"; + }); + } + }, + components: { funnelHeader, funnelFooter, diff --git a/src/layouts/vehicle-damage/windshield-options/windshield-chip-count-question/windshield-chip-count-question.vue b/src/layouts/vehicle-damage/windshield-options/windshield-chip-count-question/windshield-chip-count-question.vue index 347ee2fdf..3226d9656 100644 --- a/src/layouts/vehicle-damage/windshield-options/windshield-chip-count-question/windshield-chip-count-question.vue +++ b/src/layouts/vehicle-damage/windshield-options/windshield-chip-count-question/windshield-chip-count-question.vue @@ -6,6 +6,7 @@ :answers="answersFromCms" :groupName="groupName" buttonType="listButtonHorizontal" + useTextForValue v-model="selectedChipCountValues" />
diff --git a/src/router/router-constants/fmgPage-values.js b/src/router/router-constants/fmgPage-values.js index 9b82cdf7e..a23ba7eb6 100644 --- a/src/router/router-constants/fmgPage-values.js +++ b/src/router/router-constants/fmgPage-values.js @@ -4,6 +4,8 @@ const fmgPageValues = { VEHICLE_MODEL: "vehicle-model", VEHICLE_STYLE: "vehicle-style", VEHICLE_DAMAGE: "vehicle-damage", + VEHICLE_PARTS: "vehicle-parts", + QUOTE : "quote", }; export { fmgPageValues }; diff --git a/src/router/router-constants/navigation-scenarios.js b/src/router/router-constants/navigation-scenarios.js index 48e36996b..05c95a7d6 100644 --- a/src/router/router-constants/navigation-scenarios.js +++ b/src/router/router-constants/navigation-scenarios.js @@ -4,6 +4,8 @@ const navigationScenarios = { SELECTED_MAKE: "SELECTED_MAKE", SELECTED_STYLE: "SELECTED_STYLE", CLICKED_BACK: "CLICKED_BACK", + SELECTED_DAMAGE_WITH_SINGLE_PART: "SELECTED_DAMAGE_WITH_SINGLE_PART", + SELECTED_GLASS_MULTIPLE_PARTS: "SELECTED_GLASS_MULTIPLE_PARTS" }; export { navigationScenarios }; diff --git a/src/router/router-constants/router-parameter-keys.js b/src/router/router-constants/router-parameter-keys.js new file mode 100644 index 000000000..27f6a54b0 --- /dev/null +++ b/src/router/router-constants/router-parameter-keys.js @@ -0,0 +1,5 @@ +const routerParameterKeys = { + VEHICLE_PARTS_DATA: "vehiclePartsData", + }; + + 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 88c47563c..c5018716c 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -57,6 +57,23 @@ const routingTable = [ scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE, }, + { + scenario: navigationScenarios.SELECTED_DAMAGE_WITH_SINGLE_PART, + destinationFmgPageValue: fmgPageValues.QUOTE, + }, + ], + }, + { + fmgPageValue: fmgPageValues.VEHICLE_DAMAGE, + maps: [ + { + scenario: navigationScenarios.CLICKED_BACK, + destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE, + }, + { + scenario: navigationScenarios.SELECTED_GLASS_MULTIPLE_PARTS, + destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS, + }, ], }, ]; diff --git a/src/store/index.js b/src/store/index.js index 7feea102d..c46b0f1cf 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -66,6 +66,16 @@ export const mutations = { updateVehicleImageColor(state, imageColor) { state.order.vehicle.imageColor = imageColor; }, + updateIsRepair(state, isRepair){ + state.order.damage.isRepair = isRepair; + }, + updateNumberOfChips(state, numberOfChips){ + state.order.damage.numberOfChips = numberOfChips; + }, + updateGlassToReplace(state, glassToReplace){ + state.order.damage.glassToReplace = glassToReplace; + }, + // EVENT BUS MUTATIONS addEventToBus(state, event) { @@ -252,8 +262,8 @@ export const actions = { // Parts API Actions getPartsOrQuestions(context, { carId, glassArray, zipCode, vin = '' }) { return globalMethods.callHttpClient({ - method: endpoints.GetRouteInfo.method, - endpoint: endpoints.GetRouteInfo.url, + method: endpoints.GetPartsOrQuestions.method, + endpoint: endpoints.GetPartsOrQuestions.url, payload: { carId: carId, glass: glassArray, From 7daa6675522510717f5ab6a3594d14f1a036ebfb Mon Sep 17 00:00:00 2001 From: FrankRua Date: Thu, 24 Feb 2022 15:02:57 -0500 Subject: [PATCH 16/45] state changes --- src/constants/store-actions.js | 8 +++---- src/constants/store-mutations.js | 8 +++---- src/layouts/form-test/form-test.vue | 2 +- .../vehicle-damage/vehicle-damage.spec.js | 2 +- src/layouts/vehicle-damage/vehicle-damage.vue | 2 +- src/layouts/vehicle-make/vehicle-make.spec.js | 4 ++-- src/layouts/vehicle-make/vehicle-make.vue | 4 ++-- .../vehicle-model/vehicle-model.spec.js | 4 ++-- src/layouts/vehicle-model/vehicle-model.vue | 4 ++-- .../part-question/part-question.vue | 3 ++- src/layouts/vehicle-parts/vehicle-parts.vue | 9 ++++--- src/layouts/vehicle-style/vehicle-style.vue | 4 ++-- src/layouts/vehicle-year/vehicle-year.spec.js | 4 ++-- src/layouts/vehicle-year/vehicle-year.vue | 4 ++-- src/store/index.js | 24 +++++++++---------- src/store/store.spec.js | 16 ++++++------- src/ux-components/radio/radio.vue | 2 +- 17 files changed, 54 insertions(+), 50 deletions(-) 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 c572c4f69..9034d594f 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -16,10 +16,10 @@ const storeMutations = { 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", }; 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 aa888e14a..2188d4845 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -128,7 +128,7 @@ export default { }, resetDependentState() { // Invokes - store.dispatch(storeActions.RESET_PARTS_AND_DEPS); + store.dispatch(storeActions.RESET_PARTS_STATE); }, backButtonAction() { // route to move backwards 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/part-question/part-question.vue index 9a7e63df6..7046e1b79 100644 --- a/src/layouts/vehicle-parts/part-question/part-question.vue +++ b/src/layouts/vehicle-parts/part-question/part-question.vue @@ -1,7 +1,7 @@ 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 24cd4ef24..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) { @@ -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 From 0ab33965022c703df06c40059a1ecd8735260358 Mon Sep 17 00:00:00 2001 From: FrankRua Date: Fri, 25 Feb 2022 15:58:49 -0500 Subject: [PATCH 21/45] rename var --- src/layouts/vehicle-parts/vehicle-parts.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index 3bb3b9f41..f6d99bcf4 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -11,7 +11,7 @@
-
+

@@ -108,7 +108,7 @@ export default { alert, }, computed: { - Parts() { + PartsForQuestions() { const partsData = store.getters.pageData(this.$route.query.fmgPage); // Map API result data, to vehicle-parts data structure @@ -131,6 +131,11 @@ export default { return mappedData; }, + + PartsFromApi() { + return store.getters.pageData(fmgPageValues.VEHICLE_PARTS); + } + }, methods: { arePagePrerequisitesValid() { @@ -149,6 +154,7 @@ export default { }, forwardButtonAction() { + const p = this.PartsFromApi; const pickedParts = ''; } From 62fbdd916b73271b5162de0ad281acceba4935ef Mon Sep 17 00:00:00 2001 From: FrankRua Date: Sun, 27 Feb 2022 14:56:05 -0500 Subject: [PATCH 22/45] Match selected parts to API parts --- src/layouts/vehicle-parts/vehicle-parts.vue | 36 +++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/layouts/vehicle-parts/vehicle-parts.vue b/src/layouts/vehicle-parts/vehicle-parts.vue index f6d99bcf4..86936637d 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.vue +++ b/src/layouts/vehicle-parts/vehicle-parts.vue @@ -154,8 +154,40 @@ export default { }, forwardButtonAction() { - const p = this.PartsFromApi; - const pickedParts = ''; + + // Temporary solution to prevent the user from going forward if they have not selected anything. + // will be replaced by validation in the future. + if(Object.keys(this.glassParts).length === 0) { + throw new Error("No parts selected"); + } + + const selectedGlassPartNumbers = []; + const matchedParts = []; + + // Compile all selected parts from the page. + for (let [key, value] of Object.entries(this.glassParts)) { + for (let [glassKey, glassValue] of Object.entries(value)) { + selectedGlassPartNumbers.push(glassValue[0]); + } + } + + // Match them to the parts from the API. + for (let [key, value] of Object.entries(this.PartsFromApi.partsOrQuestions)) { + for (let [partKey, partValue] of Object.entries(value.parts)) { + const currentPart = this.PartsFromApi.partsOrQuestions[key].parts[partKey]; + const isMatched = selectedGlassPartNumbers.some(p => p === currentPart.partNumber); + + if (isMatched) { + matchedParts.push(currentPart); + } + } + } + + // If no parts could be matched, throw an error. + if(matchedParts.length === 0) { + throw new Error("Could not match any parts to the selected parts"); + } + } }, From b1346f4a55e60d028beb86c6334aa287279f29c8 Mon Sep 17 00:00:00 2001 From: bmauger Date: Mon, 28 Feb 2022 08:21:16 -0500 Subject: [PATCH 23/45] Update label text for clarity. --- src/layouts/component-test/component-test.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layouts/component-test/component-test.vue b/src/layouts/component-test/component-test.vue index c4d45822f..d9d6ca37f 100644 --- a/src/layouts/component-test/component-test.vue +++ b/src/layouts/component-test/component-test.vue @@ -30,7 +30,7 @@
With icon aligned left
With icon aligned right Date: Mon, 28 Feb 2022 08:57:08 -0500 Subject: [PATCH 24/45] Style updates to match Figma. --- .../dropdown-question/dropdown-question.vue | 7 +++++-- .../textbox-question/textbox-question.vue | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/common-components/dropdown-question/dropdown-question.vue b/src/common-components/dropdown-question/dropdown-question.vue index b38e63c0d..e95116b53 100644 --- a/src/common-components/dropdown-question/dropdown-question.vue +++ b/src/common-components/dropdown-question/dropdown-question.vue @@ -26,6 +26,9 @@ export default { diff --git a/src/ux-components/list-card/list-card.vue b/src/ux-components/list-card/list-card.vue index 526744af5..af20ab797 100644 --- a/src/ux-components/list-card/list-card.vue +++ b/src/ux-components/list-card/list-card.vue @@ -17,7 +17,7 @@ />