Changes for page MembershipJson
Last modified by bougault on 2022/03/18 14:34
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,20 +1,81 @@ 1 -{{velocity output=" no"}}2 -$ xwiki.ssx.use('Collaboratory.Apps.HighlightedCollabs.Code.HighlightedCollabsMacro')3 -#set($query = $services.query.xwql("from doc.object(Collaboratory.Apps.Membership.MembershipRequest.Code.MembershipRequestClass) as req")) 4 -#set($ reqs = $query.execute())1 +{{velocity output="false"}} 2 +$response.setContentType('application/json') 3 +#set($query = $services.query.xwql("from doc.object(Collaboratory.Apps.Membership.MembershipRequest.Code.MembershipRequestClass) as requests")) 4 +#set($memberships = $query.execute()) 5 5 {{/velocity}} 6 - 7 7 {{velocity wiki="false"}} 8 -## If AJAX call 9 -#if("$!request.outputSyntax" != '') 7 +{ 8 + "row": [ 9 + ##foreach($membershipDoc of $memberships) 10 + ##set($m = $xwiki.getDocument($membershipDoc)) 11 + ##{ 12 + ##hello: "world" 13 + ##"title": "$m.title", 14 + ##"target": "$m.target", 15 + ##username: '$m.username', 16 + ##"status": "$m.status", 17 + ##"date": "$m.date" 18 + ##}#if( $foreach.hasNext ), #end 19 + ##end 20 + ] 21 +} 22 +{{/velocity}} 23 +{{velocity wiki="false"}} 24 +#if("$!{request.xpage}" == 'plain') 10 10 $response.setContentType('application/json') 11 11 #end 12 -{rows:[ 13 -#foreach($req of $reqs) 14 - #set($highlight = $xwiki.getDocument($req)) 15 - { 16 - "title": "$req.getTitle()", 17 - }#if( $foreach.hasNext ), #end 27 +##============================== 28 +## Offset = item # at which to start displaying data 29 +##============================== 30 +#set($offset = $numbertool.toNumber($request.get('offset'))) 31 +## offset starts from 0 in velocity and 1 in javascript 32 +#set($offset = $offset - 1) 33 +#if($offset < 0) 34 + #set($offset = 0) 18 18 #end 19 -]} 36 +##================== 37 +## Limit = # of items to display 38 +##================== 39 +#set($limit = $numbertool.toNumber($request.get('limit'))) 40 +##================== 41 +## Tag = one parameter per tag 42 +##================== 43 +#if($request.tag) 44 + #foreach($tag in $request.getParameterValues('tag')) 45 + ## TODO: Add code to filter items based on the selected tags 46 + #end 47 +#end 48 +##========== 49 +## Sort direction 50 +##========== 51 +#set($order = "$!request.sort") 52 +#if($order != '') 53 + #set($orderDirection = "$!{request.get('dir').toLowerCase()}") 54 + #if("$!orderDirection" != '' && "$!orderDirection" != 'asc') 55 + #set($orderDirection = 'desc') 56 + #end 57 +#end 58 +## =========== 59 +## Filter Data here... 60 +## =========== 61 +## TODO: Add code to filter data 62 +## Each column can be filtered and the filter for a column can be retrieved with: 63 +## #set($filterValue = "$!{request.get(<columnname>)}") 64 + 65 +## === 66 +## JSON 67 +## === 68 +{ 69 +"totalrows": 1, 70 +"matchingtags": {}, 71 +"tags" : [], 72 +"returnedrows": 1, 73 +"offset": 1, 74 +"reqNo": $util.parseInt($request.reqNo), 75 +"rows": [{ 76 + "doc_viewable" : true, 77 + "user" : "vincent", 78 + "message" : "my message" 79 +}] 80 +} 20 20 {{/velocity}}