From 14cc29f3e69c002c11b674e018a1106a632f5a81 Mon Sep 17 00:00:00 2001 From: ulrich@undisclosed Date: Tue, 12 May 2020 07:16:16 +0000 Subject: [PATCH] Anpasungen am Dialog Neuer Nutzer --- web/ui2/js/app.js | 54 +++++++++++++++++++++++++++--------------------------- 1 files changed, 27 insertions(+), 27 deletions(-) diff --git a/web/ui2/js/app.js b/web/ui2/js/app.js index 38e6909..2f9635a 100644 --- a/web/ui2/js/app.js +++ b/web/ui2/js/app.js @@ -76,12 +76,17 @@ }; this.info_dialog_zeigen = function () { - self.dialog_laden_und_zeigen('data/tpl/dlg-info.tpl', ''); + self.dialog_zeigen('data/tpl/dlg-info.tpl', ''); self.menue_umschalten(); }; this.nutzer_neu_dialog_zeigen = function () { - self.dialog_laden_und_zeigen('data/tpl/dlg-nutzer-neu.tpl', ''); + self.dialog_zeigen('data/tpl/dlg-nutzer-neu.tpl', '', function(){ + var btn = document.getElementById('nutzer-speichern-btn'); + if(btn !== null) { + btn.addEventListener('click', self.nutzer_speichern); + } + }); self.menue_umschalten(); }; @@ -131,26 +136,18 @@ /* Dialog-Funktionen */ /* - Einen Dialog aus Vorlagen erzeugen - - vurl - URL zur Dialogvorlage - msgTpl - URL mit einer Vorlage eines Mitteilungstextes (optional) + * Einen Dialog erzeugen + * + * Die Vorlage, auf die im Parameter vurl verwiesen wird, wird geladen, + * wenn sie noch nicht benutzt wurde + * + * @param {String} vurl - der URL mit der Dialogvorlage + * @param {JSON-Objekt} inhalt - was im Dialog an dynamischem Inhalt angezeigt werden soll + * @param {function} renderCallback - + * Funktion, die aufgerufen wird nachdem der Dialog gerendert wurde + * @returns {undefined} */ - this.dialog_laden_und_zeigen = function (vurl, msgTpl) { - if (msgTpl !== '') { - fetch(msgTpl) - .then(data => { - // Handle data - self.dialog_zeigen(vurl, data); - }).catch(error => { - // Handle error - }); - } else { - self.dialog_zeigen(vurl, ''); - } - }; - - this.dialog_zeigen = function (vurl, inhalt) { + this.dialog_zeigen = function (vurl, inhalt, renderCallback) { var dlg = document.querySelector(".dialog"); self.vorlagen.html_erzeugen( vurl, @@ -159,17 +156,18 @@ dlg.style.flexBasis = '14em'; setTimeout(function () { dlg.innerHTML = html; - document.querySelector('.close-btn').addEventListener('click', self.dialog_schliessen); - var btn = document.getElementById('nutzer-speichern-btn'); - if(btn !== null) { - btn.addEventListener('click', self.nutzer_speichern); - } + document.querySelector('.close-btn').addEventListener( + 'click', self.dialog_schliessen); + if(renderCallback !== undefined) { + renderCallback(); + } }, 300); }); }; this.dialog_schliessen = function () { - document.querySelector('.close-btn').removeEventListener('click', self.dialog_schliessen); + document.querySelector('.close-btn').removeEventListener( + 'click', self.dialog_schliessen); var dlg = document.querySelector('.dialog'); dlg.innerHTML = ''; dlg.style.flexBasis = '0em'; @@ -203,6 +201,8 @@ var url = '../svc/createUser'; self.http_post(url, u, function (antwort) { self.get_user_list(); + document.getElementById('nutzer-speichern-btn').removeEventListener( + 'click', self.nutzer_speichern); self.dialog_schliessen(); }); }; -- Gitblit v1.9.3