diff options
Diffstat (limited to 'resources/assets/javascripts/studip-ui.js')
| -rw-r--r-- | resources/assets/javascripts/studip-ui.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/resources/assets/javascripts/studip-ui.js b/resources/assets/javascripts/studip-ui.js index f04a790..962844e 100644 --- a/resources/assets/javascripts/studip-ui.js +++ b/resources/assets/javascripts/studip-ui.js @@ -5,6 +5,27 @@ import { $gettext } from './lib/gettext.js'; */ (function ($, STUDIP) { + + $.widget( "ui.dialog", $.ui.dialog, { + _allowInteraction: function( event ) { + return hasParentWhich(isCKBodyWrapper)(event.target) || this._super( event ); + }, + }); + + function hasParentWhich(predicate) { + return function tryParent(element) { + if (!element?.parentElement) { + return false; + } + + return predicate(element) || tryParent(element.parentElement); + }; + } + + function isCKBodyWrapper(element) { + return element?.classList?.contains('ck-body-wrapper'); + } + /** * Setup and refine date picker, add automated handling for .has-date-picker * and [data-date-picker]. |
