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// Offcanvas - Navbar/Assets.html 62function t3sbOffcanvas(vw, bp, utilColorArr) { 63 var navbarToggler = document.getElementById('navbarToggler'); 64 if ( vw > bp ) { 65 navbarToggler.classList.remove(utilColorArr[0]); 66 navbarToggler.classList.remove(utilColorArr[1]); 67 } else { 68 navbarToggler.classList.add(utilColorArr[0]); 69 navbarToggler.classList.add(utilColorArr[1]); 70 } 71 let extraRow = document.querySelector('.navbar .extra-row'); 72 if (extraRow) { 73 if ( vw < bp ) { 74 extraRow.classList.add('ms-3'); 75 } else { 76 extraRow.classList.remove('ms-3'); 77 } 78 } 79} 80 81 82 83function ready(fn) { 84 if (document.readyState != 'loading'){ 85fn(); 86 } else { 87document.addEventListener('DOMContentLoaded', fn); 88 } 89} 90ready(() => { 91 // Default - Main.html 92 const navbar = document.getElementById('main-navbar'), 93 navbarHeight = navbar.clientHeight, 94 navbarBreakpointWidth = document.body.getAttribute('data-navbar-breakpointwidth'), 95 viewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")), 96 onePageLayout = navbar.classList.contains('sectionMenu'); 97 98 var fixedNavbar = false; 99 100 if ( navbar.classList.contains('fixed-top') ||Â navbar.classList.contains('sticky-top') ) { 101 fixedNavbar = true; 102 } 103 104 // Scroll anchor - Main.html 105 if (window.location.hash) { 106 t3sbScrollToAnchor(29, fixedNavbar, navbarHeight); 107 } 108 109 110 // LazyLoad - Main.html 111 var customthreshold = 0; 112 new LazyLoad({ 113 elements_selector: '.lazy', 114 threshold: customthreshold 115 }); 116 117 118 // Link to top - Main.html 119 t3sbScrollToTop(); 120 121 122 // Offcanvas - Navbar/Assets.html 123 var navbarBreakpoint = document.body.getAttribute('data-navbar-breakpoint'); 124 var navbarBPWidth = navbarBreakpointWidth, 125 utilColor = 'bg-color', 126 utilColorArr = utilColor.split(' '); 127 if (navbarBreakpoint == 'no') { 128 navbarBPWidth = 99999; 129 } 130 t3sbOffcanvas(viewportWidth, navbarBPWidth, utilColorArr); 131 window.addEventListener('resize', function(event) { 132 resizedViewportWidth = parseFloat(getComputedStyle(document.querySelector('html'), null).width.replace("px", "")); 133 t3sbOffcanvas(resizedViewportWidth, navbarBPWidth, utilColorArr); 134 }, true); 135 136 137 // Navbar mega-menu - Navbar/Assets.html 138 var megaDropdown = document.querySelectorAll('.mega-dropdown'), 139 navbarBreakpointToggler = ''; 140 if ( viewportWidth < navbarBreakpointWidth ) { 141 navbarBreakpointToggler = document.querySelectorAll('.remove-lg'); 142 navbarBreakpointToggler.forEach( nbt => { 143 nbt.remove(); 144 }); 145 } else { 146 navbarBreakpointToggler = document.querySelectorAll('.show-lg'); 147 navbarBreakpointToggler.forEach( nbt => { 148 nbt.remove(); 149 }); 150 } 151 152});
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.