add settings.json
This commit is contained in:
parent
82d51c5dc1
commit
d0a4430d0e
@ -6,7 +6,7 @@
|
||||
### Changes
|
||||
* Refactoring of all JS
|
||||
* Make only one request per second instead of four per AJAX
|
||||
* Refactoring Adminpannel
|
||||
* Refactoring Adminpannel and add settings.json
|
||||
|
||||
## 1.2.8
|
||||
### New Features
|
||||
|
@ -59,7 +59,7 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model.Admin {
|
||||
private Boolean GetJsonFiles(HttpListenerContext cont) =>
|
||||
cont.Request.Url.PathAndQuery == "/admin/get_json_names" ? this.GetJsonFile(cont, "names.json") :
|
||||
cont.Request.Url.PathAndQuery == "/admin/get_json_geo" ? this.GetJsonFile(cont, "geo.json") :
|
||||
cont.Request.Url.PathAndQuery == "/admin/get_json_settings" ? this.GetJsonFile(cont, "settings.json");
|
||||
cont.Request.Url.PathAndQuery == "/admin/get_json_settings" ? this.GetJsonFile(cont, "settings.json") :
|
||||
false;
|
||||
|
||||
private Boolean GetJsonFile(HttpListenerContext cont, String filename) {
|
||||
|
@ -114,3 +114,14 @@
|
||||
height: 120px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
#content #settingseditor .title {
|
||||
margin-bottom: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#content #settingseditor .startloc,
|
||||
#content #settingseditor .wetterwarnings,
|
||||
#content #settingseditor .savesettings {
|
||||
margin-left: 15px;
|
||||
}
|
@ -11,9 +11,10 @@
|
||||
<div id="header">Adminpannel Lora-Map</div>
|
||||
<div id="menu">
|
||||
<ul>
|
||||
<li><a onclick="menu_names(); return false;" href="#">Namen und Icons</a></li>
|
||||
<li><a onclick="menu_overlay(); return false;" href="#">Karteneditor</a></li>
|
||||
<li><a onclick="menu_eximport(); return false;" href="#">Ex- und Import</a></li>
|
||||
<li><a onclick="return AdminMenu.Names();" href="#">Namen und Icons</a></li>
|
||||
<!-- <li><a onclick="return AdminMenu.Overlay();" href="#">Karteneditor</a></li> -->
|
||||
<li><a onclick="return AdminMenu.Settings();" href="#">Einstellungen</a></li>
|
||||
<li><a onclick="return AdminMenu.ExImport();" href="#">Ex- und Import</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="content">Wilkommen im Adminbereich</div>
|
||||
|
@ -1,35 +1,55 @@
|
||||
function menu_names() {
|
||||
var ajaxnames = new XMLHttpRequest();
|
||||
ajaxnames.onreadystatechange = function() {
|
||||
if(ajaxnames.readyState === 4 && ajaxnames.status === 200) {
|
||||
NamesEditor.ParseJson(ajaxnames.responseText);
|
||||
}
|
||||
};
|
||||
ajaxnames.open("GET", "/admin/get_json_names", true);
|
||||
ajaxnames.send();
|
||||
}
|
||||
|
||||
function menu_overlay() {
|
||||
|
||||
}
|
||||
|
||||
function menu_eximport() {
|
||||
var ajaxnames = new XMLHttpRequest();
|
||||
ajaxnames.onreadystatechange = function () {
|
||||
if (ajaxnames.readyState === 4 && ajaxnames.status === 200) {
|
||||
var ajaxgeo = new XMLHttpRequest();
|
||||
ajaxgeo.onreadystatechange = function () {
|
||||
if (ajaxgeo.readyState === 4 && ajaxgeo.status === 200) {
|
||||
ExImport.ParseJson(ajaxnames.responseText, ajaxgeo.responseText);
|
||||
}
|
||||
};
|
||||
ajaxgeo.open("GET", "/admin/get_json_geo", true);
|
||||
ajaxgeo.send();
|
||||
}
|
||||
};
|
||||
ajaxnames.open("GET", "/admin/get_json_names", true);
|
||||
ajaxnames.send();
|
||||
}
|
||||
var AdminMenu = {
|
||||
Names: function () {
|
||||
var ajaxnames = new XMLHttpRequest();
|
||||
ajaxnames.onreadystatechange = function () {
|
||||
if (ajaxnames.readyState === 4 && ajaxnames.status === 200) {
|
||||
NamesEditor.ParseJson(ajaxnames.responseText);
|
||||
}
|
||||
};
|
||||
ajaxnames.open("GET", "/admin/get_json_names", true);
|
||||
ajaxnames.send();
|
||||
return false;
|
||||
},
|
||||
Overlay: function () {
|
||||
return false;
|
||||
},
|
||||
Settings: function () {
|
||||
var ajaxsettings = new XMLHttpRequest();
|
||||
ajaxsettings.onreadystatechange = function () {
|
||||
if (ajaxsettings.readyState === 4 && ajaxsettings.status === 200) {
|
||||
Settings.ParseJson(JSON.parse(ajaxsettings.responseText));
|
||||
}
|
||||
};
|
||||
ajaxsettings.open("GET", "/admin/get_json_settings", true);
|
||||
ajaxsettings.send();
|
||||
return false;
|
||||
},
|
||||
ExImport: function () {
|
||||
var ajaxnames = new XMLHttpRequest();
|
||||
ajaxnames.onreadystatechange = function () {
|
||||
if (ajaxnames.readyState === 4 && ajaxnames.status === 200) {
|
||||
var ajaxgeo = new XMLHttpRequest();
|
||||
ajaxgeo.onreadystatechange = function () {
|
||||
if (ajaxgeo.readyState === 4 && ajaxgeo.status === 200) {
|
||||
var ajaxsettings = new XMLHttpRequest();
|
||||
ajaxsettings.onreadystatechange = function () {
|
||||
if (ajaxsettings.readyState === 4 && ajaxsettings.status === 200) {
|
||||
ExImport.ParseJson(ajaxnames.responseText, ajaxgeo.responseText, ajaxsettings.responseText);
|
||||
}
|
||||
};
|
||||
ajaxsettings.open("GET", "/admin/get_json_settings", true);
|
||||
ajaxsettings.send();
|
||||
}
|
||||
};
|
||||
ajaxgeo.open("GET", "/admin/get_json_geo", true);
|
||||
ajaxgeo.send();
|
||||
}
|
||||
};
|
||||
ajaxnames.open("GET", "/admin/get_json_names", true);
|
||||
ajaxnames.send();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
var NamesEditor = {
|
||||
iconeditorcounter: 0,
|
||||
@ -320,15 +340,48 @@ var NamesEditor = {
|
||||
}
|
||||
};
|
||||
|
||||
var Settings = {
|
||||
ParseJson: function (jsonsettings) {
|
||||
var html = "<div id='settingseditor'><div class='title'>Einstellungen</div>";
|
||||
html += "<div class='startloc'>Startlocation: <input value='" + jsonsettings.StartPos.lat + "' id='startlat'> Lat, <input value='" + jsonsettings.StartPos.lon + "' id='startlon'> Lon</div>";
|
||||
html += "<div class='wetterwarnings'>CellId's für DWD-Wetterwarnungen: <input value='" + jsonsettings.CellIds.join(";") + "' id='wetterids'> (Trennen durch \";\", <a href='https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.html'>cap_warncellids_csv</a>)</div>";
|
||||
html += "<div class='savesettings'><img src='../icons/general/save.png' onclick='Settings.Save()' class='pointer'></div>";
|
||||
document.getElementById("content").innerHTML = html + "</div>";
|
||||
},
|
||||
Save: function () {
|
||||
var ret = {};
|
||||
ret.StartPos = {};
|
||||
ret.StartPos.lat = parseFloat(document.getElementById("startlat").value.replace(",", "."));
|
||||
ret.StartPos.lon = parseFloat(document.getElementById("startlon").value.replace(",", "."));
|
||||
ret.CellIds = document.getElementById("wetterids").value.split(";");
|
||||
|
||||
var savesettings = new XMLHttpRequest();
|
||||
savesettings.onreadystatechange = function () {
|
||||
if (savesettings.readyState === 4) {
|
||||
if (savesettings.status === 200) {
|
||||
alert("Änderungen gespeichert!");
|
||||
} else if (savesettings.status === 501) {
|
||||
alert("Ein Fehler ist aufgetreten (invalid JSON)!");
|
||||
}
|
||||
}
|
||||
};
|
||||
savesettings.open("POST", "/admin/set_json_settings", true);
|
||||
savesettings.send(JSON.stringify(ret));
|
||||
}
|
||||
};
|
||||
|
||||
var ExImport = {
|
||||
ParseJson: function (jsonnames, jsongeo) {
|
||||
ParseJson: function (jsonnames, jsongeo, jsonsettings) {
|
||||
html = "<div id='eximport'><div class='title'>Ex- und Import der Einstellungen</div>";
|
||||
html += "<div class='names'>names.json (Namen und Icons)<br/><textarea id='ex_names'></textarea> <img src='../icons/general/save.png' onclick='ExImport.SaveNames()' class='pointer'></div>";
|
||||
html += "<div class='names'>geo.json (Layer on the MAP) <a href='https://mapbox.github.io/togeojson/'>Kml Konverter</a><br/><textarea id='ex_geo'></textarea> <img src='../icons/general/save.png' onclick='ExImport.SaveGeo()' class='pointer'></div>";
|
||||
html += "<div class='names'>settings.json (Settings of the Map)<br/><textarea id='ex_settings'></textarea> <img src='../icons/general/save.png' onclick='ExImport.SaveSettings()' class='pointer'></div>";
|
||||
|
||||
html += "</div>";
|
||||
document.getElementById("content").innerHTML = html;
|
||||
document.getElementById("ex_names").value = jsonnames;
|
||||
document.getElementById("ex_geo").value = jsongeo;
|
||||
document.getElementById("ex_settings").value = jsonsettings;
|
||||
},
|
||||
SaveNames: function () {
|
||||
var savenames = new XMLHttpRequest();
|
||||
@ -357,5 +410,19 @@ var ExImport = {
|
||||
};
|
||||
savegeo.open("POST", "/admin/set_json_geo", true);
|
||||
savegeo.send(document.getElementById("ex_geo").value);
|
||||
},
|
||||
SaveSettings: function () {
|
||||
var savesettings = new XMLHttpRequest();
|
||||
savesettings.onreadystatechange = function () {
|
||||
if (savesettings.readyState === 4) {
|
||||
if (savesettings.status === 200) {
|
||||
alert("Änderungen an settings.json gespeichert!");
|
||||
} else if (savesettings.status === 501) {
|
||||
alert("Ein Fehler ist aufgetreten (invalid JSON)!");
|
||||
}
|
||||
}
|
||||
};
|
||||
savesettings.open("POST", "/admin/set_json_settings", true);
|
||||
savesettings.send(document.getElementById("ex_settings").value);
|
||||
}
|
||||
};
|
Loading…
Reference in New Issue
Block a user