mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
Merge pull request #43271 from nextcloud/fix/a11y/status-return-focus
fix(user_status): Fix losing focus to body when closing user status modal
This commit is contained in:
commit
995ccb5046
6 changed files with 29 additions and 7 deletions
|
|
@ -43,7 +43,9 @@
|
|||
</NcButton>
|
||||
|
||||
<!-- Status management modal -->
|
||||
<SetStatusModal v-if="isModalOpen" @close="closeModal" />
|
||||
<SetStatusModal v-if="isModalOpen"
|
||||
:inline="inline"
|
||||
@close="closeModal" />
|
||||
</component>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
<template>
|
||||
<NcModal size="normal"
|
||||
:name="$t('user_status', 'Set status')"
|
||||
:set-return-focus="setReturnFocus"
|
||||
@close="closeModal">
|
||||
<div class="set-status-modal">
|
||||
<!-- Status selector -->
|
||||
|
|
@ -108,6 +109,18 @@ export default {
|
|||
},
|
||||
mixins: [OnlineStatusMixin],
|
||||
|
||||
props: {
|
||||
/**
|
||||
* Whether the component should be rendered as a Dashboard Status or a User Menu Entries
|
||||
* true = Dashboard Status
|
||||
* false = User Menu Entries
|
||||
*/
|
||||
inline: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
clearAt: null,
|
||||
|
|
@ -156,6 +169,13 @@ export default {
|
|||
|
||||
return this.$t('user_status', 'Reset status')
|
||||
},
|
||||
|
||||
setReturnFocus() {
|
||||
if (this.inline) {
|
||||
return undefined
|
||||
}
|
||||
return document.querySelector('[aria-controls="header-menu-user-menu"]') ?? undefined
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
|
|
|
|||
4
dist/user-status-modal-8299.js
vendored
4
dist/user-status-modal-8299.js
vendored
File diff suppressed because one or more lines are too long
2
dist/user-status-modal-8299.js.map
vendored
2
dist/user-status-modal-8299.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/user_status-menu.js
vendored
4
dist/user_status-menu.js
vendored
File diff suppressed because one or more lines are too long
2
dist/user_status-menu.js.map
vendored
2
dist/user_status-menu.js.map
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue