Opened 10 years ago

Closed 10 years ago

#9808 closed defect (fixed)

TabContainer: error on startup when no child panes (page is undefined error)

Reported by: Jean-Rubin Leonard Owned by: bill
Priority: high Milestone: 1.4
Component: Dijit Version: 1.3.2
Keywords: tab container page undefined startup Cc: jrleonard@…
Blocked By: Blocking:

Description (last modified by Eugene Lazutkin)

Recent changes seem to have broken my tab container. After debugging with D. Machi, we found out it was probably [19970]. After reverting to [19969], code is running fine. The broken code creates a main dijit.layout.TabContainer, to which some children tabcontainers are added as. It broke at the main tab container's startup with an error message: "page is undefined".

The code is the following:

//Create first level tabs
var tabObjectContainer = new dijit.layout.TabContainer({title:"Objects config",id:"tabObjectContainer",tabPosition:"left-h",style:"width:100%; height:100%", region:"center",tabStrip:true});

//Second level tabs
var ledger1 = new dijit.layout.TabContainer({title:"Ledger I",id:"tabLedgers1",style:"width:100%; height:100%",tabPosition:"top",tabStrip:true});
//We add the details tabs
var tabLedger1Accruals =  new dijit.layout.TabContainer({title:"Accruals ledger 1",id:"tabLedger1Accruals",style:"width:100%; height:100%",tabStrip:true})
ledger1.addChild(tabLedger1Accruals);
ledger1.addChild(new dijit.layout.TabContainer({title:"Cash flow ledger 1",id:"tabLedger1CashFlow",style:"width:100%; height:100%",tabStrip:true}));
ledger1.addChild(new dijit.layout.TabContainer({title:"Transfers ledger 1",id:"tabLedger1Transfer",style:"width:100%; height:100%",tabStrip:true}));
ledger1.addChild(new dijit.layout.TabContainer({title:"output ledger 1",id:"tabLedger1Output",style:"width:100%; height:100%",tabStrip:true}));

dojo.place(("<div>This is an object. There is more than one ledger. Notice the two vertical ledgers (ledger I and ledger II).</div>"), tabLedger1Accruals.containerNode);
tabObjectContainer.addChild(ledger1);
ledger1.startup();              

Attachments (1)

index.phtml (3.4 KB) - added by Jean-Rubin Leonard 10 years ago.
As requested tabcontainer test phtml file

Download all attachments as: .zip

Change History (5)

comment:1 Changed 10 years ago by Eugene Lazutkin

Component: GeneralDijit
Description: modified (diff)
Owner: anonymous deleted

comment:2 Changed 10 years ago by bill

OK, can you attach a test case using the attach file button? I need a full HTML file test case before looking at this.

Also, in the future try to be more specific than saying that "it's broken" in the summary. Almost all of the 9000 tickets in this system are about something being broken. Thanks. :-)

Changed 10 years ago by Jean-Rubin Leonard

Attachment: index.phtml added

As requested tabcontainer test phtml file

comment:3 Changed 10 years ago by bill

Milestone: tbd1.4
Owner: set to bill
Status: newassigned
Summary: tab container brokenTabContainer: error on startup when no child panes (page is undefined error)

Ah, it's an issue when there are no child panes. Not sure why this started showing up w/[19970] as it seems to be an old problem, but anyway I'll fix.

comment:4 Changed 10 years ago by bill

Resolution: fixed
Status: assignedclosed

(In [19997]) Fix exception on startup when no child panes exist, fixes #9808 !strict.

Note: See TracTickets for help on using tickets.