parametersMenuBuilder.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import AbstractMenuBuilder from '~/services/layout/menuBuilder/abstractMenuBuilder'
  2. import type { MenuGroup, MenuItems } from '~/types/layout'
  3. /**
  4. * Menu Paramètres
  5. */
  6. export default class ParametersMenuBuilder extends AbstractMenuBuilder {
  7. static readonly menuName = 'Parameters'
  8. /**
  9. * Construit le menu Header Configuration, ou null si aucune page accessible
  10. */
  11. build(): MenuGroup | null {
  12. const children: MenuItems = []
  13. this.addChildItemIfAllowed(children, 'parameters_general_page', {
  14. name: 'fas fa-gears',
  15. })
  16. this.addChildItemIfAllowed(children, 'parameters_website_page', {
  17. name: 'fas fa-globe-americas',
  18. })
  19. this.addChildItemIfAllowed(children, 'parameters_teaching_page', {
  20. name: 'fas fa-school',
  21. })
  22. this.addChildItemIfAllowed(children, 'parameters_intranet_page', {
  23. name: 'fas fa-arrows-down-to-people',
  24. })
  25. this.addChildItemIfAllowed(children, 'parameters_education_notation_page', {
  26. name: 'fas fa-graduation-cap',
  27. })
  28. this.addChildItemIfAllowed(children, 'parameters_bulletin_page', {
  29. name: 'fas fa-file-lines',
  30. })
  31. this.addChildItemIfAllowed(children, 'parameters_education_timings_page', {
  32. name: 'fas fa-clock',
  33. })
  34. this.addChildItemIfAllowed(children, 'parameters_residence_areas_page', {
  35. name: 'fas fa-location-dot',
  36. })
  37. this.addChildItemIfAllowed(children, 'parameters_attendances_page', {
  38. name: 'fas fa-user-times',
  39. })
  40. this.addChildItemIfAllowed(children, 'parameters_sms_page', {
  41. name: 'fas fa-mobile',
  42. })
  43. this.addChildItemIfAllowed(children, 'parameters_super_admin_page', {
  44. name: 'fas fa-user-gear',
  45. })
  46. if (children.length > 0) {
  47. return this.createGroup('parameters', undefined, children)
  48. }
  49. return null
  50. }
  51. }