Projet

Général

Profil

Paste
Télécharger (2,27 ko) Statistiques
| Branche: | Révision:

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

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).click(function() {
44
          $(this).parent().siblings('.menu-toggle').slideToggle(100, 'swing').toggleClass('menu-toggle-open');
45
          return false;
46
        });
47

    
48
        /*
49
        // Close if clicked outside (inc another toggle menu)
50
        $(".at-menu-toggle-button-link", context).bind('clickoutside', function(event) {
51
          $(this).parent().siblings('.menu-toggle').slideUp(100, 'swing').removeClass('menu-toggle-open');
52
          //return false;
53
        });
54
        */
55
      }
56

    
57
      //console.log(themeSettings);
58
    }
59
  };
60
})(jQuery);