Opened 13 years ago

Closed 12 years ago

#2740 closed defect (invalid)

SplitContainer inside PageContainer causes no visual page output in FF 1.5 /IE 6

Reported by: guest Owned by: Adam Peller
Priority: high Milestone: 0.9
Component: Dijit Version: 0.4.2
Keywords: PageContainer Cc: rhys@…
Blocked By: Blocking:

Description

Using SplitContainers? within a PageContainer? causes no container output to display within either Firefox 1.5 or IE 6.

My particular layout nests two SplitContainers? and their children within a single, outer ContentPane?. Works just fine when the SplitContainer? bars are dragged around, etc.

<html>
	<head>
		<title>LayoutTest</title>
        <script type="text/javascript" src="http://o.aolcdn.com/dojo/0.4.2/dojo.js"></script>
		<script language="JavaScript" type="text/javascript">
			dojo.require("dojo.widget.*");
            dojo.require("dojo.widget.ContentPane");
            dojo.require("dojo.widget.PageContainer");
            dojo.require("dojo.widget.SplitContainer");
			dojo.hostenv.writeIncludes(); //For Venkmanpossible
		</script>
	</head>
	<body>
        <div dojoType="ContentPane">
            <div dojoType="SplitContainer" orientation="vertical"
                    style="width: 100%; height: 100%;"
                    sizerWidth="5" persist="false">
                <div dojoType="SplitContainer" orientation="horizontal"
                        style="width: 100%; height: 100%;"
                        sizerWidth="5" persist="false"
                        sizeShare="50" sizeMin="150">
                    <div dojoType="ContentPane"
                            style="overflow: auto;"
                            sizeShare="50" sizeMin="250">
                            Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ipsum. Sed eget orci ac magna eleifend malesuada. Integer dui lacus, lobortis a, fringilla id, pretium nec, orci. Suspendisse sit amet turpis. Maecenas risus. Aliquam dictum dolor ac lorem. Cras vitae libero vitae velit sagittis placerat. Nam eros augue, tempor ullamcorper, mattis eleifend, porta et, nibh. Nulla felis neque, aliquet sed, pellentesque nec, ultrices quis, odio. Nulla facilisi. Vivamus pharetra semper ipsum. Pellentesque quis magna. Maecenas lobortis massa congue risus. Mauris id risus nec massa molestie convallis. Donec quis mauris. Nam urna. Nunc lacus lorem, nonummy eget, adipiscing vel, sodales id, risus.
                    </div>
                    <div dojoType="ContentPane"
                            style="overflow: auto;"
                            sizeShare="50" sizeMin="250">
                            Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ipsum. Sed eget orci ac magna eleifend malesuada. Integer dui lacus, lobortis a, fringilla id, pretium nec, orci. Suspendisse sit amet turpis. Maecenas risus. Aliquam dictum dolor ac lorem. Cras vitae libero vitae velit sagittis placerat. Nam eros augue, tempor ullamcorper, mattis eleifend, porta et, nibh. Nulla felis neque, aliquet sed, pellentesque nec, ultrices quis, odio. Nulla facilisi. Vivamus pharetra semper ipsum. Pellentesque quis magna. Maecenas lobortis massa congue risus. Mauris id risus nec massa molestie convallis. Donec quis mauris. Nam urna. Nunc lacus lorem, nonummy eget, adipiscing vel, sodales id, risus.
                    </div>
                </div>
                <div dojoType="ContentPane"
                        style="overflow: auto;"
                        sizeShare="50" sizeMin="150">
                        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ipsum. Sed eget orci ac magna eleifend malesuada. Integer dui lacus, lobortis a, fringilla id, pretium nec, orci. Suspendisse sit amet turpis. Maecenas risus. Aliquam dictum dolor ac lorem. Cras vitae libero vitae velit sagittis placerat. Nam eros augue, tempor ullamcorper, mattis eleifend, porta et, nibh. Nulla felis neque, aliquet sed, pellentesque nec, ultrices quis, odio. Nulla facilisi. Vivamus pharetra semper ipsum. Pellentesque quis magna. Maecenas lobortis massa congue risus. Mauris id risus nec massa molestie convallis. Donec quis mauris. Nam urna. Nunc lacus lorem, nonummy eget, adipiscing vel, sodales id, risus.
                </div>
            </div>
        </div>
	</body>
</html>

When I change that outermost ContentPane? into a PageContainer?, the page loads without Firebug errors but no output is displayed.

<html>
	<head>
		<title>LayoutTest</title>
        <script type="text/javascript" src="http://o.aolcdn.com/dojo/0.4.2/dojo.js"></script>
		<script language="JavaScript" type="text/javascript">
			dojo.require("dojo.widget.*");
            dojo.require("dojo.widget.ContentPane");
            dojo.require("dojo.widget.PageContainer");
            dojo.require("dojo.widget.SplitContainer");
			dojo.hostenv.writeIncludes(); //For Venkmanpossible
		</script>
	</head>
	<body>
        <div dojoType="PageContainer">
            <div dojoType="SplitContainer" orientation="vertical"
                    style="width: 100%; height: 100%;"
                    sizerWidth="5" persist="false">
                <div dojoType="SplitContainer" orientation="horizontal"
                        style="width: 100%; height: 100%;"
                        sizerWidth="5" persist="false"
                        sizeShare="50" sizeMin="150">
                    <div dojoType="ContentPane"
                            style="overflow: auto;"
                            sizeShare="50" sizeMin="250">
                            Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ipsum. Sed eget orci ac magna eleifend malesuada. Integer dui lacus, lobortis a, fringilla id, pretium nec, orci. Suspendisse sit amet turpis. Maecenas risus. Aliquam dictum dolor ac lorem. Cras vitae libero vitae velit sagittis placerat. Nam eros augue, tempor ullamcorper, mattis eleifend, porta et, nibh. Nulla felis neque, aliquet sed, pellentesque nec, ultrices quis, odio. Nulla facilisi. Vivamus pharetra semper ipsum. Pellentesque quis magna. Maecenas lobortis massa congue risus. Mauris id risus nec massa molestie convallis. Donec quis mauris. Nam urna. Nunc lacus lorem, nonummy eget, adipiscing vel, sodales id, risus.
                    </div>
                    <div dojoType="ContentPane"
                            style="overflow: auto;"
                            sizeShare="50" sizeMin="250">
                            Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ipsum. Sed eget orci ac magna eleifend malesuada. Integer dui lacus, lobortis a, fringilla id, pretium nec, orci. Suspendisse sit amet turpis. Maecenas risus. Aliquam dictum dolor ac lorem. Cras vitae libero vitae velit sagittis placerat. Nam eros augue, tempor ullamcorper, mattis eleifend, porta et, nibh. Nulla felis neque, aliquet sed, pellentesque nec, ultrices quis, odio. Nulla facilisi. Vivamus pharetra semper ipsum. Pellentesque quis magna. Maecenas lobortis massa congue risus. Mauris id risus nec massa molestie convallis. Donec quis mauris. Nam urna. Nunc lacus lorem, nonummy eget, adipiscing vel, sodales id, risus.
                    </div>
                </div>
                <div dojoType="ContentPane"
                        style="overflow: auto;"
                        sizeShare="50" sizeMin="150">
                        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ipsum. Sed eget orci ac magna eleifend malesuada. Integer dui lacus, lobortis a, fringilla id, pretium nec, orci. Suspendisse sit amet turpis. Maecenas risus. Aliquam dictum dolor ac lorem. Cras vitae libero vitae velit sagittis placerat. Nam eros augue, tempor ullamcorper, mattis eleifend, porta et, nibh. Nulla felis neque, aliquet sed, pellentesque nec, ultrices quis, odio. Nulla facilisi. Vivamus pharetra semper ipsum. Pellentesque quis magna. Maecenas lobortis massa congue risus. Mauris id risus nec massa molestie convallis. Donec quis mauris. Nam urna. Nunc lacus lorem, nonummy eget, adipiscing vel, sodales id, risus.
                </div>
            </div>
        </div>
	</body>
</html>

The only difference between the working and non-working case is using dojoType="PageContainer?" in the first <div> under <body>.

I can get output with PageContainer? if I s/SplitContainer/ContentPane/g within that second example. The problem is definitely the SplitContainer/PageContainer? interaction.

Change History (4)

comment:1 Changed 13 years ago by guest

Oh man... after all that.

Adding a doLayout="false" to that PageContainer? causes it to behave the way I wanted all along. I have no idea what doLayout="true" magic is occurring, but it doesn't play nicely with the test setup above.

comment:2 Changed 13 years ago by bill

Component: WidgetsDijit
Milestone: 0.9
Owner: changed from bill to koranteng

comment:3 Changed 12 years ago by bill

Owner: changed from koranteng to Adam Peller

comment:4 Changed 12 years ago by bill

Resolution: invalid
Status: newclosed

Right, you either have to say doLayout=false, or put a size on the outermost container.

Note: See TracTickets for help on using tickets.