1//const { once } = require("gulp"); 2 3(function ($, Drupal, drupalSettings) { 4 5 'use strict'; 6 7 /** 8 * En el nuevo header nos aseguramos de que la región superior 9 * tenga siempre container-lg en desktop. 10 */ 11 function ensureHeaderNuevoContainer() { 12 if ($('#header-nuevo').length && $(window).width() > 991) { 13 $('#header-nuevo #navbar-top .region-top-header').addClass('container-lg'); 14 } 15 } 16 17 // Handler for .ready() called. 18 $(function () { 19 /* --------------------------------------------- */ 20 // k - 20/10/2021 21 // Hay paginas que no tienen pagina padre dentro del menu, por lo que no se actica el active-trail del segundo nivel del menu. 22 // Se intenta activar en aquellas paginas que no lo tengan. Esta implementacion tiene 2 menus impresos, por lo que hay 23 // que ponerlo 2 veces. 24 25 // Menu fijo ( cuando no hace Scroll ) 26 var menu_fijo_has_active_trail = $('.weg-menu-desktop > ul.nav > li.menu-item--active-trail'); 27 console.log("lanzamiento de calculo", menu_fijo_has_active_trail); 28 if (menu_fijo_has_active_trail === null || menu_fijo_has_active_trail === undefined || menu_fijo_has_active_trail.length == 0) { 29 // Ponerlo en el primer hijo del segmento, que suele ser particulares 30 $('.weg-menu-desktop > ul.nav > li:first-child').addClass('menu-item--active-trail'); 31 } 32 33 // Menu reducido Scroll 34 var menu_reducido_has_active_trail = $('.scrolled-menu > ul > li.menu-item--active-trail'); 35 if (menu_reducido_has_active_trail === null || menu_reducido_has_active_trail === undefined || menu_reducido_has_active_trail.length == 0) { 36 $('.scrolled-menu > ul > li:first-child').addClass('menu-item--active-trail'); 37 } 38 39 /* 40 * Header nuevo: 41 * Al cargar página, si estamos en desktop, forzamos container-lg. 42 */ 43 ensureHeaderNuevoContainer(); 44 45 /* --------------------------------------------- */ 46 }); 47 48 Drupal.behaviors.blogs_weg = { 49 attach: function (context, settings) { 50 51 var bloque = $('.block-block-weg-header'); 52 var bloqueMobile = $('.menu-transversal-mobile'); 53 var isruralvia = !!settings.block_weg_header_is_ruralvia; 54 var nonreducedmobile = !!settings.block_weg_header_reduced_mobile; 55 var nonreduceddesktop = !!settings.block_weg_header_reduced_desktop; 56 var isHeaderNuevo = $('#header-nuevo').length > 0; 57 58 /* 59 * Header nuevo: 60 * También lo aseguramos al entrar en el behavior de Drupal. 61 */ 62 ensureHeaderNuevoContainer(); 63 64 if ($('.weg-menu-desktop > ul.nav > li.nav-item.menu-item--expanded.menu-item--active-trail > .outer-menu > .menu li.menu-item--expanded.menu-item--active-trail').length == 1) { 65 $('body').addClass('menu-lv-3'); 66 } else if ($('.weg-menu-desktop > ul.nav > li.nav-item.menu-item--expanded.menu-item--active-trail > .outer-menu > .menu li.menu-item--active-trail').length == 1) { 67 $('body').addClass('menu-lv-2'); 68 } 69 70 if (isruralvia === true) { 71 $('.weg-header .block-weg-logo-rv').css('display', 'block'); 72 } 73 74 $(window).on('scroll', function () { 75 if ($(window).width() > 991) { 76 //efectos en desktop 77 if (nonreduceddesktop === false) { 78 79 if ($("body").hasClass("scrolled")) { 80 81 bloque.addClass('scrolled'); 82 83 bloque.find('.block-weg-block-logo .logo-entidad').hide(); 84 bloque.find('.block-weg-block-logo .logo-espiga').show(); 85 86 $('.block-weg-block-menu-transversal li:not(.hazte-cliente):not(.acceso-cliente)').hide(); 87 bloque.find('.weg-cambio-idioma').hide(); 88 bloque.find('.weg-icono-lupa-wrapper').hide(); 89 bloque.find('.block-weg-block-logo-rv').hide(); 90 bloque.find('.weg-menu-desktop').slideUp(); 91 bloque.find('.weg-menu-desktop .menu-item--active-trail .outer-menu').hide('fast'); 92 93 if (isHeaderNuevo) { 94 $('#header-nuevo #navbar-top .region-top-header').addClass('container-lg'); 95 } else { 96 $('#navbar-top .region-top-header').removeClass('container-lg'); 97 } 98 99 bloque.find('.scrolled-menu').show(); 100 101 } else { 102 103 bloque.removeClass('scrolled'); 104 105 bloque.find('.block-weg-block-logo .logo-entidad').show(); 106 bloque.find('.block-weg-block-logo .logo-espiga').hide(); 107 108 $('.block-weg-block-menu-transversal li').show(); 109 bloque.find('.weg-cambio-idioma').show(); 110 bloque.find('.weg-icono-lupa-wrapper').show(); 111 bloque.find('.block-weg-block-logo-rv').show();
112 bloque.find('.weg-menu-desktop').show(); 113 bloque.find('.weg-menu-desktop .menu-item--active-trail .outer-menu').show(); 114 115 $('#navbar-top .region-top-header').addClass('container-lg'); 116 117 ensureHeaderNuevoContainer(); 118 119 bloque.find('.scrolled-menu').hide(); 120 121 } 122 } 123 124 } else { 125 // efectos en mobile 126 if (nonreducedmobile === false) { 127 128 if ($("body").hasClass("scrolled")) { 129 130 bloque.addClass('scrolled'); 131 132 bloque.find('.block-weg-block-logo .logo-entidad').hide(); 133 bloque.find('.block-weg-block-logo .logo-espiga').show(); 134 135 } else { 136 137 bloque.removeClass('scrolled'); 138 139 bloque.find('.block-weg-block-logo .logo-entidad').show(); 140 bloque.find('.block-weg-block-logo .logo-espiga').hide(); 141 142 } 143 144 } 145 } 146 147 }); 148 149 /* 150 * Header nuevo: 151 * Si se redimensiona la ventana y pasamos a desktop, 152 * volvemos a asegurar container-lg. 153 */ 154 $(window).on('resize', function () { 155 ensureHeaderNuevoContainer(); 156 }); 157 158 bloque.find('.scrolled-menu > ul.nav > li > .outer-menu > ul.menu > li.nav-item.menu-item--expanded').once().bind('click', function (e) { 159 //if ( $( this ).hasClass('menu-item--expanded') ) { 160 e.preventDefault(); 161 //} 162 if ($(this).hasClass('weg-active')) { 163 bloque.find('.scrolled-menu > ul.nav > li > .outer-menu > ul.menu > li.nav-item').removeClass('weg-active'); 164 } else { 165 bloque.find('.scrolled-menu > ul.nav > li > .outer-menu > ul.menu > li.nav-item').removeClass('weg-active'); 166 $(this).addClass('weg-active'); 167 } 168 169 }); 170 171 bloque.find('.scrolled-menu > ul.nav > li > .outer-menu > ul.menu > li.nav-item.menu-item--expanded > .outer-menu > ul.menu > .nav-item').once().bind('click', function (e) { 172 e.stopPropagation(); 173 }); 174 175 bloque.find('.weg-show-menu button').once().bind('click', function (e) { 176 e.preventDefault(); 177 bloque.find('.weg-show-menu').toggleClass('menu-open'); 178 bloque.find('.weg-menu-desktop').slideToggle('slow'); 179 $('body').toggleClass('overflow-hidden'); 180 }); 181 182 } 183 } 184})(jQuery, Drupal, drupalSettings);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.