Skip to content
Permalink
Browse files

Dialog: Restore inline styles for dimensions/display. Fixes #8119 - D…

…ialog: Destroying a dialog leaves some styles changed.
  • Loading branch information
scottgonzalez committed Dec 5, 2012
1 parent 70f5d18 commit f59f5a8b12d50c87ba6e2fe47a1804a23535b3cf
Showing with 18 additions and 10 deletions.
  1. +11 −4 tests/unit/dialog/dialog_methods.js
  2. +7 −6 ui/jquery.ui.dialog.js
@@ -34,12 +34,9 @@ test("init", function() {
});

test("destroy", function() {
expect( 6 );
expect( 7 );

// Dialogs are expected to be hidden on destroy, so make sure they're hidden
// before the test
$( "#dialog1, #form-dialog" ).hide();

domEqual( "#dialog1", function() {
var dialog = $( "#dialog1" ).dialog().dialog( "destroy" );
equal( dialog.parent()[ 0 ], $( "#qunit-fixture" )[ 0 ] );
@@ -50,6 +47,16 @@ test("destroy", function() {
equal( dialog.parent()[ 0 ], $( "#qunit-fixture" )[ 0 ] );
equal( dialog.index(), 2 );
});

// Ensure dimensions are restored (#8119)
$( "#dialog1" ).show().css({
width: "400px",
minHeight: "100px",
height: "200px"
});
domEqual( "#dialog1", function() {
$( "#dialog1" ).dialog().dialog( "destroy" );
});
});

test( "enable/disable disabled", function() {
@@ -84,6 +84,12 @@ $.widget("ui.dialog", {
},

_create: function() {
this.originalCss = {
display: this.element[0].style.display,
width: this.element[0].style.width,
minHeight: this.element[0].style.minHeight,
height: this.element[0].style.height
};
this.originalTitle = this.element.attr( "title" );
this.options.title = this.options.title || this.originalTitle;
this.oldPosition = {
@@ -127,12 +133,7 @@ $.widget("ui.dialog", {
this.element
.removeUniqueId()
.removeClass( "ui-dialog-content ui-widget-content" )
.css({
width: "",
minHeight: "",
height: ""
})
.hide()
.css( this.originalCss )
// without detaching first, the following becomes really slow
.detach();

1 comment on commit f59f5a8

@domenic

This comment has been minimized.

Copy link

domenic commented on f59f5a8 Dec 5, 2012

Looks lovely! Thank you :)

Please sign in to comment.
You can’t perform that action at this time.