Opened 12 years ago

Closed 12 years ago

#6678 closed defect (duplicate)

[cla] [patch] TabContainer: more than 1 childNode in ContentPane fails resize() / startup of child widgets

Reported by: guest Owned by: anonymous
Priority: high Milestone:
Component: Dijit Version: 1.1.0
Keywords: ContentPane.js Cc: alex
Blocked By: Blocking:

Description

The probleem arrissed when putting an AccordionContainer? inside an contentpane. Because of the other HTML around the AccordionContainer? the ContentPane? assumed it was no SingleWidget? (which is correct, because of the html nodes) but also he was not the parent( IsContainer?=false) which isn't correct, cause it has to startup the childwidget(s) when the tab becomes visible.

1) So I patched the ContentPane? that when there is 1 or more childwidgets, it still acts as parent(isContainer=true) which prevents startup of contentPane ChildWidgets? after creation (getParent results to true).

2) If contentPane contains more than 1 childNode, it will not act as it does for singlechild (cause this assumes that all contentBox space can be used for the widget). But fires the the childwidget startup / resize code without providing a boxsize as argument.

Attachments (2)

ContentPane.js (14.6 KB) - added by guest 12 years ago.
ContentPane?.js (sorry can't do diff)
index.html (2.6 KB) - added by guest 12 years ago.
testcase

Download all attachments as: .zip

Change History (6)

Changed 12 years ago by guest

Attachment: ContentPane.js added

ContentPane?.js (sorry can't do diff)

Changed 12 years ago by guest

Attachment: index.html added

testcase

comment:1 Changed 12 years ago by alex

Cc: alex added
Summary: More than 1 childnode in contantpane failes resize() / startup of childwidgets[patch] More than 1 childnode in contantpane failes resize() / startup of childwidgets

who filed this? Has the original filer sent in a CLA with the patch?

comment:2 Changed 12 years ago by dylan

Summary: [patch] More than 1 childnode in contantpane failes resize() / startup of childwidgets[cla] [patch] More than 1 childnode in contantpane failes resize() / startup of childwidgets

Submitted by Edwin Meester

comment:3 Changed 12 years ago by dylan

Summary: [cla] [patch] More than 1 childnode in contantpane failes resize() / startup of childwidgets[cla] [patch] More than 1 childNode in ContentPane fails resize() / startup of child widgets

comment:4 Changed 12 years ago by bill

Component: GeneralDijit
Resolution: duplicate
Status: newclosed
Summary: [cla] [patch] More than 1 childNode in ContentPane fails resize() / startup of child widgets[cla] [patch] TabContainer: more than 1 childNode in ContentPane fails resize() / startup of child widgets

In the case you specify, the current design of dijit is that the AccordionContainer is treated as a top-level (ie, parentless) widget. Startup() is called on it, same as ContentPane. The known bug is #5672 because of the problem w/resize() (and this ticket is a dup of that one but w/a patch).

I'll look over the patch here. I want to be careful because rearchitecting this behavior seems like a bigger issue than just modifying ContentPane, but maybe not. Also, the approach taken for Dialog to solve the identical problem is to just use visibility:hidden rather than display:none.

Note: See TracTickets for help on using tickets.