From e62d8d412a008ffe9fcd295686e8819fb5127361 Mon Sep 17 00:00:00 2001 From: Yash Rajpal <58601732+yash-rajpal@users.noreply.github.com> Date: Tue, 14 Dec 2021 07:19:39 +0530 Subject: [PATCH] [FIX] Popover position for arabic languages (#23888) --- app/ui-utils/client/lib/popover.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/ui-utils/client/lib/popover.js b/app/ui-utils/client/lib/popover.js index 014212e10a7..c3e9aca0585 100644 --- a/app/ui-utils/client/lib/popover.js +++ b/app/ui-utils/client/lib/popover.js @@ -12,7 +12,7 @@ export const popover = { open({ currentTarget, ...config }) { // Popover position must be computed as soon as possible, avoiding DOM changes over currentTarget const data = { - targetRect: currentTarget && currentTarget.getBoundingClientRect && currentTarget.getBoundingClientRect(), + targetRect: currentTarget?.getBoundingClientRect(), ...config, }; this.renderedPopover = Blaze.renderWithData(Template.popover, data, document.body); @@ -131,9 +131,14 @@ Template.popover.onRendered(function() { } popoverContent.style.opacity = 1; }, 50); + + const observer = new MutationObserver(position); + observer.observe(popoverContent, { childList: true, subtree: true }); + $(window).on('resize', position); position(); this.position = position; + this.observer = observer; this.firstNode.style.visibility = 'visible'; }); @@ -143,6 +148,7 @@ Template.popover.onDestroyed(function() { this.data.onDestroyed(); } $(window).off('resize', this.position); + this.observer?.disconnect(); }); Template.popover.events({