1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-24 21:14:05 +00:00
bramw_baserow/web-frontend/modules/builder/components/page/PageHeaderMenuItems.vue
2023-05-11 15:27:17 +00:00

36 lines
862 B
Vue

<template>
<ul class="header__filter">
<li
v-for="(itemType, index) in pageHeaderItemTypes"
:key="itemType.getType()"
class="header__filter-item"
>
<a
ref="button"
class="header__filter-link"
@click="itemType.onClick($refs.component[index], $refs.button[index])"
>
<i class="header__filter-icon fas" :class="`fa-${itemType.icon}`"></i>
<span class="header__filter-name">{{ itemType.label }}</span>
</a>
<component :is="itemType.component" ref="component" :page="page" />
</li>
</ul>
</template>
<script>
export default {
name: 'PageHeaderMenuItems',
props: {
page: {
type: Object,
required: true,
},
},
computed: {
pageHeaderItemTypes() {
return Object.values(this.$registry.getAll('pageHeaderItem'))
},
},
}
</script>