baseMenu.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import {ItemMenu} from "~/types/types";
  2. class BaseMenu{
  3. protected $config:any;
  4. constructor($config:any) {
  5. this.$config = $config;
  6. }
  7. /**
  8. * Construit un ItemMenu
  9. * @param {string} icon
  10. * @param {string} title titre qui sera traduit
  11. * @param {string} link lien
  12. * @param {boolean} isOldLink est-ce un lien renvoyant vers l'ancien admin?
  13. * @param {Array<ItemMenu>} children Tableau d'ItemMenu représentant les sous menu du menu principal
  14. * @param {boolean} isExternalLink est-ce un lien renvoyant vers l'extérieur?
  15. * @return {ItemMenu}
  16. */
  17. constructMenu(title: string, icon?: string, link?: string, isOldLink?: boolean, children?: Array<ItemMenu>, isExternalLink?: boolean): ItemMenu{
  18. return children ? {
  19. title: title,
  20. icon: icon,
  21. children: children,
  22. } : {
  23. icon: icon,
  24. title: title,
  25. to: `${isExternalLink || !isOldLink ? '' : this.$config.baseURL_adminLegacy}${link}`,
  26. isExternalLink: isExternalLink || isOldLink,
  27. }
  28. }
  29. }
  30. export default BaseMenu;