class BlogViewer{ static appID = "BlogViewer" /** * @param {string[]} args * @param {Object} runContext */ async NewWindow(args, runContext){ const params = new URLSearchParams({ path: args[0], }) runContext.runPath = args[0] const response = await fetch(`app/${BlogViewer.appID}/render?` + params, { method: "POST", body: JSON.stringify(runContext) }) if (response.status != 200){ WebDesktopEnvironment.Alert("Error render TODO") //TODO return } const html = await response.text() let newWindow = WebDesktopEnvironment.CreateNewWindow(this.appId, 500, 350 ) newWindow.innerHTML = html let scrollBar = new WdeScrollBar(newWindow.querySelector(".ScrollbarPlace"), newWindow.querySelector(".ScrollContent")) newWindow.querySelector("#closeWindowButton").addEventListener('click', function (params) { WebDesktopEnvironment.CloseWindow(newWindow) }) } /** * @param {MouseEvent} event * @param {string} path */ static Click(event, path){ let fileType = event.target.getAttribute("fileType") switch (fileType) { case "app": //TODO get real id WebDesktopEnvironment.Open("personal-properties", []) break; case "img": WebDesktopEnvironment.Open("img-viewer", ["pizda"]) break; default: console.log("Unsupported file type") break; } } }