diff --git a/src/views/tasks/TaskDetailView.vue b/src/views/tasks/TaskDetailView.vue
index f1042dc77..e6978485f 100644
--- a/src/views/tasks/TaskDetailView.vue
+++ b/src/views/tasks/TaskDetailView.vue
@@ -26,7 +26,7 @@
:disabled="!canWrite"
:list-id="task.listId"
:task-id="task.id"
- ref="assignees"
+ :ref="e => setFieldRef('assignees', e)"
v-model="task.assignees"
/>
@@ -40,7 +40,7 @@
@@ -57,7 +57,7 @@
@close-on-change="() => saveTask()"
:choose-date-label="$t('task.detail.chooseDueDate')"
:disabled="taskService.loading || !canWrite"
- ref="dueDate"
+ :ref="e => setFieldRef('dueDate', e)"
/>
{task.dueDate = null;saveTask()}"
@@ -80,7 +80,7 @@
@@ -97,7 +97,7 @@
@close-on-change="() => saveTask()"
:choose-date-label="$t('task.detail.chooseStartDate')"
:disabled="taskService.loading || !canWrite"
- ref="startDate"
+ :ref="e => setFieldRef('startDate', e)"
/>
{task.startDate = null;saveTask()}"
@@ -124,7 +124,7 @@
@close-on-change="() => saveTask()"
:choose-date-label="$t('task.detail.chooseEndDate')"
:disabled="taskService.loading || !canWrite"
- ref="endDate"
+ :ref="e => setFieldRef('endDate', e)"
/>
{task.endDate = null;saveTask()}"
@@ -146,7 +146,7 @@
@@ -171,7 +171,7 @@
@@ -186,7 +186,7 @@
@@ -202,7 +202,11 @@
{{ $t('task.attributes.labels') }}
-
+
@@ -220,7 +224,7 @@
:edit-enabled="canWrite"
:task="task"
@task-changed="({coverImageAttachmentId}) => task.coverImageAttachmentId = coverImageAttachmentId"
- ref="attachments"
+ :ref="e => setFieldRef('attachments', e)"
/>
@@ -238,7 +242,7 @@
:list-id="task.listId"
:show-no-relations-notice="true"
:task-id="taskId"
- ref="relatedTasks"
+ :ref="e => setFieldRef('relatedTasks', e)"
/>
@@ -252,7 +256,10 @@
@@ -659,10 +666,14 @@ const activeFieldElements : {[id in FieldType]: HTMLElement | null} = reactive({
startDate: null,
})
+function setFieldRef(name, e) {
+ activeFieldElements[name] = unrefElement(e)
+}
+
function setFieldActive(fieldName: keyof typeof activeFields) {
activeFields[fieldName] = true
nextTick(() => {
- const el = unrefElement(activeFieldElements[fieldName])
+ const el = activeFieldElements[fieldName]
if (!el) {
return