1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- (function($) {
- Drupal.admin = Drupal.admin || {};
- Drupal.admin.behaviors = Drupal.admin.behaviors || {};
- /**
- * @ingroup admin_behaviors
- * @{
- */
- /**
- * Apply active trail highlighting based on current path.
- *
- * @todo Not limited to toolbar; move into core?
- */
- Drupal.admin.behaviors.toolbarActiveTrail = function (context, settings, $adminMenu) {
- if (settings.admin_menu.toolbar && settings.admin_menu.toolbar.activeTrail) {
- $adminMenu.find('> div > ul > li > a[href="' + settings.admin_menu.toolbar.activeTrail + '"]').addClass('active-trail');
- }
- };
- /**
- * Toggles the shortcuts bar.
- */
- Drupal.admin.behaviors.shortcutToggle = function (context, settings, $adminMenu) {
- var $shortcuts = $adminMenu.find('.shortcut-toolbar');
- if (!$shortcuts.length) {
- return;
- }
- var storage = window.localStorage || false;
- var storageKey = 'Drupal.admin_menu.shortcut';
- var $body = $(context).find('body');
- var $toggle = $adminMenu.find('.shortcut-toggle');
- $toggle.click(function () {
- var enable = !$shortcuts.hasClass('active');
- $shortcuts.toggleClass('active', enable);
- $toggle.toggleClass('active', enable);
- if (settings.admin_menu.margin_top) {
- $body.toggleClass('admin-menu-with-shortcuts', enable);
- }
- // Persist toggle state across requests.
- storage && enable ? storage.setItem(storageKey, 1) : storage.removeItem(storageKey);
- this.blur();
- return false;
- });
- if (!storage || storage.getItem(storageKey)) {
- $toggle.trigger('click');
- }
- };
- /**
- * @} End of "ingroup admin_behaviors".
- */
- })(jQuery);
|