From f5be088410c01b72aee262fbc50013999c877abe Sun, 4 Jan 2015 22:47:33 +0100 From: hass Date: Sun, 4 Jan 2015 22:47:24 +0100 Subject: [PATCH] Issue #1944572 by hass: Remove "ul.menu" dependency to prevent theme clashes diff --git a/core/modules/shortcut/shortcut.module b/core/modules/shortcut/shortcut.module index ba9c43d..177b5c2 100644 --- a/core/modules/shortcut/shortcut.module +++ b/core/modules/shortcut/shortcut.module @@ -268,7 +268,7 @@ '#theme' => 'links__toolbar_shortcuts', '#links' => $links, '#attributes' => array( - 'class' => array('menu'), + 'class' => array('toolbar-menu'), ), '#cache' => array( 'tags' => $cache_tags, diff --git a/core/modules/toolbar/css/toolbar.icons.css b/core/modules/toolbar/css/toolbar.icons.css index 0122c91..4893895 100644 --- a/core/modules/toolbar/css/toolbar.icons.css +++ b/core/modules/toolbar/css/toolbar.icons.css @@ -34,27 +34,27 @@ border: 0; font-size: 1em; } -.toolbar .menu ul .toolbar-icon { +.toolbar .toolbar-menu ul .toolbar-icon { padding-left: 1.3333em; /* LTR */ } -[dir="rtl"] .toolbar .menu ul .toolbar-icon { +[dir="rtl"] .toolbar .toolbar-menu ul .toolbar-icon { padding-left: 0; padding-right: 1.3333em; } -.toolbar .menu ul a.toolbar-icon:before { +.toolbar .toolbar-menu ul a.toolbar-icon:before { display: none; } -.toolbar .toolbar-tray-vertical .menu ul a { +.toolbar .toolbar-tray-vertical .toolbar-menu ul a { padding-left: 2.75em; /* LTR */ } -[dir="rtl"] .toolbar .toolbar-tray-vertical .menu ul a { +[dir="rtl"] .toolbar .toolbar-tray-vertical .toolbar-menu ul a { padding-left: 0; padding-right: 2.75em; } -.toolbar .toolbar-tray-vertical .menu ul ul a { +.toolbar .toolbar-tray-vertical .toolbar-menu ul ul a { padding-left: 3.75em; /* LTR */ } -[dir="rtl"] .toolbar .toolbar-tray-vertical .menu ul ul a { +[dir="rtl"] .toolbar .toolbar-tray-vertical .toolbar-menu ul ul a { padding-left: 0; padding-right: 3.75em; } @@ -239,11 +239,11 @@ .toolbar .toolbar-icon.toolbar-handle.open:before { background-image: url(../../../misc/icons/787878/chevron-disc-up.svg); } -.toolbar .menu .menu .toolbar-icon.toolbar-handle:before { +.toolbar .toolbar-menu .toolbar-menu .toolbar-icon.toolbar-handle:before { background-image: url(../../../misc/icons/5181c6/twistie-down.svg); background-size: 75%; } -.toolbar .menu .menu .toolbar-icon.toolbar-handle.open:before { +.toolbar .toolbar-menu .toolbar-menu .toolbar-icon.toolbar-handle.open:before { background-image: url(../../../misc/icons/787878/twistie-up.svg); background-size: 75%; } diff --git a/core/modules/toolbar/css/toolbar.menu.css b/core/modules/toolbar/css/toolbar.menu.css index 5e4d9c8..58bfdf4 100644 --- a/core/modules/toolbar/css/toolbar.menu.css +++ b/core/modules/toolbar/css/toolbar.menu.css @@ -1,8 +1,8 @@ /** * @file toolbar.menu.css */ -.toolbar .menu, -[dir="rtl"] .toolbar .menu { +.toolbar .toolbar-menu, +[dir="rtl"] .toolbar .toolbar-menu { list-style: none; margin: 0; padding: 0; @@ -16,9 +16,9 @@ .toolbar .toolbar-box a { display: inline-block; } -.toolbar .toolbar-tray-horizontal .menu .toolbar-handle, -.toolbar .toolbar-tray-horizontal .menu ul, -.toolbar .toolbar-tray-vertical .menu ul { +.toolbar .toolbar-tray-horizontal .toolbar-menu .toolbar-handle, +.toolbar .toolbar-tray-horizontal .toolbar-menu ul, +.toolbar .toolbar-tray-vertical .toolbar-menu ul { display: none; } .toolbar .toolbar-tray-vertical li.open > ul { diff --git a/core/modules/toolbar/css/toolbar.module.css b/core/modules/toolbar/css/toolbar.module.css index c2388bc..cf8a672 100644 --- a/core/modules/toolbar/css/toolbar.module.css +++ b/core/modules/toolbar/css/toolbar.module.css @@ -21,18 +21,18 @@ * Very specific overrides for Drupal system CSS. */ .toolbar li, -.toolbar .menu li, +.toolbar .toolbar-menu li, .toolbar .item-list, .toolbar .item-list li, -.toolbar .menu li.expanded { +.toolbar .toolbar-menu li.expanded { list-style-type: none; list-style-image: none; } -.toolbar .menu li { +.toolbar .toolbar-menu li { padding-top: 0; } .toolbar .toolbar-bar .toolbar-tab, -.toolbar .menu li { +.toolbar .toolbar-menu li { display: block; } .toolbar .toolbar-bar .toolbar-tab.hidden { @@ -169,7 +169,7 @@ right: 0; } /* Hide secondary menus when the tray is horizontal. */ -.toolbar-oriented .toolbar-tray-horizontal .menu li ul { +.toolbar-oriented .toolbar-tray-horizontal .toolbar-menu li ul { display: none; } /* When the configured standard breakpoint is active and the tray is in a diff --git a/core/modules/toolbar/css/toolbar.theme.css b/core/modules/toolbar/css/toolbar.theme.css index d143a0b..7f4aab6 100644 --- a/core/modules/toolbar/css/toolbar.theme.css +++ b/core/modules/toolbar/css/toolbar.theme.css @@ -99,46 +99,46 @@ color: #000; text-decoration: underline; } -.toolbar .menu { +.toolbar .toolbar-menu { background-color: #ffffff; } -.toolbar .toolbar-tray-horizontal .menu li + li { +.toolbar .toolbar-tray-horizontal .toolbar-menu li + li { border-left: 1px solid #dddddd; /* LTR */ } -[dir="rtl"] .toolbar .toolbar-tray-horizontal .menu li + li { +[dir="rtl"] .toolbar .toolbar-tray-horizontal .toolbar-menu li + li { border-left: 0 none ; border-right: 1px solid #dddddd; } -.toolbar .toolbar-tray-horizontal .menu li:last-child { +.toolbar .toolbar-tray-horizontal .toolbar-menu li:last-child { border-right: 1px solid #dddddd; /* LTR */ } -[dir="rtl"] .toolbar .toolbar-tray-horizontal .menu li:last-child { +[dir="rtl"] .toolbar .toolbar-tray-horizontal .toolbar-menu li:last-child { border-left: 1px solid #dddddd; } -.toolbar .toolbar-tray-vertical .menu li + li { +.toolbar .toolbar-tray-vertical .toolbar-menu li + li { border-top: 1px solid #dddddd; } -.toolbar .toolbar-tray-vertical .menu li:last-child { +.toolbar .toolbar-tray-vertical .toolbar-menu li:last-child { border-bottom: 1px solid #dddddd; } -.toolbar .toolbar-tray-vertical .menu .menu li { +.toolbar .toolbar-tray-vertical .toolbar-menu .toolbar-menu li { border: 0 none; } -.toolbar .toolbar-tray-vertical .menu ul ul { +.toolbar .toolbar-tray-vertical .toolbar-menu ul ul { border-bottom: 1px solid #dddddd; border-top: 1px solid #dddddd; } -.toolbar .toolbar-tray-vertical .menu li:last-child > ul { +.toolbar .toolbar-tray-vertical .toolbar-menu li:last-child > ul { border-bottom: 0; } -.toolbar .toolbar-tray-vertical .menu .menu .menu .menu { +.toolbar .toolbar-tray-vertical .toolbar-menu .toolbar-menu .toolbar-menu .toolbar-menu { margin-left: 0.25em; /* LTR */ } -[dir="rtl"] .toolbar .toolbar-tray-vertical .menu .menu .menu .menu { +[dir="rtl"] .toolbar .toolbar-tray-vertical .toolbar-menu .toolbar-menu .toolbar-menu .toolbar-menu { margin-left: 0; margin-right: 0.25em; } -.toolbar .menu .menu a { +.toolbar .toolbar-menu .toolbar-menu a { color: #434343; } diff --git a/core/modules/toolbar/js/toolbar.menu.js b/core/modules/toolbar/js/toolbar.menu.js index 692cd7f..0ba7108 100644 --- a/core/modules/toolbar/js/toolbar.menu.js +++ b/core/modules/toolbar/js/toolbar.menu.js @@ -2,7 +2,7 @@ * Builds a nested accordion widget. * * Invoke on an HTML list element with the jQuery plugin pattern. - * - For example, $('.menu').drupalToolbarMenu(); + * - For example, $('.toolbar-menu').drupalToolbarMenu(); */ (function ($, Drupal, drupalSettings) { @@ -103,7 +103,7 @@ // Add a handle to each list item if it has a menu. $menu.find('li').each(function (index, element) { var $item = $(element); - if ($item.children('ul.menu').length) { + if ($item.children('ul.toolbar-menu').length) { var $box = $item.children('.toolbar-box'); options.text = Drupal.t('@label', {'@label': $box.find('a').text()}); $item.children('.toolbar-box') diff --git a/core/modules/toolbar/js/views/MenuVisualView.js b/core/modules/toolbar/js/views/MenuVisualView.js index d90b6d0..917259b 100644 --- a/core/modules/toolbar/js/views/MenuVisualView.js +++ b/core/modules/toolbar/js/views/MenuVisualView.js @@ -35,7 +35,7 @@ // Render the main menu as a nested, collapsible accordion. if ('drupalToolbarMenu' in $.fn) { this.$el - .children('.menu') + .children('.toolbar-menu') .drupalToolbarMenu(); } } diff --git a/core/modules/toolbar/templates/toolbar-menu.html.twig b/core/modules/toolbar/templates/toolbar-menu.html.twig new file mode 100644 index 0000000..3578b95 --- /dev/null +++ b/core/modules/toolbar/templates/toolbar-menu.html.twig @@ -0,0 +1,44 @@ +{# +/** + * @file + * Default theme implementation to display a toolbar menu. + * + * Available variables: + * - menu_name: The machine name of the menu. + * - items: A nested list of menu items. Each menu item contains: + * - attributes: HTML attributes for the menu item. + * - below: The menu item child items. + * - title: The menu link title. + * - url: The menu link url, instance of \Drupal\Core\Url + * - localized_options: Menu link localized options. + * + * @ingroup themeable + */ +#} +{% import _self as menus %} + +{# + We call a macro which calls itself to render the full tree. + @see http://twig.sensiolabs.org/doc/tags/macro.html +#} +{{ menus.menu_links(items, attributes, 0) }} + +{% macro menu_links(items, attributes, menu_level) %} + {% import _self as menus %} + {% if items %} + {% if menu_level == 0 %} + + {% else %} + + {% endif %} +{% endmacro %} diff --git a/core/modules/toolbar/tests/modules/toolbar_test/toolbar_test.module b/core/modules/toolbar/tests/modules/toolbar_test/toolbar_test.module index 9d4e89f..25c1c47 100644 --- a/core/modules/toolbar/tests/modules/toolbar_test/toolbar_test.module +++ b/core/modules/toolbar/tests/modules/toolbar_test/toolbar_test.module @@ -39,7 +39,7 @@ \Drupal::l(t('link 3'), new Url('', [], array('attributes' => array('title' => 'Test link 3 title')))), ), '#attributes' => array( - 'class' => array('menu'), + 'class' => array('toolbar-menu'), ), ), ), diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module index 7b75e89..eec2900 100644 --- a/core/modules/toolbar/toolbar.module +++ b/core/modules/toolbar/toolbar.module @@ -42,6 +42,10 @@ $items['toolbar'] = array( 'render element' => 'element', ); + $items['menu__admin'] = array( + 'variables' => array('items' => array(), 'attributes' => array()), + 'template' => 'toolbar-menu', + ); return $items; } diff --git a/core/modules/user/user.module b/core/modules/user/user.module index a251fd7..477d7bd 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -1458,7 +1458,7 @@ '#theme' => 'links__toolbar_user', '#links' => $links, '#attributes' => array( - 'class' => array('menu'), + 'class' => array('toolbar-menu'), ), ), ),