1/** 2 * @package Joomla.Site 3 * @subpackage Templates.Cassiopeia 4 * @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> 5 * @license GNU General Public License version 2 or later; see LICENSE.txt 6 * @since 4.0.0 7 */ 8 9Joomla = window.Joomla || {}; 10((Joomla, document) => { 11 12 function initTemplate(event) { 13 const target = event && event.target ? event.target : document; 14 15 /** 16 * Prevent clicks on buttons within a disabled fieldset 17 */ 18 target.querySelectorAll('fieldset.btn-group').forEach(fieldset => { 19 if (fieldset.getAttribute('disabled') === true) { 20 fieldset.style.pointerEvents = 'none'; 21 fieldset.querySelectorAll('.btn').forEach(btn => btn.classList.add('disabled')); 22 } 23 }); 24 } 25 document.addEventListener('DOMContentLoaded', event => { 26 initTemplate(event); 27 28 /** 29 * Back to top 30 */ 31 const backToTop = document.getElementById('back-top'); 32 function checkScrollPos() { 33 if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { 34 backToTop.classList.add('visible'); 35 } else { 36 backToTop.classList.remove('visible'); 37 } 38 } 39 if (backToTop) { 40 checkScrollPos(); 41 window.addEventListener('scroll', checkScrollPos); 42 backToTop.addEventListener('click', ev => { 43 ev.preventDefault(); 44 window.scrollTo(0, 0); 45 }); 46 } 47 48 /** 49 * Load deferred stylesheets 50 */ 51 document.head.querySelectorAll('link[rel="lazy-stylesheet"]').forEach($link => { 52 $link.rel = 'stylesheet'; 53 }); 54 }); 55 56 /** 57 * Initialize when a part of the page was updated 58 */ 59 document.addEventListener('joomla:updated', initTemplate); 60})(Joomla, document);
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.