Projet

Général

Profil

Paste
Télécharger (1,54 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / admin_menu / admin_menu_toolbar / admin_menu_toolbar.js @ 651307cd

1
(function($) {
2

    
3
Drupal.admin = Drupal.admin || {};
4
Drupal.admin.behaviors = Drupal.admin.behaviors || {};
5

    
6
/**
7
 * @ingroup admin_behaviors
8
 * @{
9
 */
10

    
11
/**
12
 * Apply active trail highlighting based on current path.
13
 *
14
 * @todo Not limited to toolbar; move into core?
15
 */
16
Drupal.admin.behaviors.toolbarActiveTrail = function (context, settings, $adminMenu) {
17
  if (settings.admin_menu.toolbar && settings.admin_menu.toolbar.activeTrail) {
18
    $adminMenu.find('> div > ul > li > a[href="' + settings.admin_menu.toolbar.activeTrail + '"]').addClass('active-trail');
19
  }
20
};
21

    
22
/**
23
 * Toggles the shortcuts bar.
24
 */
25
Drupal.admin.behaviors.shortcutToggle = function (context, settings, $adminMenu) {
26
  var $shortcuts = $adminMenu.find('.shortcut-toolbar');
27
  if (!$shortcuts.length) {
28
    return;
29
  }
30
  var storage = window.localStorage || false;
31
  var storageKey = 'Drupal.admin_menu.shortcut';
32
  var $body = $(context).find('body');
33
  var $toggle = $adminMenu.find('.shortcut-toggle');
34
  $toggle.click(function () {
35
    var enable = !$shortcuts.hasClass('active');
36
    $shortcuts.toggleClass('active', enable);
37
    $toggle.toggleClass('active', enable);
38
    if (settings.admin_menu.margin_top) {
39
      $body.toggleClass('admin-menu-with-shortcuts', enable);
40
    }
41
    // Persist toggle state across requests.
42
    storage && enable ? storage.setItem(storageKey, 1) : storage.removeItem(storageKey);
43
    this.blur();
44
    return false;
45
  });
46

    
47
  if (!storage || storage.getItem(storageKey)) {
48
    $toggle.trigger('click');
49
  }
50
};
51

    
52
/**
53
 * @} End of "ingroup admin_behaviors".
54
 */
55

    
56
})(jQuery);