Wiki source code of InterrogateMoscSpecial
Last modified by Alex Moruz on 2022/12/02 00:55
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | {{include reference="XWiki.LiveTableResultsMacros" /}} |
2 | |||
3 | {{velocity wiki="false"}} | ||
4 | #if("$!{request.xpage}" == 'plain') | ||
5 | $response.setContentType('application/json') | ||
6 | #end | ||
7 | ##============================== | ||
8 | ## Offset = item # at which to start displaying data | ||
9 | ##============================== | ||
10 | ##set($offset = $numbertool.toNumber($request.get('offset')).intValue()) | ||
11 | ## offset starts from 0 in velocity and 1 in javascript | ||
12 | #set($offset = $offset - 1) | ||
13 | #if (!$offset || $offset < 0) | ||
14 | #set($offset = 0) | ||
15 | #end | ||
16 | ##================== | ||
17 | ## Limit = # of items to display | ||
18 | ##================== | ||
19 | ##set($limit = $numbertool.toNumber($request.get('limit')).intValue()) | ||
20 | #if (!$limit) | ||
21 | #set ($limit = 15) | ||
22 | #end | ||
23 | ##================== | ||
24 | ## Initialize the map that will store the JSON data. | ||
25 | ##================== | ||
26 | #set($results = []) | ||
27 | ##================== | ||
28 | ## Get the documents containing LexMosc words | ||
29 | ##================== | ||
30 | #set ($xwql = "where doc.object(Lexicon.LexiconEntryClass).headMosc not like '{{html}}{{/html}}'") | ||
31 | #foreach ($item in $services.query.xwql($xwql).execute()) | ||
32 | #set($tmpMap = {}) | ||
33 | #set($newDoc = $xwiki.getDocument($item)) | ||
34 | #set($dummy = $tmpMap.put("headBer", $newDoc.headBer)) | ||
35 | #set($dummy = $tmpMap.put("headMosc", $newDoc.headMosc)) | ||
36 | #set($dummy = $tmpMap.put("pageMosc", $newDoc.pageMosc)) | ||
37 | #set($dummy = $tmpMap.put("columnMosc", $newDoc.columnMosc)) | ||
38 | #set($dummy = $tmpMap.put("numberMosc", $newDoc.numberMosc)) | ||
39 | #set($dummy = $tmpMap.put("glossMosc", $newDoc.glossMosc)) | ||
40 | #set($dummy = $tmpMap.put("obsMosc", $newDoc.obsMosc)) | ||
41 | #set($dummy = $results.add($tmpMap)) | ||
42 | #end | ||
43 | ## ========== | ||
44 | ## JSON Generation | ||
45 | ## ========== | ||
46 | #set ($json = { | ||
47 | 'totalrows': $results.size(), | ||
48 | 'matchingtags': {}, | ||
49 | 'tags': [], | ||
50 | 'returnedrows': $results.size(), | ||
51 | 'offset': 1, | ||
52 | "reqNo": $numbertool.toNumber($request.reqNo), | ||
53 | 'rows': [] | ||
54 | }) | ||
55 | #foreach ($entry in $results) | ||
56 | #set ($discard = $json.rows.add({ | ||
57 | 'doc_viewable': true, | ||
58 | 'headBer': $entry.get('headBer'), | ||
59 | 'headMosc': $entry.get('headMosc'), | ||
60 | 'pageMosc': $entry.get('pageMosc'), | ||
61 | 'columnMosc': $entry.get('columnMosc'), | ||
62 | 'numberMosc': $entry.get('numberMosc'), | ||
63 | 'glossMosc': $entry.get("glossMosc"), | ||
64 | 'obsMosc': $entry.get("obsMosc") | ||
65 | })) | ||
66 | #end | ||
67 | $jsontool.serialize($json) | ||
68 | ###foreach($item in $results) | ||
69 | ##* $item.get('glossMosc') | ||
70 | ###end | ||
71 | {{/velocity}} |