diff options
author | Pytal <24800714+Pytal@users.noreply.github.com> | 2024-02-02 05:36:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-02 05:36:24 -0800 |
commit | 995ccb50464dcbb983d26522d425b02eddd2a924 (patch) | |
tree | 3bedc3d27ce7aa2a7be4764ad65b110454637951 /apps | |
parent | 50fffa8d95aa2b1adc61f69cc76408300438213d (diff) | |
parent | b7d906a58f6cad5ba4fd2695558aaccc6f8e88fa (diff) | |
download | nextcloud-server-995ccb50464dcbb983d26522d425b02eddd2a924.tar.gz nextcloud-server-995ccb50464dcbb983d26522d425b02eddd2a924.zip |
Merge pull request #43271 from nextcloud/fix/a11y/status-return-focus
fix(user_status): Fix losing focus to body when closing user status modal
Diffstat (limited to 'apps')
-rw-r--r-- | apps/user_status/src/UserStatus.vue | 4 | ||||
-rw-r--r-- | apps/user_status/src/components/SetStatusModal.vue | 20 |
2 files changed, 23 insertions, 1 deletions
diff --git a/apps/user_status/src/UserStatus.vue b/apps/user_status/src/UserStatus.vue index d632d58a33c..704629f859f 100644 --- a/apps/user_status/src/UserStatus.vue +++ b/apps/user_status/src/UserStatus.vue @@ -43,7 +43,9 @@ </NcButton> <!-- Status management modal --> - <SetStatusModal v-if="isModalOpen" @close="closeModal" /> + <SetStatusModal v-if="isModalOpen" + :inline="inline" + @close="closeModal" /> </component> </template> diff --git a/apps/user_status/src/components/SetStatusModal.vue b/apps/user_status/src/components/SetStatusModal.vue index d763c094895..4047db23843 100644 --- a/apps/user_status/src/components/SetStatusModal.vue +++ b/apps/user_status/src/components/SetStatusModal.vue @@ -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: { |