Let's say I have a domain object Customer
. On this object I have an address to an external site.
@PropertyLayout(named = "Link", describedAs = "Clickable link to customer")
public String getLink() {
return "http://www.customer.com";
}
In this case this will be shown as just text on the webpage. How do I create a clickable link in the wicket viewer from this?
There is a third-party extension: https://github.com/kev-m/isis-wicket-url/ This was done by Kevin Meyer, one of our committers.
I've raised https://issues.apache.org/jira/browse/ISIS-1616 to incorporate this into the framework "proper".
Meantime, you can add an action to open the link easily enough
@Action(semantics=SemanticsOf.SAFE)
@MemberOrder(named="link", sequence="1")
public java.net.URL openLink() throws MalformedURLException {
return new java.net.URL(getLink());
}
and just to finish it off, you could add this guard:
public String disableOpenLink() {
if(getLink() == null) { return "no link to open."; }
try {
openLink();
} catch(MalformedURLException ex) {
return "Bad link";
}
return null;
}