index.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { createRouter, createWebHistory } from 'vue-router'
  2. import HomeView from '@views/Home.vue'
  3. // import StaticView from '@views/Static.vue'
  4. // import ConcernementView from '@views/Concernement.vue'
  5. import { ConcernementsStore } from '@/stores/concernements'
  6. import { CommonStore } from '@/stores/common'
  7. const router = createRouter({
  8. history: createWebHistory(import.meta.env.BASE_URL),
  9. routes: [
  10. {
  11. path: '/',
  12. name: 'home',
  13. component: HomeView
  14. },
  15. {
  16. path: '/static/:id',
  17. name: 'static',
  18. // route level code-splitting
  19. // this generates a separate chunk (About.[hash].js) for this route
  20. // which is lazy-loaded when the route is visited.
  21. component: () => import('../views/Static.vue'),
  22. props: true
  23. },
  24. {
  25. path: '/concernement/:cid/:eid?',
  26. name: 'concernement',
  27. // component: ConcernementView,
  28. // route level code-splitting
  29. // this generates a separate chunk (About.[hash].js) for this route
  30. // which is lazy-loaded when the route is visited.
  31. component: () => import('../views/Concernement.vue'),
  32. props: true
  33. },
  34. {
  35. path: '/search/',
  36. name: 'search',
  37. // route level code-splitting
  38. // this generates a separate chunk (About.[hash].js) for this route
  39. // which is lazy-loaded when the route is visited.
  40. component: () => import('../views/Search.vue'),
  41. props: true
  42. }
  43. ]
  44. })
  45. // set map_mode on first load
  46. router.afterEach((to, from) => {
  47. console.log('router afterEach', from, to);
  48. const concernement_store = ConcernementsStore();
  49. const common_store = CommonStore();
  50. if (!from.name) { // we are at first load
  51. if (to.hash) {
  52. console.log("we have a hash");
  53. concernement_store.setMapMode(to.hash.replace('#', ''));
  54. }else{ // default terraindevie
  55. concernement_store.setMapMode("terraindevie");
  56. }
  57. }
  58. // prevent hover map item mouse event if cartouch is opened
  59. if(['static', 'search'].indexOf(to.name) >= 0){
  60. common_store.setCartoucheOpened(true);
  61. concernement_store.resetConcernementOpened();
  62. }else{
  63. common_store.setCartoucheOpened(false);
  64. }
  65. })
  66. export default router