From 31bcbea4c35e29d3b5147d33a41544cb125cf694 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 23 Dec 2011 16:55:43 -0500 Subject: [PATCH] Filters menu for Repositories page and Activity page (issue 27) --- src/com/gitblit/wicket/panels/NavigationPanel.java | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/com/gitblit/wicket/panels/NavigationPanel.java b/src/com/gitblit/wicket/panels/NavigationPanel.java index 6ec461f..018bbb2 100644 --- a/src/com/gitblit/wicket/panels/NavigationPanel.java +++ b/src/com/gitblit/wicket/panels/NavigationPanel.java @@ -24,6 +24,7 @@ import org.apache.wicket.markup.repeater.data.ListDataProvider; import com.gitblit.wicket.PageRegistration; +import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.pages.BasePage; @@ -31,20 +32,32 @@ 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 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