function setPluginName(name) { document.getElementById("plugin_title").innerHTML = ` ${name} `; } function reloadIframe() { document.getElementById("plugin_iframe").contentWindow.location.href = "http://127.0.0.1:1337/plugins/iframe"; } function resolveMethodCall(call_id, result) { let iframe = document.getElementById("plugin_iframe").contentWindow; iframe.postMessage({'call_id': call_id, 'result': result}, "http://127.0.0.1:1337"); } function installPlugin(request_id) { let id = `${new Date().getTime()}`; console.debug(JSON.stringify({ "id": id, "method": "confirm_plugin_install", "args": {"request_id": request_id} })); document.getElementById('plugin_install_list').removeChild(document.getElementById(`plugin_install_prompt_${request_id}`)); } function addPluginInstallPrompt(artifact, version, request_id) { let text = `

Install plugin

`; document.getElementById('plugin_install_list').innerHTML += text; } (function () { const PLUGIN_ICON = ` `; function createTitle(text) { return `
${text}
`; } function createPluginList() { let pages = document.getElementsByClassName("quickaccessmenu_AllTabContents_2yKG4 quickaccessmenu_Down_3rR0o")[0]; let pluginPage = pages.children[pages.children.length - 1]; pluginPage.innerHTML = createTitle("Plugins"); pluginPage.innerHTML += `
` pluginPage.innerHTML += ``; } function inject() { let tabs = document.getElementsByClassName("quickaccessmenu_TabContentColumn_2z5NL Panel Focusable")[0]; tabs.children[tabs.children.length - 1].innerHTML = PLUGIN_ICON; createPluginList(); } let injector = setInterval(function () { if (document.hasFocus()) { inject(); document.getElementById("plugin_title").onclick = function() { reloadIframe(); document.getElementById("plugin_title").innerText = "Plugins"; } window.onmessage = function(ev) { document.getElementById("plugin_title").innerHTML = ` ${ev.data} `; } clearInterval(injector); } }, 100); })();