1document.addEventListener('DOMContentLoaded', function () { 2 document.querySelectorAll('.omceo-public-wrapper').forEach(function (wrapper) { 3 var input = wrapper.querySelector('.omceo-filter-input'); 4 var rows = wrapper.querySelectorAll('tbody tr'); 5 var printArea = wrapper.querySelector('.omceo-print-area'); 6 var printBtn = wrapper.querySelector('.omceo-print-btn'); 7 var saveBtn = wrapper.querySelector('.omceo-save-btn'); 8 var slug = wrapper.getAttribute('data-elenco-slug') || 'elenco'; 9 10 if (input) { 11 input.addEventListener('input', function () { 12 var term = input.value.trim().toLowerCase(); 13 rows.forEach(function (row) { 14 var txt = row.textContent.toLowerCase(); 15 row.style.display = txt.indexOf(term) !== -1 ? '' : 'none'; 16 }); 17 }); 18 } 19 20 if (printBtn) { 21 printBtn.addEventListener('click', function () { 22 window.print(); 23 }); 24 } 25 26 if (saveBtn && typeof html2pdf !== 'undefined') { 27 saveBtn.addEventListener('click', function () { 28 var opt = { 29 margin: 10, 30 filename: slug + '.pdf', 31 image: { type: 'jpeg', quality: 0.98 }, 32 html2canvas: { scale: 2 }, 33 jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' } 34 }; 35 html2pdf().set(opt).from(printArea).save(); 36 }); 37 } 38 }); 39});
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.