parametersMenuBuilder.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  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. // prettier-ignore
  13. const children: MenuItems = this.makeChildren([
  14. { pageName: 'parameters_general_page', icon: 'fas fa-gears' },
  15. { pageName: 'parameters_website_page', icon: 'fas fa-globe-americas' },
  16. { pageName: 'parameters_teaching_page', icon: 'fas fa-school' },
  17. { pageName: 'parameters_intranet_page', icon: 'fas fa-arrows-down-to-people' },
  18. { pageName: 'parameters_education_notation_page', icon: 'fas fa-graduation-cap' },
  19. { pageName: 'parameters_bulletin_page', icon: 'fas fa-file-lines' },
  20. { pageName: 'parameters_education_timings_page', icon: 'fas fa-clock' },
  21. { pageName: 'parameters_residence_areas_page', icon: 'fas fa-location-dot' },
  22. { pageName: 'parameters_attendances_page', icon: 'fas fa-user-times' },
  23. { pageName: 'parameters_sms_page', icon: 'fas fa-mobile' },
  24. { pageName: 'parameters_super_admin_page', icon: 'fas fa-user-gear' },
  25. ])
  26. if (children.length > 0) {
  27. return this.createGroup('parameters', undefined, children)
  28. }
  29. return null
  30. }
  31. }