Ticket #6759: multipledialog.patch

File multipledialog.patch, 1.7 kB (added by becky, 7 months ago)
  • Users/bgibson/Documents/workspace/trunk/dijit/Dialog.js

     
    2525                        // summary: Append the underlay to the body 
    2626                        dojo.body().appendChild(this.domNode); 
    2727                        this.bgIframe = new dijit.BackgroundIframe(this.domNode); 
     28                        this._modalConnect = null; 
    2829                }, 
    2930 
    3031                layout: function(){ 
     
    5859                        if(this.bgIframe.iframe){ 
    5960                                this.bgIframe.iframe.style.display = "block"; 
    6061                        } 
     62                        this._modalConnect = dojo.connect(this.domNode, "onmousedown", this, "_onMouseDown"); 
    6163                }, 
    6264 
    6365                hide: function(){ 
     
    6668                        if(this.bgIframe.iframe){ 
    6769                                this.bgIframe.iframe.style.display = "none"; 
    6870                        } 
     71                        dojo.disconnect(this._modalConnect); 
     72                        this._modalConnect = null; 
     73                }, 
     74                 
     75                _onMouseDown: function(/*Event*/ evt){ 
     76                        dojo.stopEvent(evt); 
     77                        window.focus(); 
     78                         
    6979                }, 
    7080 
    7181                uninitialize: function(){ 
     
    353363 
    354364                        this._modalconnects.push(dojo.connect(window, "onscroll", this, "layout")); 
    355365                        this._modalconnects.push(dojo.connect(window, "onresize", this, "layout")); 
    356                         this._modalconnects.push(dojo.connect(dojo.doc.documentElement, "onkeypress", this, "_onKey")); 
     366                        this._modalconnects.push(dojo.connect(this.domNode, "onkeypress", this, "_onKey")); 
     367 
    357368 
    358369                        dojo.style(this.domNode, { 
    359370                                opacity:0, 
     
    368379                        this._fadeIn.play(); 
    369380 
    370381                        this._savedFocus = dijit.getFocus(this); 
    371  
     382         
    372383                        // find focusable Items each time dialog is shown since if dialog contains a widget the  
    373384                        // first focusable items can change 
    374385                        this._getFocusItems(this.domNode);