Focus task detail elements when they show up

This commit is contained in:
kolaente 2021-04-18 16:50:12 +02:00
parent af4b1aba70
commit 747a9fe505
No known key found for this signature in database
GPG key ID: F40E70337AB24C9B
3 changed files with 35 additions and 21 deletions

View file

@ -3,6 +3,8 @@
class="multiselect"
:class="{'has-search-results': searchResultsVisible}"
ref="multiselectRoot"
tabindex="-1"
@focus="focus"
>
<div class="control" :class="{'is-loading': loading || localLoading}">
<div class="input-wrapper input" :class="{'has-multiple': multiple && Array.isArray(internalValue) && internalValue.length > 0}">
@ -324,6 +326,9 @@ export default {
this.$emit('input', this.internalValue)
this.$emit('remove', item)
},
focus() {
this.$refs.searchInput.focus()
},
},
}
</script>

View file

@ -1,25 +1,31 @@
<template>
<multiselect
:loading="listUserService.loading"
placeholder="Type to assign a user..."
:disabled="disabled"
:multiple="true"
@search="findUser"
:search-results="foundUsers"
@select="addAssignee"
label="username"
select-placeholder="Assign this user"
v-model="assignees"
<div
tabindex="-1"
@focus="focus"
>
<template v-slot:tag="props">
<span class="assignee">
<user :avatar-size="32" :show-username="false" :user="props.item"/>
<a @click="removeAssignee(props.item)" class="remove-assignee" v-if="!disabled">
<icon icon="times"/>
</a>
</span>
</template>
</multiselect>
<multiselect
:loading="listUserService.loading"
placeholder="Type to assign a user..."
:disabled="disabled"
:multiple="true"
@search="findUser"
:search-results="foundUsers"
@select="addAssignee"
label="username"
select-placeholder="Assign this user"
v-model="assignees"
ref="multiselect"
>
<template v-slot:tag="props">
<span class="assignee">
<user :avatar-size="32" :show-username="false" :user="props.item"/>
<a @click="removeAssignee(props.item)" class="remove-assignee" v-if="!disabled">
<icon icon="times"/>
</a>
</span>
</template>
</multiselect>
</div>
</template>
<script>
@ -119,6 +125,9 @@ export default {
clearAllFoundUsers() {
this.$set(this, 'foundUsers', [])
},
focus() {
this.$refs.multiselect.focus()
},
},
}
</script>

View file

@ -654,7 +654,7 @@ export default {
toggleTaskDone() {
this.task.done = !this.task.done
if(this.task.done) {
if (this.task.done) {
playPop()
}