]> source.dussan.org Git - jquery-ui.git/commitdiff
Dialog: Fixed #3032: Calling open on an already open dialog no longer causes problems.
authorScott González <scott.gonzalez@gmail.com>
Thu, 26 Jun 2008 18:14:41 +0000 (18:14 +0000)
committerScott González <scott.gonzalez@gmail.com>
Thu, 26 Jun 2008 18:14:41 +0000 (18:14 +0000)
ui/ui.dialog.js

index 7731309a9e607ac194ba905355ae77bd69ab6028..b989fedf961d2b8e06657c340be53018c4671692 100644 (file)
@@ -144,6 +144,7 @@ $.widget("ui.dialog", {
                }
                
                this.createButtons(options.buttons);
+               this.isOpen = false;
                
                (options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe());
                (options.autoOpen && this.open());
@@ -241,6 +242,8 @@ $.widget("ui.dialog", {
        },
        
        open: function() {
+               if (this.isOpen) { return; }
+               
                this.overlay = this.options.modal ? new $.ui.dialog.overlay(this) : null;
                this.uiDialog.appendTo('body');
                this.position(this.options.position);
@@ -255,6 +258,8 @@ $.widget("ui.dialog", {
                };
                this.uiDialogTitlebarClose.focus();
                this.element.triggerHandler("dialogopen", [openEV, openUI], this.options.open);
+               
+               this.isOpen = true;
        },
        
        // the force parameter allows us to move modal dialogs to their correct
@@ -282,6 +287,8 @@ $.widget("ui.dialog", {
                };
                this.element.triggerHandler("dialogclose", [closeEV, closeUI], this.options.close);
                $.ui.dialog.overlay.resize();
+               
+               this.isOpen = false;
        },
        
        destroy: function() {