import {ItemMenu} from "~/types/interfaces"; import {NuxtConfig} from "@nuxt/types/config"; /** * @category Use/layout/Menus * @class BaseMenu * Classe abstraite pour chacun des menu */ class BaseMenu{ protected $config:NuxtConfig; /** * @constructor * Initialisation des services issues du context */ constructor($config:NuxtConfig) { this.$config = $config; } /** * Construit un ItemMenu * @param {string} icon * @param {string} title titre qui sera traduit * @param {string} link lien * @param {boolean} isOldLink est-ce un lien renvoyant vers l'ancien admin? * @param {Array} children Tableau d'ItemMenu représentant les sous menu du menu principal * @param {boolean} isExternalLink est-ce un lien renvoyant vers l'extérieur? * @return {ItemMenu} */ constructMenu(title: string, icon?: string, link?: string, isOldLink?: boolean, children?: Array, isExternalLink?: boolean): ItemMenu{ return children ? { title: title, icon: icon, children: children, } : { icon: icon, title: title, to: `${isExternalLink || !isOldLink ? '' : this.$config.baseURL_adminLegacy}${link}`, isExternalLink: isExternalLink || isOldLink, } } getMenu():ItemMenu | null { return null } getHeaderMenu():ItemMenu | null { return null } } export default BaseMenu;