Skip to content

Commit

Permalink
Merge pull request #41338 from nextcloud/fix/nested-actions-back-focus
Browse files Browse the repository at this point in the history
fix(files): make sure we focus the parent actions submenu entry
  • Loading branch information
skjnldsv authored Jan 31, 2024
2 parents 82e02a7 + 8257cba commit 02e9cd6
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 4 deletions.
18 changes: 17 additions & 1 deletion apps/files/src/components/FileEntry/FileEntryActions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
<!-- Default actions list-->
<NcActionButton v-for="action in enabledMenuActions"
:key="action.id"
:ref="`action-${action.id}`"
:class="{
[`files-list__row-action-${action.id}`]: true,
[`files-list__row-action--menu`]: isMenu(action.id)
Expand All @@ -64,7 +65,7 @@
<!-- Submenu actions list-->
<template v-if="openedSubmenu && enabledSubmenuActions[openedSubmenu?.id]">
<!-- Back to top-level button -->
<NcActionButton class="files-list__row-action-back" @click="openedSubmenu = null">
<NcActionButton class="files-list__row-action-back" @click="onBackToMenuClick(openedSubmenu)">
<template #icon>
<ArrowLeftIcon />
</template>
Expand Down Expand Up @@ -322,6 +323,21 @@ export default Vue.extend({
return this.enabledSubmenuActions[id]?.length > 0
},
async onBackToMenuClick(action: FileAction) {
this.openedSubmenu = null
// Wait for first render
await this.$nextTick()
// Focus the previous menu action button
this.$nextTick(() => {
// Focus the action button
const menuAction = this.$refs[`action-${action.id}`][0]
if (menuAction) {
menuAction.$el.querySelector('button')?.focus()
}
})
},
t,
},
})
Expand Down
4 changes: 2 additions & 2 deletions dist/files-main.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/files-main.js.map

Large diffs are not rendered by default.

0 comments on commit 02e9cd6

Please sign in to comment.