diff --git a/src/components/NcActions/NcActions.vue b/src/components/NcActions/NcActions.vue
index 9a33923547..63dc75a585 100644
--- a/src/components/NcActions/NcActions.vue
+++ b/src/components/NcActions/NcActions.vue
@@ -603,6 +603,17 @@ export default {
default: false,
},
+ /**
+ * This disables the internal open management,
+ * so the actions menu only respects the `open` prop.
+ * This is e.g. necessary for the NcAvatar component
+ * to only open the actions menu after loading it's entries has finished.
+ */
+ manualOpen: {
+ type: Boolean,
+ default: false,
+ },
+
/**
* Force the actions to display in a three dot menu
*/
@@ -717,7 +728,6 @@ export default {
},
emits: [
- 'update:open',
'open',
'update:open',
'close',
@@ -809,7 +819,6 @@ export default {
this.$emit('close')
// close everything
- this.opened = false
this.focusIndex = 0
// focus back the menu button
@@ -1074,6 +1083,7 @@ export default {
placement: this.placement,
boundary: this.boundariesElement,
container: this.container,
+ ...this.manualOpen && { triggers: [] },
popoverBaseClass: 'action-item__popper',
},
on: {
diff --git a/src/components/NcAvatar/NcAvatar.vue b/src/components/NcAvatar/NcAvatar.vue
index 07d4213969..b568991301 100644
--- a/src/components/NcAvatar/NcAvatar.vue
+++ b/src/components/NcAvatar/NcAvatar.vue
@@ -112,7 +112,8 @@ export default {
v-click-outside="closeMenu"
:class="{
'avatardiv--unknown': userDoesNotExist,
- 'avatardiv--with-menu': hasMenu
+ 'avatardiv--with-menu': hasMenu,
+ 'avatardiv--with-menu-loading': contactsMenuLoading
}"
:title="tooltip"
:style="avatarStyle"
@@ -120,7 +121,7 @@ export default {
:tabindex="hasMenu ? '0' : undefined"
:aria-label="avatarAriaLabel"
:role="hasMenu ? 'button' : undefined"
- v-on="hasMenu ? { click: toggleMenu } : {}"
+ @click="toggleMenu"
@keydown.enter="toggleMenu">