Ä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
Änderungskommentar: Install extension [org.xwiki.platform:xwiki-platform-index-ui/16.4.0]
Auf Version 1.1
bearbeitet von xwikiadmin
am 2021/11/10 09:01
Änderungskommentar: Install extension [org.xwiki.platform:xwiki-platform-index-ui/13.9]

Zusammenfassung

Details

XWiki.WikiMacroClass[0]
Cached
... ... @@ -1,1 +1,0 @@
1 -Nein
Asynchrones Rendern
... ... @@ -1,1 +1,0 @@
1 -Nein
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 ($livedataId = $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 ($livedataId = "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}}
Standardkategorie
... ... @@ -1,0 +1,1 @@
1 +Content
Makrobeschreibung
... ... @@ -1,1 +1,1 @@
1 -Displays a list of documents in a Live Data
1 +Displays a list of documents in a Livetable
Default categories
... ... @@ -1,1 +1,0 @@
1 -Content
XWiki.WikiMacroParameterClass[3]
Parameter-Beschreibung
... ... @@ -1,1 +1,1 @@
1 -Live Data id
1 +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 default properties list is used ("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