#2238 closed defect (fixed)
Dialog: consecutive Dialog hide and show issue
Reported by: | guest | Owned by: | bill |
---|---|---|---|
Priority: | high | Milestone: | 1.6 |
Component: | Dijit | Version: | 0.4.1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description (last modified by )
Creating 2 dialog boxes and consecutively showing and hiding of each leads to a show() that displays nothing with greyed back ground.
example. Click link over and over till issue.
dojo.require("dojo.widget.*"); dojo.addOnLoad(onload); function onload() { var parentnode = document.createElement("div"); var srcNode = document.createElement("div"); parentnode.appendChild(srcNode); dlg1=dojo.widget.createWidget("Dialog",{toggle:"fade"},srcNode); dlg1.setContent("<a href='#' onclick='dlg2test()'> dlg1 </a>"); var srcNode2 = document.createElement("div"); parentnode.appendChild(srcNode2); dlg2=dojo.widget.createWidget("Dialog",{toggle:"fade"},srcNode2); dlg2.setContent("<a href='#' onclick='dlg1test()'> dlg2 </a>"); dlg1.show(); } function dlg1test() { dlg2.hide(); dlg1.show(); } function dlg2test() { dlg1.hide(); dlg2.show(); }
Attachments (1)
Change History (15)
comment:1 Changed 14 years ago by
Component: | Widgets → Dijit |
---|---|
Description: | modified (diff) |
Milestone: | → 1.0 |
Owner: | changed from bill to koranteng |
comment:2 Changed 14 years ago by
Milestone: | 1.0 → 2.0 |
---|
comment:3 Changed 14 years ago by
Owner: | koranteng deleted |
---|
comment:4 Changed 13 years ago by
Milestone: | 2.0 → 1.3 |
---|
comment:5 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Milestone: | 1.3 → future |
Summary: | Consecutive Dialog hide and show issue → Dialog: consecutive Dialog hide and show issue |
Yes, I assume the problem is that you are trying to show the second dialog before the first one has finished disappearing (or vice-versa).
comment:7 Changed 11 years ago by
Milestone: | future → 1.6 |
---|---|
Owner: | set to bill |
Status: | new → assigned |
comment:8 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [22662]) Refactoring Dialog to handle when multiple dialogs are displayed and a non-top-level dialog is hidden or destroyed. The salient change is that rather than a Dialog saving the previous focus, there's a "level manager" that remembers each active layer (starting with the base page itself) and the focus in that layer.
Also fixes race conditions on concurrent dialog show/hide.
Previously Dialog._onKey was connected to the document body. I couldn't find a case when that was necessary (as opposed to connecting to Dialog.domNode), so I changed it to attach to Dialog.domNode, so Dialog wouldn't have to check "am I the top dialog on the stack?" in that method.
comment:9 Changed 11 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
not sure which one of the 3 tickets closed by r22662 i should comment on so just picking one...
i think this line: pd.dialog._getFocusItems(pd.domNode);
might need to be: pd.dialog._getFocusItems(pd.dialog.domNode);
if by just looking at it you're not sure then let me know and i'll work on a test case.
comment:10 Changed 11 years ago by
Thanks, you are right, I'll check that in w/a test case. (As for all the tickets, I should have consolidated them into one.)
comment:11 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:12 Changed 10 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:13 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Milestone 2.0 deleted