xref: /template/strap/resources/snippet/js/railbar.js (revision 04fd306c7c155fa133ebb3669986875d65988276)
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