| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <template>
- <v-navigation-drawer
- :mini-variant="miniVariant"
- :clipped="clipped"
- class="ot_dark_grey ot_menu_color--text"
- fixed
- app
- >
- <v-list>
- <div v-for="(item, i) in menu" :key="i">
- <v-list-item
- v-if="!item.children"
- :href="item.old ? item.to : undefined"
- :to="!item.old ? item.to : undefined"
- router
- exact
- >
- <v-list-item-action>
- <v-icon class="ot_menu_color--text">{{ item.icon }}</v-icon>
- </v-list-item-action>
- <v-list-item-content>
- <v-list-item-title class="ot_menu_color--text" v-text="$t(item.title)"/>
- </v-list-item-content>
- </v-list-item>
- <v-list-group
- v-else
- v-model="item.active"
- no-action
- >
- <template v-slot:activator>
- <v-list-item-action>
- <v-icon class="ot_menu_color--text">{{ item.icon }}</v-icon>
- </v-list-item-action>
- <v-list-item-content>
- <v-list-item-title class="ot_menu_color--text" v-text="$t(item.title)"/>
- </v-list-item-content>
- </template>
- <v-list-item
- v-for="child in item.children"
- :key="child.title"
- :href="child.old ? child.to : undefined"
- :to="!child.old ? child.to : undefined"
- router
- exact
- >
- <v-list-item-action>
- <v-icon class="ot_menu_color--text">{{ child.icon }}</v-icon>
- </v-list-item-action>
- <v-list-item-content>
- <v-list-item-title class="ot_menu_color--text" v-text="$t(child.title)"/>
- </v-list-item-content>
- </v-list-item>
- </v-list-group>
- </div>
- </v-list>
- </v-navigation-drawer>
- </template>
- <script lang="ts">
- import Menu from '@/use/template/menu'
- import {defineComponent} from '@nuxtjs/composition-api'
- import {AnyJson} from "~/types/types";
- export default defineComponent({
- props: {
- miniVariant: {
- type: Boolean,
- required: true
- },
- clipped: {
- type: Boolean,
- required: true
- }
- },
- setup() {
- const menu: AnyJson = new Menu().useMenuConstruct()
- return {
- menu
- }
- }
- })
- </script>
- <style scoped>
- .v-list-item__action, .v-list-group__header__prepend-icon {
- margin-right: 10px !important;
- }
- .v-application--is-ltr .v-list-group--no-action > .v-list-group__items > .v-list-item {
- padding-left: 30px;
- }
- .v-list-item__title{
- font-size: 14px;
- }
- .v-icon.v-icon{
- font-size: 16px;
- }
- .v-list-item{
- min-height: 10px;
- }
- .v-list-item__action {
- margin: 8px 0;
- }
- .v-list-item__content {
- padding: 8px 0;
- }
- </style>
|