| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { NuxtConfig } from '@nuxt/types/config'
- import {IconItem, ItemMenu} from '~/types/interfaces'
- /**
- * @category composables/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 {IconItem} 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?
- * @param {Array<ItemMenu>} actions Tableau d'ItemMenu représentant les actions devant apparaitre en bas du menu
- * @return {ItemMenu}
- */
- constructMenu (title: string, icon: IconItem, link?: string, isOldLink?: boolean, children?: Array<ItemMenu>, isExternalLink?: boolean): ItemMenu {
- return children ? {
- title,
- icon,
- children
- } : {
- icon,
- 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
|