X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fadmin_toolbar%2Fjs%2Fadmin_toolbar.js;fp=web%2Fmodules%2Fcontrib%2Fadmin_toolbar%2Fjs%2Fadmin_toolbar.js;h=96dfa829acc6787ce3bab44a087495c5e4160757;hp=a52568a241670afc84e7e6294408bcacca40e1c7;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/web/modules/contrib/admin_toolbar/js/admin_toolbar.js b/web/modules/contrib/admin_toolbar/js/admin_toolbar.js index a52568a24..96dfa829a 100644 --- a/web/modules/contrib/admin_toolbar/js/admin_toolbar.js +++ b/web/modules/contrib/admin_toolbar/js/admin_toolbar.js @@ -1,5 +1,53 @@ -(function($) { - $(document).ready(function() { - $('a.toolbar-icon').removeAttr('title'); - }); -})(jQuery); +(function ($, Drupal) { + Drupal.behaviors.adminToolbar = { + attach: function (context, settings) { + + $('a.toolbar-icon', context).removeAttr('title'); + + $('.toolbar-tray li.menu-item--expanded, .toolbar-tray ul li.menu-item--expanded .menu-item', context).hoverIntent({ + over: function () { + // At the current depth, we should delete all "hover-intent" classes. + // Other wise we get unwanted behaviour where menu items are expanded while already in hovering other ones. + $(this).parent().find('li').removeClass('hover-intent'); + $(this).addClass('hover-intent'); + }, + out: function () { + $(this).removeClass('hover-intent'); + }, + timeout: 250 + }); + + // Make the toolbar menu navigable with keyboard. + $('ul.toolbar-menu li.menu-item--expanded a', context).on('focusin', function () { + $('li.menu-item--expanded', context).removeClass('hover-intent'); + $(this).parents('li.menu-item--expanded').addClass('hover-intent'); + }); + + $('ul.toolbar-menu li.menu-item a', context).keydown(function (e) { + if ((e.shiftKey && (e.keyCode || e.which) == 9)) { + if ($(this).parent('.menu-item').prev().hasClass('menu-item--expanded')) { + $(this).parent('.menu-item').prev().addClass('hover-intent'); + } + } + }); + + $('.toolbar-menu:first-child > .menu-item:not(.menu-item--expanded) a, .toolbar-tab > a', context).on('focusin', function () { + $('.menu-item--expanded').removeClass('hover-intent'); + }); + + $('.toolbar-menu:first-child > .menu-item', context).on('hover', function () { + $(this, 'a').css("background: #fff;"); + }); + + $('ul:not(.toolbar-menu)', context).on({ + mousemove: function () { + $('li.menu-item--expanded').removeClass('hover-intent'); + }, + hover: function () { + $('li.menu-item--expanded').removeClass('hover-intent'); + } + }); + + } + }; +})(jQuery, Drupal);