Persoenliche Mediazentrale
ulrich
2021-04-09 e44ed0d9811b0c53b3288c54d15e2f68b8d650ed
Entitaetslisten vereinheitlicht
1 files modified
95 ■■■■ changed files
www/ui/js/app.js 95 ●●●● patch | view | raw | blame | history
www/ui/js/app.js
@@ -105,25 +105,43 @@
    }
  };
  
  this.addSelectedTitel = function() {
    var elem = document.querySelector(".selected");
    var titelName = elem.textContent;
    var album = elem.attributes.album.nodeValue;
    var interpret = elem.attributes.interpret.nodeValue;
    var anzName = elem.attributes.titelAnzName.nodeValue;
    var titel;
    if(self.mediaPfad.endsWith('/')) {
      titel = new Titel(titelName, self.mediaPfad, self.ortPfad, interpret, anzName, album);
    } else {
      titel = new Titel(titelName, self.mediaPfad + '/', self.ortPfad, interpret, anzName, album);
    }
    var plname = document.querySelector('#playlist').value;
    self.http_put('../api/alist/' + plname, JSON.stringify(titel), function(responseText) {
      self.meldung_mit_timeout(responseText, 1500);
  /*
   * url: '../api/store/Ablageort/liste/'
   * tpl: "data/tpl/ablageort_liste.tpl"
   * storeUrl: '../api/store/Ablageort/'
   * formFunc: "self.ablageort_form"
   * cb: etwas wie
   *
   * function(responseText){
   *   var ablageort = JSON.parse(responseText);
   *   self.ablageort_form(ablageort);
   * });
   */
  this.entitaet_liste = function(listUrl, tpl, storeUrl, formFunc, cb) {
    self.reset_top_buttons();
    self.http_get(listUrl, function (responseText) {
      self.vorlage_laden_und_fuellen(tpl, JSON.parse(responseText), function (html) {
        document.querySelector(".zentraler-inhalt").innerHTML = html;
        self.addEvtListener('.entity-eintrag', 'click', function (event) {
          var t = event.target;
          self.http_get(storeUrl + t.textContent, cb);
        });
        //self.addEvtListener('#neu-btn', 'click', function (event) {
        self.addEvtListener('#top-neu-btn', 'click', function(event) {
          eval(formFunc + "(this)");
        });
      });
    });
  };
  this.ablageort_liste = function() {
    self.entitaet_liste('../api/store/Ablageort/liste/',
      "data/tpl/ablageort_liste.tpl", '../api/store/Ablageort/',
      "self.ablageort_form", function(responseText) {
        var ablageort = JSON.parse(responseText);
        self.ablageort_form(ablageort);
      });
    /*
    self.reset_top_buttons();
    self.http_get('../api/store/Ablageort/liste/', function (responseText) {
      self.vorlage_laden_und_fuellen("data/tpl/ablageort_liste.tpl", JSON.parse(responseText), function (html) {
@@ -141,9 +159,17 @@
        });        
      });
    });
    */
  };
  this.prefs_liste = function() {
    self.entitaet_liste('../api/store/Einstellung/liste/',
      "data/tpl/einstellung_liste.tpl", '../api/store/Einstellung/',
      "self.prefs_form", function(responseText) {
        var einstellung = JSON.parse(responseText);
        self.prefs_form(einstellung);
      });
    /*
    self.reset_top_buttons();
    self.http_get('../api/store/Einstellung/liste/', function (responseText) {
      self.vorlage_laden_und_fuellen("data/tpl/einstellung_liste.tpl", JSON.parse(responseText), function (html) {
@@ -160,9 +186,17 @@
        });        
      });
    });
    */
  };
  this.abspieler_liste = function() {
    self.entitaet_liste('../api/store/Abspieler/liste/',
      "data/tpl/abspieler_liste.tpl", '../api/store/Abspieler/',
      "self.abspieler_form", function(responseText) {
        var abspieler = JSON.parse(responseText);
        self.abspieler_form(abspieler);
      });
    /*
    self.http_get('../api/store/Abspieler/liste/', function (responseText) {
      self.vorlage_laden_und_fuellen("data/tpl/abspieler_liste.tpl", JSON.parse(responseText), function (html) {
        document.querySelector(".zentraler-inhalt").innerHTML = html;
@@ -179,9 +213,17 @@
        });           
      });
    });
    */
  };
  
  this.abspielliste_liste = function() {
    self.entitaet_liste('../api/store/Abspielliste/liste/',
      "data/tpl/abspielliste_liste.tpl", '../api/store/Abspielliste/',
      "self.abspielliste_form", function(responseText) {
        var abspielliste = JSON.parse(responseText);
        self.abspielliste_form(abspielliste);
      });
    /*
    self.http_get('../api/store/Abspielliste/liste/', function (responseText) {
      self.vorlage_laden_und_fuellen("data/tpl/abspielliste_liste.tpl", JSON.parse(responseText), function (html) {
        document.querySelector(".zentraler-inhalt").innerHTML = html;
@@ -197,6 +239,7 @@
        });            
      });
    });
    */
  };
  
  /* -------------------- Entitaets-Formulare ------------------ */
@@ -207,6 +250,7 @@
      const form = document.querySelector('form');      
      form.addEventListener('submit', function(event) {
        self.handle_submit(event, al.name, '../api/store/Abspielliste/', '#abspielliste-name', function() {
          self.abspielliste_auswahl_fuellen();
          self.abspielliste_liste();
        });
      });
@@ -230,6 +274,7 @@
      const form = document.querySelector('form');      
      form.addEventListener('submit', function(event) {
        self.handle_submit(event, pl.key, '../api/store/Abspieler/', '#abspieler-name', function() {
          self.abspieler_auswahl_fuellen();
          self.abspieler_liste();
        });
      });
@@ -324,6 +369,24 @@
    });
  };
  
  this.addSelectedTitel = function() {
    var elem = document.querySelector(".selected");
    var titelName = elem.textContent;
    var album = elem.attributes.album.nodeValue;
    var interpret = elem.attributes.interpret.nodeValue;
    var anzName = elem.attributes.titelAnzName.nodeValue;
    var titel;
    if(self.mediaPfad.endsWith('/')) {
      titel = new Titel(titelName, self.mediaPfad, self.ortPfad, interpret, anzName, album);
    } else {
      titel = new Titel(titelName, self.mediaPfad + '/', self.ortPfad, interpret, anzName, album);
    }
    var plname = document.querySelector('#playlist').value;
    self.http_put('../api/alist/' + plname, JSON.stringify(titel), function(responseText) {
      self.meldung_mit_timeout(responseText, 1500);
    });
  };
  /* Unterer Einblendbereich */
  
  this.dialog_unten_zeigen = function() {