Opened 14 years ago

Closed 13 years ago

#3843 closed defect (fixed)

support nested popups

Reported by: guest Owned by: bill
Priority: high Milestone: 1.0
Component: Dijit Version: 0.9
Keywords: Cc:
Blocked By: Blocking:


This occurs with 0.9beta in Firefox 2. I have a TooltipDialog? connected to DropDownButton?. The dialog has a DateTextbox? form widget. Activating the Calendar widget closes the underlying TooltiDialog?, and opens the Calendar widget in the top-left corner of the web page. The Dialog does catch the the selected date, as when the dialog is re-opened, the date is set to the last selection value of the Calendar.

Attachments (1)

testcase.html (1.5 KB) - added by guest 14 years ago.
Test case with DropDownButton?, TooltipDialog?, and the DateTextbox?

Download all attachments as: .zip

Change History (7)

Changed 14 years ago by guest

Attachment: testcase.html added

Test case with DropDownButton?, TooltipDialog?, and the DateTextbox?

comment:1 Changed 14 years ago by bill

Component: GeneralDijit
Milestone: 1.0
Owner: changed from anonymous to bill

Hmm, popup inside a popup. Definitely want to support that eventually; I'm not too surprised it's not working now, as it hasn't been tested. Thanks for the testcase.

comment:2 Changed 13 years ago by guest

Here's my solution. However, I noticed there were other issues with popups. I expect the whole popup system might be overhauled. I'm not clear what implications the submenu parameter has. Is there any problem setting it to true all the time?

Index: /home/awhite/Code/EclipseWS/dijit_svn/form/TimeTextBox.js =================================================================== --- /home/awhite/Code/EclipseWS/dijit_svn/form/TimeTextBox.js (revision 10547) +++ /home/awhite/Code/EclipseWS/dijit_svn/form/TimeTextBox.js (working copy) @@ -84,6 +84,7 @@

parent: this, popup: this._picker, around: this.domNode,

+ submenu: true,

onClose: function(){ self._opened=false; }

}); this._opened=true;

@@ -92,7 +93,9 @@

_onBlur: function(){

summary: called magically when focus has shifted away from this widget and it's dropdown

  • dijit.popup.closeAll();

+ if(this._opened){ + dijit.popup.close(); + }

this.inherited('_onBlur', arguments); don't focus on <input>. the user has explicitly focused on something else.


comment:3 Changed 13 years ago by bill

The submenu flag is just supposed to be used for things like nested menus. Consider a TooltipDialog popup with a drop down menu that has a submenu. If you open the TooltipDialog, then open the drop down, and finally the submenu (so there are three popups on the screen), then clicking on a blank area of the screen should presumably close the two menus but not close the ToolitpDialog... I guess clicking on a blank area of the screen again should close the dialog? Not sure, but anyway that's what the submenu flag is meant for.

comment:4 Changed 13 years ago by bill

Summary: DateTextbox focus problem in TooltipDialogsupport nested popups

comment:5 Changed 13 years ago by bill

Fixed by [11064].

comment:6 Changed 13 years ago by bill

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.