Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/assets/vue/components/page/Layout.vue

53 lines
919 B

<template>
<div class="flex gap-2">
<h2
v-t="'Pages'"
class="mr-auto"
/>
<BaseButton
v-if="menuItems.length"
icon="dots-vertical"
only-icon
popup-identifier="page-menu"
type="black"
@click="toggleMenu"
/>
<BaseMenu
v-if="menuItems.length"
id="page-menu"
ref="menu"
:model="menuItems"
/>
</div>
<hr />
<router-view />
</template>
<script setup>
import BaseButton from "../basecomponents/BaseButton.vue"
import BaseMenu from "../basecomponents/BaseMenu.vue"
import { provide, ref, watch } from "vue"
import { useRoute } from "vue-router"
const route = useRoute()
const menu = ref(null)
const menuItems = ref([])
provide("layoutMenuItems", menuItems)
watch(
() => route.name,
() => {
menuItems.value = []
},
{ inmediate: true },
)
const toggleMenu = (event) => menu.value.toggle(event)
</script>