Changes for page Treeview

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

From version 10.1
edited by Ludovic Dubost
on 2010/11/03 01:19
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

Page properties
Title
... ... @@ -1,1 +1,0 @@
1 -Treeview
Syntax
... ... @@ -1,1 +1,1 @@
1 -XWiki 2.0
1 +XWiki 1.0
Content
... ... @@ -1,2 +1,0 @@
1 -
2 -{{treeview page="Main.WebHome" maxdepth="1" /}}
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,96 +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, 0, 40))
25 - #set($page = $listtool.get($res, 0))
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
31 -#end
32 -#set($pages = $newpages)
33 -## PAGES: $pages
34 -#end
35 -#end ## end macro
36 -## adding $maxdepth level
37 -#if($maxdepth)
38 - #set($maxdepth = 3)
39 -#end
40 -#foreach($i in [1..$maxdepth])
41 - #if($velocityCount==1)
42 - #addlevel(true)
43 - #else
44 - #addlevel(false)
45 - #end
46 -#end
47 -#if(!$treeviewid)
48 -#set($treeviewid = 1)
49 -#else
50 -#set($treeviewid = 1 + $treeviewid)
51 -#end
52 -#if($treeviewid == 1)
53 -<style type="text/css">
54 -@import "$xwiki.getSkinFile("js/yui/treeview/assets/tree.css")";
55 -</style>
56 -<script type='text/javascript' src='$xwiki.getSkinFile("js/yui/yahoo/yahoo-min.js")'></script>
57 -<script type='text/javascript' src='$xwiki.getSkinFile("js/yui/treeview/treeview-min.js")'></script>
58 -#end
59 -#set($tviewid = $xwiki.getCounter("treeviewid"))
60 -<div id="treeview${tviewid}"></div>
61 -<script type="text/javascript">
62 - var tree${tviewid};
63 - var nodes${tviewid} = {};
64 - var nodeIndex${tviewid};
65 -
66 - function addTreeElement(tree, nodes, id, text, parent, url, expanded) {
67 - var parent2;
68 - if (parent=="")
69 - parent2 = tree.getRoot();
70 - else
71 - parent2 = nodes[parent];
72 - nodes[id] = new YAHOO.widget.TextNode(text, parent2, expanded);
73 - nodes[id].href = url;
74 - }
75 -
76 - function treeInit${tviewid}() {
77 - tree${tviewid} = new YAHOO.widget.TreeView("treeview${tviewid}");
78 - var tree = tree${tviewid};
79 - var nodes = nodes${tviewid};
80 - #foreach($item in $treelist)
81 - #if ($item.value.length() > 80)
82 - #set($title_item = $item.value.substring(0, 80))
83 - #else
84 - #set($title_item = $item.value)
85 - #end
86 - #set($title_item = $title_item.replaceAll("[\r\n]"," "))
87 - addTreeElement(tree, nodes, "$item.id", "$title_item", "$item.parent", "$item.url", $item.expanded)
88 - #end
89 - tree.draw();
90 - }
91 -
92 - // Init the tree
93 - treeInit${tviewid}();
94 -</script>
95 -{{/html}}
96 -{{/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