1(function ($, app) { 2 'use strict'; 3 4 $(document).ready(function ($) { 5 remove_class_from_array(); 6 add_pause_button_to_swiper(); 7 handle_pause_button(); 8 }); 9 10 function add_pause_button_to_swiper() { 11 let classesSelection = window.classesSelection; 12 13 classesSelection.forEach(function (className) { 14 let swiper_container = $('.' + className); 15 16 if (swiper_container.hasClass('swiper-parent-class')) { 17 return; 18 } 19 20 if (!swiper_container.length) return; 21 22 if (swiper_container.find('.li-bafq-button-control').length === 0) { 23 const pause_button = $('<button class="li-bafg-button-control" title="pause button"></button>'); 24 swiper_container.append(pause_button); 25 } 26 }); 27 } 28 29 function handle_pause_button() { 30 const pauseSelector = '.li-bafg-button-control'; 31 32 $(document).on('click', pauseSelector, function (e) { 33 const $btn = $(this); 34 let parentElement = e.target.parentElement; 35 let swiperContainer = $btn.closest('.swiper'); 36 37 let $swiperContainer = 38 $btn.closest('.swiper'); 39 40 if ($swiperContainer.length === 0) { 41 $swiperContainer = $btn.find('.swiper'); 42 } 43 44 if ($swiperContainer.length === 0) { 45 $swiperContainer = $btn.parents().find('.swiper'); 46 } 47 48 if ($swiperContainer.length === 0) { 49 console.warn('Swiper container not found'); 50 return; 51 } 52 53 const swiper = $swiperContainer[0].swiper; 54 55 if (!swiper) { 56 console.warn('Swiper instance not attached to container:', $swiperContainer[0]); 57 return; 58 } 59 60 if ($btn.hasClass('paused')) { 61 swiper.autoplay.start(); 62 $btn.removeClass('paused'); 63 } else { 64 swiper.autoplay.stop(); 65 $btn.addClass('paused'); 66 } 67 }); 68 } 69 70 71 function remove_class_from_array() { 72 $('.remove-class').on('click', function () { 73 let $li = $(this).closest('li'); 74 let className = $li.attr('class'); 75 76 $.ajax({ 77 url: app.ajaxurl, 78 type: 'post', 79 data: { 80 action: 'remove_swiper_class', 81 class_to_remove: className 82 }, 83 success: function (response) { 84 if (response.success) { 85 $li.remove(); 86 } else { 87 alert('Error: ' + response.data); 88 } 89 } 90 }); 91 }); 92 } 93 94})(jQuery, window.libaseApp);
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.