artisan-1.x-dev/artisan_starterkit/components/nav_alternative/nav_alternative.js

artisan_starterkit/components/nav_alternative/nav_alternative.js
(function (Drupal, once) {
  'use strict';
  Drupal.behaviors.artisan_menu_collapse = {
    attach: function (context, settings) {
      once('artisan_menu_collapse', '.main-menu', context).forEach(function (element, index) {

        function makeMobileMenuCollapsible() {
          var mediaQuery = window.matchMedia("(max-width: 960px)");
          if (mediaQuery.matches) {
            let linksWithChildren = element.querySelectorAll('.nav-item--level-1.has-children');
            linksWithChildren.forEach(function (link, index) {
              let linkExpander = link.querySelector('.link-expand');
              let subMenuContainer = link.querySelector('.submenu-container');
              linkExpander.setAttribute('data-bs-toggle', 'collapse');
              linkExpander.setAttribute('data-bs-target', '.submenu-container--' + index);
              subMenuContainer.classList.add('submenu-container--' + index);
              subMenuContainer.classList.add('collapse');
            });
          }
        }
        makeMobileMenuCollapsible()
        window.addEventListener('resize', function(event){
          makeMobileMenuCollapsible();
        });
      });
    }
  };
})(Drupal, once);

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

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