From b9e300946371469d6c590cb8f4f22e7161f997cc Mon Sep 17 00:00:00 2001
From: Reinhard Hutter <17421-hudri@users.noreply.drupalcode.org>
Date: Fri, 26 Jul 2024 14:22:15 +0000
Subject: [PATCH] Issue #3417765 by hudri, naveenvalecha, sethhill, Drumanuel,
 larskleiner, mistrytheory, stephen-cox: Large modal exceeds viewport height
 without scrollbar = actions unreachable

---
 js/builder.es6.js | 5 +++--
 js/builder.js     | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/js/builder.es6.js b/js/builder.es6.js
index 9ed46b3..3ce00d8 100644
--- a/js/builder.es6.js
+++ b/js/builder.es6.js
@@ -44,8 +44,9 @@
         window.innerHeight || document.documentElement.clientHeight;
       if (bounding.bottom > viewPortHeight) {
         const $dialog = $('.ui-dialog-content', dialog);
-        const pos = $dialog.dialog('option', 'position');
-        $dialog.dialog('option', 'position', pos);
+        const height = viewPortHeight - 200;
+        $dialog.dialog('option', 'height', height);
+        $dialog.css('overscroll-behavior', 'contain');
       }
     });
   }
diff --git a/js/builder.js b/js/builder.js
index 1ff5687..8a4cb79 100644
--- a/js/builder.js
+++ b/js/builder.js
@@ -30,8 +30,9 @@
       var viewPortHeight = window.innerHeight || document.documentElement.clientHeight;
       if (bounding.bottom > viewPortHeight) {
         var $dialog = $('.ui-dialog-content', dialog);
-        var pos = $dialog.dialog('option', 'position');
-        $dialog.dialog('option', 'position', pos);
+        var height = viewPortHeight - 200;
+        $dialog.dialog('option', 'height', height);
+        $dialog.css('overscroll-behavior', 'contain');
       }
     });
   }
-- 
GitLab