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