Wiki source code of Highlighted Collabs
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
19.1 | 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()) | ||
| |
25.1 | 10 | {{/velocity}} |
| 11 | |||
| 12 | {{velocity wiki="false"}} | ||
| 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 | { "data": | ||
| |
21.1 | 20 | [ |
| 21 | #foreach($collab of $collabs) | ||
| 22 | #set($highlight = $xwiki.getDocument($collab)) | ||
| 23 | #set($collabId = $highlight.getValue('collab_id')) | ||
| 24 | #set($collabURL = '/bin/view/Collabs/'+$collabId) | ||
| 25 | #set($hasPicture = $highlight.getAttachment('highlight.png').isImage()) | ||
| 26 | { | ||
| 27 | "title": "$highlight.getTitle()" | ||
| 28 | }, | ||
| 29 | #end | ||
| 30 | ] | ||
| |
25.1 | 31 | } |
| |
21.1 | 32 | |
| |
17.1 | 33 | ## In order to ensure the generated JSON is valid it is recommanded to |
| 34 | ## build the JSON in memory (using Velocity/Java maps, arrays and basic types) | ||
| 35 | ## and then serialize it with $jsontool.serialize method. | ||
| 36 | ## Usage (from Marius: http://xwiki.markmail.org/message/wsvaj4leg5atufwd): | ||
| 37 | ## #set($array = [1, 2, 3]) | ||
| 38 | ## $jsontool.serialize($array) | ||
| 39 | ## #set($map = {'enabled': true, 'color': 'yellow', 'count': 13}) | ||
| 40 | ## $jsontool.serialize($map) | ||
| |
8.1 | 41 | |
| |
17.1 | 42 | {{/velocity}} |