apflora
Version:
Aktionsplan Flora Kt. Zürich
94 lines (81 loc) • 3.13 kB
JavaScript
;
var $ = require('jquery'),
limiter = require('../lib/limiter'),
initiiereIndex = require('./initiiereIndex'),
initiiereAp = require('./initiiereAp');
var returnFunction = function (apId, popId, ohne_zu_zeigen) {
var $PopName = $("#PopName"),
$PopNr = $("#PopNr");
// prüfen, ob voraussetzungen gegeben sind
if (!apId && !localStorage.ap_id) {
// Anwendung neu initiieren
initiiereIndex();
return;
}
if (!popId && !localStorage.pop_id) {
// es fehlen benötigte Daten > eine Ebene höher
initiiereAp(apId);
return;
}
// apId setzen
if (!localStorage.ap_id) {
localStorage.ap_id = apId;
}
if (!apId) {
apId = localStorage.ap_id;
}
// popId setzen
if (!localStorage.pop_id) {
localStorage.pop_id = popId;
}
if (!popId) {
popId = localStorage.pop_id;
}
// damit kann man die verbleibende Anzahl Zeichen, die in einem Feld erfasst werden, anzeigen
limiter($);
// Felder zurücksetzen
window.apf.leereFelderVonFormular("pop");
// Daten für die pop aus der DB holen
$.ajax({
type: 'get',
url: 'api/v1/apflora/tabelle=tblPopulation/feld=PopId/wertNumber=' + popId,
dataType: 'json'
}).done(function (data) {
// Rückgabewert null wird offenbar auch als success gewertet, gibt weiter unten Fehler, also Ausführung verhindern
if (data && data[0]) {
data = data[0];
// pop bereitstellen
window.apf.pop = data;
// Felder mit Daten beliefern
$("#PopHerkunft" + data.PopHerkunft).prop("checked", true);
if (data.PopHerkunftUnklar == 1) {
$("#PopHerkunftUnklar").prop("checked", true);
} else {
$("#PopHerkunftUnklar").prop("checked", false);
}
$("#PopHerkunftUnklarBegruendung")
.val(data.PopHerkunftUnklarBegruendung)
.limiter(255, $("#PopHerkunftUnklarBegruendung_limit"));
$PopName
.val(data.PopName)
.limiter(150, $("#PopName_limit"));
$PopNr.val(data.PopNr);
$("#PopBekanntSeit").val(data.PopBekanntSeit);
$("#PopXKoord").val(data.PopXKoord);
$("#PopYKoord").val(data.PopYKoord);
// Formulare blenden
// nur, wenn ohne_zu_zeigen nicht true ist (true, um in dialog anzuzeigen)
if (!ohne_zu_zeigen) {
window.apf.zeigeFormular("pop");
history.pushState(null, null, "index.html?ap=" + apId + "&pop=" + popId);
// bei neuen Datensätzen Fokus steuern
if (!$PopName.val()) {
$PopNr.focus();
}
}
}
}).fail(function () {
window.apf.melde('Fehler: Keine Daten für die Population erhalten');
});
};
module.exports = returnFunction;