package org.orienteer.core.component.visualizer;
import com.orientechnologies.orient.core.metadata.schema.OProperty;
import com.orientechnologies.orient.core.metadata.schema.OType;
import com.orientechnologies.orient.core.record.impl.ODocument;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.link.ExternalLink;
import org.apache.wicket.model.IModel;
import org.orienteer.core.component.property.DisplayMode;
/**
* {@link IVisualizer} to display and modify URLs in Orienteer
*/
public class UrlLinkVisualizer extends AbstractSimpleVisualizer
{
private static final String NAME = "urlLink";
public UrlLinkVisualizer()
{
super(NAME,false, OType.STRING);
}
@Override
public <V> Component createComponent(String id, DisplayMode mode, IModel<ODocument> documentModel, IModel<OProperty> propertyModel, IModel<V> valueModel)
{
switch (mode)
{
case VIEW:
return new ExternalLink(id, (IModel<String>) valueModel,valueModel);
case EDIT:
return new TextField<String>(id, (IModel<String>) valueModel);
default:
return null;
}
}
}