diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-02-27 17:59:54 +0000 |
|---|---|---|
| committer | David Siegfried <david.siegfried@uni-vechta.de> | 2025-02-27 17:59:54 +0000 |
| commit | 7945d4a335b40757876a98f9a28696265bdda77a (patch) | |
| tree | 71da07c62e17c6b659a1ec966dca2ea35a31cf64 /resources/assets/javascripts/bootstrap/application.js | |
| parent | 33abebfc9a6d4d0ea7c831a3074ce97a73d5cda3 (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.js | 19 |
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) { |
