On 18 Jan 2016 at 11:15:44, Gerritjan Koekkoek (gerrit...@cdlsworld.org(mailto:gerrit...@cdlsworld.org)) wrote:
> > Could I do this in the params: > > > label=abc > > > target=Sandbox.try2 > > > icon=gerritjan.png > > > test=$stringtool.split("item1, item2, item3", “ ,”) > > I tried to test it, but did not work? It won’t work because the parameter values are not typed, they are strings. So if you have: #foreach ($uix in $services.uix.getExtensions(…)) #set ($params = $uix.parameters) ... #end then $params is always a String. Thanks -Vincent PS: Please always reply to the list ;) > The velocity part was: > > > #set($items=$extension.getParameters().get('test')) > > > > > > > Gerritjan Koekkoek > Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS > Visit our website(http://www.cdlsworld.org) > Facebook(https://www.facebook.com/gerritjan.koekkoek) > email(gerrit...@cdlsworld.org) > > > > > > From: Vincent Massol on behalf of vinc...@massol.net > Sent: 18 January 2016 10:46 > To: XWiki Users > Cc: Gerritjan Koekkoek > Subject: Re: [xwiki-users] Data-Types in UIExtension parameters > > > Hi Gerritjan, > > On 18 Jan 2016 at 09:34:22, Gerritjan Koekkoek > (gerrit...@cdlsworld.org(mailto:gerrit...@cdlsworld.org)) wrote: > > Hi > > > > > > I wonder if it is possible to use velocity data-types (Number, Date/Time, > > Array or List, Object) in the parameters field of a UIExtension. > > > > > > I get the impression it is always considered as string and we have to do a > > conversion? > > I’ve updated the UIX Module documentation at > http://extensions.xwiki.org/xwiki/bin/view/Extension/UIExtension+Module#HMoreDetails > > So yes, the parameters field can contain velocity. > > > Following example (for a List of items in a Array) > > > > cdls.try.abc has the following parameters: > > > > > > label=abc > > > > target=Sandbox.try2 > > > > icon=gerritjan.png > > > > test=["Item1", 'item2', "item3"] > > > > > > {{velocity}} > > > > $services.uix.getExtensions("cdls.try.abc") > > > > > > #foreach ($extension in $services.uix.getExtensions("cdls.try.abc")) > > > > $services.rendering.render($extension.execute(), 'xhtml/1.0') > > > > #set($paramlist=$extension.getParameters().get('test')) > > > > #end > > > > > > paramlist is String?: $paramlist.class > > > > > > ##Would like it to be a list of items, but now I have to use velocity > > string functions to create the list... > > > > #set($paramlistLengthMinusOne = $paramlist.length() - 1) > > > > #set($items = $paramlist.substring(1, $paramlistLengthMinusOne).split(",")) > > > > > > #foreach($item in $items) > > [snip] > > That’s correct, UIX parameters are not typed (they’re strings). > > However you can simplify a lot your velocity code. > > In the UIX: > test=item1, item2, item3 > > In the calling code: > #set ($paramlist = $extension.getParameters().get('test')) > #set ($items = $stringtool.split($paramList, “ ,”)) > … > > Thanks > -Vincent > > > Gerritjan Koekkoek > > Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users