1/** 2 * @author Rob Giles 3 * @summary Site Search Panel 4 */ 5 6let GRSearchPanel; 7 8document.addEventListener("DOMContentLoaded", function () { 9 10 const selectors = { 11 searchPanel: '.-js-search-panel', 12 searchPanelInline: '.-js-search-panel-inline', 13 searchPanelButton: '.-js-search-open', 14 }; 15 16 const searchPanel = document.querySelector(selectors.searchPanel); 17 const searchPanelInline = document.querySelector(selectors.searchPanelInline); 18 const searchToggle = document.querySelectorAll(selectors.searchPanelButton); 19 20 GRSearchPanel = { 21 22 init() { 23 24 if (searchToggle.length) { 25 for (let i = 0; i < searchToggle.length; i++) { 26 const button = searchToggle[i]; 27 28 button.addEventListener('click', this.expandPanel); 29 } 30 } 31 }, 32 33 expandPanel() { 34 if (searchPanelInline !== null) { 35 searchPanelInline.classList.toggle('-is-maximised'); 36 } 37 searchPanel.classList.toggle('-is-expanded'); 38 event.preventDefault(); 39 }, 40 } 41 42 GRSearchPanel.init(); 43});
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.