1(function ($, Drupal) { 2 "use strict"; 3 4 Drupal.behaviors.ujaen_base = { 5 attach: function (context, settings) { 6 // Imprimir versión jQuery 7 console.log('jQuery version:', jQuery.fn.jquery); 8 console.log('Drupal behavior attach started'); 9 10 // Comprobar si Slick está cargado 11 if (typeof $.fn.slick !== 'undefined') { 12 console.log('Slick is available, initializing slider...'); 13 } else { 14 console.log('Slick is not available'); 15 return; 16 } 17 18 // Comprobando la presencia de elementos deslizantes en la página 19 if ($(".slick-slider .slide", context).length > 0) { 20 console.log('Found slick slider elements:', $(".slick-slider .slide", context)); 21 } else { 22 console.log('No slick slider elements found'); 23 return; 24 } 25 26 // Inicializa Slick con desplazamiento automático y puntos de navegación 27 $(".slick-slider", context).slick({ 28 autoplay: true, 29 dots: true, 30 speed: 1000, 31 autoplaySpeed: 5000 32 }).on('init', function (event, slick) { 33 console.log('Slick initialized successfully'); 34 }).on('beforeChange', function(event, slick, currentSlide, nextSlide) { 35 console.log('Before slide change:', currentSlide, nextSlide); 36 }).on('afterChange', function(event, slick, currentSlide) { 37 console.log('After slide change:', currentSlide); 38 }).on('error', function (event, slick, currentSlide, nextSlide) { 39 console.log('Slick initialization error'); 40 }); 41 42 // Agregar controles personalizados 43 $(".slick-slider", context).once("add-slick-controls").each(function () { 44 console.log('Adding custom controls'); 45 46 if ($(this).find(".slick-slide").length > 1) { 47 if ($("html").attr("lang") === "es") { 48 $(".slick-next").attr("aria-label", "Siguiente destacado del carrusel").text("Siguiente destacado del carrusel"); 49 $(".slick-prev").attr("aria-label", "Anterior destacado del carrusel").text("Anterior destacado del carrusel"); 50 } 51 52 $(this).append("<ul class='slick-controls'> <li><button class='slick-control slick-control__play'>" + Drupal.t("Play") + "</button></li> <li><button class='slick-control slick-control__pause'>" + Drupal.t("Pause") + "</button></li></ul>"); 53 54 // Estableciendo la posición de los controles 55 var offset = $(this).width() - $(".slick-dots").position().left - $(".slick-dots").outerWidth(); 56 $(".slick-controls").css("right", $(".slick-dots").width() + offset + 20); 57 58 // Controles de reproducción/pausa 59 $(".slick-control__play", context).click(function () { 60 console.log('Play button clicked'); 61 $(".slick-slider").slick("slickPlay"); 62 }); 63 $(".slick-control__pause", context).click(function () { 64 console.log('Pause button clicked'); 65 $(".slick-slider").slick("slickPause"); 66 }); 67 } 68 }); 69 } 70 }; 71 72})(jQuery, Drupal);
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.