From 4a0c271393c95059ebaab6f0459dc7016ee5872e Mon Sep 17 00:00:00 2001
From: ebremner <ebremner@uwaterloo.ca>
Date: Thu, 3 Dec 2020 10:44:02 -0500
Subject: [PATCH] ISTWCMS-4199: fixing printing of parent item in menu level 1

---
 source/_patterns/04-components/menu/menu.twig | 158 +++++++++++-------
 1 file changed, 93 insertions(+), 65 deletions(-)

diff --git a/source/_patterns/04-components/menu/menu.twig b/source/_patterns/04-components/menu/menu.twig
index c6ed4b31..047f996e 100644
--- a/source/_patterns/04-components/menu/menu.twig
+++ b/source/_patterns/04-components/menu/menu.twig
@@ -1,20 +1,27 @@
 {% import _self as menus %}
 
+{% set menu_parent_hide = false %}
+
 {{ 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
       } %}
@@ -32,44 +39,57 @@
       {% if item.active_trail %}
         {% set item_classes = item_classes|merge(['is-active-trail']) %}
       {% endif %}
+
       {% if item.active %}
         {% set link_classes = link_classes|merge(['active']) %}
       {% 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 %}
+
       {# Check for submenu  #}
       {% if item.submenu %}
+
         {# Add class for indicating the item has a submenu  #}
         {% set item_classes = item_classes|merge(['has-submenu']) %}
+
         {# Check if we are in parent menu_level #}
         {% if menu_level == 0 %}
+
           {# Look to see if the menu_items_count is set so and use for menu dropdown class  #}
           {% if item.menu_items_count %}
-            {% if item.menu_items_count >= 30  %}
+
+            {% if item.menu_items_count >= 30 %}
 
               {# PRINT OUT MENU LEVEL FOR TESTING #}
               {{  item.menu_items_count }}
 
               {% set item_classes = item_classes|merge(['has-submenu--large']) %}
-             {% elseif item.menu_items_count >= 10 %}
 
-               {# PRINT OUT MENU LEVEL FOR TESTING #}
-               {{  item.menu_items_count }}
+            {% elseif item.menu_items_count >= 10 %}
+
+              {# PRINT OUT MENU LEVEL FOR TESTING #}
+              {{  item.menu_items_count }}
 
               {% set item_classes = item_classes|merge(['has-submenu--medium']) %}
+
             {% elseif item.menu_items_count > 0 %}
 
               {# PRINT OUT MENU LEVEL FOR TESTING #}
               {{  item.menu_items_count }}
 
               {% set item_classes = item_classes|merge(['has-submenu--small']) %}
+
             {% endif %}
+
             {# Add the link class #}
-          {% set link_classes = ['menu--link__sub'] %}
+            {% set link_classes = ['menu--link__sub'] %}
+
           {% endif %}
 
 
@@ -81,75 +101,83 @@
 
           #}
 
-        {% elseif menu_level <= 2 %}
-          {# Set the flag to not re-print the Parent #}
-           {% set menu_parent_hide = true %}
         {% endif %}
+
       {% endif %}
+
       {# Set the additional_item_attributes  #}
       {% set additional_item_attributes = {
         'class': item_classes
       } %}
+
       {# Set the additional_link_classes #}
       {% set link_attributes = {
         'class': link_classes
       } %}
 
-{#
-   ERIC IN HERE
-   Check menu level 1 and parent and not have the hide parent flag
-#}
-{% if menu_level == 1 and parent and not menu_parent_hide  %}
-
- <li {{ add_attributes(additional_item_attributes) }}>
-
-   <a href="{{ parent.url }}" class="menu--link-parent" {{ add_attributes(link_attributes) }}>
-     <span class="link-text">
-       {% if parent.title %}
-         {{ parent.title }}
-       {% elseif parent.text %}
-         {{ parent.text }}
-       {% endif %}
-     </span>
-   </a>
- </li>
- {% endif %}
-
-<li {{ add_attributes(additional_item_attributes) }}>
-
- <a
-   {% if item.submenu %}
-     tabindex="0"
-     aria-haspopup="true"
-     role="button"
-   {% else %}
-    href="{{ item.url }}"
-   {% 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 %}
+      {#
+         ERIC IN HERE
+         Check menu level 1 and parent and not have the hide parent flag
+      #}
+      {% if menu_level == 1 and parent and not menu_parent_hide  %}
+
+        {% set menu_parent_hide = true %}
+
+        <li {{ add_attributes(additional_item_attributes) }}>
+
+          <a href="{{ parent.url }}" class="menu--link-parent" {{ add_attributes(link_attributes) }}>
+
+            <span class="link-text">
+              {% if parent.title %}
+                {{ parent.title }}
+              {% elseif parent.text %}
+                {{ parent.text }}
+              {% endif %}
+            </span>
+
+          </a>
+
+        </li>
+      {% endif %}
+
+      <li {{ add_attributes(additional_item_attributes) }}>
+
+        <a
+          {% if item.submenu %}
+            tabindex="0"
+            aria-haspopup="true"
+            role="button"
+          {% else %}
+            href="{{ item.url }}"
+          {% 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 %}
-- 
GitLab