1document.addEventListener("DOMContentLoaded", function(event) { 2 const banner = document.getElementById('banner'); 3 if (typeof banner !== 'undefined' && banner !== null) { 4 const header = document.querySelector('header.d-print-none'); 5 if (typeof header !== 'undefined' && header !== null) { 6 header.setAttribute('id', 'has-banner'); 7 } 8 } 9 10 const homeHeader = document.getElementById('headers-content-container'); 11 if (typeof homeHeader !== 'undefined' && homeHeader !== null) { 12 const headerH1 = document.querySelector('.header-get-function'); 13 if (typeof headerH1 !== 'undefined' && headerH1 !== null) { 14 if(headerH1.classList.contains('home-header')){ 15 homeHeader.classList.add('home-header-container'); 16 } 17 } 18 } 19}); 20 21$(function () { 22 if(window.isAdBlockActive){ 23 let modalAdBlockerWarning = $('.modal.adblocker-warning'); 24 if(modalAdBlockerWarning.length > 0){ 25 $(modalAdBlockerWarning).modal('show'); 26 } 27 } 28 29 30 // Remove any previously injected trigger 31 var existing = document.querySelector('.search-mobile-trigger'); 32 if (existing) existing.remove(); 33 34 var searchContainer = document.querySelector('#search_content_container'); 35 var breadcrumbsContainer = document.querySelector('#breadcrumbs_content_container'); 36 if (!searchContainer || !breadcrumbsContainer) return; 37 38 searchContainer.classList.remove('search-expanded'); 39 40 // Create trigger button 41 var triggerDiv = document.createElement('div'); 42 triggerDiv.className = 'search-mobile-trigger'; 43 44 var btn = document.createElement('button'); 45 btn.setAttribute('title', 'Start site search'); 46 btn.className = 'btn btn-sm btn-success'; 47 btn.innerHTML = '<span class="co-search"></span>'; 48 triggerDiv.appendChild(btn); 49 50 breadcrumbsContainer.insertAdjacentElement('afterend', triggerDiv); 51 52 btn.addEventListener('click', function (e) { 53 e.stopPropagation(); 54 var isExpanded = searchContainer.classList.contains('search-expanded'); 55 if (!isExpanded) { 56 // Show search row 2, hide trigger button 57 searchContainer.classList.add('search-expanded'); 58 triggerDiv.classList.add('search-trigger-hidden'); 59 var input = document.querySelector('#search_query_solr'); 60 if (input) setTimeout(function () { input.focus(); }, 50); 61 } else { 62 // Hide search row 2, restore trigger button 63 searchContainer.classList.remove('search-expanded'); 64 triggerDiv.classList.remove('search-trigger-hidden'); 65 } 66 }); 67 68 // Close on outside click â register only once 69 if (!window._searchMobileDocListener) { 70 window._searchMobileDocListener = function (e) { 71 if (window.innerWidth >= 400) return; 72 var sc = document.querySelector('#search_content_container'); 73 var td = document.querySelector('.search-mobile-trigger'); 74 if (!sc || !td) return; 75 if (!sc.contains(e.target) && !td.contains(e.target)) { 76 sc.classList.remove('search-expanded'); 77 td.classList.remove('search-trigger-hidden'); 78 } 79 }; 80 document.addEventListener('click', window._searchMobileDocListener); 81 } 82});
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.