Ticket #6678 (closed defect: duplicate)

Opened 3 months ago

Last modified 3 months ago

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

Reported by: guest Owned by: anonymous
Priority: normal Milestone:
Component: Dijit Version: 1.1.0
Severity: normal Keywords: ContentPane.js
Cc: alex

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

ContentPane.js (14.6 kB) - added by guest 3 months ago.
ContentPane?.js (sorry can't do diff)
index.html (2.6 kB) - added by guest 3 months ago.
testcase

Change History

Changed 3 months ago by guest

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

Changed 3 months ago by guest

testcase

Changed 3 months ago by alex

  • cc alex added
  • summary changed from More than 1 childnode in contantpane failes resize() / startup of childwidgets to [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?

Changed 3 months ago by dylan

  • summary changed from [patch] More than 1 childnode in contantpane failes resize() / startup of childwidgets to [cla] [patch] More than 1 childnode in contantpane failes resize() / startup of childwidgets

Submitted by Edwin Meester

Changed 3 months ago by dylan

  • summary changed from [cla] [patch] More than 1 childnode in contantpane failes resize() / startup of childwidgets to [cla] [patch] More than 1 childNode in ContentPane fails resize() / startup of child widgets

Changed 3 months ago by bill

  • status changed from new to closed
  • resolution set to duplicate
  • component changed from General to Dijit
  • summary changed from [cla] [patch] More than 1 childNode in ContentPane fails resize() / startup of child widgets to [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.