Skip to content
Snippets Groups Projects
Commit 180f1b9f authored by Eric Bremner's avatar Eric Bremner
Browse files

ISTWCMS-4199: fixing menu stuff

parent 8671cc09
No related branches found
No related tags found
1 merge request!9Istwcms 4199 theme menus
<div class="uw-header-menu" aria-label="">
{% include "@components/menu/menu--horizontal/menu--horizontal.twig" with {
'items': items,
'is_demo': true
}%}
</div>
{% set submenu = [] %}
{% set submenu = submenu|merge
(
{
'title': 'Admissions',
'url': 'https://uwaterloo.ca/admissions/',
'in_active_trail': false
}
)
%}
{% set submenu = submenu|merge
(
{
'title': 'About Waterloo',
'url': 'https://uwaterloo.ca/about/',
'in_active_trail': false
}
)
%}
{% set submenu = submenu|merge
(
{
'title': 'Faculties & Academics',
'url': 'https://uwaterloo.ca/faculties-academics/',
'in_active_trail': false
}
)
%}
{% set submenu = submenu|merge
(
{
'title': 'Offices & Services',
'url': 'https://uwaterloo.ca/offices-services/',
'in_active_trail': false
}
)
%}
{% set submenu = submenu|merge
(
{
'title': 'Support Waterloo',
'url': 'https://uwaterloo.ca/support/',
'in_active_trail': false
},
)
%}
{% set items = [] %}
{% set items = items|merge({'title': 'Jump to', 'url': '#', 'in_active_trail': 'false', 'submenu': submenu}) %}
<div class="uw-header-menu" aria-label="">
{% include "@components/menu/menu--horizontal/menu--horizontal.twig" with {
'items': items,
'is_demo': true
}%}
</div>
{% import _self as menus %}
{{ menus.menu_links(items, attributes, 0, menu_name, menu_class, item_class, link_class) }}
{% macro menu_links(items, attributes, menu_level, menu_name, menu_class, item_class, link_class) %}
{% import _self as menus %}
{% if items %}
{% if menu_level == 0 %}
{# double quotes around class using menu_name needed for interpolation #}
{% set additional_classes = [
'menu',
"menu--#{menu_name}"
] %}
{% if menu_class %}
{% set additional_classes = additional_classes|merge(menu_class) %}
{% endif %}
{% set additional_attributes = {
'class': additional_classes
} %}
<ul {{ add_attributes(additional_attributes) }}>
{% else %}
<ul class="menu menu--subnav">
{% endif %}
{% for item in items %}
{% set item_classes = ['menu--item'] %}
{% set link_classes = ['menu--link'] %}
{#{% if item.below %}#}
{#{% set item_classes = item_classes|merge(['has-subnav']) %}#}
{#{% set link_classes = link_classes|merge(['has-subnav']) %}#}
{#{% endif %}#}
{% if item.active_trail %}
{% set item_classes = item_classes|merge(['is-active-trail']) %}
{% set link_classes = link_classes|merge(['is-active-trail']) %}
{% endif %}
{% if item.is_collapsed %}
{% set item_classes = item_classes|merge(['is-collapsed']) %}
{% set link_classes = link_classes|merge(['is-collapsed']) %}
{% endif %}
{% if item.is_expanded %}
{% set item_classes = item_classes|merge(['is-expanded']) %}
{% set link_classes = link_classes|merge(['is-expanded']) %}
{% endif %}
{% if item['original_link'].options.attributes.class %}
{% set link_classes = link_classes|merge([item['original_link'].options.attributes.class]) %}
{% endif %}
{% if item_class %}
{% set item_classes = item_classes|merge(item_class) %}
{% endif %}
{% if link_class %}
{% set link_classes = link_classes|merge(link_class) %}
{% endif %}
{% if item.below %}
{% if menu_level == 0 %}
{% set item_classes = item_classes|merge(['has-submenu']) %}
{% elseif menu_level <= 2 %}
{% set item_classes = item_classes|merge(['has-children']) %}
{% endif %}
{% elseif item.submenu %}
{% if menu_level == 0 %}
{% set item_classes = item_classes|merge(['has-submenu']) %}
{% set link_classes = ['menu--link__sub'] %}
{% elseif menu_level <= 2 %}
{% set item_classes = item_classes|merge(['has-children']) %}
{% endif %}
{% endif %}
{% set additional_item_attributes = {
'class': item_classes
} %}
{% set link_attributes = {
'class': link_classes
} %}
<li {{ add_attributes(additional_item_attributes) }}>
<a
{% if item.submenu %}
tabindex="0"
aria-haspopup="true"
role="button"
{% else %}
href="{{ item.url }}"
class="menu--link__only"
{% endif %}
{{ add_attributes(link_attributes) }}
>
<span class="link-text">
{% if item.title %}
{{ item.title }}
{% elseif item.text %}
{{ item.text }}
{% endif %}
</span>
</a>
{% if item.below %}
{{ menus.menu_links(item.below, attributes, menu_level + 1) }}
{% elseif item.submenu %}
{{ menus.menu_links(item.submenu, attributes, menu_level + 1) }}
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{% endmacro %}
{% import _self as menus %}
{{ menus.menu_links(items, attributes, 0, menu_name, menu_class, item_class, link_class) }}
{% macro menu_links(items, attributes, menu_level, menu_name, menu_class, item_class, link_class, parent) %}
{% import _self as menus %}
{% if items %}
{% if menu_level == 0 %}
{# double quotes around class using menu_name needed for interpolation #}
{% set additional_classes = [
'menu',
"menu--#{menu_name}"
] %}
{% if menu_class %}
{% set additional_classes = additional_classes|merge(menu_class) %}
{% endif %}
{% set additional_attributes = {
'class': additional_classes
} %}
<ul {{ add_attributes(additional_attributes) }}>
{% else %}
<ul class="menu menu--subnav">
{% endif %}
{% for item in items %}
{% set item_classes = ['menu--item'] %}
{% set link_classes = ['menu--link'] %}
{#{% if item.below %}#}
{#{% set item_classes = item_classes|merge(['has-subnav']) %}#}
{#{% set link_classes = link_classes|merge(['has-subnav']) %}#}
{#{% endif %}#}
{% if item.active_trail %}
{% set item_classes = item_classes|merge(['is-active-trail']) %}
{% set link_classes = link_classes|merge(['is-active-trail']) %}
{% endif %}
{% if item.is_collapsed %}
{% set item_classes = item_classes|merge(['is-collapsed']) %}
{% set link_classes = link_classes|merge(['is-collapsed']) %}
{% endif %}
{% if item.is_expanded %}
{% set item_classes = item_classes|merge(['is-expanded']) %}
{% set link_classes = link_classes|merge(['is-expanded']) %}
{% endif %}
{% if item['original_link'].options.attributes.class %}
{% set link_classes = link_classes|merge([item['original_link'].options.attributes.class]) %}
{% endif %}
{% if item_class %}
{% set item_classes = item_classes|merge(item_class) %}
{% endif %}
{% if link_class %}
{% set link_classes = link_classes|merge(link_class) %}
{% endif %}
{% if item.below %}
{% if menu_level == 0 %}
{% set item_classes = item_classes|merge(['has-submenu']) %}
{% elseif menu_level <= 2 %}
{% set item_classes = item_classes|merge(['has-children']) %}
{% endif %}
{% elseif item.submenu %}
{% if menu_level == 0 %}
{% set item_classes = item_classes|merge(['has-submenu']) %}
{% set link_classes = ['menu--link__sub'] %}
{% elseif menu_level <= 2 %}
{% set item_classes = item_classes|merge(['has-children']) %}
{% endif %}
{% endif %}
{% set additional_item_attributes = {
'class': item_classes
} %}
{% set link_attributes = {
'class': link_classes
} %}
{% if menu_level == 1 and parent %}
Parent
{% endif %}
<li {{ add_attributes(additional_item_attributes) }}>
<a
{% if item.submenu %}
tabindex="0"
aria-haspopup="true"
role="button"
{% else %}
href="{{ item.url }}"
class="menu--link__only"
{% endif %}
{{ add_attributes(link_attributes) }}
>
<span class="link-text">
{% if item.title %}
{{ item.title }}
{% elseif item.text %}
{{ item.text }}
{% endif %}
</span>
</a>
{% if item.below %}
{{ menus.menu_links(item.below, attributes, menu_level + 1) }}
{% elseif item.submenu %}
{% if menu_level == 0 %}
{{ menus.menu_links(item.submenu, attributes, menu_level + 1, '', '', '', '', item) }}
{% else %}
{{ menus.menu_links(item.submenu, attributes, menu_level + 1) }}
{% endif %}
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{% endmacro %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment