|
|
|
|
@ -1,15 +1,25 @@ |
|
|
|
|
<template> |
|
|
|
|
<MegaMenu :model="menuItems" class="app-topbar"> |
|
|
|
|
<MegaMenu |
|
|
|
|
:model="menuItems" |
|
|
|
|
class="app-topbar" |
|
|
|
|
> |
|
|
|
|
<template #start> |
|
|
|
|
<img |
|
|
|
|
alt="Chamilo LMS" |
|
|
|
|
:src="headerLogo" |
|
|
|
|
alt="Chamilo LMS" |
|
|
|
|
/> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<template #item="{ item }"> |
|
|
|
|
<router-link v-if="item.to" :to="item.to" class="p-menuitem-link"> |
|
|
|
|
<span :class="item.icon" class="p-menuitem-icon mx-0" /> |
|
|
|
|
<router-link |
|
|
|
|
v-if="item.to" |
|
|
|
|
:to="item.to" |
|
|
|
|
class="p-menuitem-link" |
|
|
|
|
> |
|
|
|
|
<span |
|
|
|
|
:class="item.icon" |
|
|
|
|
class="p-menuitem-icon mx-0" |
|
|
|
|
/> |
|
|
|
|
<span class="p-menuitem-text hidden">{{ item.label }}</span> |
|
|
|
|
</router-link> |
|
|
|
|
<a |
|
|
|
|
@ -19,7 +29,10 @@ |
|
|
|
|
aria-haspopup="true" |
|
|
|
|
class="p-menuitem-link" |
|
|
|
|
> |
|
|
|
|
<span :class="item.icon" class="p-menuitem-icon mx-0" /> |
|
|
|
|
<span |
|
|
|
|
:class="item.icon" |
|
|
|
|
class="p-menuitem-icon mx-0" |
|
|
|
|
/> |
|
|
|
|
<span class="p-menuitem-text hidden">{{ item.label }}</span> |
|
|
|
|
</a> |
|
|
|
|
</template> |
|
|
|
|
@ -44,15 +57,15 @@ |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script setup> |
|
|
|
|
import { ref } from "vue"; |
|
|
|
|
import { useRoute } from "vue-router"; |
|
|
|
|
import { ref } from "vue" |
|
|
|
|
import { useRoute } from "vue-router" |
|
|
|
|
|
|
|
|
|
import MegaMenu from "primevue/megamenu"; |
|
|
|
|
import Avatar from "primevue/avatar"; |
|
|
|
|
import Menu from "primevue/menu"; |
|
|
|
|
import { usePlatformConfig } from "../../store/platformConfig"; |
|
|
|
|
import MegaMenu from "primevue/megamenu" |
|
|
|
|
import Avatar from "primevue/avatar" |
|
|
|
|
import Menu from "primevue/menu" |
|
|
|
|
import { usePlatformConfig } from "../../store/platformConfig" |
|
|
|
|
|
|
|
|
|
import headerLogoPath from "../../../../assets/css/themes/chamilo/images/header-logo.svg"; |
|
|
|
|
import headerLogoPath from "../../../../assets/css/themes/chamilo/images/header-logo.svg" |
|
|
|
|
|
|
|
|
|
// eslint-disable-next-line no-undef |
|
|
|
|
const props = defineProps({ |
|
|
|
|
@ -60,29 +73,26 @@ const props = defineProps({ |
|
|
|
|
required: true, |
|
|
|
|
type: Object, |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
const route = useRoute(); |
|
|
|
|
const route = useRoute() |
|
|
|
|
|
|
|
|
|
const platformConfigStore = usePlatformConfig(); |
|
|
|
|
const platformConfigStore = usePlatformConfig() |
|
|
|
|
|
|
|
|
|
const menuItems = ref([ |
|
|
|
|
{ |
|
|
|
|
label: "Tickets", |
|
|
|
|
icon: "pi pi-fw pi-ticket", |
|
|
|
|
url: (function () { |
|
|
|
|
const queryParams = new URLSearchParams(window.location.href); |
|
|
|
|
const queryParams = new URLSearchParams(window.location.href) |
|
|
|
|
|
|
|
|
|
const cid = |
|
|
|
|
route.query.cid || route.params.id || queryParams.get("cid") || 0; |
|
|
|
|
const sid = route.query.sid || queryParams.get("sid") || 0; |
|
|
|
|
const gid = route.query.gid || queryParams.get("gid") || 0; |
|
|
|
|
const cid = route.query.cid || route.params.id || queryParams.get("cid") || 0 |
|
|
|
|
const sid = route.query.sid || queryParams.get("sid") || 0 |
|
|
|
|
const gid = route.query.gid || queryParams.get("gid") || 0 |
|
|
|
|
|
|
|
|
|
return `/main/ticket/tickets.php?project_id=1&cid=${cid}&sid=${sid}&gid=${gid}`; |
|
|
|
|
return `/main/ticket/tickets.php?project_id=1&cid=${cid}&sid=${sid}&gid=${gid}` |
|
|
|
|
})(), |
|
|
|
|
visible: |
|
|
|
|
"true" !== |
|
|
|
|
platformConfigStore.getSetting("display.show_link_ticket_notification"), |
|
|
|
|
visible: "true" !== platformConfigStore.getSetting("display.show_link_ticket_notification"), |
|
|
|
|
items: [], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
@ -97,9 +107,9 @@ const menuItems = ref([ |
|
|
|
|
to: "/resources/messages", |
|
|
|
|
items: [], |
|
|
|
|
}, |
|
|
|
|
]); |
|
|
|
|
]) |
|
|
|
|
|
|
|
|
|
const elUserSubmenu = ref(null); |
|
|
|
|
const elUserSubmenu = ref(null) |
|
|
|
|
const userSubmenuItems = [ |
|
|
|
|
{ |
|
|
|
|
label: props.currentUser.fullName, |
|
|
|
|
@ -110,11 +120,11 @@ const userSubmenuItems = [ |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
]; |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
function toogleUserMenu(event) { |
|
|
|
|
elUserSubmenu.value.toggle(event); |
|
|
|
|
elUserSubmenu.value.toggle(event) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const headerLogo = headerLogoPath; |
|
|
|
|
const headerLogo = headerLogoPath |
|
|
|
|
</script> |
|
|
|
|
|