Opened 10 years ago

Closed 10 years ago

#8773 closed defect (fixed)

BorderContainer within TabContainer: (IE7)

Reported by: fl0 Owned by: Adam Peller
Priority: high Milestone: 1.4
Component: Dijit Version: 1.3.0b1
Keywords: Cc:
Blocked By: Blocking:

Description

actually refers to 1.3.0b2, but there is no version entry yet. see #8024 for reference

When using BorderContainers? in TabContainers? (complex layout with several nested containers), IE7 pops up an error window ("Invalid argument") in this line:

if(janky){
			// Set the size of the children the old fashioned way, by setting
			// CSS width and height
(...)
			if(topSplitter){ topSplitter.style.width = sidebarWidth; }

(...)
}

because it is trying to assign a negative value as sidebarWidth. It even seems to have gotten worse, since it happens on any of my tabs including a BorderContainer? now, when the tab is activated. Previously (in 1.2.3), it happened only on a disabled tab, when it was enabled, then opened. As already proposed in my comment to #8024, preventing to assign a negative value fixes the problem.

Change History (9)

comment:1 Changed 10 years ago by bill

Are you saying that the test case in #8024 is failing again?

comment:2 Changed 10 years ago by Adam Peller

Component: GeneralDijit
Milestone: tbd1.3
Owner: changed from anonymous to Adam Peller
Status: newassigned

comment:3 Changed 10 years ago by Adam Peller

Milestone: 1.3tbd

Can you clarify what you're doing with the test case? I see a similar problem with the sidebarHeight assigned to left/rightSplitter when resizing the browser *window* to be small enough that the tabs disappear. There probably should be some minimum size in play. Are you resizing the window? or the splitters? how?

comment:4 Changed 10 years ago by fl0

Ok, need to clarify: the test case attached to #8024 is working fine. We are facing this issue in our application, which has a quite complex layout with multiple levels of nested TabContainer?'s and BorderContainer?'s. Sorry for confusion, if I wasn't clear enough. Unluckily, I did not manage to isolate the issue in order to construct a test case, I was just noticing that with 1.3b2 it happens even on tabs which worked with 1.2.3.

comment:5 Changed 10 years ago by Adam Peller

please do let us know if you can isolate a test case or there's probably not a lot we can do to help. Do you get this error on page load? resizing windows? splitters?

comment:6 Changed 10 years ago by bill

Milestone: tbd1.4

1.3rc1 has been release; bumping remaining tickets to 1.4 (except for documentation/testing tickets)

comment:7 Changed 10 years ago by fl0

Found the culprit. There was one place in my code left that called resize() on a ContentPane? when opening a formerly disabled tab. This was necessary before #8024 got fixed, now I could safely remove the resize() call. So no error anymore.
Still, preventing to set negative values as proposed in my comment to #8024 with two non-intrusive lines of code would not hurt, and prevent this error happening in some (admittedly exotic) cases.

comment:8 Changed 10 years ago by Adam Peller

Milestone: 1.4tbd

comment:9 Changed 10 years ago by bill

Milestone: tbd1.4
Resolution: fixed
Status: assignedclosed

I'm going to close this for a couple reasons:

1) After all my layout changes I'm pretty sure that a BorderContainer in a TabContainer is working fine, and won't be resized at all until shown. Many tests for that in ContentPaneLayout.html 2) It's actually nice for debugging having that failure because it tells us when resize() is being called at the wrong time.

Note: See TracTickets for help on using tickets.