2017-01-16 23:32:28 +01:00
|
|
|
// ----------------------------------------------
|
|
|
|
// Beispiel lit-x
|
|
|
|
// detail.js
|
|
|
|
// ----------------------------------------------
|
|
|
|
|
|
|
|
// ----------------------------------------------
|
|
|
|
APP.DetailView_cl = class {
|
|
|
|
// ----------------------------------------------
|
|
|
|
constructor (name_spl, path_spl, template_spl) {
|
|
|
|
this.name_s = name_spl;
|
|
|
|
this.path_s = path_spl;
|
|
|
|
this.template_s = template_spl;
|
|
|
|
}
|
|
|
|
canClose_px () {
|
|
|
|
// Prüfen, ob Formularinhalt verändert wurde
|
|
|
|
let mod_b = this.isModified_p();
|
|
|
|
if (mod_b) {
|
|
|
|
if (confirm("Es gibt nicht gespeicherte Änderungen - verwerfen?")) {
|
|
|
|
mod_b = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return !mod_b;
|
|
|
|
}
|
|
|
|
close_px () {
|
|
|
|
this.exitHandler_p();
|
|
|
|
}
|
|
|
|
render_px (data_opl) {
|
|
|
|
let path_s;
|
|
|
|
if (data_opl != null) {
|
|
|
|
path_s = this.path_s + data_opl;
|
|
|
|
} else {
|
|
|
|
path_s = this.path_s + '0';
|
|
|
|
}
|
|
|
|
$.ajax({
|
|
|
|
dataType: "json",
|
|
|
|
url: path_s,
|
|
|
|
type: 'GET',
|
|
|
|
context: this
|
|
|
|
})
|
|
|
|
.done(function (data_opl) {
|
2017-01-17 16:57:36 +01:00
|
|
|
console.log(data_opl);
|
2017-01-16 23:32:28 +01:00
|
|
|
this.doRender_p(data_opl);
|
|
|
|
this.initHandler_p();
|
|
|
|
})
|
|
|
|
.fail(function(jqXHR_opl, textStatus_spl) {
|
|
|
|
alert( "[Detail] Fehler bei Anforderung: " + textStatus_spl );
|
|
|
|
});
|
|
|
|
}
|
|
|
|
doRender_p (data_opl) {
|
|
|
|
var markup_s = APP.tm_o.execute_px(this.template_s, data_opl);
|
|
|
|
$("#idContentOuter").html(markup_s);
|
|
|
|
this.storeFormContent_p();
|
|
|
|
}
|
|
|
|
initHandler_p () {
|
|
|
|
// Ereignisverarbeitung für das Formular einrichten
|
|
|
|
$("#idForm").on("click", "button", $.proxy(this.onClickButtons_p, this));
|
|
|
|
}
|
|
|
|
exitHandler_p () {
|
|
|
|
// Ereignisverarbeitung für das Formular aufheben
|
|
|
|
$("#idForm").off("click", "button", $.proxy(this.onClickButtons_p, this));
|
|
|
|
}
|
|
|
|
onClickButtons_p (event_opl) {
|
|
|
|
var do_b = false;
|
|
|
|
var path_s;
|
|
|
|
var action_s = $(event_opl.target).attr("data-action");
|
|
|
|
switch (action_s) {
|
|
|
|
case "back":
|
|
|
|
// Weiterleiten: Liste anfordern
|
|
|
|
APP.es_o.publish_px('app', [this.name_s, null]);
|
|
|
|
break;
|
|
|
|
case "save":
|
|
|
|
// Formularinhalt prüfen
|
|
|
|
if (this.isModified_p()) {
|
|
|
|
if (this.checkContent_p()) {
|
|
|
|
// kein klassisches submit, es wird auch keine neue Anzeige vorgenommen
|
|
|
|
var path_s = this.path_s;
|
|
|
|
var data_s = $("#idForm").serialize();
|
2017-01-18 18:14:35 +01:00
|
|
|
console.log(data_s);
|
2017-01-16 23:32:28 +01:00
|
|
|
var type_s = 'PUT';
|
|
|
|
var id_s = $('#id_s').val();
|
|
|
|
if (id_s == '') {
|
|
|
|
type_s = 'POST';
|
|
|
|
}
|
|
|
|
$.ajax({
|
|
|
|
context: this,
|
|
|
|
dataType: "json",
|
|
|
|
data: data_s,
|
|
|
|
url: path_s,
|
|
|
|
type: type_s
|
|
|
|
})
|
|
|
|
.done(function (data_opl) {
|
|
|
|
// Umwandlung der JSON-Daten vom Server bereits erfolgt
|
|
|
|
$('#id_s').val(data_opl['id']);
|
|
|
|
// aktuellen Formularinhalt speichern
|
|
|
|
// (das Formular wird ja nicht mehr neu geladen!)
|
|
|
|
this.storeFormContent_p();
|
|
|
|
alert("Speichern ausgeführt!");
|
|
|
|
})
|
|
|
|
.fail(function(jqXHR_opl, textStatus_spl) {
|
|
|
|
alert( "Fehler bei Anforderung: " + textStatus_spl );
|
|
|
|
});
|
|
|
|
|
|
|
|
} else {
|
|
|
|
alert("Bitte prüfen Sie die Eingaben in den Formularfeldern!")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
2017-01-18 18:14:35 +01:00
|
|
|
case "saver":
|
|
|
|
// kein klassisches submit, es wird auch keine neue Anzeige vorgenommen
|
|
|
|
var path_s = this.path_s;
|
|
|
|
var type_s = 'PUT';
|
|
|
|
var id_s = $('#id_s').val();
|
|
|
|
var name_s = $('#name_s').val();
|
|
|
|
var komponenteid_s = $('#komponenteid_s').val();
|
2017-01-19 11:27:12 +01:00
|
|
|
var beschreibung_s = $('#beschreibung_s').val();
|
|
|
|
var zeiterfasst_s = $('#zeiterfasst_s').val();
|
|
|
|
var data_s = "id_s=" + id_s + "&status_s=protokolliert&name_s=" + name_s + "&komponenteid_s=" + komponenteid_s + "&katfehlerid_s=&katursacheid_s=&qsmitarbeiterid_s=&swentwicklerid_s=&beschreibungursache_s=&zeitbehoben_s&beschreibung_s=" + beschreibung_s + "&zeiterfasst_s=" + zeiterfasst_s;
|
2017-01-18 18:14:35 +01:00
|
|
|
if (id_s == '') {
|
|
|
|
type_s = 'POST';
|
|
|
|
}
|
|
|
|
$.ajax({
|
|
|
|
context: this,
|
|
|
|
dataType: "json",
|
|
|
|
data: data_s,
|
|
|
|
url: path_s,
|
|
|
|
type: type_s
|
|
|
|
})
|
|
|
|
.done(function (data_opl) {
|
|
|
|
// Umwandlung der JSON-Daten vom Server bereits erfolgt
|
|
|
|
$('#id_s').val(data_opl['id']);
|
|
|
|
// aktuellen Formularinhalt speichern
|
|
|
|
// (das Formular wird ja nicht mehr neu geladen!)
|
|
|
|
this.storeFormContent_p();
|
|
|
|
alert("Speichern ausgeführt!");
|
|
|
|
})
|
|
|
|
.fail(function(jqXHR_opl, textStatus_spl) {
|
|
|
|
alert( "Fehler bei Anforderung: " + textStatus_spl );
|
|
|
|
});
|
|
|
|
break;
|
2017-01-16 23:32:28 +01:00
|
|
|
}
|
|
|
|
// Weiterleitung und Standardbearbeitung unterbinden
|
|
|
|
event_opl.stopPropagation();
|
|
|
|
event_opl.preventDefault();
|
|
|
|
}
|
|
|
|
isModified_p () {
|
|
|
|
// Prüfen, ob Formularinhalt verändert wurde
|
|
|
|
var mod_b = this.FormContentOrg_s != $("#idForm").serialize();
|
|
|
|
return mod_b;
|
|
|
|
}
|
|
|
|
checkContent_p () {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
storeFormContent_p () {
|
|
|
|
this.FormContentOrg_s = $("#idForm").serialize();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// EOF
|