From: Moritz Bunkus Date: Tue, 14 Jan 2014 14:36:08 +0000 (+0100) Subject: jQuery UI fixes für CKEditor in Dialog X-Git-Tag: release-3.2.0beta~467^2~47 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=ea0f9b7ee6c65282f8a04f56feed97ec4e91d9ca;p=kivitendo-erp.git jQuery UI fixes für CKEditor in Dialog --- diff --git a/SL/Form.pm b/SL/Form.pm index a3990f9cb..0d6e9ae9a 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -472,7 +472,7 @@ sub header { $layout->use_javascript("$_.js") for (qw( jquery jquery-ui jquery.cookie jquery.checkall jquery.download - jquery/jquery.form client_js + jquery/jquery.form jquery/fixes client_js common part_selection switchmenuframe autocomplete_part ), "jquery/ui/i18n/jquery.ui.datepicker-$::myconfig{countrycode}"); diff --git a/js/jquery/fixes.js b/js/jquery/fixes.js new file mode 100644 index 000000000..ecaad6d87 --- /dev/null +++ b/js/jquery/fixes.js @@ -0,0 +1,40 @@ +// Allow CKeditor to work in jQuery dialogs. See +// http://bugs.jqueryui.com/ticket/9087 + +$.widget( "ui.dialog", $.ui.dialog, { + /*! jQuery UI - v1.10.2 - 2013-12-12 + * http://bugs.jqueryui.com/ticket/9087#comment:27 - bugfix + * http://bugs.jqueryui.com/ticket/4727#comment:23 - bugfix + * allowInteraction fix to accommodate windowed editors + */ + _allowInteraction: function( event ) { + if ( this._super( event ) ) { + return true; + } + + // address interaction issues with general iframes with the dialog + if ( event.target.ownerDocument != this.document[ 0 ] ) { + return true; + } + + // address interaction issues with dialog window + if ( $( event.target ).closest( ".cke_dialog" ).length ) { + return true; + } + + // address interaction issues with iframe based drop downs in IE + if ( $( event.target ).closest( ".cke" ).length ) { + return true; + } + }, + /*! jQuery UI - v1.10.2 - 2013-10-28 + * http://dev.ckeditor.com/ticket/10269 - bugfix + * moveToTop fix to accommodate windowed editors + */ + _moveToTop: function ( event, silent ) { + if ( !event || !this.options.modal ) { + this._super( event, silent ); + } + } + +});