diff --git a/web/app/src/components/jobs/TasksTable.vue b/web/app/src/components/jobs/TasksTable.vue index 569dad11..a6b134d8 100644 --- a/web/app/src/components/jobs/TasksTable.vue +++ b/web/app/src/components/jobs/TasksTable.vue @@ -10,7 +10,11 @@
-
+
@@ -40,6 +44,7 @@ export default { shownStatuses: [], availableStatuses: [], // Will be filled after data is loaded from the backend. lastSelectedTaskPosition: null, + sortable: true, }; }, mounted() { @@ -131,6 +136,7 @@ export default { this.$router.push(route); }, sortData() { + if (!this.sortable) return; const tab = this.tabulator; tab.setSort(tab.getSorters()); // This triggers re-sorting. }, @@ -192,6 +198,16 @@ export default { } ); }, + enableSorting(event) { + if (event.key === 'Shift') { + this.sortable = true; + } + }, + disableSorting(event) { + if (event.key === 'Shift') { + this.sortable = false; + } + }, processTaskUpdate(taskUpdate) { // Any updates to tasks i.e. status changes will need to reflect its changes to the rows on Tabulator here. // updateData() will only overwrite properties that are actually set on