Skip to content

Commit

Permalink
fix(files): focus sidebar tab on tab or file change
Browse files Browse the repository at this point in the history
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
  • Loading branch information
ShGKme authored and backportbot[bot] committed Feb 8, 2024
1 parent 78a7f74 commit b395865
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions apps/files/src/views/Sidebar.vue
Expand Up @@ -25,7 +25,6 @@
ref="sidebar"
v-bind="appSidebar"
:force-menu="true"
tabindex="0"
@close="close"
@update:active="setActiveTab"
@[defaultActionListener].stop.prevent="onDefaultAction"
Expand Down Expand Up @@ -470,6 +469,10 @@ export default {
throw new Error(`Invalid path '${path}'`)
}
// Only focus the tab when the selected file/tab is changed in already opened sidebar
// Focusing the sidebar on first file open is handled by NcAppSidebar
const focusTabAfterLoad = !!this.Sidebar.file
// update current opened file
this.Sidebar.file = path
Expand All @@ -488,19 +491,23 @@ export default {
view.setFileInfo(this.fileInfo)
})
this.$nextTick(() => {
if (this.$refs.tabs) {
this.$refs.tabs.updateTabs()
}
this.setActiveTab(this.Sidebar.activeTab || this.tabs[0].id)
})
await this.$nextTick()
this.setActiveTab(this.Sidebar.activeTab || this.tabs[0].id)
this.loading = false
await this.$nextTick()
if (focusTabAfterLoad) {
this.$refs.sidebar.focusActiveTabContent()
}
} catch (error) {
this.loading = false
this.error = t('files', 'Error while loading the file data')
console.error('Error while loading the file data', error)
throw new Error(error)
} finally {
this.loading = false
}
},
Expand Down

0 comments on commit b395865

Please sign in to comment.