aboutsummaryrefslogtreecommitdiff
path: root/src/components/popover/popover.js
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2021-03-17 08:17:23 +0000
committerShpuld Shpludson <shp@cock.li>2021-03-17 08:17:23 +0000
commitd57ee274de37a695c080279544defd2243ab9f51 (patch)
treef091d72a2aa2f724ec2cad0add5fca4c94832760 /src/components/popover/popover.js
parentd262f208dca88c22a5428c4359156856757de016 (diff)
parent8163c7b55bbc66a2455777025c29e7f9015497e0 (diff)
Merge branch 'feat/notification-quick-filters' into 'develop'
Add quick filters for notifications See merge request pleroma/pleroma-fe!1364
Diffstat (limited to 'src/components/popover/popover.js')
-rw-r--r--src/components/popover/popover.js7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/components/popover/popover.js b/src/components/popover/popover.js
index 391d6422..bc6cd8e7 100644
--- a/src/components/popover/popover.js
+++ b/src/components/popover/popover.js
@@ -56,6 +56,9 @@ const Popover = {
// Popover will be anchored around this element, trigger ref is the container, so
// its children are what are inside the slot. Expect only one slot="trigger".
const anchorEl = (this.$refs.trigger && this.$refs.trigger.children[0]) || this.$el
+ // SVGs don't have offsetWidth/Height, use fallback
+ const anchorWidth = anchorEl.offsetWidth || anchorEl.clientWidth
+ const anchorHeight = anchorEl.offsetHeight || anchorEl.clientHeight
const screenBox = anchorEl.getBoundingClientRect()
// Screen position of the origin point for popover
const origin = { x: screenBox.left + screenBox.width * 0.5, y: screenBox.top }
@@ -114,11 +117,11 @@ const Popover = {
const yOffset = (this.offset && this.offset.y) || 0
const translateY = usingTop
- ? -anchorEl.offsetHeight + vPadding - yOffset - content.offsetHeight
+ ? -anchorHeight + vPadding - yOffset - content.offsetHeight
: yOffset
const xOffset = (this.offset && this.offset.x) || 0
- const translateX = (anchorEl.offsetWidth * 0.5) - content.offsetWidth * 0.5 + horizOffset + xOffset
+ const translateX = anchorWidth * 0.5 - content.offsetWidth * 0.5 + horizOffset + xOffset
// Note, separate translateX and translateY avoids blurry text on chromium,
// single translate or translate3d resulted in blurry text.