menu.ts 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import {ref, useContext} from "@nuxtjs/composition-api";
  2. import {ItemsMenu} from "~/types/types";
  3. import BaseMenu from "~/use/template/Menus/baseMenu";
  4. import {getAccessMenu} from "~/use/template/Menus/accessMenu";
  5. import {getAgendaMenu} from "~/use/template/Menus/agendaMenu";
  6. import {getEquipmentMenu} from "~/use/template/Menus/equipmentMenu";
  7. import {getEducationalMenu} from "~/use/template/Menus/educationalMenu";
  8. import {getBillingMenu} from "~/use/template/Menus/billingMenu";
  9. import {getCommunicationMenu} from "~/use/template/Menus/communicationMenu";
  10. import {getDonorsMenu} from "~/use/template/Menus/donorsMenu";
  11. import {getMedalsMenu} from "~/use/template/Menus/medalsMenu";
  12. import {getStatsMenu} from "~/use/template/Menus/statsMenu";
  13. import {getCotisationsMenu} from "~/use/template/Menus/cotisationsMenu";
  14. /**
  15. * @category Use/template
  16. * @class Menu
  17. * Use Classe pour la construction du Menu
  18. */
  19. class Menu{
  20. private $ability:any;
  21. private $config:any;
  22. private $store:any;
  23. /**
  24. * @constructor
  25. * Initialisation des services issues du context
  26. */
  27. constructor() {
  28. }
  29. setUpContext(){
  30. const {$ability, $config, store} = useContext();
  31. this.$ability = $ability;
  32. this.$config = $config;
  33. this.$store = store;
  34. return this;
  35. }
  36. /**
  37. * Construit le menu
  38. */
  39. useLateralMenuConstruct(){
  40. let menu:ItemsMenu = []
  41. const accessMenu = getAccessMenu(this.$config,this.$ability,this.$store)
  42. if(accessMenu) menu.push(accessMenu)
  43. const agendaMenu = getAgendaMenu(this.$config,this.$ability)
  44. if(agendaMenu) menu.push(agendaMenu)
  45. const equipmentMenu = getEquipmentMenu(this.$config,this.$ability)
  46. if(equipmentMenu) menu.push(equipmentMenu)
  47. const educationalMenu = getEducationalMenu(this.$config,this.$ability)
  48. if(educationalMenu) menu.push(educationalMenu)
  49. const billingMenu = getBillingMenu(this.$config,this.$ability)
  50. if(billingMenu) menu.push(billingMenu)
  51. const communicationMenu = getCommunicationMenu(this.$config,this.$ability)
  52. if(communicationMenu) menu.push(communicationMenu)
  53. const donorsMenu = getDonorsMenu(this.$config,this.$ability)
  54. if(donorsMenu) menu.push(donorsMenu)
  55. const medalsMenu = getMedalsMenu(this.$config,this.$ability)
  56. if(medalsMenu) menu.push(medalsMenu)
  57. const cotisationsMenu = getCotisationsMenu(this.$config,this.$ability)
  58. if(cotisationsMenu) menu.push(cotisationsMenu)
  59. const statsMenu = getStatsMenu(this.$config,this.$ability)
  60. if(statsMenu) menu.push(statsMenu)
  61. return ref(menu)
  62. }
  63. }
  64. export const $useMenu = new Menu()