1document.addEventListener('DOMContentLoaded', function () { 2 const modal = document.getElementById('kwickLockModal'); 3 const imgEl = document.getElementById('kwickLockModalImg'); 4 if (!modal || !imgEl) return; 5 6 const closeBtn = modal.querySelector('.kwick-lock-close'); 7 const overlay = modal.querySelector('.kwick-lock-overlay'); 8 9 document.addEventListener('click', function (e) { 10 const btn = e.target.closest('.kwick-lock-icon'); 11 if (!btn) return; 12 13 e.preventDefault(); 14 const imgUrl = btn.getAttribute('data-kwick-image'); 15 imgEl.src = imgUrl || ''; 16 modal.classList.add('is-open'); 17 modal.setAttribute('aria-hidden', 'false'); 18 document.body.style.overflow = 'hidden'; 19 }); 20 21 function closeModal() { 22 modal.classList.remove('is-open'); 23 modal.setAttribute('aria-hidden', 'true'); 24 imgEl.src = ''; 25 document.body.style.overflow = ''; 26 } 27 28 closeBtn.addEventListener('click', closeModal); 29 overlay.addEventListener('click', closeModal); 30 31 document.addEventListener('keydown', function (e) { 32 if (e.key === 'Escape' && modal.classList.contains('is-open')) { 33 closeModal(); 34 } 35 }); 36});
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.