incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Kuno.Baeris...@bkw-fmb.ch>
Subject Highlight selected tab on NavigationPane using PPR
Date Tue, 10 Apr 2007 08:14:03 GMT
Hi all,

similar to the demo navigation pane example, I'd like that the selected tab on my NavigationPane
is highlighted if I click on it. I'm using facelets and a template that contains the layout.
In the debug-mode, I can see that the commandNavigationItem backing bean is called and the
selected property is set correctly. But after page refresh, nothing has been changed. Can
anybody help?

Thanks

Here my faclet template:

	       <tr:form id="mainNavForm">
               <tr:navigationPane hint="tabs" shortDesc="Whle Tab" id="mainNavBar">
                    <tr:commandNavigationItem id="mainNavItem1" text="home" action="home"
partialSubmit="true"
                actionListener="#{commandNavigationItem.navigationItemAction}" />
				  	<tr:commandNavigationItem id="mainNavItem2" text="Warenkorb" action="showOrder"
rendered="#{securityContext.ifNotGranted['ROLE_ADMIN']}" partialSubmit="true"
                actionListener="#{commandNavigationItem.navigationItemAction}" />
				  	<tr:commandNavigationItem  id="mainNavItem3" text="Registrieren" action="register"
 rendered="#{securityContext.ifNotGranted['ROLE_CUSTOMER,ROLE_ADMIN']}" partialSubmit="true"
                actionListener="#{commandNavigationItem.navigationItemAction}"/>
				  	<tr:commandNavigationItem  id="mainNavItem4" text="Kundenliste" action="showCustomer"
 rendered="#{securityContext.ifAnyGranted['ROLE_ADMIN']}" partialSubmit="true"
                actionListener="#{commandNavigationItem.navigationItemAction}"/>      
 		  
				  	<tr:commandNavigationItem  id="mainNavItem5" text="Meine Daten" action="#{customerAction.editCustomer}"
rendered="#{securityContext.ifAnyGranted['ROLE_CUSTOMER']}" partialSubmit="true"
                actionListener="#{commandNavigationItem.navigationItemAction}"/>      
 		  
				  	<tr:commandNavigationItem  id="mainNavItem6" text="Meine Bestellungen" action="orderHistory"
rendered="#{securityContext.ifAnyGranted['ROLE_CUSTOMER']}" partialSubmit="true"
                actionListener="#{commandNavigationItem.navigationItemAction}"/>      
 		  				  					  
				  	<tr:commandNavigationItem  id="mainNavItem7" text="Abmelden" action="#{customerAction.logout}"
 rendered="#{securityContext.ifAnyGranted['ROLE_CUSTOMER,ROLE_ADMIN']}" partialSubmit="true"
                actionListener="#{commandNavigationItem.navigationItemAction}"/>      
 		  				  					     				  
                </tr:navigationPane>
               </tr:form>

and here my backing bean:

  @SuppressWarnings("unchecked")
  public void navigationItemAction(ActionEvent event)
  {
    UIComponent actionItem = event.getComponent();
    UIComponent parent = actionItem.getParent();
    while (! (parent instanceof UIXNavigationHierarchy) )
    {
      parent = parent.getParent();
      if (parent == null)
      {
        System.err.println(
          "Unexpected component hierarchy, no UIXNavigationHierarchy found.");
        return;
      }
    }

    List<UIXCommand> children = parent.getChildren();
    for (UIXCommand child : children)
    {
      FacesBean childFacesBean = child.getFacesBean();
      FacesBean.Type type = childFacesBean.getType();
      PropertyKey selectedKey = type.findKey("selected");
      if (selectedKey != null)
      {
          boolean isSelected = (child == actionItem);
        childFacesBean.setProperty(selectedKey, isSelected);
      }
    }

    RequestContext adfContext = RequestContext.getCurrentInstance();
    adfContext.addPartialTarget(parent);
  }

Mime
View raw message