first import
This commit is contained in:
65
sites/all/modules/admin/includes/admin.menu.js
Normal file
65
sites/all/modules/admin/includes/admin.menu.js
Normal file
@@ -0,0 +1,65 @@
|
||||
(function($) {
|
||||
|
||||
Drupal.behaviors.adminToolbarMenu = {};
|
||||
Drupal.behaviors.adminToolbarMenu.attach = function(context) {
|
||||
if (jQuery().drilldown) {
|
||||
$('#admin-toolbar div.admin-block:has(ul.menu):not(.admin-toolbar-menu)')
|
||||
.addClass('admin-toolbar-menu')
|
||||
.each(function() {
|
||||
var menu = $(this);
|
||||
var trail = '#admin-toolbar div.admin-tab.' + $(this).attr('id').split('block-')[1] + ' span';
|
||||
var rootTitle = $(trail).text();
|
||||
|
||||
if ($('a:has(span.menu-description)', menu).size() > 0) {
|
||||
menu.addClass('admin-toolbar-menu-hover');
|
||||
$('a:has(span.menu-description)', menu).hover(
|
||||
function() {
|
||||
$('<a></a>')
|
||||
.attr('class', $(this).attr('class'))
|
||||
.addClass('menu-hover')
|
||||
.addClass('overlay-exclude')
|
||||
.append($('span.menu-description', this).clone())
|
||||
.appendTo(menu)
|
||||
.show();
|
||||
},
|
||||
function() {
|
||||
$(menu)
|
||||
.children('a.menu-hover')
|
||||
.remove();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// Replace the standard trail click handler with one that only
|
||||
// adjusts menu if the admin tab is active. Otherwise, switch
|
||||
// to that admin tab.
|
||||
menu.bind('refresh.drilldown', function() {
|
||||
$(trail + ' a').unbind('click').click(function() {
|
||||
if ($(this).parents('div.admin-tab').is('.admin-tab-active')) {
|
||||
var settings = {'activeLink': $(this).data('original'), 'trail': trail};
|
||||
|
||||
// If the clicked link does not reference the current
|
||||
// active menu, set it to be active.
|
||||
if (settings.activeLink.siblings('ul.drilldown-active-menu').size() === 0) {
|
||||
menu.drilldown('setActive', settings);
|
||||
return false;
|
||||
}
|
||||
// Otherwise, pass-through and allow the link to be clicked.
|
||||
return menu.drilldown('goTo', settings);
|
||||
}
|
||||
$(this).parents('div.admin-tab').click();
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
// Init drilldown plugin.
|
||||
menu.drilldown('init', {
|
||||
activePath: Drupal.settings.activePath,
|
||||
trail: trail,
|
||||
rootTitle: rootTitle
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user