Skip to content

Commit

Permalink
Dailog: Cover iframes during drag and resize. Fixes #7650 - Dialog ca…
Browse files Browse the repository at this point in the history
…nnot be dragged properly with IFRAME.
  • Loading branch information
scottgonzalez committed Feb 3, 2013
1 parent 8724092 commit a7353e7
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions ui/jquery.ui.dialog.js
Expand Up @@ -444,6 +444,7 @@ $.widget( "ui.dialog", {
containment: "document",
start: function( event, ui ) {
$( this ).addClass("ui-dialog-dragging");
that._blockFrames();
that._trigger( "dragStart", event, filteredUi( ui ) );
},
drag: function( event, ui ) {
Expand All @@ -455,6 +456,7 @@ $.widget( "ui.dialog", {
ui.position.top - that.document.scrollTop()
];
$( this ).removeClass("ui-dialog-dragging");
that._unblockFrames();
that._trigger( "dragStop", event, filteredUi( ui ) );
}
});
Expand Down Expand Up @@ -491,6 +493,7 @@ $.widget( "ui.dialog", {
handles: resizeHandles,
start: function( event, ui ) {
$( this ).addClass("ui-dialog-resizing");
that._blockFrames();
that._trigger( "resizeStart", event, filteredUi( ui ) );
},
resize: function( event, ui ) {
Expand All @@ -500,6 +503,7 @@ $.widget( "ui.dialog", {
options.height = $( this ).height();
options.width = $( this ).width();
$( this ).removeClass("ui-dialog-resizing");
that._unblockFrames();
that._trigger( "resizeStop", event, filteredUi( ui ) );
}
})
Expand Down Expand Up @@ -666,6 +670,28 @@ $.widget( "ui.dialog", {
}
},

_blockFrames: function() {
this.iframeBlocks = this.document.find( "iframe" ).map(function() {
var iframe = $( this );

return $( "<div>" )
.css({
position: "absolute",
width: iframe.outerWidth(),
height: iframe.outerHeight()
})
.appendTo( iframe.parent() )
.offset( iframe.offset() )[0];
});
},

_unblockFrames: function() {
if ( this.iframeBlocks ) {
this.iframeBlocks.remove();
delete this.iframeBlocks;
}
},

_createOverlay: function() {
if ( !this.options.modal ) {
return;
Expand Down

0 comments on commit a7353e7

Please sign in to comment.