From a48c33a76f3497d33e0c3d0d3cf1a59aef23679f Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 11 Jan 2012 16:35:11 -0500 Subject: [PATCH] Fixed missing gbapi ant tag dependency in build process --- src/com/gitblit/wicket/panels/NavigationPanel.java | 33 ++++++++++++++++++++++++++------- 1 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/com/gitblit/wicket/panels/NavigationPanel.java b/src/com/gitblit/wicket/panels/NavigationPanel.java index 6ec461f..57c82e8 100644 --- a/src/com/gitblit/wicket/panels/NavigationPanel.java +++ b/src/com/gitblit/wicket/panels/NavigationPanel.java @@ -24,6 +24,8 @@ import org.apache.wicket.markup.repeater.data.ListDataProvider; import com.gitblit.wicket.PageRegistration; +import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration; +import com.gitblit.wicket.PageRegistration.OtherPageLink; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.pages.BasePage; @@ -31,20 +33,37 @@ private static final long serialVersionUID = 1L; - public NavigationPanel(String id, final Class<? extends BasePage> pageClass, List<PageRegistration> registeredPages) { + public NavigationPanel(String id, final Class<? extends BasePage> pageClass, + List<PageRegistration> registeredPages) { super(id); - - ListDataProvider<PageRegistration> refsDp = new ListDataProvider<PageRegistration>(registeredPages); + + ListDataProvider<PageRegistration> refsDp = new ListDataProvider<PageRegistration>( + registeredPages); DataView<PageRegistration> refsView = new DataView<PageRegistration>("navLink", refsDp) { private static final long serialVersionUID = 1L; public void populateItem(final Item<PageRegistration> item) { PageRegistration entry = item.getModelObject(); - Component c = new LinkPanel("link", null, getString(entry.translationKey), entry.pageClass, entry.params); - if (entry.pageClass.equals(pageClass)) { - WicketUtils.setCssClass(item, "active"); + if (entry instanceof OtherPageLink) { + // other link + OtherPageLink link = (OtherPageLink) entry; + Component c = new LinkPanel("link", null, getString(entry.translationKey), link.url); + item.add(c); + } else if (entry instanceof DropDownMenuRegistration) { + // drop down menu + DropDownMenuRegistration reg = (DropDownMenuRegistration) entry; + Component c = new DropDownMenu("link", getString(entry.translationKey), reg); + item.add(c); + WicketUtils.setCssClass(item, "menu"); + } else { + // standard page link + Component c = new LinkPanel("link", null, getString(entry.translationKey), + entry.pageClass, entry.params); + if (entry.pageClass.equals(pageClass)) { + WicketUtils.setCssClass(item, "active"); + } + item.add(c); } - item.add(c); } }; add(refsView); -- Gitblit v1.9.1