| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 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<ItemMenu>} 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<ItemMenu>, 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;
|