Opened 7 years ago
Closed 5 years ago
#18085 closed defect (patchwelcome)
dijit/place relies on element being a direct child of document body
Reported by: | ddraper | Owned by: | |
---|---|---|---|
Priority: | undecided | Milestone: | 1.13 |
Component: | Dijit | Version: | 1.9.0 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
When using dijit/place the node to be placed is always moved (within the DOM) to be an immediate child of the document body element. This causes problems when you want to make a specific node run in a browsers full screen mode.
For example, if I create a widget that uses a menu bar containing a popup menu bar item and then make that widget run in full-screen mode, the menu bar and menu item will be visible, but the popup will never be shown because it is outside of the DOM node.
In theory this can be worked around by moving the element back to be a descendent of the widget's DOM node, but you cannot re-use the dijit/place around function because it will move it back again.
I understand that the place code works on the assumption that the placed node is "safe" as a child of the body because it cannot be "clipped" when the overflow is hidden, however - it should at least be possible to pass a boolean argument to say whether or not the node should be moved (with true being the default).
That way I could call place without the element being moved and handle overflow issues in my own code.
Change History (3)
comment:1 Changed 7 years ago by
comment:2 Changed 7 years ago by
PS: I'm not against having the option but it's not quite as simple as just changing dijit/place. Presumably dijit/popup and dijit/_HasDropDown should make the option visible somehow.
comment:3 Changed 5 years ago by
Milestone: | tbd → 1.12 |
---|---|
Resolution: | → patchwelcome |
Status: | new → closed |
Given that no one has shown interest in creating a patch in more than a year, I'm closing this as patchwelcome. Please let us know if you would like to get involved in helping make this change to Dojo!
See also #3300.