blob: afa2647b8a2fc94fc17bcc25898d0c0bea064535 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package com.gitblit.wicket;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
public class LinkPanel extends Panel {
private static final long serialVersionUID = 1L;
private IModel<String> labelModel = new Model<String>();
@SuppressWarnings({ "unchecked", "rawtypes" })
public LinkPanel(String wicketId, final String linkCssClass, String label, Class<? extends WebPage> clazz, PageParameters parameters) {
super(wicketId);
Link<?> link = null;
if (parameters == null) {
link = new BookmarkablePageLink("link", clazz);
} else {
link = new BookmarkablePageLink("link", clazz, parameters);
}
if (linkCssClass != null) {
link.add(new AttributeModifier("class", true, new AbstractReadOnlyModel<String>() {
private static final long serialVersionUID = 1L;
@Override
public String getObject() {
return linkCssClass;
}
}));
}
labelModel.setObject(label);
link.add(new Label("label", labelModel));
add(link);
}
}
|