Changes for page Navigation

Last modified by Benjamin Fischer on 2025/06/03 16:18

From version 2.5
edited by Benjamin Fischer
on 2024/10/24 11:40
Change comment: There is no comment for this version
To version 8.1
edited by Benjamin Fischer
on 2024/11/20 13:56
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,33 +1,27 @@
1 1  {{velocity}}
2 -#set ($depth = 3)
3 -#set ($limit = 10)
4 -#macro (navItem $rootName $level)
2 +{{html wiki="true"}}
3 +#macro (navItem $rootName $depth=3 $childsMax=10 $childsMin=1 $level=1)
5 5   #set ($rootDoc = $xwiki.getDocument($rootName))
6 6   #set ($canView = $rootDoc.hasAccess("view"))
7 7   #if ($canView)
8 - #if ($rootDoc.getContent().isEmpty())
9 - $stringtool.repeat('*', $level) $rootDoc.plainTitle
10 - #else
11 - $stringtool.repeat('*', $level) {{html}}<a href="$rootDoc.getURL()">$escapetool.xml($rootDoc.plainTitle)</a>{{/html}}
12 - #end
13 - #if ($level < $depth)
14 - #foreach ($child in $rootDoc.getChildren($limit, 0))
15 - #navItem ($child $mathtool.add($level, 1))
16 - #end
17 - #end
7 + #set ($children = $rootDoc.getChildren())
8 + #set ($hasChilds = ($level < $depth) && !$children.empty())
9 + #set ($showChilds = ($childsMin < $children.size()) && ($children.size() < $childsMax))
10 + <li title="$children.size()"#if($showChilds) class="open"#end>#if($rootDoc.getContent().isEmpty()&&$hasChilds) $rootDoc.plainTitle #else [[$rootDoc.getFullName()]] #end#if($hasChilds)<ul>#foreach($child in $children)#navItem ($child, $depth, $chilsMax, $childsMin, $mathtool.add($level, 1))#end</ul>#end</li>
18 18   #end
19 19  #end
20 -* [[{{displayIcon name="home"/}} Home>>Main.WebHome]]
13 +* [[{{icon name="home"/}}Home>>Main.WebHome]]
21 21  * ----
22 -* [[{{displayIcon name="book"/}} Material collection>>Material collection.WebHome]]
23 -* [[{{displayIcon name="address-book"/}} People in ErUM>>People in ErUM.WebHome]]
15 +* [[{{icon name="book"/}}Material collection>>Material collection.WebHome]]
16 +* [[{{icon name="address-book"/}}People in ErUM-Data>>People in ErUM-Data.WebHome]]
24 24  * ----
25 -#navItem ("DIG-UM.WebHome", 1)
26 -#navItem ("Internal.WebHome", 1)
18 +#navItem ("DIG-UM.WebHome")
19 +#navItem ("Internal.WebHome")
27 27  #if ($hasEdit)
28 28  * ----
29 -* {{displayIcon name="question"/}} Help
22 +* {{icon name="question"/}} Help
30 30  ** [[XWiki Syntax Guide>>XWiki.XWikiSyntax]]
31 -** [[{{displayIcon name="font-awesome"/}} FontAwesome Icons>>https://fontawesome.com/v4/icons/]]
24 +** [[{{icon name="font-awesome"/}} FontAwesome Icons>>https://fontawesome.com/v4/icons/]]
32 32  #end
26 +{{/html}}
33 33  {{/velocity}}
XWiki.UIExtensionClass[0]
Cached
... ... @@ -1,0 +1,1 @@
1 +No
Asynchronous rendering
... ... @@ -1,0 +1,1 @@
1 +No
Executed Content
... ... @@ -1,6 +1,6 @@
1 1  {{velocity}}
2 2  #panelheader("Navigation")
3 -{{menu type="vertical collapsible open"
3 +{{menu type="vertical collapsible"
4 4  label="~N~a~v~i~g~a~t~i~o~n"}}{{include
5 5  reference="$uix.doc.documentReference" /}}
6 6  {{/menu}}
XWiki.StyleSheetExtension[0]
Caching policy
... ... @@ -1,0 +1,1 @@
1 +default
Code
... ... @@ -1,0 +1,18 @@
1 +.panel .menu.menu-vertical {
2 + li {
3 + padding: 0.05em;
4 + }
5 + ul {
6 + margin-top: 0.1em;
7 + }
8 + .xDropdown-header {
9 + white-space: nowrap;
10 + }
11 + .xDropdown > .xDropdown-header > .xDropdown-header-toggle::before {
12 + transform: rotate(-90deg);
13 + }
14 + .xDropdown.open > .xDropdown-header > .xDropdown-header-toggle::before {
15 + transform: rotate(0deg);
16 + }
17 +}
18 +
Content Type
... ... @@ -1,0 +1,1 @@
1 +LESS
Name
... ... @@ -1,0 +1,1 @@
1 +Fixup Menu Style
Parse content
... ... @@ -1,0 +1,1 @@
1 +No
Use this extension
... ... @@ -1,0 +1,1 @@
1 +always