Ignore:
Timestamp:
08/18/14 14:22:07 (10 years ago)
Author:
Twan Goosen
Message:

Initial step towards integration of CLARIN style: adapted base page, menu & login, removed some overlapping vcr styling
Refs #594

File:
1 edited

Legend:

Unmodified
Added
Removed
  • VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/MenuItem.java

    r927 r5559  
    11package eu.clarin.cmdi.virtualcollectionregistry.gui.pages;
    22
     3import eu.clarin.cmdi.virtualcollectionregistry.gui.Application;
     4import org.apache.wicket.AttributeModifier;
    35import org.apache.wicket.authorization.IAuthorizationStrategy;
    46import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction;
    5 import org.apache.wicket.markup.ComponentTag;
    67import org.apache.wicket.markup.html.WebPage;
    78import org.apache.wicket.markup.html.basic.Label;
     
    910import org.apache.wicket.markup.html.link.Link;
    1011import org.apache.wicket.markup.html.panel.Panel;
     12import org.apache.wicket.model.AbstractReadOnlyModel;
    1113import org.apache.wicket.model.IModel;
     14import org.apache.wicket.model.Model;
    1215import org.apache.wicket.util.lang.Classes;
    13 
    14 import eu.clarin.cmdi.virtualcollectionregistry.gui.Application;
    1516
    1617@SuppressWarnings("serial")
    1718public class MenuItem<T extends WebPage> extends Panel {
     19
    1820    private static final String ENABLE = "ENABLE";
    1921    private final String pageClassName;
     
    2224        super("menuitem");
    2325        this.pageClassName = pageClass.getName();
    24         setRenderBodyOnly(true);
    25         final Link<T> link = new BookmarkablePageLink<T>("link", pageClass) {
     26        final Link<T> link = new BookmarkablePageLink<T>("link", pageClass)
     27                .setAutoEnable(false);
     28        link.add(new Label("title", title).setRenderBodyOnly(true));
     29        add(link);
     30
     31        add(new AttributeModifier("class", true, new AbstractReadOnlyModel<String>() {
    2632            @Override
    27             protected void onComponentTag(ComponentTag tag) {
    28                 super.onComponentTag(tag);
    29                 if (linksTo(getPage())) {
    30                     tag.setName("span");
    31                     tag.getAttributes().remove("href");
    32                     tag.getAttributes().put("class", "active");
     33            public String getObject() {
     34                if (pageClass.equals(getPage().getClass())) {
     35                    return "active";
     36                } else {
     37                    return null;
    3338                }
    3439            }
    35         };
    36         link.add(new Label("title", title).setRenderBodyOnly(true));
    37         add(link);
     40        }));
    3841    }
    3942
    4043    @Override
    4144    protected void onBeforeRender() {
    42         final IAuthorizationStrategy strategy =
    43             getApplication().getSecuritySettings()
     45        final IAuthorizationStrategy strategy
     46                = getApplication().getSecuritySettings()
    4447                .getAuthorizationStrategy();
    4548        final Class<T> pageClass = getPageClass();
    4649        if (!strategy.isInstantiationAuthorized(pageClass)) {
    4750            boolean visible = true;
    48             AuthorizeAction action =
    49                 pageClass.getAnnotation(AuthorizeAction.class);
     51            AuthorizeAction action
     52                    = pageClass.getAnnotation(AuthorizeAction.class);
    5053            if ((action != null) && ENABLE.equalsIgnoreCase(action.action())) {
    5154                final Application app = (Application) getApplication();
Note: See TracChangeset for help on using the changeset viewer.