Changes for page Menu Macro
Last modified by teamwire005 on 2025/05/06 07:37
From version 1.1
edited by teamwire-admin
on 2020/08/26 13:09
on 2020/08/26 13:09
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-menu-ui/11.10.8]
To version 9.1
edited by teamwire005
on 2024/10/01 09:14
on 2024/10/01 09:14
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-menu-ui/15.10.12]
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (2 modified, 1 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.teamwire -admin1 +XWiki.teamwire005 - Content
-
... ... @@ -3,9 +3,11 @@ 3 3 = Horizontal Menu = 4 4 5 5 {{velocity}} 6 +#set ($menuTemplateDoc = $xwiki.getDocument('MenuTemplate')) 6 6 {{code language="none"}} 7 7 {{menu type="horizontal fixedWidth"}} 8 -$xwiki.getDocument('MenuTemplate').content 9 +## No way to escape content in the code macro, so just remove {, see https://jira.xwiki.org/browse/XRENDERING-13. 10 +$menuTemplateDoc.content.replace('{', '') 9 9 {{/menu}} 10 10 {{/code}} 11 11 {{/velocity}}
- XWiki.StyleSheetExtension[1]
-
- Code
-
... ... @@ -126,7 +126,6 @@ 126 126 font-size: @font-size-base; 127 127 text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) 128 128 background-color: @dropdown-bg; 129 - border: 1px solid @dropdown-fallback-border; // IE8 fallback 130 130 border: 1px solid @dropdown-border; 131 131 border-radius: @border-radius-base; 132 132 .box-shadow(0 6px 12px rgba(0,0,0,.175)); ... ... @@ -134,13 +134,15 @@ 134 134 margin-top: 0; 135 135 border-top-right-radius: 0; 136 136 border-top-left-radius: 0; 136 + overflow-wrap: break-word; 137 + hyphens: auto; 137 137 li { 138 138 /* Text inside menu */ 139 139 color: @dropdown-link-color; 141 + padding: 3px 20px; 140 140 /* Links inside menu */ 141 141 a { 142 142 display: block; 143 - padding: 3px 20px; 144 144 clear: both; 145 145 font-weight: normal; 146 146 line-height: @line-height-base;
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -1,6 +1,7 @@ 1 1 {{velocity}} 2 2 #set ($id = $xcontext.macro.params.id) 3 3 #set ($type = $xcontext.macro.params.type) 4 +#set ($label = $xcontext.macro.params.label) 4 4 #set ($colorTheme = $xwiki.getUserPreference('colorTheme')) 5 5 #if ("$!colorTheme" != '') 6 6 ## Make sure we use an absolute reference (see XWIKI-9672) ... ... @@ -8,12 +8,24 @@ 8 8 #end 9 9 #set ($discard = $xwiki.ssx.use("$xcontext.macro.doc.prefixedFullName", {'colorTheme': $colorTheme})) 10 10 #set ($discard = $xwiki.jsx.use("$xcontext.macro.doc.prefixedFullName")) 12 +## Make sure the label is non-empty as otherwise the aria-label doesn't work. 13 +#if ("$!label" != '') 14 + #set ($label = $wikimacro.context.getXDOM().getIdGenerator().generateUniqueId('Menu','')) 15 +#end 11 11 #if($type.contains('horizontal')) 12 - (% role="navigation" class="menu-horizontal-toggle" %)((( 17 + ## Make sure the id is non-empty for horizontal menus as otherwise the toggle doesn't work. 18 + #if ("$!id" == '') 19 + #set ($id = $wikimacro.context.getXDOM().getIdGenerator().generateUniqueId("M", "GeneratedMenuId")) 20 + #end 21 + (% role='navigation' class='menu-horizontal-toggle' 22 + aria-label="${services.rendering.escape($label, 'xwiki/2.1')}" %)((( 13 13 (% class="navbar-header" %)((( 14 14 {{html}} 15 - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#$!{id}" aria-expanded="false"> 16 - <span class="sr-only"></span> 25 + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#$!{escapetool.xml($id)}" 26 + aria-expanded="false" aria-controls="$!{escapetool.xml($id)}"> 27 + <span class="sr-only"> 28 + $escapetool.xml($services.localization.render('menu.ui.horizontal.toggler.description')) 29 + </span> 17 17 <span class="icon-bar"></span> 18 18 <span class="icon-bar"></span> 19 19 <span class="icon-bar"></span> ... ... @@ -20,13 +20,14 @@ 20 20 </button> 21 21 {{/html}} 22 22 ))) 23 - (% id="${id}" class="menu menu-$!type collapse navbar-collapse" %)((( 24 - $xcontext.macro.content36 + (% id="$!{services.rendering.escape($id, 'xwiki/2.1')}" class="menu menu-${services.rendering.escape($!type, 'xwiki/2.1')} collapse navbar-collapse" role="navigation" %)((( 37 + {{wikimacrocontent/}} 25 25 ))) 26 26 ))) 27 27 #else 28 - (% #if ("$!id" != '') id="$id"#end class="menu menu-$!type" %)((( 29 - $xcontext.macro.content 41 + (% role="navigation" #if ("$!id" != '') id="${services.rendering.escape($id, 'xwiki/2.1')}"#end class="menu menu-${services.rendering.escape($!type, 'xwiki/2.1')}" 42 + aria-label="${services.rendering.escape($label, 'xwiki/2.1')}" %)((( 43 + {{wikimacrocontent/}} 30 30 ))) 31 31 #end 32 32 {{/velocity}} - Macro content type
-
... ... @@ -1,0 +1,1 @@ 1 +Wiki - Default categories
-
... ... @@ -1,0 +1,1 @@ 1 +Navigation - Default category
-
... ... @@ -1,1 +1,0 @@ 1 -Navigation
- XWiki.WikiMacroParameterClass[3]
-
- Parameter description
-
... ... @@ -1,0 +1,1 @@ 1 +Optional menu label used to describe the content of the menu. - Parameter mandatory
-
... ... @@ -1,0 +1,1 @@ 1 +No - Parameter name
-
... ... @@ -1,0 +1,1 @@ 1 +label