summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/wicket/LinkPanel.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-04-04 09:10:51 -0400
committerJames Moger <james.moger@gitblit.com>2011-04-04 09:10:51 -0400
commit5fe7df81eb38dc66f2cfc4bf1973863a19f55cf2 (patch)
tree3f1b1b3f953aa8a5ed60e149043598fbdaf4d42f /src/com/gitblit/wicket/LinkPanel.java
downloadgitblit-5fe7df81eb38dc66f2cfc4bf1973863a19f55cf2.tar.gz
gitblit-5fe7df81eb38dc66f2cfc4bf1973863a19f55cf2.zip
Initial import of Git:Blit.
Change-Id: Ifce000c85c8947c3a768e782c841e41a8953d314
Diffstat (limited to 'src/com/gitblit/wicket/LinkPanel.java')
-rw-r--r--src/com/gitblit/wicket/LinkPanel.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/com/gitblit/wicket/LinkPanel.java b/src/com/gitblit/wicket/LinkPanel.java
new file mode 100644
index 00000000..afa2647b
--- /dev/null
+++ b/src/com/gitblit/wicket/LinkPanel.java
@@ -0,0 +1,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);
+ }
+
+}