Changes for page Treeview
Last modified by Ludovic Dubost on 2023/04/25 09:12
From version 3.1
edited by Ludovic Dubost
on 2010/11/03 01:11
on 2010/11/03 01:11
Change comment:
There is no comment for this version
To version 11.1
edited by Ludovic Dubost
on 2010/11/03 01:20
on 2010/11/03 01:20
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Objects (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,0 +1,1 @@ 1 +Treeview - Syntax
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki 1.01 +XWiki 2.0 - Content
-
... ... @@ -1,0 +1,2 @@ 1 + 2 +{{treeview page="Test.TestParent1" maxdepth="2" /}}
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -1,0 +1,96 @@ 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,0 +1,1 @@ 1 +No content - Default category
-
... ... @@ -1,0 +1,1 @@ 1 +navigation - Macro description
-
... ... @@ -1,0 +1,1 @@ 1 +Treeview - Macro id
-
... ... @@ -1,0 +1,1 @@ 1 +treeview - Macro name
-
... ... @@ -1,0 +1,1 @@ 1 +treeview - Supports inline mode
-
... ... @@ -1,0 +1,1 @@ 1 +No - Macro visibility
-
... ... @@ -1,0 +1,1 @@ 1 +Current Wiki
- XWiki.WikiMacroParameterClass[0]
-
- Parameter default value
-
... ... @@ -1,0 +1,1 @@ 1 +Main.WebHome - Parameter description
-
... ... @@ -1,0 +1,1 @@ 1 +Initial page of the tree - Parameter mandatory
-
... ... @@ -1,0 +1,1 @@ 1 +Yes - Parameter name
-
... ... @@ -1,0 +1,1 @@ 1 +page
- XWiki.WikiMacroParameterClass[1]
-
- Parameter default value
-
... ... @@ -1,0 +1,1 @@ 1 +3 - Parameter description
-
... ... @@ -1,0 +1,1 @@ 1 +Max depth of the tree - Parameter mandatory
-
... ... @@ -1,0 +1,1 @@ 1 +No - Parameter name
-
... ... @@ -1,0 +1,1 @@ 1 +maxdepth