|
|
@@ -2,11 +2,20 @@ import {ref, useContext} from "@nuxtjs/composition-api";
|
|
|
import {ItemMenu, ItemsMenu} from "~/types/types";
|
|
|
import {$organizationProfile} from "~/services/profile/organizationProfile";
|
|
|
|
|
|
-export default class Menu{
|
|
|
+/**
|
|
|
+ * @category Use/template
|
|
|
+ * @class Menu
|
|
|
+ * Use Classe pour la construction du Menu
|
|
|
+ */
|
|
|
+class Menu{
|
|
|
private $ability:any;
|
|
|
private $config:any;
|
|
|
private $store:any;
|
|
|
|
|
|
+ /**
|
|
|
+ * @constructor
|
|
|
+ * Initialisation des services issues du context
|
|
|
+ */
|
|
|
constructor() {
|
|
|
const {$ability, $config, store} = useContext();
|
|
|
this.$ability = $ability;
|
|
|
@@ -14,6 +23,9 @@ export default class Menu{
|
|
|
this.$store = store;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Construit le menu
|
|
|
+ */
|
|
|
useMenuConstruct(){
|
|
|
let menu:ItemsMenu = [ this.constructMenu('fa-home', 'welcome', '/dashboard', true) ]
|
|
|
|
|
|
@@ -33,7 +45,8 @@ export default class Menu{
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Menu Répertoire
|
|
|
+ * Construit le menu Répertoire ou null si aucune page accessible
|
|
|
+ * @return {ItemMenu | null}
|
|
|
*/
|
|
|
accessMenu():ItemMenu | null {
|
|
|
const children:ItemsMenu = [];
|
|
|
@@ -68,7 +81,8 @@ export default class Menu{
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Menu agenda
|
|
|
+ * Construit le menu Agenda ou null si aucune page accessible
|
|
|
+ * @return {ItemMenu | null}
|
|
|
*/
|
|
|
agendaMenu():ItemMenu | null {
|
|
|
const children:ItemsMenu = [];
|
|
|
@@ -88,14 +102,16 @@ export default class Menu{
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Menu equipment
|
|
|
+ * Construit le menu Equipement ou null si aucune page accessible
|
|
|
+ * @return {ItemMenu | null}
|
|
|
*/
|
|
|
equipmentMenu():ItemMenu | null {
|
|
|
return this.constructMenu('fa-cube', 'equipment', '/equipment/list', true)
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Menu suivi pédagogique
|
|
|
+ * Construit le menu Suivi pédagogique ou null si aucune page accessible
|
|
|
+ * @return {ItemMenu | null}
|
|
|
*/
|
|
|
educationalMenu():ItemMenu | null {
|
|
|
const children:ItemsMenu = [];
|
|
|
@@ -132,11 +148,12 @@ export default class Menu{
|
|
|
|
|
|
/**
|
|
|
* Construit un ItemMenu
|
|
|
- * @param icon
|
|
|
- * @param title
|
|
|
- * @param link
|
|
|
- * @param isOldLink
|
|
|
- * @param children
|
|
|
+ * @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
|
|
|
+ * @return {ItemMenu}
|
|
|
*/
|
|
|
constructMenu(icon: string, title: string, link?: string, isOldLink?: boolean, children?: Array<ItemMenu>): ItemMenu{
|
|
|
return children ? {
|
|
|
@@ -151,3 +168,5 @@ export default class Menu{
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+export default Menu
|