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 4.1
edited by Ludovic Dubost
on 2010/11/03 01:15
on 2010/11/03 01:15
Change comment:
There is no comment for this version
Summary
-
Objects (3 modified, 0 added, 0 removed)
Details
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -1,0 +1,94 @@ 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,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