1*04fd306cSNickeauwindow.addEventListener('load', async function () { 2*04fd306cSNickeau 3*04fd306cSNickeau let pageToolContainer = document.getElementById("page-tool"); 4*04fd306cSNickeau if (pageToolContainer === null) { 5*04fd306cSNickeau throw Error("No page tool element found"); 6*04fd306cSNickeau } 7*04fd306cSNickeau 8*04fd306cSNickeau let formData = new URLSearchParams(); 9*04fd306cSNickeau formData.append('call', 'combo'); 10*04fd306cSNickeau formData.append('fetcher', 'railbar'); 11*04fd306cSNickeau formData.append('viewport', window.innerWidth.toString(10)) 12*04fd306cSNickeau if ('layout' in pageToolContainer.dataset) { 13*04fd306cSNickeau formData.append('layout', pageToolContainer.dataset.layout) 14*04fd306cSNickeau } 15*04fd306cSNickeau let response = await fetch(DOKU_BASE + 'lib/exe/ajax.php', 16*04fd306cSNickeau { 17*04fd306cSNickeau method: "POST", 18*04fd306cSNickeau body: formData, 19*04fd306cSNickeau headers: { 20*04fd306cSNickeau 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' 21*04fd306cSNickeau }, 22*04fd306cSNickeau }); 23*04fd306cSNickeau let htmlFragment = await response.text(); 24*04fd306cSNickeau combos.html.loadFragment(htmlFragment, pageToolContainer) 25*04fd306cSNickeau 26*04fd306cSNickeau}) 27