1 2// Scroll anchor - Main.html 3function t3sbScrollToAnchor(sectionmenuAnchorOffset, fixedNavbar, navbarHeight, sectionhash=false) { 4 var hash = window.location.hash; 5 if (sectionhash) { 6 hash = sectionhash; 7 } 8 if (hash.length) { 9 var idArr = hash.split('#'); 10 var targetElement = document.getElementById(idArr[1]); 11 if ( targetElement === null ) { 12 idArr = hash.split('#c'); 13 targetElement = document.getElementById('tab-'+idArr[1]); 14 } 15 if ( targetElement != null ) { 16 var offsetSize = sectionmenuAnchorOffset; 17 if ( fixedNavbar ) { 18 offsetSize += navbarHeight; 19 } 20 var scrollTo = Math.round(t3sbOffsetTop(targetElement)-offsetSize); 21 window.scroll({ top: scrollTo, behavior: 'smooth' }); 22 } 23 } 24} 25 26function t3sbOffsetTop(el) { 27 var rect = el.getBoundingClientRect(), 28 scrollTop = window.pageYOffset || document.documentElement.scrollTop; 29 return rect.top + scrollTop; 30} 31 32 33 34// Link to top - Main.html 35function t3sbScrollToTop() { 36 document.addEventListener('scroll', t3sbHandleScroll); 37} 38 39function t3sbHandleScroll() { 40 var scrollToTopBtn = document.querySelector('.back-to-top'), 41 scrollTop = window.pageYOffset || document.documentElement.scrollTop; 42 if (scrollToTopBtn != null) { 43 scrollToTopBtn.addEventListener('click', t3sbScrollIt); 44 if (scrollTop > 100) { 45 scrollToTopBtn.classList.add('st-block'); 46 scrollToTopBtn.classList.remove('st-none'); 47 } else { 48 scrollToTopBtn.classList.add('st-none'); 49 scrollToTopBtn.classList.remove('st-block'); 50 } 51 } 52} 53 54function t3sbScrollIt(e) { 55 e.preventDefault(); 56 window.scroll({ top: 0, behavior: 'smooth' }); 57} 58 59 60 61// Sticky footer - Page/Footer.html 62function t3sbStickyFooter(footerExtraHeight) { 63 const footer = document.getElementById('page-footer'); 64 var footerHeight = footer.offsetHeight -2; 65 if ( footerExtraHeight > 0 ) { 66 footerHeight += footerExtraHeight; 67 } 68 if ( footer.classList.contains('footer-sticky') ) { 69 document.body.style.paddingBottom = footerHeight+'px'; 70 } 71} 72 73 74 75// Extra Row - Navbar/Assets.html 76function t3sbExtraRow(vw, bp) { 77 let extraRow = document.querySelector('.navbar .extra-row'); 78 if (extraRow) { 79 if ( vw < bp ) { 80 extraRow.classList.add('flex-row','me-auto','mt-4','mb-0'); 81 extraRow.classList.remove('ms-auto'); 82 } else { 83 extraRow.classList.remove('flex-row','me-auto','mt-4','mb-0'); 84 extraRow.classList.add('ms-auto'); 85 } 86 } 87} 88 89 90 91// Offcanvas - Navbar/Assets.html 92function t3sbOffcanvas(vw, bp, utilColorArr) { 93 var navbarToggler = document.getElementById('navbarToggler'); 94 if ( vw > bp ) { 95 navbarToggler.classList.remove(utilColorArr[0]); 96 navbarToggler.classList.remove(utilColorArr[1]); 97 } else { 98 navbarToggler.classList.add(utilColorArr[0]); 99 navbarToggler.classList.add(utilColorArr[1]); 100 } 101 let extraRow = document.querySelector('.navbar .extra-row'); 102 if (extraRow) { 103 if ( vw < bp ) { 104 extraRow.classList.add('ms-3'); 105 } else { 106 extraRow.classList.remove('ms-3'); 107 } 108 } 109} 110 111 112 113// Dropdown animate - Navbar/Assets.html 114function t3sbDropdownAnimate(vw, bp, dropdownAnimateValue) { 115 if ( vw < bp ) { 116 document.querySelectorAll('.dd-animate-'+dropdownAnimateValue).forEach(function(dda) { 117 dda.classList.remove('dd-animate-'+dropdownAnimateValue); 118 dda.classList.add('removed-animate-'+dropdownAnimateValue); 119 }); 120 } else { 121 document.querySelectorAll('.removed-animate-'+dropdownAnimateValue).forEach(function(dda) { 122 dda.classList.add('dd-animate-'+dropdownAnimateValue); 123 dda.classList.remove('removed-animate-'+dropdownAnimateValue); 124 }); 125 } 126} 127 128 129 130function ready(fn) { 131 if (document.readyState != 'loading'){ 132fn(); 133 } else { 134document.addEventListener('DOMContentLoaded', fn); 135 } 136} 137ready(() => { 138 // Default - Main.html 139 const navbar = document.getElementById('main-navbar'), 140 navbarHeight = navbar.clientHeight, 141 navbarBreakpointWidth = document.body.getAttribute('data-navbar-breakpointwidth'), 142 viewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")), 143 onePageLayout = navbar.classList.contains('sectionMenu'); 144 145 var fixedNavbar = false; 146 147 if ( navbar.classList.contains('fixed-top') ||Â navbar.classList.contains('sticky-top') ) { 148 fixedNavbar = true; 149 } 150 151 // Scroll anchor - Main.html 152 if (window.location.hash) { 153 t3sbScrollToAnchor(29, fixedNavbar, navbarHeight); 154 } 155 156 157 // Link to top - Main.html 158 t3sbScrollToTop(); 159 160 161 // Extra row - Navbar/Assets.html 162 t3sbExtraRow(viewportWidth, navbarBreakpointWidth); 163 window.addEventListener('resize', function(event) { 164 resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")); 165 t3sbExtraRow(resizedViewportWidth, navbarBreakpointWidth); 166 }, true); 167 168 169 // Dropdown animate - Navbar/Assets.html 170 t3sbDropdownAnimate(viewportWidth, navbarBreakpointWidth, 1); 171 window.addEventListener('resize', function(event) { 172 resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")); 173 t3sbDropdownAnimate(resizedViewportWidth, navbarBreakpointWidth, 1); 174 }, true); 175 176 177 // No justify on mobile - Navbar/Assets.html 178 if ( viewportWidth < navbarBreakpointWidth ) { 179 navbar.querySelector('.main-navbarnav').classList.remove('nav-fill', 'w-100'); 180 } 181 182 183 // Offcanvas - Navbar/Assets.html 184 var navbarBreakpoint = document.body.getAttribute('data-navbar-breakpoint'); 185 var navbarBPWidth = navbarBreakpointWidth, 186 utilColor = 'bg-light bg-gradient', 187 utilColorArr = utilColor.split(' '); 188 if (navbarBreakpoint == 'no') { 189 navbarBPWidth = 99999; 190 } 191 t3sbOffcanvas(viewportWidth, navbarBPWidth, utilColorArr); 192 window.addEventListener('resize', function(event) { 193 resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")); 194 t3sbOffcanvas(resizedViewportWidth, navbarBPWidth, utilColorArr); 195 }, true); 196 197 198 // Sticky footer - Page/Footer.html 199 const footerExtraHeight = 100; 200 t3sbStickyFooter(footerExtraHeight); 201 202}); 203 204(function($){'use strict'; 205const cookieConsentConfiguration = JSON.parse('{"cookieName":"cookie_consent","expiryDays":365,"hideOnInit":false,"reloadOnReeditDeny":false,"pushConsentToTagManager":false,"lazyloading":false,"lazyloadingTimeout":120,"consentMode":[],"containerId":"cookie-consent"}'); 206 207 208})(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.