diff options
| author | Henry Jameson <me@hjkos.com> | 2022-06-13 01:30:20 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2022-06-13 01:30:20 +0300 |
| commit | 85de0927faf5cece654c6816bd43f77114f0b4df (patch) | |
| tree | f5d935ec5881bc90afcdbe00eb28a9e9fac2115d /src/components/popover | |
| parent | 8979548ed8aa8255ddf7d2f7647eb3d2663087c2 (diff) | |
recalculate position on scrolls
Diffstat (limited to 'src/components/popover')
| -rw-r--r-- | src/components/popover/popover.js | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/components/popover/popover.js b/src/components/popover/popover.js index 3c3a95bd..dbd446a5 100644 --- a/src/components/popover/popover.js +++ b/src/components/popover/popover.js @@ -195,8 +195,8 @@ const Popover = { if (this.$el.contains(e.target)) return this.hidePopover() }, - onScroll () { - this.hidePopover() + onScroll (e) { + this.updateStyles() } }, updated () { @@ -210,13 +210,17 @@ const Popover = { this.oldSize = { width: content.offsetWidth, height: content.offsetHeight } } }, - created () { + mounted () { + let scrollable = this.$refs.trigger.closest('.column.-scrollable') + if (!scrollable) scrollable = window document.addEventListener('click', this.onClickOutside) - window.addEventListener('scroll', this.onScroll) + scrollable.addEventListener('scroll', this.onScroll) }, - unmounted () { + beforeUnmount () { + let scrollable = this.$refs.trigger.closest('.column.-scrollable') + if (!scrollable) scrollable = window document.removeEventListener('click', this.onClickOutside) - window.removeEventListener('scroll', this.onScroll) + scrollable.removeEventListener('scroll', this.onScroll) this.hidePopover() } } |
