| | |
| | | import org.apache.wicket.markup.repeater.data.DataView;
|
| | | import org.apache.wicket.markup.repeater.data.ListDataProvider;
|
| | |
|
| | | import com.gitblit.wicket.PageRegistration.DropDownMenuItem;
|
| | | import com.gitblit.models.Menu.MenuDivider;
|
| | | import com.gitblit.models.Menu.ExternalLinkMenuItem;
|
| | | import com.gitblit.models.Menu.MenuItem;
|
| | | import com.gitblit.models.Menu.PageLinkMenuItem;
|
| | | import com.gitblit.models.Menu.ParameterMenuItem;
|
| | | import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration;
|
| | | import com.gitblit.wicket.WicketUtils;
|
| | |
|
| | |
| | | super(id);
|
| | |
|
| | | add(new Label("label", label).setRenderBodyOnly(true));
|
| | | ListDataProvider<DropDownMenuItem> items = new ListDataProvider<DropDownMenuItem>(
|
| | | ListDataProvider<MenuItem> items = new ListDataProvider<MenuItem>(
|
| | | menu.menuItems);
|
| | | DataView<DropDownMenuItem> view = new DataView<DropDownMenuItem>("menuItems", items) {
|
| | | DataView<MenuItem> view = new DataView<MenuItem>("menuItems", items) {
|
| | | private static final long serialVersionUID = 1L;
|
| | |
|
| | | @Override
|
| | | public void populateItem(final Item<DropDownMenuItem> item) {
|
| | | DropDownMenuItem entry = item.getModelObject();
|
| | | if (entry.isDivider()) {
|
| | | public void populateItem(final Item<MenuItem> item) {
|
| | | MenuItem entry = item.getModelObject();
|
| | | if (entry instanceof PageLinkMenuItem) {
|
| | | // link to another Wicket page
|
| | | PageLinkMenuItem pageLink = (PageLinkMenuItem) entry;
|
| | | item.add(new LinkPanel("menuItem", null, null, pageLink.toString(), pageLink.getPageClass(),
|
| | | pageLink.getPageParameters(), false).setRenderBodyOnly(true));
|
| | | } else if (entry instanceof ExternalLinkMenuItem) {
|
| | | // link to a specified href
|
| | | ExternalLinkMenuItem extLink = (ExternalLinkMenuItem) entry;
|
| | | item.add(new LinkPanel("menuItem", null, extLink.toString(), extLink.getHref(),
|
| | | extLink.openInNewWindow()).setRenderBodyOnly(true));
|
| | | } else if (entry instanceof MenuDivider) {
|
| | | // divider
|
| | | item.add(new Label("menuItem").setRenderBodyOnly(true));
|
| | | WicketUtils.setCssClass(item, "divider");
|
| | | } else {
|
| | | ParameterMenuItem parameter = (ParameterMenuItem) entry;
|
| | | // parameter link for the current page
|
| | | String icon = null;
|
| | | if (entry.isSelected()) {
|
| | | if (parameter.isSelected()) {
|
| | | icon = "icon-ok";
|
| | | } else {
|
| | | icon = "icon-ok-white";
|
| | | }
|
| | | item.add(new LinkPanel("menuItem", icon, null, entry.toString(), menu.pageClass,
|
| | | entry.getPageParameters(), false).setRenderBodyOnly(true));
|
| | | parameter.getPageParameters(), false).setRenderBodyOnly(true));
|
| | | }
|
| | | }
|
| | | };
|