From bc35f3b1d2a53be0ee0b2a34f0b212c96fe2758a Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Sun, 2 Apr 2023 12:44:31 +0200 Subject: [PATCH] add draggedRow event --- client/src/components/NiceTable.vue | 3 +++ client/src/components/TableView.vue | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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