Files
FEDEO/frontend/components/EntityModalButtons.vue
2026-01-06 12:09:31 +01:00

83 lines
1.5 KiB
Vue

<script setup>
import StandardEntityModal from "~/components/StandardEntityModal.vue";
const props = defineProps({
type: {
type: String,
required: true
},
id: {
type: String,
},
createQuery: {
type: Object,
default: {}
},
buttonShow: {
type: Boolean,
default: true
},
buttonEdit: {
type: Boolean,
default: true
},
buttonCreate: {
type: Boolean,
default: true
}
})
const emit = defineEmits(["returnData"])
const modal = useModal()
</script>
<template>
<UButton
variant="outline"
class="w-25 ml-2"
v-if="props.id && props.buttonShow"
icon="i-heroicons-eye"
@click="modal.open(StandardEntityModal, {
id: props.id,
type: props.type,
mode: 'show',
})"
/>
<UButton
variant="outline"
class="w-25 ml-2"
v-if="props.id && props.buttonEdit"
icon="i-heroicons-pencil-solid"
@click="modal.open(StandardEntityModal, {
id: props.id,
type: props.type,
mode: 'edit',
onReturnData(data) {
emit('returnData', data)
}
})"
/>
<UButton
variant="outline"
class="w-25 ml-2"
v-if="!props.id && props.buttonCreate"
icon="i-heroicons-plus"
@click="modal.open(StandardEntityModal, {
type: props.type,
mode: 'create',
createQuery: props.createQuery,
onReturnData(data) {
emit('returnData', data)
}
})"
/>
</template>
<style scoped>
</style>