Persoenliche Mediazentrale
ulrich
2021-04-08 dfb7d34f88efbb3eb7632ae628ccfd4576824477
www/ui/js/app.js
@@ -74,18 +74,35 @@
      });
    } else {
      // Pfad listen
      self.http_get('..' + self.ortPfad + '/' + self.mediaPfad + '/', function(responseText) {
      // console.log("vorher ortPfad: " + self.ortPfad);
      //console.log("vorher mediaPfad: " + self.mediaPfad);
      //self.http_get('..' + self.ortPfad + '/' + self.mediaPfad + '/', function(responseText) {
      var url = '..' + self.ortPfad + self.mediaPfad;
      if(!url.endsWith('/')) {
        url = url + '/';
      }
      //console.log("url: " + url);
      self.http_get(url, function(responseText) {
        //console.log(responseText);
        self.vorlage_laden_und_fuellen("data/tpl/katalog_inhalt_liste.tpl", JSON.parse(responseText), function (html) {
          document.querySelector(".zentraler-inhalt").innerHTML = html;
          //console.log("mediaPfad bei Anzeige: " + self.mediaPfad);
          self.addEvtListener('.entity-eintrag', 'click', function (event) {
            var t = event.target;
            //console.log(t.textContent);
            var tx = t.textContent;
            //console.log("tx: " + tx);
            //console.log("mediaPfad nach Auswahl: " + self.mediaPfad);
            if(t.classList.contains("entity-typ-folder")) {
              self.mediaPfad = self.mediaPfad + '/' + t.textContent;
              if(self.mediaPfad.endsWith('/')) {
                self.mediaPfad = self.mediaPfad + tx;
              } else {
                self.mediaPfad = self.mediaPfad + '/' + tx;
              }
              //self.mediaPfad = self.mediaPfad + t.textContent;
              //console.log("mediaPfad neu: " + self.mediaPfad);
              self.media_liste();
            } else {
              console.log("Media-Inhalt auswaehlen oder abspielen");
              //console.log("Media-Inhalt auswaehlen oder abspielen");
              self.removeClassMulti('selected');
              t.classList.add('selected');
            }
@@ -95,7 +112,12 @@
              self.ortPfad = '/';              
            } else {
              var pos = self.mediaPfad.lastIndexOf('/');
              var parent = self.mediaPfad.substring(0, pos);
              var parent;
              if(pos > 1) {
                parent = self.mediaPfad.substring(0, pos);
              } else {
                parent = '/';
              }
              //console.log("Parent: " + parent);
              self.mediaPfad = parent;
            }
@@ -105,8 +127,6 @@
      });
    }
  };
  /* Die folgenden '_liste' Funktionen koennen noch vereinheitlicht werden */
  this.ablageort_liste = function() {
    self.http_get('../api/store/Ablageort/liste/', function (responseText) {
@@ -162,8 +182,6 @@
    });
  };
  /* Die folgenden '_form' Funktionen koennen noch vereinheitlicht werden */
  this.abspieler_form = function(pl) {
    self.vorlage_laden_und_fuellen("data/tpl/form_abspieler.tpl", pl, function (html) {
      document.querySelector(".zentraler-inhalt").innerHTML = html;
@@ -175,19 +193,22 @@
          document.querySelector('#abspieler-url').value
        );
        var daten = JSON.stringify(abspieler);        
        if(typeof pl === "undefined" || pl.key !== plname) {
        //if(typeof pl === "undefined" || pl.key !== plname) {
        if(typeof pl.name === "undefined" || pl.name.length < 1) {
          // neu
          self.http_post('../api/store/Abspieler', daten, function (responseText) {
          self.http_put('../api/store/Abspieler/' + plname, daten, function (responseText) {
            // hier die Antwort verarbeiten
            self.abspieler_auswahl_fuellen();
            self.abspieler_liste();
          });
        } else {
          // aendern
          self.http_put('../api/store/Abspieler', daten, function (responseText) {
          self.http_put('../api/store/Abspieler/' + pl.name, daten, function (responseText) {
            // hier die Antwort verarbeiten
            self.abspieler_auswahl_fuellen();
            self.abspieler_liste();
          });
        }
        //document.querySelector(".zentraler-inhalt").innerHTML = '';
        self.abspieler_liste();
      });
      self.addEvtListener('#cancel-btn', 'click', function () {
        //document.querySelector(".zentraler-inhalt").innerHTML = '';
@@ -203,6 +224,7 @@
              // hier die Antwort verarbeiten
              self.dialog_schliessen();
              //document.querySelector(".zentraler-inhalt").innerHTML = '';
              self.abspieler_auswahl_fuellen();
              self.abspieler_liste();
            });
          });
@@ -222,19 +244,20 @@
          document.querySelector('#einstellung-value').value
        );
        var daten = JSON.stringify(pref);        
        if(typeof k === "undefined" || k.key !== pkey) {
        //if(typeof k === "undefined" || k.key !== pkey) {
        if(typeof k.key === "undefined" ||  k.key.length < 1) {
          // neu
          self.http_post('../api/store/Einstellung', daten, function (responseText) {
          self.http_put('../api/store/Einstellung/' + pkey, daten, function (responseText) {
            // hier die Antwort verarbeiten
            self.prefs_liste();
          });
        } else {
          // aendern
          self.http_put('../api/store/Einstellung', daten, function (responseText) {
          self.http_put('../api/store/Einstellung/' + k.key, daten, function (responseText) {
            // hier die Antwort verarbeiten
            self.prefs_liste();
          });
        }
        //document.querySelector(".zentraler-inhalt").innerHTML = '';
        self.prefs_liste();
      });
      self.addEvtListener('#cancel-btn', 'click', function () {
        //document.querySelector(".zentraler-inhalt").innerHTML = '';
@@ -278,19 +301,20 @@
          document.querySelector('#ablageort-url').value
        );
        var daten = JSON.stringify(a);        
        if(typeof ort === "undefined" || ort.name !== aName) {
        //if(typeof ort === "undefined" || ort.name !== aName) {
        if(typeof ort.name === "undefined"  || ort.name.length < 1) {
          // neu
          self.http_post('../api/store/Ablageort', daten, function (responseText) {
          self.http_put('../api/store/Ablageort/' + aName, daten, function (responseText) {
            // hier die Antwort verarbeiten
            self.ablageort_liste();
          });
        } else {
          // aendern
          self.http_put('../api/store/Ablageort', daten, function (responseText) {
          self.http_put('../api/store/Ablageort/' + ort.name, daten, function (responseText) {
            // hier die Antwort verarbeiten
            self.ablageort_liste();
          });
        }
        //document.querySelector(".zentraler-inhalt").innerHTML = '';
        self.ablageort_liste();
      });
      self.addEvtListener('#cancel-btn', 'click', function () {
        //document.querySelector(".zentraler-inhalt").innerHTML = '';
@@ -321,18 +345,6 @@
  this.removeClassMulti = function(selector) {
    document.querySelectorAll('.' + selector).forEach(elem => { elem.classList.remove(selector); });
  };
  /*
  this.addEvtListener = function (selector, eventName, func) {
    var elems = document.querySelectorAll(selector);
    var index;
    for (index = 0; index < elems.length; index++) {
      elems[index].addEventListener(eventName, func);
    }
  };
  */
  // document.querySelectorAll(selector).forEach(elem => { elem.addEventListener(eventName, func); });
  /* --------------------- asynchroner HTTP Client ----------------- */
  
@@ -558,5 +570,4 @@
function Abspieler(n, u) {
  this.name = n;
  this.url = u;
}
}