mirror of
https://github.com/nextcloud/server.git
synced 2026-06-12 18:21:40 -04:00
Close quickshare dropdown on outside click
If a user clicks anywhere outside of the quickshare dropdown, it should be closed. Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
This commit is contained in:
parent
2b1008f2ce
commit
f75684ec7e
1 changed files with 13 additions and 1 deletions
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div :class="{ 'active': showDropdown, 'share-select': true }">
|
||||
<div :class="{ 'active': showDropdown, 'share-select': true }" ref="quickShareDropdown">
|
||||
<span class="trigger-text" @click="toggleDropdown">
|
||||
{{ selectedOption }}
|
||||
<DropdownIcon :size="15" />
|
||||
|
|
@ -110,7 +110,12 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
this.initializeComponent()
|
||||
window.addEventListener('click', this.handleClickOutside);
|
||||
},
|
||||
beforeDestroy() {
|
||||
// Remove the global click event listener to prevent memory leaks
|
||||
window.removeEventListener('click', this.handleClickOutside);
|
||||
},
|
||||
methods: {
|
||||
toggleDropdown() {
|
||||
this.showDropdown = !this.showDropdown
|
||||
|
|
@ -128,6 +133,13 @@ export default {
|
|||
initializeComponent() {
|
||||
this.selectedOption = this.preSelectedOption
|
||||
},
|
||||
handleClickOutside(event) {
|
||||
const dropdownElement = this.$refs.quickShareDropdown;
|
||||
|
||||
if (dropdownElement && !dropdownElement.contains(event.target)) {
|
||||
this.showDropdown = false;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue