graviton-plugin-sdk
Version:
Gravtion plugin Dev Kit
105 lines (99 loc) • 3.44 kB
JavaScript
/*
########################################
MIT License
Copyright (c) 2019 Marc Espin Sanztor
License > https://github.com/Graviton-Code-Editor/Graviton-App/blob/master/LICENSE.md
#########################################
*/
;
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;
}
}
}
};