Projet

Général

Profil

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

root / drupal7 / sites / all / themes / adaptivetheme / at_core / scripts / menu-toggle.js @ a08833bd

1
(function ($) {
2
  Drupal.behaviors.ATmenuToggle = {
3
    attach: function (context, settings) {
4

    
5
      if ($.browser.msie && parseFloat($.browser.version) <= 8) {
6
        return;
7
      }
8

    
9
      var activeTheme = Drupal.settings["ajaxPageState"]["theme"];
10
      var themeSettings = Drupal.settings['adaptivetheme'];
11

    
12
      if (typeof themeSettings[activeTheme] == 'undefined') {
13
        return;
14
      }
15

    
16
      var mtsTP = themeSettings[activeTheme]['menu_toggle_settings']['tablet_portrait'];
17
      var mtsTL = themeSettings[activeTheme]['menu_toggle_settings']['tablet_landscape'];
18

    
19
      var breakpoints = {
20
        bp1: themeSettings[activeTheme]['media_query_settings']['smalltouch_portrait'],
21
        bp2: themeSettings[activeTheme]['media_query_settings']['smalltouch_landscape'],
22
      };
23

    
24
      if (mtsTP == 'true') { breakpoints.push(bp3 + ':' + themeSettings[activeTheme]['media_query_settings']['tablet_portrait']); }
25
      if (mtsTL == 'true') { breakpoints.push(bp4 + ':' + themeSettings[activeTheme]['media_query_settings']['tablet_portrait']); }
26

    
27
      $(".at-menu-toggle h2", context).removeClass('element-invisible').addClass('at-menu-toggle-button').wrapInner('<a href="#menu-toggle" class="at-menu-toggle-button-link" />');
28
      $(".at-menu-toggle ul[class*=menu]:nth-of-type(1)", context).wrap('<div class="menu-toggle" />');
29

    
30
      !function(breakName, query){
31
        // Run the callback on current viewport
32
        cb({
33
          media: query,
34
          matches: matchMedia(query).matches
35
        });
36
        // Subscribe to breakpoint changes
37
        matchMedia(query).addListener(cb);
38
      }(name, breakpoints[name]);
39

    
40
      // Callback
41
      function cb(data){
42
              // Toggle menus open or closed
43
              $(".at-menu-toggle-button-link", context).unbind("click").click(function(e) {
44
          $(this).parent().parent().find('.menu-toggle').slideToggle(100, 'swing').toggleClass('menu-toggle-open');
45
          e.preventDefault();
46
          e.stopPropagation();
47
        });
48
      }
49
    }
50
  };
51
})(jQuery);