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