| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <!--
- Menu déroulant générique pour l'affichage des menus du
- header principal (configuration, paramètres du compte...)
- -->
- <template>
- <v-menu offset-y left>
- <template #activator="{ on: { click }, attrs }">
- <v-tooltip bottom>
- <template #activator="{ on: on_tooltips , attrs: attrs_tooltips }">
- <v-btn
- icon
- v-bind="[attrs, attrs_tooltips]"
- color=""
- v-on="on_tooltips"
- @click="click"
- >
- <v-avatar
- v-if="menu.icon.avatarByDefault"
- size="30"
- >
- <UiImage :id="menu.icon.avatarId" :imageByDefault="menu.icon.avatarByDefault" :width="30"></UiImage>
- </v-avatar>
- <v-icon v-else class="ot_white--text" small>
- {{ menu.icon.name }}
- </v-icon>
- </v-btn>
- </template>
- <span>{{ $t(menu.title) }}</span>
- </v-tooltip>
- </template>
- <v-card scrollable>
- <v-card-title class="ot_header_menu text-body-2 font-weight-bold">
- {{$t(menu.title)}}
- </v-card-title>
- <v-card-text class="ma-0 pa-0 header-menu">
- <v-list dense :subheader="true">
- <template v-for="(item, index) in menu.children">
- <v-list-item
- :id="item.title"
- :key="index"
- :href="item.isExternalLink ? item.to : undefined"
- :to="!item.isExternalLink ? item.to : undefined"
- router
- exact
- >
- <v-list-item-title>
- <span v-if="item.icon">
- <v-avatar
- v-if="item.icon.avatarByDefault"
- size="30"
- >
- <UiImage :id="item.icon.avatarId" :imageByDefault="item.icon.avatarByDefault" :width="30"></UiImage>
- </v-avatar>
- <v-icon v-else class="ot_white--text" small>
- {{ item.icon.name }}
- </v-icon>
- </span>
- <span>{{$t(item.title)}}</span>
- </v-list-item-title>
- </v-list-item>
- </template>
- </v-list>
- </v-card-text>
- <v-card-actions class="ma-0 pa-0">
- <template v-for="(item, index) in menu.actions">
- <v-list-item
- :id="item.title"
- :key="index"
- :href="item.isExternalLink ? item.to : undefined"
- :to="!item.isExternalLink ? item.to : undefined"
- router
- >
- <v-list-item-title class="text-body-2 ot_white--text" v-text="$t(item.title)"/>
- </v-list-item>
- </template>
- </v-card-actions>
- </v-card>
- </v-menu>
- </template>
- <script lang="ts">
- import {defineComponent, useContext} from '@nuxtjs/composition-api'
- import {accessState} from "~/types/interfaces";
- export default defineComponent({
- props: {
- menu: {
- type: Object,
- required: true
- }
- }
- })
- </script>
- <style scoped>
- #logout{
- background: var(--v-ot_green-base, white);
- color: white;
- }
- </style>
|