mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-11 23:04:52 +09:00
60 lines
2.0 KiB
JavaScript
60 lines
2.0 KiB
JavaScript
// Handle config editing
|
|
originalSettings = {};
|
|
let settings = document.querySelectorAll(".settingInput");
|
|
settings.forEach(setting => {
|
|
let entry = setting.children[0].innerText
|
|
originalSettings[setting.children[0].innerText] = {
|
|
entry: setting.children[0].innerText,
|
|
value: setting.children[1].value,
|
|
}
|
|
setting.children[1].addEventListener("input", ()=>{
|
|
let newValue = setting.children[1].value;
|
|
if(newValue != originalSettings[entry].value){
|
|
setting.children[1].style.backgroundColor = "lightgreen";
|
|
} else {
|
|
setting.children[1].style.backgroundColor = "";
|
|
}
|
|
});
|
|
});
|
|
let submitSettings = document.querySelector("#submitSettings");
|
|
submitSettings.addEventListener("click", async ()=>{
|
|
let settings = document.querySelectorAll(".settingInput");
|
|
for(let i = 0; i < settings.length; i++){
|
|
let setting = settings[i];
|
|
let entry = setting.children[0].innerText
|
|
if(setting.children[1].value != originalSettings[entry].value){
|
|
// upload new changes, display results somehow
|
|
let status = await postJSON("/api/serverManager/editConfig", {
|
|
entry,
|
|
value: setting.children[1].value,
|
|
instanceID: getParameterByName("instanceID"),
|
|
});
|
|
if(status.ok){
|
|
setting.children[1].style.backgroundColor = "";
|
|
}
|
|
}
|
|
}
|
|
});
|
|
// Handle plugin management
|
|
let pluginStatuses = document.querySelectorAll(".pluginStatus");
|
|
pluginStatuses.forEach(pluginStatus => {
|
|
pluginStatus.addEventListener("click", async ()=>{
|
|
if(pluginStatus.style.backgroundColor == "green"){
|
|
let status = await postJSON("/api/serverManager/disablePlugin", {
|
|
instanceID: getParameterByName("instanceID"),
|
|
pluginName: pluginStatus.parentElement.children[1].children[0].innerText,
|
|
});
|
|
if(status.ok){
|
|
pluginStatus.style.backgroundColor = "red";
|
|
}
|
|
} else {
|
|
let status = await postJSON("/api/serverManager/enablePlugin", {
|
|
instanceID: getParameterByName("instanceID"),
|
|
pluginName: pluginStatus.parentElement.children[1].children[0].innerText,
|
|
});
|
|
if(status.ok){
|
|
pluginStatus.style.backgroundColor = "green";
|
|
}
|
|
}
|
|
});
|
|
}); |