/**
* $URL: https://source.sakaiproject.org/svn/sitestats/trunk/sitestats-tool/src/java/org/sakaiproject/sitestats/tool/wicket/components/ImageWithLink.java $
* $Id: ImageWithLink.java 105078 2012-02-24 23:00:38Z ottenhoff@longsight.com $
*
* Copyright (c) 2006-2009 The Sakai Foundation
*
* Licensed under the Educational Community License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/ECL-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.sakaiproject.sitestats.tool.wicket.components;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.markup.html.link.ExternalLink;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
import org.sakaiproject.sitestats.api.StatsManager;
/**
* @author Nuno Fernandes
*/
public class ImageWithLink extends Panel {
private static final long serialVersionUID = 1L;
public ImageWithLink(String id) {
this(id, null, null, null, null);
}
public ImageWithLink(String id, String imgUrl, String lnkUrl, String lnkLabel, String lnkTarget) {
super(id);
setRenderBodyOnly(false);
boolean exists = (lnkTarget != null && lnkLabel != null && lnkUrl != null);
ExternalLink lnk = null;
if(exists) {
add( new ExternalImage("image", imgUrl).setVisible(imgUrl != null) );
lnk = new ExternalLink("link", lnkUrl, lnkLabel);
lnk.add(new AttributeModifier("target", true, new Model(lnkTarget)));
}else{
StringBuilder b = new StringBuilder();
b.append(lnkLabel);
b.append(' ');
b.append(((String) new ResourceModel("resource_unknown").getObject()));
add( new ExternalImage("image", StatsManager.SILK_ICONS_DIR + "cross.png").setVisible(true) );
lnk = new ExternalLink("link", lnkUrl, b.toString());
lnk.setEnabled(false);
}
add(lnk);
}
}