ulrich@undisclosed
2020-05-12 14cc29f3e69c002c11b674e018a1106a632f5a81
Anpasungen am Dialog Neuer Nutzer
1 files modified
54 ■■■■ changed files
web/ui2/js/app.js 54 ●●●● patch | view | raw | blame | history
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();
    });
  };