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 130// Collapsible - Templates/Container/CollapsibleContainer.html 131function t3sbCollapsible(fixedNavbar, navbarHeight) { 132 if ( window.location.hash ) { 133 var idArr = window.location.hash.split('#c'), 134 accordionButton = document.getElementById('c'+idArr[1]); 135 if (accordionButton !== null && accordionButton !== '') { 136 var targetElement = document.getElementById('collapse-'+idArr[1]), 137 collapseTrigger = new bootstrap.Collapse(targetElement), 138 offsetSize = accordionButton.clientHeight; 139 collapseTrigger.show(); 140 if ( fixedNavbar ) { 141 offsetSize += navbarHeight; 142 } 143 var scrollTo = Math.round(t3sbOffsetTop(accordionButton)-offsetSize); 144 window.scroll({ top: scrollTo, behavior: 'smooth' }); 145 } 146 } else { 147 document.querySelectorAll('.accordion').forEach( acc => { 148 var collapse = document.getElementById(acc.id); 149 collapse.addEventListener('shown.bs.collapse', function (e) { 150 if ( e.target) { 151 var offsetSize = e.target.parentNode.querySelector('.accordion-button').clientHeight; 152 if ( fixedNavbar ) { 153 offsetSize += navbarHeight; 154 } 155 var scrollTo = Math.round(t3sbOffsetTop(e.target.parentNode)-offsetSize); 156 window.scroll({ top: scrollTo, behavior: 'smooth' }); 157 } 158 }); 159 }); 160 } 161} 162 163 164 165function ready(fn) { 166 if (document.readyState != 'loading'){ 167fn(); 168 } else { 169document.addEventListener('DOMContentLoaded', fn); 170 } 171} 172ready(() => { 173 // Default - Main.html 174 const navbar = document.getElementById('main-navbar'), 175 navbarHeight = navbar.clientHeight, 176 navbarBreakpointWidth = document.body.getAttribute('data-navbar-breakpointwidth'), 177 viewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")), 178 onePageLayout = navbar.classList.contains('sectionMenu'); 179 180 var fixedNavbar = false;
181 182 if ( navbar.classList.contains('fixed-top') ||Â navbar.classList.contains('sticky-top') ) { 183 fixedNavbar = true; 184 } 185 186 // Scroll anchor - Main.html 187 if (window.location.hash) { 188 t3sbScrollToAnchor(29, fixedNavbar, navbarHeight); 189 } 190 191 192 // Link to top - Main.html 193 t3sbScrollToTop(); 194 195 196 // Extra row - Navbar/Assets.html 197 t3sbExtraRow(viewportWidth, navbarBreakpointWidth); 198 window.addEventListener('resize', function(event) { 199 resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")); 200 t3sbExtraRow(resizedViewportWidth, navbarBreakpointWidth); 201 }, true); 202 203 204 // Dropdown animate - Navbar/Assets.html 205 t3sbDropdownAnimate(viewportWidth, navbarBreakpointWidth, 1); 206 window.addEventListener('resize', function(event) { 207 resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")); 208 t3sbDropdownAnimate(resizedViewportWidth, navbarBreakpointWidth, 1); 209 }, true); 210 211 212 // No justify on mobile - Navbar/Assets.html 213 if ( viewportWidth < navbarBreakpointWidth ) { 214 navbar.querySelector('.main-navbarnav').classList.remove('nav-fill', 'w-100'); 215 } 216 217 218 // Offcanvas - Navbar/Assets.html 219 var navbarBreakpoint = document.body.getAttribute('data-navbar-breakpoint'); 220 var navbarBPWidth = navbarBreakpointWidth, 221 utilColor = 'bg-light bg-gradient', 222 utilColorArr = utilColor.split(' '); 223 if (navbarBreakpoint == 'no') { 224 navbarBPWidth = 99999; 225 } 226 t3sbOffcanvas(viewportWidth, navbarBPWidth, utilColorArr); 227 window.addEventListener('resize', function(event) { 228 resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")); 229 t3sbOffcanvas(resizedViewportWidth, navbarBPWidth, utilColorArr); 230 }, true); 231 232 233 // Collapsible - CollapsibleContainer.html 234 var collapse = document.querySelectorAll('.accordion .collapse'); 235 if ( collapse.length ) { 236 t3sbCollapsible(fixedNavbar, navbarHeight); 237 } 238 239 240 // Sticky footer - Page/Footer.html 241 const footerExtraHeight = 100; 242 t3sbStickyFooter(footerExtraHeight); 243 244}); 245 246(function($){'use strict'; 247const cookieConsentConfiguration = JSON.parse('{"cookieName":"cookie_consent","expiryDays":365,"hideOnInit":false,"reloadOnReeditDeny":false,"pushConsentToTagManager":false,"lazyloading":false,"lazyloadingTimeout":120,"consentMode":[],"containerId":"cookie-consent"}'); 248 249 250})(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.