Forum Stats

  • 3,853,728 Users
  • 2,264,259 Discussions
  • 7,905,436 Comments

Discussions

How to hide left panel only when needed...

658205
658205 Member Posts: 39
edited Oct 23, 2008 4:00PM in WebLogic Portal
Hi All,

I have one portal frameowrk and is divided into two table columns...
1) First column has one left navigation panel (portlet or JSP) which has list of services to navigate and select.
2) Second column has two portlets (middle portlet is login page and riight portlets are utility portlets).

So home page contains all the three portlets...
But when any service is selected from left navigation panel then resulting page conatins left navigation panel (First Column) and the selected service (Second Column).
Here left navigation panel should always be displayed for service navigation.

My requirement comes here......when user wants more space for selected service page then user should be able to switch (hide/show) the visibility of left navigation panel so that whole page is occupied by selected service or otherwise.

This is the part of the code where I am using the portlets in framework with table columns...
<netuix:shell
description="A header, footer and left navigation pane included in this shell."
markupName="leftNavigation" markupType="Shell" title="Left Navigation Shell">
<netuix:head/>
<netuix:body>
<netuix:header/>
<html:table style="vertical-align: top; width: 100%;">
<html:tr>
<!--html:td style="vertical-align: top; width: 1%;" valign="top">
<netuix:jspContent contentUri="/framework/markup/shell/support/leftnavigation.jsp"/>
</html:td-->
<html:td style="vertical-align: top; width: 28%;" valign="top">
<netuix:portletInstance
contentUri="/portlets/leftnavigation/leftnavigation.portlet"
instanceLabel="portlet_1_4" markupType="Portlet" title="Provider Services"/>
</html:td>
<!--html:td style="vertical-align: top; width: 1%;" valign="top">
<netuix:jspContent contentUri="/framework/markup/shell/support/leftnavigation.jsp"/>
</html:td-->
<html:td style="vertical-align: top; width: 72%;" valign="top">
<netuix:book defaultPage="homePage"
definitionLabel="PortalFramework_portal_book_1"
markupName="book" markupType="Book" title="Main Page Book">
<netuix:content>
<netuix:page definitionLabel="homePage"
markupName="page" markupType="Page" title="Home">
<netuix:content>
<netuix:gridLayout columns="2"
description="This layout has two columns (left, right) and the portlets flow vertically in the columns."
htmlLayoutUri="/framework/markup/layout/twocolumn.html.txt"
iconUri="/framework/markup/layout/twocolumn.gif"
markupName="twoColumnLayout"
markupType="Layout" title="Two Column Layout">
<netuix:placeholder
description="The left most placeholder in this layout."
flow="vertical"
markupName="twoColumn_left"
markupType="Placeholder"
title="left" usingFlow="true" width="80%">
<netuix:portletInstance
contentUri="/portlets/MMIS/providerLandingPage.portlet"
instanceLabel="providerLandingPage_1"
markupType="Portlet" title="MassHealth Provider Online Service Center"/>
</netuix:placeholder>
<netuix:placeholder
description="The right most placeholder in this layout."
flow="vertical"
markupName="twoColumn_right"
markupType="Placeholder"
title="right" usingFlow="true" width="20%">
<netuix:portletInstance
contentUri="/portlets/DisplayLinks/DisplayLinks.portlet"
instanceLabel="displaylinks_1_4"
markupType="Portlet" title="News &amp; Updates"/>
<netuix:portletInstance
contentUri="/portlets/DisplayLinks/DisplayLinks.portlet"
instanceLabel="displaylinks_1_2"
markupType="Portlet" title="Publications"/>
<netuix:portletInstance
contentUri="/portlets/DisplayLinks/DisplayLinks.portlet"
instanceLabel="displaylinks_1_5"
markupType="Portlet" title="Related Links"/>
</netuix:placeholder>
</netuix:gridLayout>
</netuix:content>
</netuix:page>

We can use flag for visibility (hide/show) of left navigation panel but then we cannot control .portal (which is xml file) using that flag.
Does anyone have any solution for my issue?

Thanks in advance.

Pradeep Peddi.

Answers

  • 665334
    665334 Member Posts: 40
    Hi Pradeep,

    I would probably look at modifying the skeleton (like in 720330) and then use javascript to collapse/expand the left panel. There are many tutorials on the web on how to do this, e.g. here.

    Best regards,
    Petri
  • 658205
    658205 Member Posts: 39
    edited Oct 22, 2008 1:50PM
    Hi Petri,

    Thanks for the response.

    I have tried using jsp instead of portlet for left navigation.

    <netuix:shell
    title="Left Navigation Shell" description="A header, footer and left navigation pane included in this shell." markupType="Shell"
    markupName="leftNavigation">
    <netuix:head/>
    <netuix:body>
    <netuix:header>
    </netuix:header>
    <html:table style="vertical-align: top; width: 100%;">
    <html:tr>
    <html:td style="vertical-align: top; width: 1%;" valign="top">
    <netuix:jspContent contentUri="/framework/markup/shell/support/leftnavigation.jsp"/>
    </html:td>
    <html:td style="vertical-align: top; width: 99%;" valign="top">
    <netuix:break/>
    </html:td>
    </html:tr>
    </html:table>
    <netuix:footer>
    </netuix:footer>
    </netuix:body>
    </netuix:shell>

    I never used DOJO and I dont have any issue in building tree for navigation.
    The only issue is leftnavigation page should always be dislayed but only when user feels that he need more space for selected service then he/she should be able to hide the left navigation panel.
    Hope you got my problem.
    Sorry for bothering you again...
    Thanks once again.
  • 658205
    658205 Member Posts: 39
    edited Oct 23, 2008 4:00PM
    Hi all,

    Can anyone help me in finding solution for my issue.
    Thanks in advance.

    Pradeep.
This discussion has been closed.