Changes for page Documents Macro
Last modified by Ludovic Dubost on 2024/07/22 15:50
From version 16.1
edited by Ludovic Dubost
on 2024/07/22 15:50
on 2024/07/22 15:50
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-index-ui/16.5.0]
To version 11.1
edited by Ludovic Dubost
on 2019/08/02 10:59
on 2019/08/02 10:59
Change comment:
Migrated property [contentJavaType] from class [XWiki.WikiMacroClass]
Summary
-
Objects (3 modified, 0 added, 1 removed)
Details
- XWiki.WikiMacroClass[0]
-
- Cached
-
... ... @@ -1,1 +1,0 @@ 1 -No - Asynchronous rendering
-
... ... @@ -1,1 +1,0 @@ 1 -No - Macro code
-
... ... @@ -1,59 +1,53 @@ 1 1 {{velocity}} 2 -#if ("$!xcontext.macro.params.columns" != "") 3 - #set ($ properties = [])2 +#if ("$!xcontext.macro.params.columns" != "") 3 + #set ($collist = []) 4 4 #foreach ($colname in $xcontext.macro.params.columns.split(',')) 5 - #set ($discard = $ properties.add($colname.trim()))5 + #set ($discard = $collist.add($colname.trim())) 6 6 #end 7 7 #else 8 - #set properties = ['doc.title', 'doc.location', 'doc.date', 'doc.author'])8 + #set($collist = ['doc.title', 'doc.location', 'doc.date', 'doc.author']) 9 9 #end 10 -#set ($sourceParameters = { 11 - 'translationPrefix' : 'platform.index.' 10 +#set($colprops = { 11 + 'doc.title' : { 'size' : 30, 'link' : 'view' }, 12 + 'doc.location' : { 'html': true }, 13 + 'doc.fullName' : { 'size' : 30, 'link' : 'view' }, 14 + 'doc.name' : { 'size' : 30, 'link' : 'view' }, 15 + 'doc.space' : { 'link' : 'space' }, 16 + 'doc.author' : { 'link' : 'author' } 12 12 }) 13 -#if ("$!xcontext.macro.params.space" != "") 14 - #set ($discard = $sourceParameters.put('space', $xcontext.macro.params.space)) 18 +#set($options = { 19 + 'translationPrefix' : 'platform.index.', 20 + 'rowCount' : $xcontext.macro.params.count, 21 + 'description' : 'This table lists documents found on this wiki based on passed criteria. The columns can be sorted and some can be filtered.' 22 +}) 23 +#if ("$!xcontext.macro.params.space" != "") 24 + #set ($extraParams = "&space=$escapetool.url($xcontext.macro.params.space)") 15 15 #end 16 -#if ("$!xcontext.macro.params.location" != "") 17 - #set ($ discard= $sourceParameters.put('location',$xcontext.macro.params.location))26 +#if ("$!xcontext.macro.params.location" != "") 27 + #set ($extraParams = "$!{extraParams}&location=$escapetool.url($xcontext.macro.params.location)") 18 18 #end 19 -#if ("$!xcontext.macro.params.parent" != "") 20 - #set ($ discard= $sourceParameters.put('parent',$xcontext.macro.params.parent))29 +#if ("$!xcontext.macro.params.parent" != "") 30 + #set ($extraParams = "$!{extraParams}&parent=$escapetool.url($xcontext.macro.params.parent)") 21 21 #end 22 -#set ($propertyDescriptors = []) 23 -#if ("$!services.like" != "") 24 - ## We can't make it sortable or filterable right now since it's not stored in DB. 25 - #set ($discard = $propertyDescriptors.add({ 'id': '_likes', 'sortable': false, 'filterable': false })) 26 - #set ($discard = $properties.add('_likes')) 32 +#if ("$!extraParams" != "") 33 + #set($discard = $options.put('extraParams', $extraParams)) 27 27 #end 28 28 #if(!$isGuest && $xcontext.macro.params.actions == "true") 29 - #set ($discard = $propertyDescriptors.add({ 'id': '_actions', 'displayer': { 'id': 'actions', 'actions': ['copy', 'rename', 'rights', 'delete'] }})) 30 - #set ($discard = $properties.add('_actions')) 36 + #set($discard = $collist.add('_actions')) 37 + #set($discard = $colprops.put('_actions', { 38 + 'actions': ['copy', 'rename', 'rights', 'delete'], 39 + 'filterable': false, 40 + 'sortable': false 41 + })) 31 31 #end 32 -#set ($liveDataConfig = {'meta': {'propertyDescriptors': $propertyDescriptors}}) 43 +#if ($collist.contains('doc.location')) 44 + #set ($discard = $options.put('selectedColumn','doc.location')) 45 +#end 33 33 #if ("$!xcontext.macro.params.id" != "") 34 - #set ($live dataId = $xcontext.macro.params.id)47 + #set ($livetableId = $xcontext.macro.params.id) 35 35 #else 36 36 ## TODO: Improve this since we could have several livetables on the same page with same ids 37 - #set ($live dataId = "documents-$mathtool.random(1, 1000)")50 + #set ($livetableId = "documents-$mathtool.random(1, 1000)") 38 38 #end 39 - 40 -#set ($livedataId = $services.rendering.escape($livedataId, 'xwiki/2.1')) 41 -#set ($description = '') 42 -#if ("$!xcontext.macro.params.description" != '') 43 - #set ($description = $services.rendering.escape($xcontext.macro.params.description, 'xwiki/2.1')) 44 -#end 45 -#set ($limit = '') 46 -#if ("$!xcontext.macro.params.count" != '') 47 - #set ($limit = $services.rendering.escape($xcontext.macro.params.count, 'xwiki/2.1')) 48 -#end 49 -#set ($propertiesStr = $services.rendering.escape($stringtool.join($properties, ','), 'xwiki/2.1')) 50 -{{liveData 51 - id="$livedataId" 52 - properties="$propertiesStr" 53 - source="liveTable" 54 - sourceParameters="$escapetool.url($sourceParameters)" 55 - #if ($description != '')description="$description"#end 56 - #if ($properties.contains('doc.location'))sort="doc.location"#end 57 - #if ($limit != '')limit="$limit"#end 58 -}}$jsontool.serialize($liveDataConfig){{/liveData}} 52 +#livetable($livetableId $collist $colprops $options) 59 59 {{/velocity}} - Default category
-
... ... @@ -1,0 +1,1 @@ 1 +Content - Macro description
-
... ... @@ -1,1 +1,1 @@ 1 -Displays a list of documents in a Live Data1 +Displays a list of documents in a Livetable - Default categories
-
... ... @@ -1,1 +1,0 @@ 1 -Content
- XWiki.WikiMacroParameterClass[3]
-
- Parameter description
-
... ... @@ -1,1 +1,1 @@ 1 -Live Data id1 +Livetable id
- XWiki.WikiMacroParameterClass[5]
-
- Parameter description
-
... ... @@ -1,1 +1,1 @@ 1 -Specifies the list of properties (e.g.,"doc.name,doc.space"). If not specified then the defaultpropertieslistisused ("doc.name,doc.space,doc.date,doc.author")1 +Specifies the list of columns to display (e.g. "doc.name,doc.space"). If not specified then the default column list of used ("doc.name,doc.space,doc.date,doc.author")
- XWiki.WikiMacroParameterClass[7]
-
- Parameter name
-
... ... @@ -1,1 +1,0 @@ 1 -description - Parameter description
-
... ... @@ -1,1 +1,0 @@ 1 -Provide a description of the list of documents - Parameter mandatory
-
... ... @@ -1,1 +1,0 @@ 1 -No