#7389 closed defect (fixed)
dijit.layout.AccordionContainer: doesn't account for padding in child panes
Reported by: | Nathan Toone | Owned by: | bill |
---|---|---|---|
Priority: | high | Milestone: | 1.6 |
Component: | Dijit | Version: | 1.1.1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
If you set padding on an AccordionPane?'s content node, the AccordionContainer? doesn't resize it correctly.
It should use dojo.marginBox instead of style.height.
Attachments (2)
Change History (14)
comment:1 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 Changed 12 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Can't just use dmb since we use animateProperty to show/hide the accordion. Will resubmit with test case and more robust fix.
comment:3 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Changed 11 years ago by
Attachment: | patch_AccordionContainer.txt added |
---|
Changed 11 years ago by
Attachment: | test_AccordionContainerPadding.html added |
---|
comment:4 Changed 11 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
It seems that padding inside ContentPane? children of AccordionContainer? causes bad animation. Look at the the last accordion button : it is moved down during the animation. Bigger is the padding inside contentpane bigger is the delta...
See attached test page (long duration is used to better show the problem). extremePadding css class is used in the second case to illustrate the problem. It is a modified version of test_AccordionContainer.html where extremePadding class was not well defined (old dijitAccordionBody not existing anymore) and with duration=2000 to better see the problem
Proposed attached patch : animation on height but also on paddingTop and paddingBottom for oldWidget and newWidget. Padding is animated from original value to 0 for oldWidget and from 0 to original value for newWidget.
After applying patch, animation is better on FF3, safari and IE (a little flickering on IE is noticeable though)
comment:5 Changed 11 years ago by
Milestone: | 1.2 → 1.5 |
---|
comment:7 Changed 11 years ago by
Milestone: | 1.5 → future |
---|---|
Owner: | Nathan Toone deleted |
Moving my tickets to future, as I am not currently working on them.
comment:8 Changed 10 years ago by
Milestone: | future → 1.6 |
---|---|
Owner: | set to bill |
Status: | reopened → new |
comment:9 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [22677]) Fix AccordionContainer rendering problems, by properly accounting for margin/border/padding and by dealing w/the fact that during the animation, on claro, need to account for two blue borders wrapping around the two "active" children. See comments in code for more details.
This fixes the problem where the animation doesn't work well when there's lots of padding on the child ContentPane, and also the problem where the blue trim underneath a child ContentPane (claro only) would disappear during the animation.
Also, added correct handling for race condition when another pane is selected or the accordion is destroyed while an animation is in progress.
IE6 and IE7 have overflow problems with this new design (the overflow: hidden isn't taking effect), but rather than fix the problem I just disabled the animation for those browsers.
Fixes #4017, #7389, #9141 !strict.
Also removed some workaround code for #11415, and from [21426] (#10527), that seems to no longer be needed.
comment:10 Changed 10 years ago by
comment:11 Changed 10 years ago by
(In [22701]) Don't leave height: 1px setting on <div> after animation because it will cause problems when said pane is shown w/out the animation. Still need to check in test case: on accordion with one pane, add new pane, select new, and then destroy new pane, causing accordion to return to first pane sans animation.) Refs #7389 !strict.
(In [14735]) Fixes #7389 - use dojo.marginBox instead of style.height for sizing the accordion panes