menu.ts 2.8 KB

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