From 47fe56304f0274f095828d86fc9222345f7c82b3 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Sun, 29 Aug 2021 00:48:21 +0200 Subject: [PATCH] Change the SVG link to the correct array behavour --- Lora-Map/Model/Svg/SVGFile.cs | 8 +++-- Lora-Map/resources/admin/js/nameseditor.js | 36 +++++++++++----------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Lora-Map/Model/Svg/SVGFile.cs b/Lora-Map/Model/Svg/SVGFile.cs index 714011c..d3a81db 100644 --- a/Lora-Map/Model/Svg/SVGFile.cs +++ b/Lora-Map/Model/Svg/SVGFile.cs @@ -72,13 +72,15 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model.Svg { #endregion } - protected static String DictionaryConfigToString(Dictionary config) { + protected static String DictionaryConfigToString(Dictionary> config) { String query = ""; if(config.Count > 0) { query += "?"; List queryparts = new List(); - foreach(KeyValuePair item in config) { - queryparts.Add(HttpUtility.UrlEncode(item.Key) + "=" + HttpUtility.UrlEncode(item.Value)); + foreach(KeyValuePair> items in config) { + foreach(String item in items.Value) { + queryparts.Add(items.Key + "=" + HttpUtility.UrlEncode(item)); + } } query += String.Join("&", queryparts); } diff --git a/Lora-Map/resources/admin/js/nameseditor.js b/Lora-Map/resources/admin/js/nameseditor.js index a0a33d7..346b906 100644 --- a/Lora-Map/resources/admin/js/nameseditor.js +++ b/Lora-Map/resources/admin/js/nameseditor.js @@ -32,21 +32,21 @@ if (Object.prototype.hasOwnProperty.call(query, "person-text")) { markerobj["person"]["text"] = query["person-text"]; } - if (Object.prototype.hasOwnProperty.call(query, "person-typ")) { - if (Array.isArray(query["person-typ"])) { + if (Object.prototype.hasOwnProperty.call(query, "person-typ[]")) { + if (Array.isArray(query["person-typ[]"])) { markerobj["person"]["typ"] = new Array(); - for (var i in query["person-typ"]) { - markerobj["person"]["typ"].push(query["person-typ"][i]); + for (var i in query["person-typ[]"]) { + markerobj["person"]["typ"].push(query["person-typ[]"][i]); } } else { markerobj["person"]["typ"] = new Array(); - markerobj["person"]["typ"].push(query["person-typ"]); + markerobj["person"]["typ"].push(query["person-typ[]"]); } } } return markerobj; }, - ChangeLinkPreview: function (key, val) { + ChangeLinkPreview: function (key, val, multiple) { var cur = this.SplitUrlIntoParts(document.getElementById("markerprev").data); var query = this.SplitQueryIntoObject(cur.query); if (typeof val === "object") { @@ -71,13 +71,13 @@ var html = title !== "" ? title + ": " : ""; var onchange = ""; if (!(typeof noonchange !== "undefined" && noonchange === true)) { - var eventtext = "NamesEditor.ChangeLinkPreview(\"" + key + "\",this.selectedOptions);"; + var eventtext = "NamesEditor.ChangeLinkPreview(\"" + key + "\", this.selectedOptions, multiple);"; if (typeof group !== "undefined" && group !== null) { eventtext += " document.getElementById(\"" + group + "\"+this.value).style.display = \"block\";'"; } onchange = " onchange='" + eventtext + "'"; } - html += ""; + html += ""; if (typeof muliple === "undefined" || muliple === null) { html += ""; } @@ -122,7 +122,7 @@ if (url === null) { el.innerHTML += " wähle Icon"; } else { - el.innerHTML += " "; + el.innerHTML += " "; } el.innerHTML += "" + this.CreateSelectBox("", "item", { item: gfilter }, this.filterGropus, null, null, true); el.innerHTML += " "; @@ -137,15 +137,15 @@ var ie = document.createElement("div"); ie.id = "iconeditor"; ie.innerHTML = "
" + - "
" + + "
" + "
" + this.CreateSelectBox("Typ", "icon", query, { "person": "Person" }, null, "iconeditor-type-") + "
" + "
" + this.CreateSelectBox("Organisation", "person-org", query, { "fw": "Feuerwehr", "thw": "Technisches Hilfswerk", "hilo": "Hilfsorganisationen, Bundeswehr", "fueh": "Einrichtungen der Führung", "pol": "Polizei, Bundespolizei, Zoll", "sonst": "Sonstige Einrichtungen der Gefahrenabwehr" }) + "
" + this.CreateSelectBox("Funktion", "person-funct", query, { "sonder": "Sonder", "fueh": "Führung" }) + "
" + this.CreateSelectBox("Rang", "person-rang", query, { "trupp": "Trupp", "grupp": "Gruppe", "zug": "Zug" }) + "
" + - "Text:
" + - this.CreateSelectBox("Typ", "person-typ", query, { "loesch": "Brandbekämpfung/Löscheinsatz", "sani": "Rettungswesen, Sanitätswesen, Gesundheitswesen", "betreu": "Betreuung" }, true) + "
" + + "Text:
" + + this.CreateSelectBox("Typ", "person-typ[]", query, { "loesch": "Brandbekämpfung/Löscheinsatz", "sani": "Rettungswesen, Sanitätswesen, Gesundheitswesen", "betreu": "Betreuung" }, true) + "
" + "
" + "
" + "
" + @@ -157,10 +157,10 @@ for (var id in queryobj) { if (Array.isArray(queryobj[id])) { for (var i in queryobj[id]) { - query.push(encodeURIComponent(id) + "=" + encodeURIComponent(queryobj[id][i])); + query.push(id + "=" + encodeURIComponent(queryobj[id][i])); } } else { - query.push(encodeURIComponent(id) + "=" + encodeURIComponent(queryobj[id])); + query.push(id + "=" + encodeURIComponent(queryobj[id])); } } return query.join("&"); @@ -183,11 +183,11 @@ } if (Object.prototype.hasOwnProperty.call(markerobj["person"], "typ") && Array.isArray(markerobj["person"]["typ"])) { for (i in markerobj["person"]["typ"]) { - url += "&person-typ=" + markerobj["person"]["typ"][i]; + url += "&person-typ[]=" + markerobj["person"]["typ"][i]; } } } - return ""; + return ""; }, ParseJson: function (namesconfig) { document.getElementById("content").innerHTML = ""; @@ -249,7 +249,7 @@ }, SaveIconEditor: function (id) { var cell = document.getElementById(id); - cell.innerHTML = " "; + cell.innerHTML = " "; cell.removeAttribute("id"); document.getElementById("iconeditor").remove(); }, @@ -269,7 +269,7 @@ if (url === null) { el.innerHTML += ""; } else { - el.innerHTML += ""; + el.innerHTML += ""; } el.innerHTML += "" + this.filterGropus[gfilter] + ""; el.innerHTML += " ";