| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import BaseMenu from '~/composables/layout/Menus/baseMenu'
- import { ItemMenu, ItemsMenu, Menu } from '~/types/interfaces'
- import {useProfileAccessStore} from "~/store/profile/access";
- import {useProfileOrganizationStore} from "~/store/profile/organization";
- /**
- * @category composables/layout/Menus
- * @class MyFamilyMenu
- * Classe pour la construction du Menu Famille
- */
- class MyFamilyMenu extends BaseMenu implements Menu {
- /**
- * @constructor
- * Initialisation des services issues du context
- */
- constructor () {
- const {$config} = useNuxtApp()
- super($config)
- }
- /**
- * Construit le menu Header Changement d'utilisateur ou null si aucune page accessible
- * @return {ItemMenu | null}
- */
- getHeaderMenu (): ItemMenu | null {
- const children: ItemsMenu = []
- // Si Access des membres de la familles (enfants)
- const profileAccessStore = useProfileAccessStore()
- const profileOrganizationStore = useProfileOrganizationStore()
- useEach(profileAccessStore.familyAccesses, (access) => {
- const url = `/switch_user/${profileOrganizationStore.id}/${profileAccessStore.id}/${access.id}`
- children.push(this.constructMenu(`${access.givenName} ${access.name}`, {
- avatarId: access.avatarId,
- avatarByDefault: access.gender == 'MISTER' ? 'men-1.png' : 'women-1.png'
- }, url, true))
- })
- // Si on est en compte swtich, on doit pouvoir retourner au compte d'origine
- const originalAccess = profileAccessStore.originalAccess
- if (originalAccess && !originalAccess.isSuperAdminAccess) {
- const url = `/switch_user/${originalAccess.organization.id}/${originalAccess.id}/exit`
- children.push(this.constructMenu(`${originalAccess.givenName} ${originalAccess.name}`, undefined, url, true))
- }
- return children.length > 0 ? this.constructMenu('familyAccesses', {name: 'fa-users'}, undefined, undefined, children) : null
- }
- }
- export const getMyFamilyMenu = () => new MyFamilyMenu().getHeaderMenu()
|