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/basecomponents/BaseToolbar.vue

39 lines
882 B

<template>
<Toolbar :class="toolbarClass">
<template v-if="!hasStartSlot && !hasEndSlot" #start>
<slot></slot>
</template>
<template v-if="hasStartSlot" v-slot:start>
<slot name="start"></slot>
</template>
<template v-if="hasEndSlot" v-slot:end>
<slot name="end"></slot>
</template>
</Toolbar>
</template>
<script setup>
import Toolbar from "primevue/toolbar"
import { computed, onMounted, ref } from "vue"
import { useSlots } from 'vue'
const props = defineProps({
showTopBorder: {
type: Boolean,
default: false,
},
})
const toolbarClass = computed(() => {
return props.showTopBorder ? "pt-5 border-t border-b" : "p-toolbar"
})
const slots = useSlots()
const hasStartSlot = ref(false)
const hasEndSlot = ref(false)
onMounted(() => {
hasStartSlot.value = !!slots.start
hasEndSlot.value = !!slots.end
})
</script>