Changes for page Tree Macro

Last modified by Ludovic Dubost on 2024/07/22 15:50

From version 2.1
edited by Ludovic Dubost
on 2015/09/01 11:46
Change comment: Install extension [org.xwiki.platform:xwiki-platform-tree-macro-7.1]
To version 3.1
edited by Ludovic Dubost
on 2015/11/28 14:58
Change comment: Install extension [org.xwiki.platform:xwiki-platform-tree-macro-7.3]

Summary

Details

XWiki.WikiMacroClass[0]
Macro code
... ... @@ -12,19 +12,31 @@
12 12   'data-responsive="true"'
13 13  ])
14 14  #if ("$!xcontext.macro.params.reference" != '')
15 + #set ($defaultResourceParams = {
16 + 'root': '',
17 + 'showRoot': false
18 + })
19 + #set ($resourceParams = {})
20 + #foreach ($entry in $defaultResourceParams.entrySet())
21 + #set ($value = $xcontext.macro.params.get($entry.key))
22 + #if ("$!value" != '' && $value != "$!entry.value")
23 + #set ($discard = $resourceParams.put($entry.key, $value))
24 + #end
25 + #end
15 15   #set ($reference = $xcontext.macro.params.reference)
16 16   #if ($reference.startsWith('path:'))
17 17   ## URL/Path reference
18 18   #set ($resourceURL = $reference.substring(5))
30 + #set ($resourceURL = "$resourceURL#if ($resourceURL.indexOf('?') < 0)?#else&#end$escapetool.url($resourceParams)")
19 19   #else
20 20   ## Document reference
21 21   #if ($reference.startsWith('doc:'))
22 22   #set ($reference = $reference.substring(4))
23 23   #end
24 - #set ($resourceURL = $xwiki.getURL($reference, 'get', 'outputSyntax=plain'))
36 + #set ($resourceParams.outputSyntax = 'plain')
37 + #set ($resourceURL = $xwiki.getURL($reference, 'get', $escapetool.url($resourceParams)))
25 25   #end
26 26   #set ($discard = $attributes.add("data-url='$resourceURL'"))
27 - #set ($discard = $attributes.add("data-root='$!escapetool.xml($xcontext.macro.params.root)'"))
28 28  #end
29 29  #set ($dragAndDrop = $xcontext.macro.params.dragAndDrop == 'true')
30 30  #set ($discard = $attributes.add("data-dragAndDrop='$dragAndDrop'"))
... ... @@ -44,7 +44,7 @@
44 44  #end
45 45  #set ($discard = $attributes.add("data-finder='$finder'"))
46 46  #set ($content = $xcontext.macro.content)
47 -#if ("$!content" == '' && $xcontext.action == 'edit')
59 +#if ("$!content" == '' && $xcontext.action == 'edit' && $editor == 'wysiwyg')
48 48   #set ($content = "$services.icon.render('chart_organisation') $services.localization.render('tree.macro.editModeWarning')")
49 49  #end
50 50  #set ($output = "(% $stringtool.join($attributes, ' ') %)((($!content)))")
XWiki.WikiMacroParameterClass[11]
Parameter default value
... ... @@ -1,0 +1,1 @@
1 +false
Parameter description
... ... @@ -1,0 +1,1 @@
1 +Whether to show the root node or not. The root node is not shown by default because it is usually implied from the context where the tree is displayed (e.g. a label before the tree). There are some cases though when you may want to display the root node: to be able to create a new node under the root.
Parameter mandatory
... ... @@ -1,0 +1,1 @@
1 +No
Parameter name
... ... @@ -1,0 +1,1 @@
1 +showRoot