Permalink
Browse files

Löschen: Die Liste werden ohne DB-Abfrage aktualisiert

  • Loading branch information...
1 parent d4f4d74 commit c52502796ff40aa70dc4b553464dd389341207a5 @barbalex committed May 22, 2012
@@ -559,25 +559,47 @@ <h2 class="FeldEditHeaderTitel">Datenfelder</h2>
}
function loescheFeld() {
+ if (window.Feld) {
+ //Objekt nutzen
+ loescheFeld_2();
+ } else {
+ //Feld aus DB holen
+ $db = $.couch.db("evab");
+ $db.openDoc(Feld._id, {
+ success: function (data) {
+ window.Feld = data;
+ loescheFeld_2();
+ },
+ error: function () {
+ melde("Fehler: nicht gelöscht");
+ }
+ });
+ }
+ }
+
+ function loescheFeld_2() {
$db = $.couch.db("evab");
- $db.openDoc(Feld._id, {
- success: function (document) {
- $db.removeDoc(document, {
- success: function () {
- leereStorageFeldEdit();
- leereStorageFeldListe();
- $.mobile.changePage("FeldListe.html");
- },
- error: function () {
- melde("Fehler: nicht gelöscht");
+ $db.removeDoc(window.Feld, {
+ success: function (data) {
+ //Liste anpassen. Vorsicht: Bei refresh kann sie fehlen
+ if (window.Feldliste) {
+ for (i in window.Feldliste.rows) {
+ if (window.Feldliste.rows[i].value._id === data.id) {
+ window.Feldliste.rows.splice(i, 1);
+ break;
+ }
}
- });
+ } else {
+ //Keine Feldliste mehr. Storage löschen
+ leereStorageFeldListe();
+ }
+ leereStorageFeldEdit();
+ $.mobile.changePage("FeldListe.html");
},
error: function () {
melde("Fehler: nicht gelöscht");
}
});
- return false;
}
@@ -439,9 +439,19 @@
functionscheBeobachtung_2() {
$db = $.couch.db("evab");
$db.removeDoc(window.hArt, {
- success: function () {
- //Globale Variablen für hBeobListe zurücksetzen, damit die Liste beim nächsten Aufruf neu aufgebaut wird
- leereStoragehBeobListe();
+ success: function (data) {
+ //Liste anpassen. Vorsicht: Bei refresh kann sie fehlen
+ if (window.hBeobListe) {
+ for (i in window.hBeobListe.rows) {
+ if (window.hBeobListe.rows[i].value._id === data.id) {
+ window.hBeobListe.rows.splice(i, 1);
+ break;
+ }
+ }
+ } else {
+ //Keine Ortliste mehr. Storage löschen
+ leereStoragehBeobListe();
+ }
leereStoragehBeobEdit();
$.mobile.changePage("hArtListe.html");
},
@@ -354,9 +354,19 @@
functionscheOrt_2() {
$db = $.couch.db("evab");
$db.removeDoc(window.hOrt, {
- success: function () {
- //OrtListe zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird
- leereStorageOrtListe("mitLatLngListe")
+ success: function (data) {
+ //Liste anpassen. Vorsicht: Bei refresh kann sie fehlen
+ if (window.OrtListe) {
+ for (i in window.OrtListe.rows) {
+ if (window.OrtListe.rows[i].value._id === data.id) {
+ window.OrtListe.rows.splice(i, 1);
+ break;
+ }
+ }
+ } else {
+ //Keine Ortliste mehr. Storage löschen
+ leereStorageOrtListe("mitLatLngListe");
+ }
leereStorageOrtEdit("mitLatLngListe");
$.mobile.changePage('hOrtListe.html');
},
@@ -301,10 +301,21 @@
functionscheProjekt_2() {
$db = $.couch.db("evab");
$db.removeDoc(window.hProjekt, {
- success: function () {
+ success: function (data) {
+ //Liste anpassen. Vorsicht: Bei refresh kann sie fehlen
+ if (window.Projektliste) {
+ for (i in window.Projektliste.rows) {
+ if (window.Projektliste.rows[i].value._id === data.id) {
+ window.Projektliste.rows.splice(i, 1);
+ break;
+ }
+ }
+ } else {
+ //Keine Projektliste mehr. Storage löschen
+ leereStorageProjektListe("mitLatLngListe");
+ }
//Projektliste zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird
leereStorageProjektEdit("mitLatLngListe");
- leereStorageProjektListe("mitLatLngListe");
$.mobile.changePage('hProjektListe.html');
},
error: function () {
@@ -314,10 +314,21 @@
functionscheRaum_2() {
$db = $.couch.db("evab");
$db.removeDoc(window.hRaum, {
- success: function () {
+ success: function (data) {
+ //Liste anpassen. Vorsicht: Bei refresh kann sie fehlen
+ if (window.RaumListe) {
+ for (i in window.RaumListe.rows) {
+ if (window.RaumListe.rows[i].value._id === data.id) {
+ window.RaumListe.rows.splice(i, 1);
+ break;
+ }
+ }
+ } else {
+ //Keine Raumliste mehr. Storage löschen
+ leereStorageRaumListe("mitLatLngListe");
+ }
//RaumListe zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird
leereStorageRaumEdit("mitLatLngListe");
- leereStorageRaumListe("mitLatLngListe")
$.mobile.changePage('hRaumListe.html');
},
error: function () {
@@ -316,9 +316,19 @@
functionscheZeit_2() {
$db = $.couch.db("evab");
$db.removeDoc(window.hZeit, {
- success: function () {
- //Globale Variablen für ZeitListe zurücksetzen, damit die Liste neu aufgebaut wird
- leereStorageZeitListe();
+ success: function (data) {
+ //Liste anpassen. Vorsicht: Bei refresh kann sie fehlen
+ if (window.ZeitListe) {
+ for (i in window.ZeitListe.rows) {
+ if (window.ZeitListe.rows[i].value._id === data.id) {
+ window.ZeitListe.rows.splice(i, 1);
+ break;
+ }
+ }
+ } else {
+ //Keine ZeitListe mehr. Storage löschen
+ leereStorageZeitListe;
+ }
leereStorageZeitEdit();
$.mobile.changePage('hZeitListe.html');
},
@@ -247,15 +247,16 @@ function speichereKoordinaten(id, OrtOderBeob) {
function speichereKoordinaten_2(OrtOderBeob) {
//Längen- und Breitengrad sind in keinem Feld dargestellt
//sie müssen aus ihren Variabeln gespeichert werden
- window[OrtOderBeob].oLongitudeDecDeg = parseFloat(localStorage.oLongitudeDecDeg);
- window[OrtOderBeob].oLatitudeDecDeg = parseFloat(localStorage.oLatitudeDecDeg);
- window[OrtOderBeob].oXKoord = parseInt(localStorage.oXKoord);
- window[OrtOderBeob].oYKoord = parseInt(localStorage.oYKoord);
+ // || null, um NAN zu verhindern, wenn keine Werte gemessen werden
+ window[OrtOderBeob].oLongitudeDecDeg = parseFloat(localStorage.oLongitudeDecDeg) || null;
+ window[OrtOderBeob].oLatitudeDecDeg = parseFloat(localStorage.oLatitudeDecDeg) || null;
+ window[OrtOderBeob].oXKoord = parseInt(localStorage.oXKoord) || null;
+ window[OrtOderBeob].oYKoord = parseInt(localStorage.oYKoord) || null;
//parseInt verhindert das Speichern von Text, darum prüfen
if (localStorage.oLagegenauigkeit === "Auf Luftbild markiert") {
window[OrtOderBeob].oLagegenauigkeit = localStorage.oLagegenauigkeit;
} else {
- window[OrtOderBeob].oLagegenauigkeit = parseInt(localStorage.oLagegenauigkeit);
+ window[OrtOderBeob].oLagegenauigkeit = parseInt(localStorage.oLagegenauigkeit) || null;
}
//Höhe nur speichern, wenn vorhanden
//wenn nicht vorhanden: Allflligen alten Wert löschen
@@ -1886,7 +1887,7 @@ function initiiereOrtListe() {
}
function initiiereOrtListe_2() {
- var i, anzOrt, externalPage, listItem, ListItemContainer, Titel2;
+ var i, anzOrt, Ort, externalPage, listItem, ListItemContainer, Titel2;
anzOrt = OrtListe.rows.length;
ListItemContainer = "";
@@ -1902,9 +1903,9 @@ function initiiereOrtListe_2() {
} else {
for (i in OrtListe.rows) { //Liste aufbauen
if (typeof i !== "function") {
- window.hOrt = OrtListe.rows[i].value;
+ Ort = OrtListe.rows[i].value;
key = OrtListe.rows[i].key;
- listItem = "<li OrtId=\"" + window.hOrt._id + "\" class=\"Ort\"><a href=\"#\"><h3>" + window.hOrt.oName + "<\/h3><\/a> <\/li>";
+ listItem = "<li OrtId=\"" + Ort._id + "\" class=\"Ort\"><a href=\"#\"><h3>" + Ort.oName + "<\/h3><\/a> <\/li>";
ListItemContainer += listItem;
}
}
@@ -2853,8 +2854,8 @@ function neuesFeld() {
$db.saveDoc(NeuesFeld, {
success: function (data) {
localStorage.FeldId = data.id;
- NeuesFeld.Feld._id = data.id;
- NeuesFeld.Feld._rev = data.rev;
+ NeuesFeld._id = data.id;
+ NeuesFeld._rev = data.rev;
window.Feld = NeuesFeld;
//Feldliste soll neu aufgebaut werden
leereStorageFeldListe();

0 comments on commit c525027

Please sign in to comment.