source: VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/border/AjaxToggleBorder.java @ 971

Last change on this file since 971 was 971, checked in by oschonef, 13 years ago
  • add ajaxified border component
  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1package eu.clarin.cmdi.virtualcollectionregistry.gui.border;
2
3import org.apache.wicket.behavior.AttributeAppender;
4import org.apache.wicket.markup.html.WebMarkupContainer;
5import org.apache.wicket.markup.html.basic.Label;
6import org.apache.wicket.markup.html.border.Border;
7import org.apache.wicket.model.AbstractReadOnlyModel;
8import org.apache.wicket.model.IModel;
9
10@SuppressWarnings("serial")
11public class AjaxToggleBorder extends Border {
12
13    public AjaxToggleBorder(String id, IModel<String> title, final boolean expanded) {
14        super(id);
15        setRenderBodyOnly(true);
16
17        final WebMarkupContainer header = new WebMarkupContainer("header");
18        header.add(new Label("title", title));
19        header.add(new AttributeAppender("class",
20                new AbstractReadOnlyModel<String>() {
21                    @Override
22                    public String getObject() {
23                        return expanded ? "shown" : "hidden";
24                    }
25                }, " "));
26        add(header);
27        final WebMarkupContainer content = new WebMarkupContainer("content");
28        content.add(getBodyContainer());
29        add(content);
30    }
31
32    public AjaxToggleBorder(String id, IModel<String> title) {
33        this(id, title, true);
34    }
35   
36} // class AjaxToggleBorder
Note: See TracBrowser for help on using the repository browser.