diff --git a/wiki/src/main/resources/XWiki/Treeview b/wiki/src/main/resources/XWiki/Treeview index 9bff78108..9660efdcf 100644 --- a/wiki/src/main/resources/XWiki/Treeview +++ b/wiki/src/main/resources/XWiki/Treeview @@ -53,62 +53,62 @@ -## Note: This implementation doesn't scale for large wikis. In order to support -## large wikis we need to dynamically load node data when nodes are expanded -## instead of loading all nodes at once. - -<style type="text/css"> -@import "/xwiki/yui/treeview/assets/tree.css"; -</style> -<script type='text/javascript' src='/xwiki/yui/yahoo/yahoo-min.js' ></script> -<script type='text/javascript' src='/xwiki/yui/treeview/treeview-min.js' ></script> -<script type='text/javascript' src='/xwiki/yui/treeview/checknode.js' ></script> - -<div id="treeview"></div> - -<script type="text/javascript"> - function treeInit() - { - var tree = new YAHOO.widget.TreeView("treeview"); - var root = tree.getRoot(); - var nodeObject; - #set ($hiddenSpaces = ["XWiki", "Admin", "Panels"]) - #set ($hiddenPages = ["Main.WebRss", "Main.WebSearch", "Main.BlogRss", "Blog.Macros", "Main.TagsRss", "Main.RegisterNewUserAction", "Main.SpaceIndex", "Blog.Category"]) - #set ($blackListedPages = ["WebPreferences"]) - #macro(addNodeChildren $space $parent $nodeName) - #foreach ($page in $xwiki.searchDocuments("doc.parent = '$parent' order by doc.name")) - #if (!$hiddenPages.contains($page) || ($hiddenPages.contains($page) && $xwiki.hasAdminRights())) - #set ($index = $page.indexOf(".") + 1) - #set($pageName = $page.substring($index)) - #if (!$blackListedPages.contains($pageName) || ($blackListedPages.contains($pageName) && $xwiki.hasAdminRights())) - nodeObject = { label: "$pageName", href:"$xwiki.getURL("${page}")" }; - var ${nodeName}1 = new YAHOO.widget.TextNode(nodeObject, $nodeName, false); - #addNodeChildren($space $page "${nodeName}1") - #end - #end - #end - #end - // Add spaces as top level nodes - #foreach ($space in $xwiki.spaces) - #if (!$hiddenSpaces.contains($space) || ($hiddenSpaces.contains($space) and $xwiki.hasAdminRights())) - nodeObject = { label: "$space", href:"$xwiki.getURL("${space}.WebHome")" }; - var spaceNode = new YAHOO.widget.MenuNode(nodeObject, root, false); - #foreach ($page in $xwiki.searchDocuments("doc.web = '$space' and (doc.parent = '${space}.WebHome' or doc.parent = '' or doc.parent is null or doc.parent not like '${space}%') order by doc.name")) - #if (($page != "${space}.WebHome") && (!$hiddenPages.contains($page) || ($hiddenPages.contains($page) && $xwiki.hasAdminRights()))) - #set ($index = $page.indexOf(".") + 1) - #set($pageName = $page.substring($index)) - #if (!$blackListedPages.contains($pageName) || ($blackListedPages.contains($pageName) && $xwiki.hasAdminRights())) - nodeObject = { label: "$pageName", href:"$xwiki.getURL("${page}")" }; - var node = new YAHOO.widget.TextNode(nodeObject, spaceNode, false); - #addNodeChildren($space $page "node") - #end - #end - #end - #end - #end - tree.draw(); - } - - treeInit(); -</script> +## Note: This implementation doesn't scale for large wikis. In order to support +## large wikis we need to dynamically load node data when nodes are expanded +## instead of loading all nodes at once. + +<style type="text/css"> +@import "/xwiki/yui/treeview/assets/tree.css"; +</style> +<script type='text/javascript' src='/xwiki/yui/yahoo/yahoo-min.js' ></script> +<script type='text/javascript' src='/xwiki/yui/treeview/treeview-min.js' ></script> +<script type='text/javascript' src='/xwiki/yui/treeview/checknode.js' ></script> + +<div id="treeview"></div> + +<script type="text/javascript"> + function treeInit() + { + var tree = new YAHOO.widget.TreeView("treeview"); + var root = tree.getRoot(); + var nodeObject; + #set ($hiddenSpaces = ["XWiki", "Admin", "Panels"]) + #set ($hiddenPages = ["Main.WebRss", "Main.WebSearch", "Main.BlogRss", "Blog.Macros", "Main.TagsRss", "Main.RegisterNewUserAction", "Main.SpaceIndex", "Blog.Category"]) + #set ($blackListedPages = ["WebPreferences"]) + #macro(addNodeChildren $space $parent $nodeName) + #foreach ($page in $xwiki.searchDocuments("doc.parent = '$parent' order by doc.name")) + #if (!$hiddenPages.contains($page) || ($hiddenPages.contains($page) && $xwiki.hasAdminRights())) + #set ($index = $page.indexOf(".") + 1) + #set($pageName = $page.substring($index)) + #if (!$blackListedPages.contains($pageName) || ($blackListedPages.contains($pageName) && $xwiki.hasAdminRights())) + nodeObject = { label: "$pageName", href:"$xwiki.getURL("${page}")" }; + var ${nodeName}1 = new YAHOO.widget.TextNode(nodeObject, $nodeName, false); + #addNodeChildren($space $page "${nodeName}1") + #end + #end + #end + #end + // Add spaces as top level nodes + #foreach ($space in $xwiki.spaces) + #if (!$hiddenSpaces.contains($space) || ($hiddenSpaces.contains($space) and $xwiki.hasAdminRights())) + nodeObject = { label: "$space", href:"$xwiki.getURL("${space}.WebHome")" }; + var spaceNode = new YAHOO.widget.MenuNode(nodeObject, root, false); + #foreach ($page in $xwiki.searchDocuments("doc.web = '$space' and (doc.parent = '${space}.WebHome' or doc.parent = '' or doc.parent is null or doc.parent not like '${space}%') order by doc.name")) + #if (($page != "${space}.WebHome") && (!$hiddenPages.contains($page) || ($hiddenPages.contains($page) && $xwiki.hasAdminRights()))) + #set ($index = $page.indexOf(".") + 1) + #set($pageName = $page.substring($index)) + #if (!$blackListedPages.contains($pageName) || ($blackListedPages.contains($pageName) && $xwiki.hasAdminRights())) + nodeObject = { label: "$pageName", href:"$xwiki.getURL("${page}")" }; + var node = new YAHOO.widget.TextNode(nodeObject, spaceNode, false); + #addNodeChildren($space $page "node") + #end + #end + #end + #end + #end + tree.draw(); + } + + treeInit(); +</script> \ No newline at end of file