[1.2.6] New Types of marker for person
This commit is contained in:
parent
e244aef202
commit
0bc3f6c1e7
@ -29,6 +29,13 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model
|
||||
if(json["person"].ContainsKey("text") && json["person"]["text"].IsString) {
|
||||
ret += "&person-text=" + (String)json["person"]["text"];
|
||||
}
|
||||
if(json["person"].ContainsKey("typ") && json["person"]["typ"].IsArray) {
|
||||
foreach(JsonData item in json["person"]["typ"]) {
|
||||
if(item.IsString) {
|
||||
ret += "&person-typ=" + (String)item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ret += (ret.Contains("?")) ? "&name=" + name : "?name=" + name;
|
||||
return ret;
|
||||
@ -100,6 +107,12 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model
|
||||
xmlpersontext.Item(0).InnerText = keyvalue[1];
|
||||
}
|
||||
break;
|
||||
case "person-typ":
|
||||
XmlNodeList xmlpersontyp = this.svg.DocumentElement.SelectNodes("//*[local-name()='defs'][@id='people-def']");
|
||||
if(xmlpersontyp.Count == 1) {
|
||||
xmlpersontyp.Item(0).InnerXml += "<style type=\"text/css\">#person-layer-typ #person-layer-typ-" + keyvalue[1] + " { display: inline; }</style>";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -33,8 +33,8 @@ using System.Runtime.InteropServices;
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.2.5")]
|
||||
[assembly: AssemblyFileVersion("1.2.5")]
|
||||
[assembly: AssemblyVersion("1.2.6")]
|
||||
[assembly: AssemblyFileVersion("1.2.6")]
|
||||
|
||||
/*
|
||||
* 1.1.1 Add Debian package config
|
||||
@ -50,4 +50,5 @@ using System.Runtime.InteropServices;
|
||||
* 1.2.3 #9 display polygons and marker on the map
|
||||
* 1.2.4 Can draw Textmarkers on the Map, use MGRS (UTM) on the Map
|
||||
* 1.2.5 #10 text Letzer Datenempfang is too long when scrollbar is there and #11 set textsize for every zoomlevel
|
||||
* 1.2.6 New Types of marker for person
|
||||
*/
|
||||
|
@ -78,6 +78,11 @@ var NamesEditor = {
|
||||
if(markerobj["person"].hasOwnProperty("text")) {
|
||||
url += "&person-text=" + markerobj["person"]["text"];
|
||||
}
|
||||
if (markerobj["person"].hasOwnProperty("typ") && Array.isArray(markerobj["person"]["typ"])) {
|
||||
for (i in markerobj["person"]["typ"]) {
|
||||
url += "&person-typ=" + markerobj["person"]["typ"][i];
|
||||
}
|
||||
}
|
||||
}
|
||||
return "<object data='"+url+"' type='image/svg+xml' style='height:50px; width:50px;'></object>";
|
||||
},
|
||||
@ -98,6 +103,17 @@ var NamesEditor = {
|
||||
if (query.hasOwnProperty("person-text")) {
|
||||
markerobj["person"]["text"] = query["person-text"];
|
||||
}
|
||||
if (query.hasOwnProperty("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]);
|
||||
}
|
||||
} else {
|
||||
markerobj["person"]["typ"] = new Array();
|
||||
markerobj["person"]["typ"].push(query["person-typ"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return markerobj;
|
||||
},
|
||||
@ -191,29 +207,43 @@ var NamesEditor = {
|
||||
ie.innerHTML = "<div class='innerbox'>" +
|
||||
"<div class='preview'><object id='markerprev' data='" + url + "' type='image/svg+xml' style='height:200px; width:200px;'></object></div>" +
|
||||
"<div class='controls'>" +
|
||||
this.CreateSelectBox("Typ", "icon", query, { "person": "Person" }, "iconeditor-type-") + "<br>" +
|
||||
this.CreateSelectBox("Typ", "icon", query, { "person": "Person" }, null, "iconeditor-type-") + "<br>" +
|
||||
"<div id='iconeditor-type-person' style='display: " + (query.hasOwnProperty("icon") && query["icon"] === "person" ? "block" : "none") + ";'>" +
|
||||
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" }) + "<br>" +
|
||||
this.CreateSelectBox("Funktion", "person-funct", query, { "sonder": "Sonder", "fueh": "Führung" }) + "<br>" +
|
||||
this.CreateSelectBox("Rang", "person-rang", query, { "trupp": "Trupp", "grupp": "Gruppe", "zug":"Zug" }) + "<br>" +
|
||||
"Text: <input onchange='NamesEditor.ChangeLinkPreview(\"person-text\",this.value);' value='" + (query.hasOwnProperty("person-text") ? query["person-text"] : "") + "'><br>" +
|
||||
this.CreateSelectBox("Typ", "person-typ", query, { "loesch": "Brandbekämpfung/Löscheinsatz", "sani": "Rettungswesen, Sanitätswesen, Gesundheitswesen", "betreu": "Betreuung" }, true) + "<br>" +
|
||||
"</div>" +
|
||||
"</div>" +
|
||||
"<div class='save'><button onclick='NamesEditor.SaveIconEditor(\"" + el.id + "\"); '>Schließen</botton></div>" +
|
||||
"</div>";
|
||||
document.getElementsByTagName("body")[0].appendChild(ie);
|
||||
},
|
||||
CreateSelectBox: function (title, key, query, options, group) {
|
||||
CreateSelectBox: function (title, key, query, options, muliple, group) {
|
||||
var html = title + ": ";
|
||||
var eventtext = "NamesEditor.ChangeLinkPreview(\"" + key + "\",this.value);";
|
||||
var eventtext = "NamesEditor.ChangeLinkPreview(\"" + key + "\",this.selectedOptions);";
|
||||
if (typeof group !== "undefined") {
|
||||
eventtext += " document.getElementById(\"" + group + "\"+this.value).style.display = \"block\";'";
|
||||
}
|
||||
html += "<select onchange='" + eventtext + "'>";
|
||||
html += "<select onchange='" + eventtext + "'" + (typeof muliple !== "undefined" && muliple !== null ? " multiple" : "") + ">";
|
||||
if (typeof muliple === "undefined" || muliple === null) {
|
||||
html += "<option>---</option>";
|
||||
}
|
||||
for (var value in options) {
|
||||
if (query.hasOwnProperty(key) && query[key] === value) {
|
||||
html += "<option value='" + value + "' selected>" + options[value] + "</option>";
|
||||
} else if (query.hasOwnProperty(key) && Array.isArray(query[key])) {
|
||||
var notinqueryarray = true;
|
||||
for (var i in query[key]) {
|
||||
if (query[key][i] === value) {
|
||||
notinqueryarray = false;
|
||||
html += "<option value='" + value + "' selected>" + options[value] + "</option>";
|
||||
}
|
||||
}
|
||||
if (notinqueryarray) {
|
||||
html += "<option value='" + value + "'>" + options[value] + "</option>";
|
||||
}
|
||||
} else {
|
||||
html += "<option value='" + value + "'>" + options[value] + "</option>";
|
||||
}
|
||||
@ -235,15 +265,32 @@ var NamesEditor = {
|
||||
var pairs = query.split("&");
|
||||
for (var i = 0; i < pairs.length; i++) {
|
||||
var pair = pairs[i].split("=");
|
||||
if (queryobj.hasOwnProperty(decodeURIComponent(pair[0]))) {
|
||||
if (Array.isArray(queryobj[decodeURIComponent(pair[0])])) {
|
||||
queryobj[decodeURIComponent(pair[0])].push(decodeURIComponent(pair[1] || ""));
|
||||
} else {
|
||||
var tmp = queryobj[decodeURIComponent(pair[0])];
|
||||
queryobj[decodeURIComponent(pair[0])] = new Array();
|
||||
queryobj[decodeURIComponent(pair[0])].push(tmp);
|
||||
queryobj[decodeURIComponent(pair[0])].push(decodeURIComponent(pair[1] || ""));
|
||||
}
|
||||
} else {
|
||||
queryobj[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || "");
|
||||
}
|
||||
}
|
||||
return queryobj;
|
||||
},
|
||||
JoinObjectIntoQuery: function (queryobj) {
|
||||
var query = new Array();
|
||||
for (var id in queryobj) {
|
||||
if (Array.isArray(queryobj[id])) {
|
||||
for (var i in queryobj[id]) {
|
||||
query.push(encodeURIComponent(id) + "=" + encodeURIComponent(queryobj[id][i]));
|
||||
}
|
||||
} else {
|
||||
query.push(encodeURIComponent(id) + "=" + encodeURIComponent(queryobj[id]));
|
||||
}
|
||||
}
|
||||
return query.join("&");
|
||||
},
|
||||
SplitUrlIntoParts: function (url) {
|
||||
@ -253,11 +300,22 @@ var NamesEditor = {
|
||||
ChangeLinkPreview: function (key, val) {
|
||||
var cur = this.SplitUrlIntoParts(document.getElementById("markerprev").data);
|
||||
var query = this.SplitQueryIntoObject(cur.query);
|
||||
if (val === "---") {
|
||||
if (typeof val === "object") {
|
||||
query[key] = new Array();
|
||||
for (var i = 0; i < val.length; i++) {
|
||||
query[key].push(val[i].value);
|
||||
if (val[i].value === "---") {
|
||||
delete query[key];
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (val === "---" || val === "") {
|
||||
delete query[key];
|
||||
} else {
|
||||
query[key] = val;
|
||||
}
|
||||
}
|
||||
document.getElementById("markerprev").data = cur.file + "?" + this.JoinObjectIntoQuery(query);
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user