Changes for page Treeview

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

From version 4.1
edited by Ludovic Dubost
on 2010/11/03 01:15
Change comment: There is no comment for this version
To version 2.1
edited by Ludovic Dubost
on 2010/11/03 01:11
Change comment: There is no comment for this version

Summary

Details

XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,94 +1,0 @@
1 -{{velocity}}
2 -{{html clean=false}}
3 -#set($rootpage = $xcontext.macro.params.page)
4 -#set($maxdepth = $xcontext.macro.params.maxdepth)
5 -#set($selectlist = $util.arrayList)
6 -#set($treelist = $util.arrayList)
7 -#set($ok = $treelist.add({"id" : $rootpage, "value" : $rootpage, "parent" : "", "url" : $xwiki.getURL($rootpage), "expanded" : true}))
8 -#set($maxlevels = 3)
9 -#set($currentlevel = 1)
10 -#set($pages = $util.arrayList)
11 -#set($ok = $pages.add($rootpage))
12 -#macro(addlevel $expanded)
13 -#if($pages.size()>0)
14 -#set($newpages = $util.arrayList)
15 -#set($parentlist = "")
16 -#foreach($page in $pages)
17 - #if($velocityCount>1)
18 - #set($parentlist = "${parentlist}','${page}")
19 - #else
20 - #set($parentlist = $page)
21 - #end
22 -#end
23 -#set($sql = "select doc.fullName, doc.parent from XWikiDocument as doc where doc.parent in ('${parentlist}')")
24 -#foreach($res in $xwiki.search($sql))
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))
29 -#end
30 -#set($pages = $newpages)
31 -## PAGES: $pages
32 -#end
33 -#end ## end macro
34 -## adding $maxdepth level
35 -#if($maxdepth)
36 - #set($maxdepth = 3)
37 -#end
38 -#foreach($i in 1..$maxdepth)
39 - #if($velocityCount==1)
40 - #addlevel(true)
41 - #else
42 - #addlevel(false)
43 - #end
44 -#end
45 -#if(!$treeviewid)
46 -#set($treeviewid = 1)
47 -#else
48 -#set($treeviewid = 1 + $treeviewid)
49 -#end
50 -#if($treeviewid == 1)
51 -<style type="text/css">
52 -@import "$xwiki.getSkinFile("js/yui/treeview/assets/tree.css")";
53 -</style>
54 -<script type='text/javascript' src='$xwiki.getSkinFile("js/yui/yahoo/yahoo-min.js")'></script>
55 -<script type='text/javascript' src='$xwiki.getSkinFile("js/yui/treeview/treeview-min.js")'></script>
56 -#end
57 -#set($tviewid = $xwiki.getCounter("treeviewid"))
58 -<div id="treeview${tviewid}"></div>
59 -<script type="text/javascript">
60 - var tree${tviewid};
61 - var nodes${tviewid} = {};
62 - var nodeIndex${tviewid};
63 -
64 - function addTreeElement(tree, nodes, id, text, parent, url, expanded) {
65 - var parent2;
66 - if (parent=="")
67 - parent2 = tree.getRoot();
68 - else
69 - parent2 = nodes[parent];
70 - nodes[id] = new YAHOO.widget.TextNode(text, parent2, expanded);
71 - nodes[id].href = url;
72 - }
73 -
74 - function treeInit${tviewid}() {
75 - tree${tviewid} = new YAHOO.widget.TreeView("treeview${tviewid}");
76 - var tree = tree${tviewid};
77 - var nodes = nodes${tviewid};
78 - #foreach($item in $treelist)
79 - #if ($item.value.length() > 80)
80 - #set($title_item = $item.value.substring(0, 80))
81 - #else
82 - #set($title_item = $item.value)
83 - #end
84 - #set($title_item = $title_item.replaceAll("[\r\n]"," "))
85 - addTreeElement(tree, nodes, "$item.id", "$title_item", "$item.parent", "$item.url", $item.expanded)
86 - #end
87 - tree.draw();
88 - }
89 -
90 - // Init the tree
91 - treeInit${tviewid}();
92 -</script>
93 -{{/html}}
94 -{{/velocity}}
Macro content availability
... ... @@ -1,1 +1,0 @@
1 -No content
Default category
... ... @@ -1,1 +1,0 @@
1 -navigation
Macro description
... ... @@ -1,1 +1,0 @@
1 -Treeview
Macro id
... ... @@ -1,1 +1,0 @@
1 -treeview
Macro name
... ... @@ -1,1 +1,0 @@
1 -treeview
Supports inline mode
... ... @@ -1,1 +1,0 @@
1 -No
Macro visibility
... ... @@ -1,1 +1,0 @@
1 -Current Wiki
XWiki.WikiMacroParameterClass[0]
Parameter default value
... ... @@ -1,1 +1,0 @@
1 -Main.WebHome
Parameter description
... ... @@ -1,1 +1,0 @@
1 -Initial page of the tree
Parameter mandatory
... ... @@ -1,1 +1,0 @@
1 -Yes
Parameter name
... ... @@ -1,1 +1,0 @@
1 -page
XWiki.WikiMacroParameterClass[1]
Parameter default value
... ... @@ -1,1 +1,0 @@
1 -3
Parameter description
... ... @@ -1,1 +1,0 @@
1 -Max depth of the tree
Parameter mandatory
... ... @@ -1,1 +1,0 @@
1 -No
Parameter name
... ... @@ -1,1 +1,0 @@
1 -maxdepth