Changes for page Menu Macro
                  Last modified by teamwire005 on 2025/07/01 06:47
              
      
      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  11.1 
    
    
              edited by teamwire005
        
on 2025/07/01 06:47
     on 2025/07/01 06:47
      Change comment:
              Migrated property [executionIsolated] from class [XWiki.WikiMacroClass]
          
         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}} 
- Default category
-   ... ... @@ -1,1 +1,0 @@ 1 -Navigation 
- Default categories
-   ... ... @@ -1,0 +1,1 @@ 1 +Navigation 
- Macro content type
-   ... ... @@ -1,0 +1,1 @@ 1 +Wiki 
 
- XWiki.WikiMacroParameterClass[3]
-   - Parameter name
-   ... ... @@ -1,0 +1,1 @@ 1 +label 
- 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 
 
 
  