Persoenliche Mediazentrale
ulrich
2021-04-09 c7030d001eafe77660cd18d59b63bf0be9441f10
JavaScript Formulare weiter vereinheitlicht
1 files modified
66 ■■■■■ changed files
www/ui/js/app.js 66 ●●●●● patch | view | raw | blame | history
www/ui/js/app.js
@@ -141,9 +141,16 @@
      });
  };
  
  /* -------------------- Entitaets-Formulare ------------------ */
  /* -------------------- Entitaets-Formulare ------------------ */
  
  this.abspielliste_form = function(al) {
    self.entitaet_form(al, al.name,
      "data/tpl/form_abspielliste.tpl", '../api/store/Abspielliste/',
      '#abspielliste-name', function() {
          self.abspielliste_auswahl_fuellen();
          self.abspielliste_liste();
    });
    /*
    self.vorlage_laden_und_fuellen("data/tpl/form_abspielliste.tpl", al, function (html) {
      document.querySelector(".zentraler-inhalt").innerHTML = html;
      const form = document.querySelector('form');      
@@ -165,9 +172,17 @@
        });
      });
    });
    */
  };
  
  this.abspieler_form = function(pl) {
    self.entitaet_form(pl, pl.key,
      "data/tpl/form_abspieler.tpl", '../api/store/Abspieler/',
      '#abspieler-name', function() {
          self.abspieler_auswahl_fuellen();
          self.abspieler_liste();
    });
    /*
    self.vorlage_laden_und_fuellen("data/tpl/form_abspieler.tpl", pl, function (html) {
      document.querySelector(".zentraler-inhalt").innerHTML = html;
      const form = document.querySelector('form');      
@@ -189,9 +204,16 @@
        });
      });
    });
    */
  };
  this.prefs_form = function(k) {
    self.entitaet_form(k, k.key,
      "data/tpl/form_einstellung.tpl", '../api/store/Einstellung/',
      '#einstellung-key', function() {
          self.prefs_liste();
    });
    /*
    self.vorlage_laden_und_fuellen("data/tpl/form_einstellung.tpl", k, function (html) {
      document.querySelector(".zentraler-inhalt").innerHTML = html;
      const form = document.querySelector('form');      
@@ -212,6 +234,7 @@
        });
      });
    });
    */
  };
  /* 
@@ -223,6 +246,12 @@
   * @returns {undefined} kein Rueckgabewert
   */
  this.ablageort_form = function(ort) {
    self.entitaet_form(ort, ort.name,
      "data/tpl/form_ablageort.tpl", '../api/store/Ablageort/',
      '#ablageort-name', function() {
        self.ablageort_liste();
    });
    /*
    self.vorlage_laden_und_fuellen("data/tpl/form_ablageort.tpl", ort, function (html) {
      document.querySelector(".zentraler-inhalt").innerHTML = html;
      const form = document.querySelector('form');      
@@ -242,6 +271,7 @@
        });
      });
    });
    */
  };
  
  /* ------------------------------- UI-Dynamik ----------------------- */
@@ -348,6 +378,40 @@
  };  
      
  /*
   * dat: gefuelltes Datenobjekt bei Aenderung
   * key: der alte schluesselbegriff bei Aenderung (z.B. al.name)
   * tpl: "data/tpl/form_abspielliste.tpl"
   * url: '../api/store/Abspielliste/'
   * selector: '#abspielliste-name'
   * cbOk: etwas wie
   *    function() {
   *       self.abspielliste_auswahl_fuellen();
   *       self.abspielliste_liste();
   *     });
   * delSelector: '#abspielliste-name'
   * cbDel: etwas wie
   *    function() {
   *       self.abspielliste_auswahl_fuellen();
   *       self.abspielliste_liste();
   *     });
   */
  this.entitaet_form = function(dat, key, tpl, url, selector, cb) {
    self.vorlage_laden_und_fuellen(tpl, dat, function (html) {
      document.querySelector(".zentraler-inhalt").innerHTML = html;
      const form = document.querySelector('form');
      form.addEventListener('submit', function(event) {
        self.handle_submit(event, key, url, selector, cb);
      });
      self.addEvtListener('#cancel-btn', 'click', cb);
      self.addEvtListener('#loeschen-btn', 'click', function(event) {
        event.preventDefault();
        self.handle_del_btn(selector, url, cb);
      });
    });
  };
  /*
   * existingKey: wenn die Entitaet existiert und geandert werden soll
   *                 leer, wenn neue Entitaet 
   */