aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/bootstrap/application.js
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-02-27 17:59:54 +0000
committerDavid Siegfried <david.siegfried@uni-vechta.de>2025-02-27 17:59:54 +0000
commit7945d4a335b40757876a98f9a28696265bdda77a (patch)
tree71da07c62e17c6b659a1ec966dca2ea35a31cf64 /resources/assets/javascripts/bootstrap/application.js
parent33abebfc9a6d4d0ea7c831a3074ce97a73d5cda3 (diff)
fix sticky positioning of ckeditor toolbar, fixes #4945
Closes #4945 Merge request studip/studip!3893
Diffstat (limited to 'resources/assets/javascripts/bootstrap/application.js')
-rw-r--r--resources/assets/javascripts/bootstrap/application.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/resources/assets/javascripts/bootstrap/application.js b/resources/assets/javascripts/bootstrap/application.js
index 7fdb316..c32b751 100644
--- a/resources/assets/javascripts/bootstrap/application.js
+++ b/resources/assets/javascripts/bootstrap/application.js
@@ -358,6 +358,25 @@ jQuery(document).on('click', 'a[data-behaviour~="ajax-toggle"]', function (event
});
}(jQuery));
+/* Fix issue with ckeditor toolbar positioning */
+(() => {
+ let lastTop = null;
+ STUDIP.Scroll.addHandler('cke-fix', () => {
+ const topBarHeight = document.getElementById('top-bar')?.offsetHeight ?? 0;
+ const contentBarHeight = document.getElementById('contentbar')?.offsetHeight ?? 0;
+ const top = topBarHeight + contentBarHeight;
+
+ if (lastTop !== top) {
+ STUDIP.CSS.removeRule('.ck .ck-sticky-panel .ck-sticky-panel__content_sticky');
+
+ STUDIP.CSS.addRule(
+ '.ck-sticky-panel .ck-sticky-panel__content_sticky',
+ {top: `${top}px !important`}
+ );
+ }
+ })
+})();
+
STUDIP.domReady(function () {
const loginForm = document.getElementById('login-form');
if (!loginForm) {