diff --git a/ts/components/ReviewPoolColumnList.vue b/ts/components/ReviewPoolColumnList.vue
index 3e8e0e3d..78af4890 100644
--- a/ts/components/ReviewPoolColumnList.vue
+++ b/ts/components/ReviewPoolColumnList.vue
@@ -48,7 +48,7 @@
:key="task.id"
class="entry-item"
:class="{ active: selectedTaskID === task.id }"
- @click="emit('doSelectTask', task.id)"
+ @click="doClick(task)"
>
@@ -67,6 +67,7 @@ import { formatAddress } from "@/format";
import { ReviewTask } from "@/type/api";
interface Emits {
+ (e: "doDeselectTask", id: number): void;
(e: "doSelectTask", id: number): void;
}
interface Props {
@@ -80,4 +81,11 @@ const emit = defineEmits
();
const props = withDefaults(defineProps(), {
loading: false,
});
+function doClick(task: ReviewTask) {
+ if (task.id == props.selectedTaskID) {
+ emit("doDeselectTask", task.id);
+ } else {
+ emit("doSelectTask", task.id);
+ }
+}
diff --git a/ts/view/review/Pool.vue b/ts/view/review/Pool.vue
index fd279895..cb2a1996 100644
--- a/ts/view/review/Pool.vue
+++ b/ts/view/review/Pool.vue
@@ -62,6 +62,7 @@ body {
(() => {
return storeReviewTask.byID(selectedTaskID.value);
});
// Helper Functions
+function deselectTask(id: number): void {
+ if (selectedTaskID.value == id) {
+ selectedTaskID.value = null;
+ }
+}
// Task Selection
function selectTask(id: number): void {
selectedTaskID.value = id;