add draggedRow event

This commit is contained in:
Samuel Lorch 2023-04-02 12:44:31 +02:00
parent 5ebf7f1f4b
commit bc35f3b1d2
2 changed files with 12 additions and 1 deletions

View file

@ -23,6 +23,7 @@ let { columns, data, sort, sortSelf, sortBy, sortDesc, selection, draggable } =
const emit = defineEmits<{
(event: 'rowAction', index: number): void,
(event: 'selectionChanged'): void
(event: 'draggedRow', draggedRow: number, draggedOverRow: number): void,
}>();
if (selection == undefined) {
@ -101,7 +102,9 @@ function dragDropRow() {
data.splice(draggedRow, 1);
data.splice(draggedOverRow, 0, row);
data = data;
emit("draggedRow", draggedRow, draggedOverRow);
}
// Reset drag data
draggedRow = 0;
draggedOverRow = 0;

View file

@ -15,6 +15,14 @@ const props = defineModel<{
let { title, loading, columns, data, selection, tableProps } = $(props);
const emit = defineEmits<{
(event: 'draggedRow', draggedRow: number, draggedOverRow: number): void,
}>();
async function draggedRow(draggedRow: number, draggedOverRow: number) {
emit("draggedRow", draggedRow, draggedOverRow);
}
</script>
<template>
@ -23,6 +31,6 @@ let { title, loading, columns, data, selection, tableProps } = $(props);
<slot/>
</PageHeader>
<div v-if="loading" >Loading...</div>
<NiceTable v-else :columns="columns" v-model:selection="selection" v-bind="tableProps" :data="data"/>
<NiceTable v-else :columns="columns" v-model:selection="selection" @draggedRow="draggedRow" v-bind="tableProps" :data="data"/>
</div>
</template>