From 822ddf5649666248df1c7436d237e50fd79646dc Mon Sep 17 00:00:00 2001 From: ulrich Date: Tue, 06 Apr 2021 15:09:37 +0000 Subject: [PATCH] Katalog (in Arbeit) --- www/ui/js/app.js | 62 +++++++++++++++++++++++++++++-- 1 files changed, 58 insertions(+), 4 deletions(-) diff --git a/www/ui/js/app.js b/www/ui/js/app.js index 7585753..17b88fd 100644 --- a/www/ui/js/app.js +++ b/www/ui/js/app.js @@ -10,6 +10,58 @@ var self = this; var appMenu; var cache; // mustache templates + var ortPfad; + var mediaPfad; + + // auf der obersten Ebene werden die Kataloge angezeigt, + // darunter der Inhalt des aktuellen Pfades + this.media_liste = function() { + if(self.ortPfad === '/') { + // Kataloge listen + self.http_get('../api/store/Ablageort/', function (responseText) { + self.vorlage_laden_und_fuellen("data/tpl/katalog_root_liste.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('../api/store/Ablageort/' + t.textContent, function(responseText) { + var ablageort = JSON.parse(responseText); + self.ortPfad = ablageort.url; + self.media_liste(); + }); + }); + }); + }); + } else { + // Pfad listen + self.http_get('..' + self.ortPfad + '/' + self.mediaPfad + '/', 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; + self.addEvtListener('.entity-eintrag', 'click', function (event) { + var t = event.target; + //console.log(t.textContent); + if(t.classList.contains("entity-typ-folder")) { + self.mediaPfad = self.mediaPfad + '/' + t.textContent; + self.media_liste(); + } else { + console.log("Media-Inhalt auswaehlen oder abspielen"); + } + }); + self.addEvtListener('#zurueck-btn', 'click', function (event) { + if(self.mediaPfad === '/') { + self.ortPfad = '/'; + } else { + var pos = self.mediaPfad.lastIndexOf('/'); + var parent = self.mediaPfad.substring(0, pos); + //console.log("Parent: " + parent); + self.mediaPfad = parent; + } + self.media_liste(); + }); + }); + }); + } + }; this.ablageort_liste = function() { self.http_get('../api/store/Ablageort/', function (responseText) { @@ -18,7 +70,7 @@ self.addEvtListener('.entity-eintrag', 'click', function (event) { var t = event.target; self.http_get('../api/store/Ablageort/' + t.textContent, function(responseText){ - ablageort = JSON.parse(responseText); + var ablageort = JSON.parse(responseText); self.ablageort_form(ablageort); }); }); @@ -60,11 +112,11 @@ // hier die Antwort verarbeiten }); } - document.querySelector(".zentraler-inhalt").innerHTML = ''; + //document.querySelector(".zentraler-inhalt").innerHTML = ''; self.ablageort_liste(); }); self.addEvtListener('#cancel-btn', 'click', function () { - document.querySelector(".zentraler-inhalt").innerHTML = ''; + //document.querySelector(".zentraler-inhalt").innerHTML = ''; self.ablageort_liste(); }); self.addEvtListener('#loeschen-btn', 'click', function() { @@ -76,7 +128,7 @@ self.http_delete('../api/store/Ablageort/' + aoname, '', function (responseText) { // hier die Antwort verarbeiten self.dialog_schliessen(); - document.querySelector(".zentraler-inhalt").innerHTML = ''; + //document.querySelector(".zentraler-inhalt").innerHTML = ''; self.ablageort_liste(); }); }); @@ -133,6 +185,8 @@ this.init = function () { //self.vorlagen = new Vorlagen(); + self.mediaPfad = '/'; + self.ortPfad = '/'; self.cache = new Array(); self.appMenu = new AppMenu(); self.appMenu.init( -- Gitblit v1.9.3