Hi Kevin,
On Fri, Aug 19, 2016 at 11:14 PM, Kevin Meyer <[email protected]> wrote: > Hi Alexander, > > I thought the trick here was to register a new ScalarPanelAbstract that > would pick up the URL and render it as a click-able link. > > In my testing, I have been able to register my > "isis.example.UrlPanelFactory", which is just a String renderer (copied > from ShortPanel). > > However, I have reached my limit. I can parse the text value, detect that > it is a URL, but now I can't figure out how to create the matching Wicket > HTML and Java to populate a hyperlink! > > I was experimenting with the HTML: > > <wicket:panel> > <div class="shortPanel > scalarNameAndValueComponentType"> > <label for="scalarValue" > wicket:id="scalarIfRegular"> > <span wicket:id="scalarName" > class="scalarName">[Label text]</span> > <span class="scalarValue"> > <input type="text" > name="scalarValue" wicket:id="scalarValue" /> > <span wicket:id="feedback"></span> > </span> > </label> > <input type="text" > wicket:id="scalarIfCompact"></input> > This should not be <input>. "scalarIfCompact" is used for the "view" mode, "scalarIfRegular" for the "edit" mode. I.e. in edit mode you have to use <input> to change the url, in view mode you have to use <a> to be able to click it. > <!-- > <span wicket:id="scalarUrl"> > <a href='a' > wicket:id="scalarUrl"><input type="text" > wicket:id="scalarUrl"></input></a> > Remove <input> here too. > </span> > --> > </div> > </wicket:panel> > > But I don't know how to update the Java: > public class UrlPanel extends ScalarPanelAbstract { > ... > // How to manipulate the Wicket component, once I have my URL-containing > string. > You need to extend #getLabelForCompact() and #getComponentForRegular() ( https://github.com/apache/isis/blob/501e890f90d535df43d73a90e14295fadc9f9b64/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java#L171-L177 ) For the link (<a wicket:id="scalarUrl">) you can use Wicket's ExternalLink component. For <span wicket:id="scalarUrl"> use WebMarkupContainer, if you really need it to be Wicket component. Otherwise just remove wicket:id from it. Try it and let me know if you face any problems! > ... > } > > > Maybe someone with better Wicket foo can provide some advice... > > Cheers, > Kevin > > > On Fri, August 19, 2016 17:35, Alexander Zerbe wrote: > > > > > Hellp Joerg, > > > > > > thanks for the reply, but like I said: Creation of a action, that > > returns a URL and therefore executes a redirect is not a problem. > > > > Maybe I should make a feature request for wicked out of my question. > > > > > > "Please render properties of type URL (Java.lang) as clickable links." > > > > > > I was just looking for a possible solution for that case. :-) > > > > > > Best regards > > > > > > Rade, Joerg / Kuehne + Nagel / Ham GI-DP <[email protected]> > > writes: > > > > > >> Hi Alexander, > >> > >> > >> I use the following: > >> > >> > >> @ActionLayout(cssClassFa = "spinner") > >> public URL openURL(final RuntimeEnvironment rte) throws > >> MalformedURLException { > >> URL url = null; > >> try { url = new URL(rte.getUri()); } catch (Exception e) { > >> messageService.raiseError("URL could not be opened"); } > >> return url; } > >> > >> > >> where RuntimeEnvironment#getUri() is: > >> > >> public String getUri() { return "http://" + getHost().title() + ":" + > >> getPort() + getPath(); } > >> > >> > >> So the URL is not a property - it's constructed from strings. > >> > >> > >> HTH -j > >> -----Ursprüngliche Nachricht----- > >> Von: Alexander Zerbe [mailto:[email protected]] > >> Gesendet: Donnerstag, 18. August 2016 11:51 > >> An: [email protected] > >> Betreff: Re: URLs as property. > >> > >> > >> > >> Hello Sander, > >> > >> > >> thanks for your reply, but no that was not what I ment. I have a domain > >> entity that has a URL as a property (where it is accessible/stored or > >> where it 'lives'). > >> > >> I'm searching for the best way to make this URL accessible (clickable). > >> > >> > >> For example - I want to display all entities and I only want their name > >> and URL, but the URL gets rendered as a string. So you must copy this > >> string, open a new browser tab, insert it and open the URL by hand. > >> > >> In the future I will just create a frontend for this, but right now I > >> would like to know if its possible to render every string that begins > >> with 'http(s)' as a link. > >> > >> Best regards. > >> > >> > >> Sander Ginn <[email protected]> writes: > >> > >> > >>> Hi Alexander, > >>> > >>> > >>> I'm not completely sure if I understand your question correctly, but > >>> I think this is the answer: > >>> Each item in a collection has an icon associated with it in the > >>> leftmost column of the table. This icon is clickable and will > >>> redirect you to the specific object. An example with the icon marked > >>> with a red circle is attached. > >>> > >>> Kind regards, > >>> Sander Ginn > >>> > >>> > >>> > >>> > >>> > >>>> On 12 Aug 2016, at 11:56, Alexander Zerbe > >>>> <[email protected]> wrote: > >>>> > >>>> > >>>> Hi Everyone, > >>>> > >>>> > >>>> I have a (hopefully) simple problem. > >>>> A domain entity has a URL as property - I'm searching for a way too > >>>> make those URLs clickable when displayed in a collection. > >>>> > >>>> For example: > >>>> I want to list a subset of those entitys and from there I want the > >>>> possibility to click the link and get redirected. > >>>> > >>>> Returning a URL from an action works (but only for http(s) URLs, > >>>> not for file://), but thats not what I want. > >>>> > >>>> The only solution I see (so far), is too create a seperate wicket > >>>> page with mountPage(). > >>>> > >>>> It would also be okay too just have the name of the object and if I > >>>> click it, I get redirected immediatly. > >>>> > >>>> > >>>> I'm up for any suggestions. > >>>> > >>>> > >>>> > >>>> Best regards > >>>> > >> > >> > >> Kühne + Nagel (AG & Co.) KG > >> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE > >> 812773878. > >> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Yngve Ruud (Vors.), Martin > >> Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten, Nicholas Minde, > >> Michael Nebel, Lars Wedel. > >> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform: > >> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745, > >> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt. > >> Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Diederick de > >> Vroet, Dominic Edmonds, Thierry Held, Uwe Hött, Richard Huhn, Björn > >> Johansson, Holger Ketz, Jan Kunze. > >> > >> > >> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen > >> Spediteurbedingungen 2016 (ADSp 2016). Die ADSp 2016 beschränken in > >> Ziffer 23 die gesetzliche Haftung für Güterschäden in Höhe von 8,33 > >> SZR/kg je Schadenfall bzw. je Schadenereignis auf 1 Million bzw. 2 > >> Millionen Euro oder 2 SZR/kg, je nachdem, welcher Betrag höher ist, und > >> bei multimodalen Transporten unter Einschluss einer Seebeförderung > >> generell auf 2 SZR/kg. Den vollständigen Text der ADSp 2016 übersenden > >> wir Ihnen gerne auf Anfrage und können Sie auch unter > >> http://www.kuehne-nagel.com einsehen. > >> > > > > > > >
