1(function ($) { 2 // Enhanced Attendee List Show/Hide Functionality 3 $(document).ready(function() { 4 // Initialize attendee lists on page load 5 initializeAttendeeLists(); 6 }); 7 8 function initializeAttendeeLists() { 9 $('.mep-event-attendee--list').each(function() { 10 var $container = $(this); 11 var $inner = $container.find('.mep-event-attendee--inner'); 12 var $button = $container.find('.attendee--see-all'); 13 var totalAttendees = parseInt($inner.attr('data-total-attendees')) || 0; 14 15 // Only show button if there are more than 12 attendees 16 if (totalAttendees > 12) { 17 $button.show(); 18 // Set initial collapsed state 19 $inner.removeClass('expanded'); 20 } else { 21 $button.hide(); 22 $inner.addClass('expanded'); 23 } 24 }); 25 } 26 27 // Handle Show All / Show Less button clicks 28 $(document).on('click', '.attendee--see-all', function(e) { 29 e.preventDefault(); 30 var $button = $(this); 31 var $container = $button.closest('.mep-event-attendee--list'); 32 var $inner = $container.find('.mep-event-attendee--inner'); 33 var showText = $button.attr('data-show-text') || 'Show All'; 34 var hideText = $button.attr('data-hide-text') || 'Show Less'; 35 36 if ($inner.hasClass('expanded')) { 37 // Collapse 38 $inner.removeClass('expanded'); 39 $button.text(showText); 40 // Smooth scroll to top of attendee list 41 $('html, body').animate({ 42 scrollTop: $container.offset().top - 20 43 }, 300); 44 } else { 45 // Expand 46 $inner.addClass('expanded'); 47 $button.text(hideText); 48 } 49 }); 50 51 52})(jQuery)
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.