adaptivetheme-8.x-3.x-dev/at_core/scripts/at.breakpoints.js

at_core/scripts/at.breakpoints.js
/**
 * @file
 * Breakpoints.
 */
(function ($, window, document) {

  "use strict";

  Drupal.behaviors.atBP = {
    attach: function (context, settings) {

      // Verify that the user agent understands media queries.
      if (!window.matchMedia('only screen').matches) {
        return;
      }

      // Get breakpoints from drupalSettings, these are added during preprocess
      // and write the breakpoints used in layout settings, which are themselves
      // set in breakpoints module config, i.e. themeName.breakpoints.yml and are
      // the group selected to be used by the themes layout.
      var activeTheme = settings.at_current_theme_name;
      var bps = settings[activeTheme]['at_breakpoints'];

      function registerEnquire(breakpoint_label, breakpoint_query) {
        enquire.register(breakpoint_query, {
          match: function() {
            document.body.classList.add('bp--' + breakpoint_label);
          },
          unmatch: function() {
            document.body.classList.remove('bp--' + breakpoint_label);
          }
        });
      }

      for (var item in bps) {
        if (bps.hasOwnProperty(item)) {
          registerEnquire(item.split('_').join('-'), bps[item]['mediaquery']);
        }
      }
    }
  };
}(jQuery, window, document));

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc