Login Register

Problem with AccordionPane for some scenarios - layout function

There is an “InvalidArgument”error when we are using AccordionPane for some scenarios. It looks like the layout function is causing the problem where the following calculation results a negative value for InternetExplorer (IE). However for other browsers it works fine.

“this._verticalSpace = (mySize.h - totalCollapsedHeight);”

Why this is returning a negative value for IE?

I have attached a sample HTML pages for testing this. Just try to load the Sample_index.html. You cant see the right hand side AccordionPane is not loading.

Sample_index.html
---------------------------------------------------------------------------------------

<head>
<title>Test Split Pane</title>
<script type="text/javascript"
src="../dojo/dojo.js" djConfig="isDebug: false, parseOnLoad: true">
</script>
<script type="text/javascript" src="common/_testCommon.js"></script>

<script src="DisplayContentScript.js" type="text/javascript"> </script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <LINK
href="common/style.css" type="text/css" rel="stylesheet">


<script type="text/javascript">

dojo.require("dijit.layout.LayoutContainer"); dojo.require("dijit.Toolbar");
dojo.require("dijit.layout.SplitContainer");
dojo.require("dijit.layout.AccordionContainer");
dojo.require("dijit.layout.ContentPane"); dojo.require("dojo.dnd.Source");
dojo.require("dijit.layout.TabContainer"); dojo.require("dojo.parser");

//This executes the "DisplayContent" method, after the HTML is fully loaded.
dojo.addOnLoad(function(){DisplayContent('mainDiv');}); </script>

<!--Style sheet change script ends here-->

</head>
<body>
<!--*****Main Layout Container - Start - "Dojo Main Container" **************-->
<div id="mainDiv" style="VISIBILITY: hidden"
   dojoType="dijit.layout.LayoutContainer">

   <div dojoType="dijit.layout.SplitContainer" layoutAlign="client"
   orientation="vertical" persist="false">

           <div id="mainTabContainer" dojoType="dijit.layout.TabContainer" style="width:
           100%; height: 50em;"
>

                <div id="tab1" dojoType="dijit.layout.ContentPane" title="tab1"
                href="./sample_page.html" selected="true">

                </div>
                <div id="tab2" dojoType="dijit.layout.ContentPane" title="tab2" >
                </div>
           </div>
    </div>
</div>
</body>

Sample_page.html
--------------------------------------------------------------------------------------

<body>
<div dojoType="dijit.layout.SplitContainer" layoutAlign="client"
orientation="horizontal" persist="false">

  <div dojoType="dijit.layout.SplitContainer" orientation="vertical"
        persist="false" sizeShare="80" sizeMin="125" activeSizing="true">

        <div title="Content" dojoType="dijit.layout.ContentPane" sizeShare="70"
        sizeMin="75">

        Test Area
        </div>

        <div title="Inf" dojoType="dijit.layout.ContentPane"
        sizeShare="30" sizeMin="75">

        <table cellSpacing="0" cellPadding="0" width="100%" border="0">
          <tr>
            <td height="25"><strong> Title </strong></td>
          </tr>
        </table>
        Test
        </div>
     </div>

     <div dojoType="dijit.layout.AccordionContainer" duration="200" class="blueForm">
        <div dojoType="dijit.layout.AccordionPane" title="a">
        AccordionPane 1
        </div>
        <div dojoType="dijit.layout.AccordionPane" title="b">
        AccordionPane 2
        </div>
    </div>
</div>
</body>

probably

Probably because you didn't specify height for the main LayoutContainer.