From d4f4d74d9089d1062175176e8efce2fb959afb8b Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 23 May 2012 00:45:56 +0200 Subject: [PATCH] =?UTF-8?q?L=C3=B6schen:=20Weniger=20DB-Zugriffe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _attachments/BeobEdit.html | 49 ++++++++++++++++++++++++++-------- _attachments/hArtEdit.html | 39 +++++++++++++++++---------- _attachments/hOrtEdit.html | 43 ++++++++++++++++++++--------- _attachments/hProjektEdit.html | 39 ++++++++++++++++++--------- _attachments/hRaumEdit.html | 40 +++++++++++++++++---------- _attachments/hZeitEdit.html | 41 ++++++++++++++++++---------- 6 files changed, 172 insertions(+), 79 deletions(-) diff --git a/_attachments/BeobEdit.html b/_attachments/BeobEdit.html index c11eeb7..c40eab0 100644 --- a/_attachments/BeobEdit.html +++ b/_attachments/BeobEdit.html @@ -259,6 +259,10 @@

Beobachtung

'ja': { click: function () { $('#dialogoutput').text('ja'); + //allfällige Lokalisierung abbrechen + if (typeof watchID !== "undefined") { + stopGeolocation(); + } löscheBeobachtung(); }, icon: "delete", @@ -489,19 +493,42 @@

Beobachtung

} function löscheBeobachtung() { + if (window.Beobachtung) { + //vorhandenes Objekt nutzen + löscheBeobachtung_2(); + } else { + //Objekt aus DB holen + $db = $.couch.db("evab"); + $db.openDoc(localStorage.BeobId, { + success: function (data) { + window.Beobachtung = data; + löscheBeobachtung_2(); + }, + error: function () { + melde("Fehler: Beobachtung nicht gelöscht"); + } + }); + } + } + + function löscheBeobachtung_2() { $db = $.couch.db("evab"); - $db.openDoc(localStorage.BeobId, { - success: function (document) { - $db.removeDoc(document, { - success: function () { - //Globale Variablen für BeobListe zurücksetzen, damit die Liste beim nächsten Aufruf neu aufgebaut wird - leereStorageBeobListe(); - $.mobile.changePage("BeobListe.html"); - }, - error: function () { - melde("Fehler: Beobachtung nicht gelöscht"); + $db.removeDoc(window.Beobachtung, { + success: function (data) { + //Liste anpassen. Vorsicht: Bei refresh kann sie fehlen + if (window.BeobListe) { + for (i in window.BeobListe.rows) { + if (window.BeobListe.rows[i].value._id === data.id) { + window.BeobListe.rows.splice(i, 1); + break; + } } - }); + } else { + //Keine BeobListe mehr. Storage löschen + leereStorageBeobListe; + } + leereStorageBeobEdit(); + $.mobile.changePage("BeobListe.html"); }, error: function () { melde("Fehler: Beobachtung nicht gelöscht"); diff --git a/_attachments/hArtEdit.html b/_attachments/hArtEdit.html index 85db93a..e6bfbe8 100644 --- a/_attachments/hArtEdit.html +++ b/_attachments/hArtEdit.html @@ -418,26 +418,37 @@

Art

} function löscheBeobachtung() { + if (window.hArt) { + //vorhandenes Objekt nutzen + löscheBeobachtung_2(); + } else { + //Objekt aus DB holen + $db = $.couch.db("evab"); + $db.openDoc(localStorage.hBeobId, { + success: function (data) { + window.hArt = data; + löscheBeobachtung_2(); + }, + error: function () { + melde("Fehler: Art nicht gelöscht"); + } + }); + } + } + + function löscheBeobachtung_2() { $db = $.couch.db("evab"); - $db.openDoc(localStorage.hBeobId, { - success: function (document) { - $db.removeDoc(document, { - success: function () { - //Globale Variablen für hBeobListe zurücksetzen, damit die Liste beim nächsten Aufruf neu aufgebaut wird - leereStoragehBeobListe(); - leereStoragehBeobEdit(); - $.mobile.changePage("hArtListe.html"); - }, - error: function () { - melde("Fehler: Art nicht gelöscht"); - } - }); + $db.removeDoc(window.hArt, { + success: function () { + //Globale Variablen für hBeobListe zurücksetzen, damit die Liste beim nächsten Aufruf neu aufgebaut wird + leereStoragehBeobListe(); + leereStoragehBeobEdit(); + $.mobile.changePage("hArtListe.html"); }, error: function () { melde("Fehler: Art nicht gelöscht"); } }); - return false; } //Speichert alle Daten diff --git a/_attachments/hOrtEdit.html b/_attachments/hOrtEdit.html index 08f2465..7418e00 100644 --- a/_attachments/hOrtEdit.html +++ b/_attachments/hOrtEdit.html @@ -222,6 +222,10 @@

Ort

'ja': { click: function () { $('#dialogoutput').text('ja'); + //allfällige Lokalisierung abbrechen + if (typeof watchID !== "undefined") { + stopGeolocation(); + } löscheOrt(Arten, Zeiten); }, icon: "delete", @@ -329,19 +333,32 @@

Ort

loescheIdIdRevListe(Arten); } //zuletzt den Ort löschen - $db.openDoc(localStorage.OrtId, { - success: function (document) { - $db.removeDoc(document, { - success: function () { - //OrtListe zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird - leereStorageOrtListe("mitLatLngListe") - leereStorageOrtEdit("mitLatLngListe"); - $.mobile.changePage('hOrtListe.html'); - }, - error: function () { - melde("Fehler: Der Ort wurde nicht gelöscht"); - } - }); + if (window.hOrt) { + //Objekt nutzen + löscheOrt_2(); + } else { + //Objekt aus DB holen + $db = $.couch.db("evab"); + $db.openDoc(localStorage.OrtId, { + success: function (data) { + window.hOrt = data; + löscheOrt_2(); + }, + error: function () { + melde("Fehler: Der Ort wurde nicht gelöscht"); + } + }); + } + } + + function löscheOrt_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") + leereStorageOrtEdit("mitLatLngListe"); + $.mobile.changePage('hOrtListe.html'); }, error: function () { melde("Fehler: Der Ort wurde nicht gelöscht"); diff --git a/_attachments/hProjektEdit.html b/_attachments/hProjektEdit.html index 2755d23..efbf2d3 100644 --- a/_attachments/hProjektEdit.html +++ b/_attachments/hProjektEdit.html @@ -280,19 +280,32 @@

Projekt

loescheIdIdRevListe(Arten); } //zuletzt das Projekt - $db.openDoc(localStorage.ProjektId, { - success: function (document) { - $db.removeDoc(document, { - success: function () { - //Projektliste zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird - leereStorageProjektEdit("mitLatLngListe"); - leereStorageProjektListe("mitLatLngListe"); - $.mobile.changePage('hProjektListe.html'); - }, - error: function () { - melde("Fehler: Projekt nicht gelöscht"); - } - }); + if (window.hProjekt) { + //Objekt verwenden + löscheProjekt_2(); + } else { + //Objekt aus DB holen + $db = $.couch.db("evab"); + $db.openDoc(localStorage.ProjektId, { + success: function (data) { + window.hProjekt = data; + löscheProjekt_2(); + }, + error: function () { + melde("Fehler: Projekt nicht gelöscht"); + } + }); + } + } + + function löscheProjekt_2() { + $db = $.couch.db("evab"); + $db.removeDoc(window.hProjekt, { + success: function () { + //Projektliste zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird + leereStorageProjektEdit("mitLatLngListe"); + leereStorageProjektListe("mitLatLngListe"); + $.mobile.changePage('hProjektListe.html'); }, error: function () { melde("Fehler: Projekt nicht gelöscht"); diff --git a/_attachments/hRaumEdit.html b/_attachments/hRaumEdit.html index 57cf302..fe5596a 100644 --- a/_attachments/hRaumEdit.html +++ b/_attachments/hRaumEdit.html @@ -293,20 +293,32 @@

Raum

if (Arten.rows.length > 0) { loescheIdIdRevListe(Arten); } - //zuletzt den Raum löschen - $db.openDoc(localStorage.RaumId, { - success: function (document) { - $db.removeDoc(document, { - success: function () { - //RaumListe zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird - leereStorageRaumEdit("mitLatLngListe"); - leereStorageRaumListe("mitLatLngListe") - $.mobile.changePage('hRaumListe.html'); - }, - error: function () { - melde("Fehler: Raum nicht gelöscht"); - } - }); + if (window.hRaum) { + //Objekt benutzen + löscheRaum_2(); + } else { + //Objekt aus DB holen + $db = $.couch.db("evab"); + $db.openDoc(localStorage.RaumId, { + success: function (data) { + window.hRaum = data; + löscheRaum_2(); + }, + error: function () { + melde("Fehler: Raum nicht gelöscht"); + } + }); + } + } + + function löscheRaum_2() { + $db = $.couch.db("evab"); + $db.removeDoc(window.hRaum, { + success: function () { + //RaumListe zurücksetzen, damit sie beim nächsten Aufruf neu aufgebaut wird + leereStorageRaumEdit("mitLatLngListe"); + leereStorageRaumListe("mitLatLngListe") + $.mobile.changePage('hRaumListe.html'); }, error: function () { melde("Fehler: Raum nicht gelöscht"); diff --git a/_attachments/hZeitEdit.html b/_attachments/hZeitEdit.html index 312e650..d290b64 100644 --- a/_attachments/hZeitEdit.html +++ b/_attachments/hZeitEdit.html @@ -295,24 +295,37 @@

Zeit

loescheIdIdRevListe(Arten); } //dann die Zeit - $db.openDoc(localStorage.ZeitId, { - success: function (document) { - $db.removeDoc(document, { - success: function () { - //Globale Variablen für ZeitListe zurücksetzen, damit die Liste neu aufgebaut wird - leereStorageZeitListe(); - leereStorageZeitEdit(); - $.mobile.changePage('hZeitListe.html'); - }, - error: function () { - melde("Fehler: Zeit nicht gelöscht"); - } - }); + if (window.hZeit) { + //Objekt nutzen + löscheZeit_2(); + } else { + //Objekt aus DB holen + $db = $.couch.db("evab"); + $db.openDoc(localStorage.ZeitId, { + success: function (data) { + window.hZeit = data; + löscheZeit_2(); + }, + error: function () { + melde("Fehler: Zeit nicht gelöscht"); + } + }); + } + } + + function löscheZeit_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(); + leereStorageZeitEdit(); + $.mobile.changePage('hZeitListe.html'); }, error: function () { melde("Fehler: Zeit nicht gelöscht"); } - }); + }); } function validierehZeitEdit() {