Wiki source code of LiveTableResultPage

Last modified by superadmin on 2025/05/22 17:45

Show last authors
1 {{velocity wiki="false"}}
2 #if ($xcontext.action == 'get')
3 #template('hierarchy_macros.vm')
4 #if("$!{request.xpage}" == 'plain')
5 $response.setContentType('application/json')
6 #end
7 #if($request.user)
8 #set ($userReference = $request.user)
9 #else
10 #set ($userReference = $services.user.currentUserReference)
11 #end
12 ##==============================
13 ## Offset = item # at which to start displaying data
14 ##==============================
15 #set($offset = $numbertool.toNumber($request.get('offset')))
16 ## offset starts from 0 in velocity and 1 in javascript
17 #set($offset = $offset - 1)
18 #if($offset < 0)
19 #set($offset = 0)
20 #end
21 ##==================
22 ## Limit = # of items to display
23 ##==================
24 #set($limit = $numbertool.toNumber($request.get('limit')))
25 #set ($likedPages = $services.like.getUserLikes($userReference, $offset, $limit))
26 #set ($optUserLikes = $services.like.countUserLikes($userReference))
27 #if ($optUserLikes.isPresent())
28 #set ($totalRows = $optUserLikes.get())
29 #else
30 #set ($totalRows = $likedPages.size())
31 #end
32 ##==========
33 ## Sort direction
34 ##==========
35 #set($order = "$!request.sort")
36 #if($order != '')
37 #set($orderDirection = "$!{request.get('dir').toLowerCase()}")
38 #if("$!orderDirection" != '' && "$!orderDirection" != 'asc')
39 #set($orderDirection = 'desc')
40 #end
41 #end
42 #set ($pagesRows = [])
43 #foreach($likedPage in $likedPages)
44 #set ($likedDoc = $xwiki.getDocument($likedPage))
45 #set ($optDocumentLikes = $services.like.getLikes($likedPage))
46 #if ($optDocumentLikes.isPresent())
47 #set ($documentLikes = $optDocumentLikes.get())
48 #else
49 #set ($documentLikes = "N/A")
50 #end
51 ## code inspired from getdocuments.vm
52 #set ($viewable = $xwiki.hasAccessLevel('view', $xcontext.user, $services.model.serialize($likedPage, "default")))
53 #set ($row = {'doc_viewable' : $viewable})
54 #if (!$viewable)
55 #set ($discard = $row.put('doc_fullName', $likedDoc.fullName))
56 #else
57 #set ($translatedDoc = $likedDoc.translatedDocument)
58 #set ($fullname = $services.model.serialize($likedDoc.documentReference, 'default'))
59 #set ($discard = $row.put('doc_name', $likedDoc.documentReference.name))
60 #set ($discard = $row.put('doc_fullName', $fullname))
61 #set ($location = "#hierarchy($likedDoc.documentReference, {'limit': 5, 'plain': false, 'local': true, 'displayTitle': false})")
62 #set ($discard = $row.put('doc_location', $location))
63 #set ($discard = $row.put('doc_space', $likedDoc.space))
64 #set ($discard = $row.put('doc_url', $xwiki.getURL($likedDoc)))
65 #set ($discard = $row.put('doc_space_url',
66 $xwiki.getURL($services.model.createDocumentReference($!likedDoc.wiki, $!likedDoc.space, 'WebHome'))))
67 #set ($discard = $row.put('doc_wiki', $likedDoc.wiki))
68 #set ($discard = $row.put('doc_wiki_url', $xwiki.getURL($services.model.resolveDocument('', 'default',
69 $likedDoc.documentReference.extractReference('WIKI')))))
70 #set ($discard = $row.put('doc_author_url', $xwiki.getURL($translatedDoc.author)))
71 #set ($discard = $row.put('doc_date', $xwiki.formatDate($translatedDoc.date)))
72 #set ($discard = $row.put('doc_title', $translatedDoc.plainTitle))
73 #set ($rawTitle = $translatedDoc.title)
74 #if ($rawTitle != $row['doc_title'])
75 #set ($discard = $row.put('doc_title_raw', $rawTitle))
76 #end
77 #set ($discard = $row.put('doc_author', $xwiki.getUserName($translatedDoc.author, false)))
78 #set ($discard = $row.put('doc_creationDate', $xwiki.formatDate($translatedDoc.creationDate)))
79 #set ($discard = $row.put('doc_creator', $xwiki.getUserName($translatedDoc.creator, false)))
80 #end
81 #set ($discard = $row.put('like', $documentLikes))
82 #set ($discard = $pagesRows.add($row))
83 #end
84 #set ($newOffset = $offset + 1)
85 ## ===
86 ## JSON
87 ## ===
88 #jsonResponse({
89 "totalrows": $totalRows,
90 "returnedrows": $pagesRows.size(),
91 "offset": $newOffset,
92 "reqNo": $numbertool.toNumber($request.reqNo),
93 "rows": $pagesRows
94 })
95 #end
96 {{/velocity}}