Changes for page Highlighted Collabs
Last modified by bougault on 2021/04/12 17:00
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,7 +1,41 @@ 1 +{{velocity output="no"}} 2 +$xwiki.ssx.use('Collaboratory.Apps.HighlightedCollabs.Code.HighlightedCollabsMacro') 3 +#set($query = $services.query.xwql("from doc.object(Collaboratory.Apps.HighlightedCollabs.Code.HighlightedCollabsClass) as collab where collab.collab_id not like '' and collab.featured in (:featured)")) 4 +#if("$!request.featured" == "true") 5 + #set($featuredFilter = [1]) 6 +#else 7 + #set($featuredFilter = [1, 0]) 8 +#end 9 +#set($collabs = $query.bindValue('featured', $featuredFilter).execute()) 10 +{{/velocity}} 11 + 1 1 {{velocity wiki="false"}} 2 -$response.setContentType('application/json') 3 -{ 4 -"greeting" : "Hello", 5 -"location": "World" 6 -} 13 +## If AJAX call 14 +#if("$!request.outputSyntax" != '') 15 + $response.setContentType('application/json') 16 +#end 17 +##set($MyJsonData = {'greeting': 'Hello', 'location': 'World'}) 18 +##$jsontool.serialize($collabs) 19 +$jsontool.serialize([ 20 +#foreach($collab of $collabs) 21 + #set($highlight = $xwiki.getDocument($collab)) 22 + #set($collabId = $highlight.getValue('collab_id')) 23 + #set($collabURL = '/bin/view/Collabs/'+$collabId) 24 + #set($hasPicture = $highlight.getAttachment('highlight.png').isImage()) 25 + { 26 + "title": "$highlight.getTitle()" 27 + }#if( $foreach.hasNext ), #end 28 +#end 29 +]) 30 + 31 + 32 +## In order to ensure the generated JSON is valid it is recommanded to 33 +## build the JSON in memory (using Velocity/Java maps, arrays and basic types) 34 +## and then serialize it with $jsontool.serialize method. 35 +## Usage (from Marius: http://xwiki.markmail.org/message/wsvaj4leg5atufwd): 36 +## #set($array = [1, 2, 3]) 37 +## $jsontool.serialize($array) 38 +## #set($map = {'enabled': true, 'color': 'yellow', 'count': 13}) 39 +## $jsontool.serialize($map) 40 + 7 7 {{/velocity}}