Files
newfreeplanet_OLD/src/layouts/menuone/menuOne.vue

161 lines
7.5 KiB
Vue
Raw Normal View History

2021-08-31 18:09:59 +02:00
<template>
2022-10-27 11:18:31 +02:00
<div v-if="finishLoading" class="no-border">
2021-08-31 18:09:59 +02:00
<q-list class="rounded-borders text-primary">
<div v-for="ind1 in getmenu" :key="ind1">
2021-08-31 18:09:59 +02:00
<!--<div class="q-list-header">{{replaceUnderlineToSpace(index)}}</div>-->
<div v-for="(myitemmenu, ind2) in myroutes" :key="ind2">
2021-08-31 18:09:59 +02:00
<div v-if="myitemmenu.active">
2021-09-16 21:08:02 +02:00
<div v-if="myitemmenu.routes2 && myitemmenu.inmenu && tools.visumenu(myitemmenu)">
2021-08-31 18:09:59 +02:00
2021-09-16 21:08:02 +02:00
<span v-if="myitemmenu.isseparator">
<q-separator></q-separator>
</span>
<span v-else>
2022-10-27 11:18:31 +02:00
2021-09-16 21:08:02 +02:00
<q-expansion-item
:content-inset-level="myitemmenu.level_parent"
:header-class="getmymenuclass(myitemmenu)"
2022-10-27 11:18:31 +02:00
:header-inset-level="myitemmenu.level_parent"
:icon="myitemmenu.materialIcon"
:label="tools.getLabelByItem(myitemmenu)"
active-class="my-menu-active"
expand-icon-class="my-menu-separat">
2021-08-31 18:09:59 +02:00
2021-09-16 21:08:02 +02:00
<div v-for="(child2, index) in myitemmenu.routes2" :key="index">
<div v-if="child2.active && tools.visumenu(child2)">
<span v-if="child2.isseparator">
<q-separator></q-separator>
</span>
<span v-else>
2022-10-27 11:18:31 +02:00
2021-09-16 21:08:02 +02:00
<q-expansion-item
v-if="!child2.routes2"
2022-10-27 11:18:31 +02:00
:class="`item item-link drawer-closer cursor-pointer ` + clBase"
2021-09-16 21:08:02 +02:00
:duration="300"
2022-10-27 11:18:31 +02:00
:header-inset-level="child2.level_child"
2021-09-16 21:08:02 +02:00
:icon="child2.materialIcon"
2022-10-27 11:18:31 +02:00
:label="tools.getLabelByItem(child2)"
:to="getroute(child2)"
2021-09-16 21:08:02 +02:00
active-class="my-menu-active"
2022-10-27 11:18:31 +02:00
expand-icon="none"
expand-icon-class="my-menu-icon-none">
2021-08-31 18:09:59 +02:00
2021-10-01 19:42:21 +02:00
<q-item-section avatar>
<q-avatar v-if="child2.img">
2022-10-27 11:18:31 +02:00
<div :class="getimgiconclass(child2)" :icon="`img:`+child2.img" style="font-size:2rem;"></div>
2021-10-01 19:42:21 +02:00
</q-avatar>
<div v-else>
<q-avatar
2022-10-27 11:18:31 +02:00
:icon="child2.materialIcon" :size="child2.iconsize" class="clicon"
color="primary"
2021-10-01 19:42:21 +02:00
text-color="white">
</q-avatar>
</div>
</q-item-section>
2021-08-31 18:09:59 +02:00
2021-10-01 19:42:21 +02:00
<q-item-section>
{{ tools.getLabelByItem(child2) }}
</q-item-section>
2021-08-31 18:09:59 +02:00
2021-09-16 21:08:02 +02:00
</q-expansion-item>
<q-expansion-item
v-else
:content-inset-level="child2.level_parent"
:header-class="getmymenuclass(child2)"
2022-10-27 11:18:31 +02:00
:header-inset-level="child2.level_parent"
:icon="child2.materialIcon"
:label="tools.getLabelByItem(child2)"
active-class="my-menu-active"
expand-icon-class="my-menu-separat">
2021-09-16 21:08:02 +02:00
<div v-for="(child3, index) in child2.routes2" :key="index">
<div v-if="child3.active">
2022-10-27 11:18:31 +02:00
2021-09-16 21:08:02 +02:00
<q-expansion-item
2022-10-27 11:18:31 +02:00
:class="`item item-link drawer-closer cursor-pointer ` + clBase"
2021-09-16 21:08:02 +02:00
:duration="300"
2022-10-27 11:18:31 +02:00
:header-inset-level="child3.level_child"
2021-09-16 21:08:02 +02:00
:icon="child3.materialIcon"
2022-10-27 11:18:31 +02:00
:label="tools.getLabelByItem(child3)"
:to="getroute(child3)"
2021-09-16 21:08:02 +02:00
active-class="my-menu-active"
2022-10-27 11:18:31 +02:00
expand-icon-class="my-menu-icon-none">
2021-09-16 21:08:02 +02:00
<div v-for="(child4, index) in child3.routes2" :key="index">
2022-10-27 11:18:31 +02:00
2021-09-16 21:08:02 +02:00
<q-expansion-item
v-if="!!child3.routes2 && child3.active"
:key="index"
2022-10-27 11:18:31 +02:00
:class="`item item-link drawer-closer cursor-pointer ` + clBase"
2021-09-16 21:08:02 +02:00
:duration="300"
:expand-icon="child4.icon"
2022-10-27 11:18:31 +02:00
:header-inset-level="child4.level_child"
:icon="child4.materialIcon"
:label="tools.getLabelByItem(child4)"
:to="getroute(child4)"
2021-09-16 21:08:02 +02:00
active-class="my-menu-active"
2022-10-27 11:18:31 +02:00
expand-icon-class="my-menu-separat">
2021-09-16 21:08:02 +02:00
</q-expansion-item>
</div>
</q-expansion-item>
</div>
</div>
</q-expansion-item>
</span>
</div>
2021-08-31 18:09:59 +02:00
</div>
2021-09-16 21:08:02 +02:00
</q-expansion-item>
</span>
2021-08-31 18:09:59 +02:00
</div>
2021-09-16 21:08:02 +02:00
<div v-else>
<div v-if="myitemmenu.inmenu && !myitemmenu.submenu && tools.visumenu(myitemmenu)">
<q-slide-transition :duration=200>
<div v-show="true">
2021-08-31 18:09:59 +02:00
<span v-if="myitemmenu.isseparator">
<q-separator inset></q-separator>
</span>
2021-09-16 21:08:02 +02:00
<span v-else>
2022-10-27 11:18:31 +02:00
<q-list>
<q-item clickable
:content-inset-level="myitemmenu.level_parent"
:header-inset-level="myitemmenu.level_parent"
:to="getroute(myitemmenu)"
active-class="my-menu-active"
expand-icon="none">
<q-item-section thumbnail>
<q-avatar
:icon="myitemmenu.materialIcon" :size="!!myitemmenu.iconsize ? myitemmenu.iconsize: '2.5rem'" :font-size="!!myitemmenu.iconsize ? myitemmenu.iconsize: '2.5rem'"
text-color="primary"
style="margin-left: 4px"
square
rounded>
</q-avatar>
</q-item-section>
<q-item-section>
<span :class="myitemmenu.extraclass">{{ tools.getLabelByItem(myitemmenu) }}</span>
<span v-if="myitemmenu.subtitle" class="subtitle">{{ myitemmenu.subtitle }}</span>
</q-item-section>
</q-item>
</q-list>
2021-08-31 18:09:59 +02:00
</span>
2021-09-16 21:08:02 +02:00
</div>
</q-slide-transition>
2021-10-01 19:42:21 +02:00
2021-09-16 21:08:02 +02:00
</div>
2021-08-31 18:09:59 +02:00
</div>
</div>
</div>
2021-09-16 21:08:02 +02:00
</div>
2021-08-31 18:09:59 +02:00
</q-list>
</div>
</template>
<script lang="ts" src="./menuOne.ts">
</script>
<style lang="scss">
2021-10-01 19:42:21 +02:00
@import './menuOne.scss';
2021-08-31 18:09:59 +02:00
</style>