Änderungen von Dokument Documents Macro
Zuletzt geändert von xwikiadmin am 2024/06/24 14:16
Von Version 5.1
bearbeitet von xwikiadmin
am 2024/06/24 14:16
am 2024/06/24 14:16
Änderungskommentar:
Install extension [org.xwiki.platform:xwiki-platform-index-ui/16.4.0]
Auf Version 4.1
bearbeitet von xwikiadmin
am 2023/10/26 09:24
am 2023/10/26 09:24
Änderungskommentar:
Migrated property [type] from class [XWiki.WikiMacroParameterClass]
Zusammenfassung
-
Objekte (3 geändert, 0 hinzugefügt, 1 gelöscht)
Details
- XWiki.WikiMacroClass[0]
-
- Makro-Code
-
... ... @@ -1,59 +1,61 @@ 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 = []) 32 +#if ("$!extraParams" != "") 33 + #set($discard = $options.put('extraParams', $extraParams)) 34 +#end 35 +#if(!$isGuest && $xcontext.macro.params.actions == "true") 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 + })) 42 +#end 23 23 #if ("$!services.like" != "") 44 + #set($discard = $collist.add('_likes')) 24 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')) 46 + #set($discard = $colprops.put('_likes', { 47 + 'filterable': false, 48 + 'sortable': false 49 + })) 27 27 #end 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')) 51 +#if ($collist.contains('doc.location')) 52 + #set ($discard = $options.put('selectedColumn','doc.location')) 31 31 #end 32 -#set ($liveDataConfig = {'meta': {'propertyDescriptors': $propertyDescriptors}}) 33 33 #if ("$!xcontext.macro.params.id" != "") 34 - #set ($live dataId = $xcontext.macro.params.id)55 + #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)")58 + #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}} 60 +#livetable($livetableId $collist $colprops $options) 59 59 {{/velocity}} - Makrobeschreibung
-
... ... @@ -1,1 +1,1 @@ 1 -Displays a list of documents in a Live Data1 +Displays a list of documents in a Livetable
- XWiki.WikiMacroParameterClass[3]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,1 @@ 1 -Live Data id1 +Livetable id
- XWiki.WikiMacroParameterClass[5]
-
- Parameter-Beschreibung
-
... ... @@ -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-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Provide a description of the list of documents - Parameter verpflichtend
-
... ... @@ -1,1 +1,0 @@ 1 -Nein