1window.addEventListener('load', function () { 2 3 4 let getSuggestedPagesAsAnchor = async function (searchTerm) { 5 6 let formData = new URLSearchParams(); 7 formData.append('call', 'combo'); 8 formData.append('fetcher', 'page-search'); 9 formData.append('q', searchTerm); 10 let response = await fetch(DOKU_BASE + 'lib/exe/ajax.php', 11 { 12 method: "POST", 13 body: formData, 14 headers: { 15 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' 16 }, 17 }); 18 let htmlSuggestedPages = await response.json(); 19 if (!Array.isArray(htmlSuggestedPages)) { 20 throw Error("The received suggest pages are not in a json array format"); 21 } 22 let divContainer = document.createElement('div'); 23 for (let suggestPage of htmlSuggestedPages) { 24 // Trim to never return a text node of whitespace as the result 25 divContainer.insertAdjacentHTML('beforeend',suggestPage.trim()) 26 } 27 return [...divContainer.childNodes]; 28 29 } 30 combos.searchBox 31 .create("internal-search-box", getSuggestedPagesAsAnchor) 32 .init(); 33 34}); 35