You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Martin Marinschek (JIRA)" <de...@myfaces.apache.org> on 2005/11/02 18:30:58 UTC

[jira] Closed: (MYFACES-392) When using in jsCookMenu, only top-level is displayed

     [ http://issues.apache.org/jira/browse/MYFACES-392?page=all ]
     
Martin Marinschek closed MYFACES-392:
-------------------------------------


> When using <x:navigationMenuItems> in jsCookMenu, only top-level is displayed
> -----------------------------------------------------------------------------
>
>          Key: MYFACES-392
>          URL: http://issues.apache.org/jira/browse/MYFACES-392
>      Project: MyFaces
>         Type: Bug
>   Components: Tomahawk
>     Versions: 1.0.9m9
>  Environment: Microsoft Windows XP
> JDeveloper 10.0.2
> Oracle OC4J 10.0.2
> MyFaces 1.0.9
>     Reporter: Lee Smith
>     Assignee: Thomas Spiegl
>      Fix For: 1.1.0

>
> When programmatically builing a menu for jscookmenu using the following syntax:
> <x:jscookMenu layout="hbr" theme="ThemeOffice">
>    <x:navigationMenuItems value="#{menuBean.menu}"/>
> </x:jscookMenu>
> only the top-level of items in the specified bean are rendered. For example, if the menuBean was defined as:
> public class MenuBean
> {
>    public List getMenu()
>    {
>       NavigationMenuItem menu1 = new NavigationMenuItem("label1","action1", null, false);
>       menu1.setNavigationMenuItems(new NavigationMenuItem[] {
>          new NavigationMenuItem("label1.1", "action1.1", null, false),
>          new NavigationMenuItem("label1.2", "action1.2", null, false)
>       });
>       NavigationMenuItem menu2 = new NavigationMenuItem("label2", "action2", null, false);
>       menu2.setNavigationMenuitems(new NavigationMenuItem[] {
>         new NavigationMenuItem("label2.1", "action2.1", null, false),
>         new NavigationMenuItem("label2.2", "action2.2", null, false)
>       });
>       List menu = new ArrayList();
>       menu.add(menu1);
>       menu.add(menu2);
>       return menu;
>    }
> }
> then only the root options 'label1' and 'label2' are rendered.
> This appears to be cause by org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuRenderer, in the method encodeNavigationMenuItems.
> The following changes seem to fix the problem (not sure if the fix is appropriate, given I'm not entirely sure what uiNavMenuItemList is used for :) ):
> 199a200
> > 
> 201a203,204
> > 				if (uiNavMenuItemList != null)
> > 				{
> 202a206
> > 				}
> 267a272,276
> > 					else
> > 					{
> > 						encodeNavigationMenuItems(context, writer, menuItems,
> > 								null, menuId);
> > 					}
> Cheers,
> Lee

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira