UNPKG

graviton-plugin-sdk

Version:

Gravtion plugin Dev Kit

105 lines (99 loc) 3.44 kB
/* ######################################## MIT License Copyright (c) 2019 Marc Espin Sanztor License > https://github.com/Graviton-Code-Editor/Graviton-App/blob/master/LICENSE.md ######################################### */ "use strict"; module.exports = { Setup: { open: function() { /** * @desc Open the setu`p window */ languages.map((lang, index) => { if (navigator.language.includes(languages[index].locale)) { loadLanguage(languages[index].name); } else if (index == languages.length + 1) { loadLanguage(languages[0]); } }); const all = document.createElement("div"); all.id = "graviton_setup"; all.innerHTML = ` <div class="body_window_full"> <div id="body_window_full"> </div> </div>`; document.body.appendChild(all); Setup.navigate("languages"); graviton.deleteLog(); if (error_showed == false) DeleteBoot(); }, close: function() { /** * @desc Close the setup window */ document.getElementById("graviton_setup").remove(); current_config.justInstalled = false; graviton.saveConfiguration(); }, navigate: function(page) { /** * @desc Navigate through the Setup pages */ switch (page) { case "languages": document.getElementById( "body_window_full" ).innerHTML = graviton.getTemplate("setup_languages"); for (i = 0; i < languages.length; i++) { const languageDiv = document.createElement("div"); languageDiv.setAttribute("class", "language_div"); languageDiv.setAttribute( "onclick", `loadLanguage('${languages[i].name}'); selectionFromTo(this.parentElement,this)` ); languageDiv.innerText = languages[i].name; if (languages[i].name === current_config.language.name) { selectionFromTo(document.getElementById("language_list"),languageDiv); } document.getElementById("language_list").appendChild(languageDiv); } break; case "themes": document.getElementById( "body_window_full" ).innerHTML = graviton.getTemplate("setup_themes"); break; case "additional_settings": document.getElementById( "body_window_full" ).innerHTML = graviton.getTemplate("setup_additional_settings"); break; case "welcome": if (graviton.isProduction() !== true) { new Notification({ title: "Graviton", content: "You are being on dev mode. The .graviton folder is created in the parent folder of the source. Press Ctrl+shift+i or click the button to open dev tools.", delay: "10000", buttons: { "Dev tools": { click: function() { graviton.openDevTools(); } }, Close: {} } }); } document.getElementById( "body_window_full" ).innerHTML = graviton.getTemplate("setup_welcome"); break; } } } };