diff --git a/src/layouts/test-one.vue b/src/layouts/test-one.vue
new file mode 100644
index 000000000..5ba269f2a
--- /dev/null
+++ b/src/layouts/test-one.vue
@@ -0,0 +1,15 @@
+
+ Test1
+
+
+
+
\ No newline at end of file
diff --git a/src/layouts/test-two.vue b/src/layouts/test-two.vue
new file mode 100644
index 000000000..2ea5fd624
--- /dev/null
+++ b/src/layouts/test-two.vue
@@ -0,0 +1,15 @@
+
+ Test2
+
+
+
+
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index b09f734a2..f01fb4ff6 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -19,7 +19,24 @@ import eventBus from "@/helpers/event-bus/event-bus";
import store from "@/store";
import analyticsMixin from "@/mixins/analytics-mixin";
+import TestOne from "@/layouts/test-one";
+import TestTwo from "@/layouts/test-two";
+
const routes = [
+ {
+ path: "/test1",
+ name: "test1",
+ components: {
+ default: TestOne
+ }
+ },
+ {
+ path: "/test2",
+ name: "test2",
+ components: {
+ default: TestTwo
+ }
+ },
{
path: "/",
name: "root",
@@ -53,7 +70,6 @@ const routes = [
return next(false);
}
-
// Assign our fmgPage so it will load normally like the other pages.
to.query.fmgPage = pageToRedirectTo;
}
@@ -180,15 +196,16 @@ async function navigate(scenario, currentRoute, optionalQuery = {}, optionalPara
// Get navigation map depending on the scenario and the current 'page' you're on.
function getNavigationMap(scenario, currentRoute) {
const fmgPageValue = currentRoute.query.fmgPage;
- const matchedQueryValue = routingTable
+ let matchedQueryValue = routingTable(store)
.filter(
(item) =>
item.fmgPageValue === fmgPageValue &&
item.maps.filter((map) => map.scenario === scenario).length > 0
)
- .map((m) => m.maps.filter((map) => map.scenario === scenario));
+ .map((m) => m.maps.filter((map) => map.scenario === scenario))[0]
+ .filter(x => x.filter === true || x.filter === undefined);
- return matchedQueryValue[0][0];
+ return matchedQueryValue[0];
}
//---------------------------------------------------------- Private Functions ----------------------------------------------------------
diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js
index 3f81e99ad..5d89daab9 100644
--- a/src/router/router-constants/routing-table.js
+++ b/src/router/router-constants/routing-table.js
@@ -1,236 +1,254 @@
import { fmgPageValues } from "@/router/router-constants/fmgPage-values";
import { navigationScenarios } from "@/router/router-constants/navigation-scenarios";
-const routingTable = [
- {
- fmgPageValue: fmgPageValues.VEHICLE_YEAR,
- maps: [
- {
- scenario: navigationScenarios.SELECTED_YEAR,
- destinationFmgPageValue: fmgPageValues.VEHICLE_MAKE,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.VEHICLE_MAKE,
- maps: [
- {
- scenario: navigationScenarios.SELECTED_MAKE,
- destinationFmgPageValue: fmgPageValues.VEHICLE_MODEL,
- },
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VEHICLE_YEAR,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.VEHICLE_MODEL,
- maps: [
- {
- scenario: navigationScenarios.SELECTED_MODEL,
- destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE,
- },
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VEHICLE_MAKE,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.VEHICLE_STYLE,
- maps: [
- {
- scenario: navigationScenarios.SELECTED_STYLE,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VEHICLE_MODEL,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE,
- },
- {
- scenario: navigationScenarios.CLICKED_FORWARD_WITH_VIN,
- destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
- },
- {
- scenario: navigationScenarios.CLICKED_FORWARD_WITHOUT_VIN,
- destinationFmgPageValue: fmgPageValues.ESTIMATE,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.VEHICLE_PARTS,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
- },
- {
- scenario: navigationScenarios.SELECTED_PARTS,
- destinationFmgPageValue: fmgPageValues.QUOTE,
- },
- {
- scenario: navigationScenarios.CLICKED_FORWARD,
- destinationFmgPageValue: fmgPageValues.REVEAL,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.REVEAL,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.SELECTED_PARTS,
- destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.VIN_LOOKUP,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.ESTIMATE,
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_HAS_MISMATCHED_GLASS,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.CLICKED_BACK_WITH_VIN,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
- destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
- destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
- }
- ],
- },
- {
- fmgPageValue: fmgPageValues.LICENSE_PLATE_LOOKUP,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.ESTIMATE,
- },
- {
- scenario: navigationScenarios.CLICKED_FORWARD,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
- destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
- destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
- }
- ],
- },
- {
- fmgPageValue: fmgPageValues.ADDRESS_LOOKUP,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.ESTIMATE,
- },
- {
- scenario: navigationScenarios.CONTINUING_WITH_MULTIPLE_VEHICLES,
- destinationFmgPageValue: fmgPageValues.ADDRESS_VEHICLES,
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_HAS_MISMATCHED_GLASS,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
- destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
- destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
- }
- ],
- },
- {
- fmgPageValue: fmgPageValues.ADDRESS_VEHICLES,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.ADDRESS_LOOKUP,
- },
- {
- scenario: navigationScenarios.CLICKED_FORWARD,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
- destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
- },
- {
- scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
- destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
- },
- {
- scenario: navigationScenarios.SELECTED_PROVIDE_VIN_DIFFERENT_WAY,
- destinationFmgPageValue: fmgPageValues.ESTIMATE
- }
- ],
- },
- {
- fmgPageValue: fmgPageValues.ESTIMATE,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
- },
- {
- scenario: navigationScenarios.SELECTED_MANUAL_VIN,
- destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
- },
- {
- scenario: navigationScenarios.SELECTED_LICENSE_PLATE,
- destinationFmgPageValue: fmgPageValues.LICENSE_PLATE_LOOKUP,
- },
- {
- scenario: navigationScenarios.SELECTED_HOME_ADDRESS,
- destinationFmgPageValue: fmgPageValues.ADDRESS_LOOKUP,
- },
- ],
- },
- {
- fmgPageValue: fmgPageValues.PART_QUESTIONS,
- maps: [
- {
- scenario: navigationScenarios.CLICKED_BACK,
- destinationFmgPageValue: fmgPageValues.VIN_LOOKUP
- },
- {
- scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS,
- destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
- },
- {
- scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_SINGLE_PART,
- destinationFmgPageValue: fmgPageValues.QUOTE,
- },
- ]
- },
-];
+// Get store from router/index.js instead of importing it here to get updated values
+const routingTable = function(store) {
+ return [
+ {
+ fmgPageValue: fmgPageValues.VEHICLE_YEAR,
+ maps: [
+ {
+ scenario: navigationScenarios.SELECTED_YEAR,
+ destinationFmgPageValue: "test1",
+ filter: store.getters.vehicle.year > 2010
+ },
+ {
+ scenario: navigationScenarios.SELECTED_YEAR,
+ destinationFmgPageValue: "test2",
+ filter: store.getters.vehicle.year <= 2010
+ },
+ {
+ scenario: navigationScenarios.SELECTED_YEAR,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_MAKE,
+ },
+
+ {
+ scenario: navigationScenarios.SELECTED_YEAR,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_MAKE,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.VEHICLE_MAKE,
+ maps: [
+ {
+ scenario: navigationScenarios.SELECTED_MAKE,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_MODEL,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_YEAR,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.VEHICLE_MODEL,
+ maps: [
+ {
+ scenario: navigationScenarios.SELECTED_MODEL,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_MAKE,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.VEHICLE_STYLE,
+ maps: [
+ {
+ scenario: navigationScenarios.SELECTED_STYLE,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_MODEL,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_STYLE,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_FORWARD_WITH_VIN,
+ destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_FORWARD_WITHOUT_VIN,
+ destinationFmgPageValue: fmgPageValues.ESTIMATE,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.VEHICLE_PARTS,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_PARTS,
+ destinationFmgPageValue: fmgPageValues.QUOTE,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_FORWARD,
+ destinationFmgPageValue: fmgPageValues.REVEAL,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.REVEAL,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_PARTS,
+ destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.VIN_LOOKUP,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.ESTIMATE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_HAS_MISMATCHED_GLASS,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_BACK_WITH_VIN,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
+ destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
+ }
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.LICENSE_PLATE_LOOKUP,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.ESTIMATE,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_FORWARD,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
+ destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
+ }
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.ADDRESS_LOOKUP,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.ESTIMATE,
+ },
+ {
+ scenario: navigationScenarios.CONTINUING_WITH_MULTIPLE_VEHICLES,
+ destinationFmgPageValue: fmgPageValues.ADDRESS_VEHICLES,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_HAS_MISMATCHED_GLASS,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
+ destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
+ }
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.ADDRESS_VEHICLES,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.ADDRESS_LOOKUP,
+ },
+ {
+ scenario: navigationScenarios.CLICKED_FORWARD,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS,
+ destinationFmgPageValue: fmgPageValues.PART_QUESTIONS
+ },
+ {
+ scenario: navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
+ },
+ {
+ scenario: navigationScenarios.SELECTED_PROVIDE_VIN_DIFFERENT_WAY,
+ destinationFmgPageValue: fmgPageValues.ESTIMATE
+ }
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.ESTIMATE,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_MANUAL_VIN,
+ destinationFmgPageValue: fmgPageValues.VIN_LOOKUP,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_LICENSE_PLATE,
+ destinationFmgPageValue: fmgPageValues.LICENSE_PLATE_LOOKUP,
+ },
+ {
+ scenario: navigationScenarios.SELECTED_HOME_ADDRESS,
+ destinationFmgPageValue: fmgPageValues.ADDRESS_LOOKUP,
+ },
+ ],
+ },
+ {
+ fmgPageValue: fmgPageValues.PART_QUESTIONS,
+ maps: [
+ {
+ scenario: navigationScenarios.CLICKED_BACK,
+ destinationFmgPageValue: fmgPageValues.VIN_LOOKUP
+ },
+ {
+ scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS,
+ destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS
+ },
+ {
+ scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_SINGLE_PART,
+ destinationFmgPageValue: fmgPageValues.QUOTE,
+ },
+ ]
+ },
+ ];
+}
export { routingTable };