From 0a58e2c709547269ddbe4b2d92601521667cd765 Mon Sep 17 00:00:00 2001 From: ulrich Date: Thu, 08 Apr 2021 10:47:32 +0000 Subject: [PATCH] REST-Konformitaet des StorageHandler verbessert --- www/ui/js/app.js | 87 ++++++++++++++++++++++++------------------- 1 files changed, 49 insertions(+), 38 deletions(-) diff --git a/www/ui/js/app.js b/www/ui/js/app.js index 12a6b1e..02cf400 100644 --- a/www/ui/js/app.js +++ b/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; -} - +} \ No newline at end of file -- Gitblit v1.9.3