1$(function ($) { 2 3 //Global cookie acceptance banner 4 5 var cookieMessage = document.getElementById('cookie-message') 6 var cookieAcceptBtn = document.getElementById('accept-cookies'); 7 if (document.cookie.indexOf('acceptCookies=1') === -1) { 8 cookieMessage.style.maxHeight = cookieMessage.scrollHeight + 60 + "px";; 9 var acceptCookies = function () { 10 cookieMessage.style.maxHeight = null; 11 document.cookie = "acceptCookies=1;path=/;max-age=31536000"; 12 }; 13 cookieAcceptBtn.addEventListener('click', acceptCookies); 14 } 15 16 //Global cookie acceptance banner end 17 18 var $table = $('#councillor-table'); 19 20 $(".show_more_services").on("click", function (e) { 21 e.preventDefault(); 22 $(".all-services").toggleClass("d-none"); 23 $(this).toggleClass("button-active"); 24 $(".trending_tasks_filter").toggleClass("filter-show"); 25 $("#task_filter").focus().toggleClass("filter-input-active"); 26 $(".show_more_services_inactive").toggleClass("visually-hidden"); 27 $(".show_more_services_active").toggleClass("d-block"); 28 }); 29 30 $(".show_steps").on("click", function (e) { 31 $(".show_steps_icon").toggleClass("hide"); 32 $(".steps").toggle(); 33 }); 34 35 $(".switcher_browse, .switcher_tasks").on("click", function (e) { 36 e.preventDefault(); 37 if ($(this).hasClass("active")) { 38 } 39 else { 40 $(".trending_tasks_box").toggleClass("hide"); 41 $(".browse_box").toggleClass("hide"); 42 $(".switcher_browse, .switcher_tasks").toggleClass("active"); 43 } 44 }); 45 46 $(".transaction-requirement").on("click", function () { 47 $(this).children(".checked").toggleClass("hide"); 48 $(this).children(".unchecked").toggleClass("hide"); 49 }); 50 51 $(function () { 52 var hash = window.location.hash; 53 if (hash === "#browsehome") { 54 $(".trending_tasks_box").toggleClass("hide"); 55 $(".browse_box").toggleClass("hide"); 56 $(".switcher_browse, .switcher_tasks").toggleClass("active"); 57 } 58 }); 59 60 61 62 //Adding noreferrer to any link to a Firmstep form or to consultation or jobs so that Google Analytics will see the journey as one visit and can be tracked 63 $('[href*="forms.nottinghamshire.gov.uk"]').attr('rel', 'noreferrer'); 64 $('[href*="consult.nottinghamshire.gov.uk"]').attr('rel', 'noreferrer'); 65 $('[href*="nottinghamshire.tal.net"]').attr('rel', 'noreferrer'); 66 67 //Image gallery macro - uses glide.min.js plugin 68 var galleries = document.getElementsByClassName('image-gallery'); 69 70 function imageGallerySetup() { 71 var glide = galleries[i].querySelector('.glide'), 72 overlay = galleries[i].querySelector('.gallery-overlay'), 73 closeButton = galleries[i].querySelector('.gallery-overlay-close'), 74 slideshow = new Glide(glide, { 75 type: 'carousel', 76 animationDuration: 1000, 77 dragThreshold: false, 78 peek: 400, 79 breakpoints: { 80 1500: { 81 peek: 200 82 }, 83 1200: { 84 peek: 150 85 }, 86 992: { 87 peek: 100 88 }, 89 768: { 90 peek: 50 91 }, 92 576: { 93 peek: 25, 94 gap: 5 95 } 96 } 97 }).mount(); 98 galleries[i].addEventListener('click', function (e) { 99 e.preventDefault(); 100 if (e.target.tagName !== 'IMG') return; 101 overlay.style.display = 'flex'; 102 slideshow.update({ 103 startAt: e.target.dataset.startAt 104 }); 105 }); 106 closeButton.addEventListener('click', function () { 107 overlay.style.display = 'none'; 108 }); 109 }; 110 111 for (var i = 0; i < galleries.length; i++) { 112 imageGallerySetup(); 113 } 114 115}); 116 117//Fast filter any list (modern, native, 0deps) (Remember to pass the selectors!): 118function initListFilter(inputSelector, itemSelector) { 119 const input = document.querySelector(inputSelector); 120 const items = document.querySelectorAll(itemSelector); 121 122 if (!input || !items.length) return; 123 124 input.addEventListener('input', () => { 125 const search = input.value.toLowerCase().trim(); 126 127 items.forEach(item => { 128 const match = item.textContent.toLowerCase().includes(search); 129 item.parentElement.hidden = !match; 130 }); 131 }); 132}
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.