aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/components/FileEntry
diff options
context:
space:
mode:
authorskjnldsv <skjnldsv@protonmail.com>2025-04-02 09:18:37 +0200
committernextcloud-command <nextcloud-command@users.noreply.github.com>2025-04-02 14:39:45 +0000
commitab0a6f0e00a8c10a93826e1cde7811d375d25f91 (patch)
tree98d12a4701cdc6c9b2c879a4fca9f7f93f72a53a /apps/files/src/components/FileEntry
parentf7d5edfb5f403bc93345fcf4d24b51b015661bd6 (diff)
downloadnextcloud-server-ab0a6f0e00a8c10a93826e1cde7811d375d25f91.tar.gz
nextcloud-server-ab0a6f0e00a8c10a93826e1cde7811d375d25f91.zip
fix(files): right click actions menu flicker
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Diffstat (limited to 'apps/files/src/components/FileEntry')
-rw-r--r--apps/files/src/components/FileEntry/FileEntryActions.vue21
1 files changed, 18 insertions, 3 deletions
diff --git a/apps/files/src/components/FileEntry/FileEntryActions.vue b/apps/files/src/components/FileEntry/FileEntryActions.vue
index a183d1b0618..9916e420e1b 100644
--- a/apps/files/src/components/FileEntry/FileEntryActions.vue
+++ b/apps/files/src/components/FileEntry/FileEntryActions.vue
@@ -22,8 +22,9 @@
type="tertiary"
:force-menu="enabledInlineActions.length === 0 /* forceMenu only if no inline actions */"
:inline="enabledInlineActions.length"
- :open.sync="openedMenu"
- @close="openedSubmenu = null">
+ :open="openedMenu"
+ @close="onMenuClose"
+ @closed="onMenuClosed">
<!-- Default actions list-->
<NcActionButton v-for="action, index in enabledMenuActions"
:key="action.id"
@@ -230,7 +231,7 @@ export default defineComponent({
},
watch: {
- // Close any submenu when the menu is closed
+ // Close any submenu when the menu state changes
openedMenu() {
this.openedSubmenu = null
},
@@ -302,6 +303,20 @@ export default defineComponent({
this.openedMenu = true
}
},
+
+ onMenuClose() {
+ // We reset the submenu state when the menu is closing
+ this.openedSubmenu = null
+ },
+
+ onMenuClosed() {
+ // TODO: remove timeout once https://github.com/nextcloud-libraries/nextcloud-vue/pull/6683 is merged
+ // and updated on server.
+ setTimeout(() => {
+ // We reset the actions menu state when the menu is finally closed
+ this.openedMenu = false
+ }, 100)
+ },
},
})
</script>