From: Sven Schöling Date: Wed, 10 Jun 2020 09:17:24 +0000 (+0200) Subject: CKEditor Scrolling Bug in inline_resize plugin (das Dreieck rechts unten) X-Git-Tag: kivitendo-mebil_0.1-0~10^2~2^2~203 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=0c798e3547dc504051515ee38d23718f665966b4;p=kivitendo-erp.git CKEditor Scrolling Bug in inline_resize plugin (das Dreieck rechts unten) Gleicher Bug wie in der floatingspace toolbar, hier aber einfacher zu fixen, weil wir den Code nicht minifien müssen. Ausserdem wir dder layout Call hier nicht durch einen buffer gejadgt, und muss deshalb auch nicht detacht werden. Ansonsten analog zu der Beschreibung da. egw 12629 (cherry picked from commit 9eb2f5e8af80cc62ff070f950c5344f36e1dfba5) (cherry pick von odyn) --- diff --git a/js/ckeditor/plugins/inline_resize/plugin.js b/js/ckeditor/plugins/inline_resize/plugin.js index 3ffb435bc..c4481f679 100644 --- a/js/ckeditor/plugins/inline_resize/plugin.js +++ b/js/ckeditor/plugins/inline_resize/plugin.js @@ -12,8 +12,20 @@ } }); + function parentScroll(e) { + var position = e.$.getAttribute("position"), + excludeStaticParent = position === "absolute"; + return e.getParents().filter( function(parent) { + var style = window.getComputedStyle(parent.$); + if ( excludeStaticParent && style.position === "static" ) + return false; + return (/(auto|scroll)/).test( style['overflow'] + style["overflow-y"] + style["overflow-x"] ); + }); + }; + function attach( editor ) { - var config = editor.config; + var config = editor.config, + parent = parentScroll(editor.element); var resize = function (width, height) { var editable; @@ -100,6 +112,10 @@ layout( evt ); } ); + parent.forEach(function(e){ + e.on('scroll', function (evt) { layout(evt) }); + }); + editor.on( 'blur', function() { float_space.hide(); } );