From 30f9d25d77ccb5cd978d4cf8fa389ec819e90e95 Mon Sep 17 00:00:00 2001 From: Philip L. McMahon <philip.l.mcmahon@gmail.com> Date: Fri, 27 Jan 2012 02:02:19 -0500 Subject: [PATCH] Correct update of HEAD symbolic reference when target is a tag. --- 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