Opened 11 years ago
Closed 4 years ago
#8519 closed defect (fixed)
layout widget addChild()/removeChild() try to do layout even when hidden
Reported by: | bill | Owned by: | |
---|---|---|---|
Priority: | high | Milestone: | 1.11 |
Component: | Dijit | Version: | 1.2.3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description (last modified by )
Originally part of #8269 but breaking out to separate bug...
If a user calls addChild() or removeChild() on a layout widget that's been started, but is hidden, then the layout widget will try to do layout even though it's display:none, and this will result in errors. For example:
- page has TabContainer where one of the children is a BorderContainer?
- user selects the BorderContainer tab of the TabContainer? (now the BorderContainer is both started and sized)
- user selects another tab (now the BorderContainer is display:none)
- programatically, something calls BorderContainer.addChild()
Probably, if the layout widget is hidden when addChild()/removeChild() is called then it should just set a flag to re-layout itself when it becomes visible (at which point the parent widget will call resize()).
Change History (2)
comment:1 Changed 11 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 4 years ago by
Milestone: | future → 1.11 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
I suppose this is no longer an issue due to 534157f1ce7473697bd3587d7b39248f50d0ac9e.
Note: See
TracTickets for help on using
tickets.
Maybe widgets should have show()/hide() methods or onShow()/onHide() callbacks, plus some way to tell if they are hidden.
This also relates to #5528.