";
+ html += "";
for (var id in namesconfig) {
if (namesconfig.hasOwnProperty(id)) {
var nameentry = namesconfig[id];
@@ -46,6 +43,7 @@ var NamesEditor = {
"";
}
}
+ html += "";
html += "
";
html += "
";
document.getElementById("content").innerHTML = html + "
";
@@ -69,6 +67,26 @@ var NamesEditor = {
}
return "";
},
+ BuildIconJson: function (url) {
+ var query = this.SplitQueryIntoObject(this.SplitUrlIntoParts(url).query);
+ var markerobj = {};
+ if (query.hasOwnProperty("icon") && query["icon"] === "person") {
+ markerobj["person"] = {};
+ if (query.hasOwnProperty("person-org")) {
+ markerobj["person"]["org"] = query["person-org"];
+ }
+ if (query.hasOwnProperty("person-funct")) {
+ markerobj["person"]["funct"] = query["person-funct"];
+ }
+ if (query.hasOwnProperty("person-rang")) {
+ markerobj["person"]["rang"] = query["person-rang"];
+ }
+ if (query.hasOwnProperty("person-text")) {
+ markerobj["person"]["text"] = query["person-text"];
+ }
+ }
+ return markerobj;
+ },
Add: function () {
var newrow = document.createElement("tr");
newrow.innerHTML = "
";
@@ -78,7 +96,28 @@ var NamesEditor = {
document.getElementById("nametable").children[1].appendChild(newrow);
},
Save: function () {
- alert("Save");
+ var rows = document.getElementById("nametable").children[1].children;
+ var namejson = {};
+ for (var i = 0; i < rows.length; i++) {
+ if (rows[i].children[0].children.length === 1) {
+ alert("Bitte zuerst alle Zeilen speichern oder Löschen!");
+ return;
+ }
+ var id = rows[i].children[0].innerText;
+ var name = rows[i].children[1].innerText;
+ namejson[id] = { "name": name };
+ if (rows[i].children[2].children[0].hasAttribute("data")) {
+ namejson[id]["marker.svg"] = this.BuildIconJson(rows[i].children[2].children[0].data);
+ }
+ }
+ var savenames = new XMLHttpRequest();
+ savenames.onreadystatechange = function () {
+ if (savenames.readyState === 4 && savenames.status === 200) {
+ alert("Änderungen gespeichert!");
+ }
+ };
+ savenames.open("POST", "http://{%REQUEST_URL_HOST%}/admin/set_json_names", true);
+ savenames.send(JSON.stringify(namejson));
},
Delete: function (el) {
var name = el.firstChild.innerHTML;
@@ -110,7 +149,7 @@ var NamesEditor = {
var id = el.children[0].children[0].value;
var name = el.children[1].children[0].value;
var url = null;
- if (el.children[2].children.length == 2) {
+ if (el.children[2].children.length === 2) {
url = el.children[2].children[1].data;
}
el.innerHTML = "
" + id + "
" +
@@ -125,7 +164,7 @@ var NamesEditor = {
IconEditor: function (el) {
var url = "../icons/marker/Marker.svg?marker-bg=hidden";
el.id = "icon_edit_" + this.iconeditorcounter++;
- if (el.children.length == 2) {
+ if (el.children.length === 2) {
url = el.children[1].data;
}
var query = this.SplitQueryIntoObject(this.SplitUrlIntoParts(url).query);
@@ -135,11 +174,11 @@ var NamesEditor = {
"" +
"