Modifications pour le document Liste des pages de l'espace

Modifié par Thomas Mortagne le 2023/04/25 09:57

Depuis la version 4.1
modifié par Thomas Mortagne
sur 2014/05/07 15:27
Commentaire de modification : Install extensoin [org.xwiki.platform:xwiki-platform-index-ui-5.4.4]
À la version 6.1
modifié par Thomas Mortagne
sur 2015/03/24 14:21
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-index-ui-6.4.2]

Résumé

Détails

Propriétés de la Page
Contenu
... ... @@ -3,5 +3,6 @@
3 3  $services.localization.render('platform.index.spaceIndexDescription', [$space])
4 4  
5 5  {{documents space="$space.replaceAll('["~]', '~$0')" id="spaceindex"/}}
6 +#set($docextras=[])
6 6  {{/velocity}}
7 7  
XWiki.WikiMacroClass[0]
Code de la macro
... ... @@ -1,6 +1,6 @@
1 1  {{velocity}}
2 - ## TODO: add me a parameter to specify the style, list or livetable
3 - ## get the number of documents to display
2 + ## 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 = $services.query.hql('where doc.space=? order by doc.creationDate desc').addFilter('currentlanguage').addFilter('hidden').setLimit($limit).bindValues([${spaceParam}]).execute())
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
Description de la macro
... ... @@ -1,1 +1,1 @@
1 -Lists the documents in a space.
1 +Lists documents in a space.
XWiki.WikiMacroParameterClass[2]
Valeur par défaut du paramètre
... ... @@ -1,0 +1,1 @@
1 +creationDate
Description du paramètre
... ... @@ -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
Paramètre obligatoire
... ... @@ -1,0 +1,1 @@
1 +Non
Nom du paramètre
... ... @@ -1,0 +1,1 @@
1 +sort