Changes for page Treeview

Last modified by Ludovic Dubost on 2023/04/25 09:12

From version 8.1
edited by Ludovic Dubost
on 2010/11/03 01:18
Change comment: There is no comment for this version
To version 20.1
edited by Ludovic Dubost
on 2010/11/03 01:26
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,2 +1,6 @@
1 1  
2 -{{treeview page="Main.WebHome" maxdepth="1" /}}
2 +{{treeview page="Test.TestParent1" maxdepth="1" /}}
3 +
4 +{{treeview page="Test.TestParent1" maxdepth="2" /}}
5 +
6 +{{treeview page="Test.TestParent1" maxdepth="3" /}}
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,7 +1,7 @@
1 1  {{velocity}}
2 2  {{html clean=false}}
3 3  #set($rootpage = $xcontext.macro.params.page)
4 -#set($maxdepth = $xcontext.macro.params.maxdepth)
4 +#set($maxdepth = $util.parseInt($xcontext.macro.params.maxdepth))
5 5  #set($selectlist = $util.arrayList)
6 6  #set($treelist = $util.arrayList)
7 7  #set($ok = $treelist.add({"id" : $rootpage, "value" : $rootpage, "parent" : "", "url" : $xwiki.getURL($rootpage), "expanded" : true}))
... ... @@ -21,18 +21,20 @@
21 21   #end
22 22  #end
23 23  #set($sql = "select doc.fullName, doc.parent from XWikiDocument as doc where doc.parent in ('${parentlist}')")
24 -#foreach($res in $xwiki.search($sql))
24 +#foreach($res in $xwiki.search($sql, 40, 0))
25 25   #set($page = $listtool.get($res, 0))
26 - #set($parent = $listtool.get($res, 1))
27 - #set($ok = $treelist.add({"id" : $page, "value" : $page, "parent" : $parent, "url" : $xwiki.getURL($page), "expanded" : $expanded}))
28 - #set($ok = $newpages.add($page))
26 + #if($page!="")
27 + #set($parent = $listtool.get($res, 1))
28 + #set($ok = $treelist.add({"id" : $page, "value" : $page, "parent" : $parent, "url" : $xwiki.getURL($page), "expanded" : $expanded}))
29 + #set($ok = $newpages.add($page))
30 + #end
29 29  #end
30 30  #set($pages = $newpages)
31 -## PAGES: $pages
33 +##PAGES: $pages
32 32  #end
33 33  #end ## end macro
34 34  ## adding $maxdepth level
35 -#if($maxdepth)
37 +#if(!$maxdepth)
36 36   #set($maxdepth = 3)
37 37  #end
38 38  #foreach($i in [1..$maxdepth])
... ... @@ -69,6 +69,10 @@
69 69   parent2 = nodes[parent];
70 70   nodes[id] = new YAHOO.widget.TextNode(text, parent2, expanded);
71 71   nodes[id].href = url;
74 + if (expanded)
75 + nodes[i].expand()
76 + else
77 + nodes[i].collapse()
72 72   }
73 73  
74 74   function treeInit${tviewid}() {