diff --git a/client/src/components/NiceTable.vue b/client/src/components/NiceTable.vue index 42bf35e..b4500fb 100644 --- a/client/src/components/NiceTable.vue +++ b/client/src/components/NiceTable.vue @@ -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; diff --git a/client/src/components/TableView.vue b/client/src/components/TableView.vue index 085804f..e3fd056 100644 --- a/client/src/components/TableView.vue +++ b/client/src/components/TableView.vue @@ -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); +} + \ No newline at end of file