From 3addb5678cb28034432ef880b897b9446efc3157 Mon Sep 17 00:00:00 2001
From: Naveen Valecha <29342-naveenvalecha@users.noreply.drupalcode.org>
Date: Fri, 26 Jul 2024 15:37:17 +0000
Subject: [PATCH] Issue #3276258 by naveenvalecha, COBadger, sethhill,
 xpersonas, narendra.rajwar27: Overlay Widget Jump Stutter

---
 js/builder.es6.js | 10 ++++++++++
 js/builder.js     |  9 +++++++++
 2 files changed, 19 insertions(+)

diff --git a/js/builder.es6.js b/js/builder.es6.js
index 3ce00d8..cf0b734 100644
--- a/js/builder.es6.js
+++ b/js/builder.es6.js
@@ -47,6 +47,16 @@
         const height = viewPortHeight - 200;
         $dialog.dialog('option', 'height', height);
         $dialog.css('overscroll-behavior', 'contain');
+
+        if ($dialog.data('lpOriginalHeight') !== height) {
+          $dialog.data('lpOriginalHeight', height);
+          const bounding = dialog.getBoundingClientRect();
+          const viewPortHeight = window.innerHeight || document.documentElement.clientHeight;
+          if (bounding.bottom > viewPortHeight) {
+            const pos = $dialog.dialog('option', 'position');
+            $dialog.dialog('option', 'position', pos);
+          }
+        }
       }
     });
   }
diff --git a/js/builder.js b/js/builder.js
index 8a4cb79..d1d8446 100644
--- a/js/builder.js
+++ b/js/builder.js
@@ -33,6 +33,15 @@
         var height = viewPortHeight - 200;
         $dialog.dialog('option', 'height', height);
         $dialog.css('overscroll-behavior', 'contain');
+        if ($dialog.data('lpOriginalHeight') !== height) {
+          $dialog.data('lpOriginalHeight', height);
+          var _bounding = dialog.getBoundingClientRect();
+          var _viewPortHeight = window.innerHeight || document.documentElement.clientHeight;
+          if (_bounding.bottom > _viewPortHeight) {
+            var pos = $dialog.dialog('option', 'position');
+            $dialog.dialog('option', 'position', pos);
+          }
+        }
       }
     });
   }
-- 
GitLab