Changes for page Space Index
Last modified by Simon Urli on 2024/04/09 11:23
To version 13.1
edited by Vincent Massol
on 2014/10/21 14:37
on 2014/10/21 14:37
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-index-ui-6.2.2]
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 1 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. mflorea1 +xwiki:XWiki.VincentMassol
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -1,6 +1,6 @@ 1 1 {{velocity}} 2 - ## TODO: add mea parameter to specify the style, list or livetable3 - ## get the number of documents to display2 + ## TODO: add a parameter to specify the style, list or livetable 3 + ## Get the number of documents to display 4 4 #set ($limit = $xcontext.macro.params.get('count')) 5 5 #if ("$!limit" == '') 6 6 ## 100 documents displayed by default if no value is specified ... ... @@ -7,13 +7,26 @@ 7 7 #set ($limit = '100') 8 8 #end 9 9 #set ($limit = $mathtool.toInteger($limit)) 10 - ## get the space to display the documents for 10 + ## Compute the XWQL portion related to sorting, based on the passed "sort" parameter 11 + ## Valid values are "creationDate", "modificationDate" and "docName" 12 + #set ($sort = $xcontext.macro.params.get('sort')) 13 + #if ("$sort" == 'docName') 14 + ## Sorting alphabetically 15 + #set ($sortQuery = 'doc.name asc') 16 + #elseif ("$sort" == 'modificationDate') 17 + ## Sorting by update date 18 + #set ($sortQuery = 'doc.contentUpdateDate desc') 19 + #else 20 + ## Sort by creation date by default 21 + #set ($sortQuery = 'doc.creationDate desc') 22 + #end 23 + ## Get the space to display the documents for 11 11 #set ($spaceParam = $doc.space) 12 12 #set ($spaceMacroParam = $xcontext.macro.params.get('space')) 13 13 #if ("$!spaceMacroParam" != '') 14 14 #set ($spaceParam = $spaceMacroParam) 15 15 #end 16 - #set ($docNames = $ xwiki.searchDocuments('where doc.space=? order bydoc.creationDatesc',$limit, 0,[${spaceParam}]))29 + #set ($docNames = $services.query.hql("where doc.space=? order by $sortQuery").addFilter('currentlanguage').addFilter('hidden').setLimit($limit).bindValues([${spaceParam}]).execute()) 17 17 {{html}} 18 18 #displayDocumentList($docNames false []) 19 19 ## Note: we pass an empty blacklistedSpaces list since we are used as a space dashboard, not a global dashboard ... ... @@ -20,7 +20,7 @@ 20 20 {{/html}} 21 21 22 22 #if ($docNames.size() == $limit) 23 - #set ($docCount = $ xwiki.countDocuments('where doc.space=?',[${spaceParam}]))36 + #set ($docCount = $services.query.xwql('where doc.space = :space').bindValue('space', $spaceParam).addFilter('unique').count()) 24 24 #set ($remaining = $mathtool.sub($docCount, $limit)) 25 25 #if ($remaining > 0) 26 26 (% class="documentListMore" %) ((( - Macro description
-
... ... @@ -1,1 +1,1 @@ 1 -Lists thedocuments in a space.1 +Lists documents in a space.
- XWiki.WikiMacroParameterClass[2]
-
- Parameter default value
-
... ... @@ -1,0 +1,1 @@ 1 +creationDate - Parameter description
-
... ... @@ -1,0 +1,5 @@ 1 +Optional parameter to choose the sorting of the list of document. 2 +Value must be: 3 +- creationDate sort by creation date (default) 4 +- modificationDate sort by update date 5 +- or docName sort alphabetically - Parameter mandatory
-
... ... @@ -1,0 +1,1 @@ 1 +No - Parameter name
-
... ... @@ -1,0 +1,1 @@ 1 +sort