vendor/easycorp/easyadmin-bundle/src/Resources/views/menu.html.twig line 1

Open in your IDE?
  1. {# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #}
  2. <nav id="main-menu">
  3.     {% block main_menu_before %}{% endblock %}
  4.     <ul class="menu">
  5.         {% block main_menu %}
  6.             {% for menuItem in ea.mainMenu.items %}
  7.                 {% block menu_item %}
  8.                     {% set is_submenu_item_with_no_items = menuItem.type == constant('EasyCorp\\Bundle\\EasyAdminBundle\\Dto\\MenuItemDto::TYPE_SUBMENU') and not menuItem.hasSubItems %}
  9.                     {% if is_submenu_item_with_no_items %}
  10.                         {# this can happen when submenu items define permissions and the current user can't see any
  11.                            of the subitems; instead of only displaying the label of the empty submenu, don't display anything #}
  12.                     {% else %}
  13.                         <li class="{{ menuItem.isMenuSection ? 'menu-header' : 'menu-item' }} {{ menuItem.hasSubItems ? 'has-submenu' }} {{ menuItem.isSelected ? 'active' }} {{ menuItem.isExpanded ? 'expanded' }}">
  14.                             {{ _self.render_menu_item(menuItem) }}
  15.                             {% if menuItem.hasSubItems %}
  16.                                 <ul class="submenu">
  17.                                     {% for menuSubItem in menuItem.subItems %}
  18.                                         {% block menu_subitem %}
  19.                                             <li class="{{ menuSubItem.isMenuSection ? 'menu-header' : 'menu-item' }} {{ menuSubItem.isSelected ? 'active' }}">
  20.                                                 {{ _self.render_menu_item(menuSubItem) }}
  21.                                             </li>
  22.                                         {% endblock menu_subitem %}
  23.                                     {% endfor %}
  24.                                 </ul>
  25.                             {% endif %}
  26.                         </li>
  27.                     {% endif %}
  28.                 {% endblock menu_item %}
  29.             {% endfor %}
  30.         {% endblock main_menu %}
  31.     </ul>
  32.     {% block main_menu_after %}{% endblock %}
  33. </nav>
  34. {% macro render_html_attributes(item) %}
  35.     {% for attribute_name, attribute_value in item.htmlAttributes %}
  36.         {{ attribute_name }}="{{ attribute_value|e('html_attr') }}"
  37.     {% endfor %}
  38. {% endmacro %}
  39. {% macro render_menu_item(item) %}
  40.     {% if item.isMenuSection %}
  41.         <span class="menu-header-contents" {{ _self.render_html_attributes(item) }}>
  42.             {% if item.icon is not empty %}<i class="menu-icon fa-fw {{ item.icon }}"></i>{% endif %}
  43.             <span class="menu-item-label position-relative {{ item.cssClass }}">
  44.                 {{ item.label|trans|raw }}
  45.             </span>
  46.             {% if item.badge %}
  47.                 <span class="menu-item-badge rounded-pill badge {{ item.badge.cssClass }}" {{ _self.render_html_attributes(item.badge) }} style="{{ item.badge.htmlStyle }}">{{ item.badge.content }}</span>
  48.             {% endif %}
  49.         </span>
  50.     {% else %}
  51.         <a href="{{ item.linkUrl }}" class="menu-item-contents {{ item.hasSubItems ? 'submenu-toggle' }} {{ item.cssClass }}" target="{{ item.linkTarget }}" rel="{{ item.linkRel }}" referrerpolicy="origin-when-cross-origin" {{ _self.render_html_attributes(item) }}>
  52.             {% if item.icon is not empty %}<i class="menu-icon fa-fw {{ item.icon }}"></i>{% endif %}
  53.             <span class="menu-item-label position-relative">
  54.                 {{ item.label|trans|raw }}
  55.             </span>
  56.             {% if item.hasSubItems %}<i class="fa fa-fw fa-angle-right submenu-toggle-icon"></i>{% endif %}
  57.             {% if item.badge %}
  58.                 <span class="menu-item-badge rounded-pill badge {{ item.badge.cssClass }}" {{ _self.render_html_attributes(item.badge) }} style="{{ item.badge.htmlStyle }}">{{ item.badge.content }}</span>
  59.             {% endif %}
  60.         </a>
  61.     {% endif %}
  62. {% endmacro %}