From 17201335e61560d4e14505967a1bc16dc04ccdce Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sat, 10 Apr 2021 13:38:12 +0000
Subject: [PATCH] Titel aus Abspielliste loeschen (in Arbeit)
---
src/de/uhilger/mediaz/api/ListHandler.java | 17 ++++++++++++++++-
www/ui/js/app.js | 16 ++++++++++++++++
2 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/src/de/uhilger/mediaz/api/ListHandler.java b/src/de/uhilger/mediaz/api/ListHandler.java
index fe5c06e..afe41c7 100644
--- a/src/de/uhilger/mediaz/api/ListHandler.java
+++ b/src/de/uhilger/mediaz/api/ListHandler.java
@@ -95,9 +95,24 @@
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
+ // DELETE /mz/api/alist/[pl-name]/[nr] den Titel an der Position [nr] aus der Liste [pl-name] entfernen
@Override
protected boolean delete(HttpExchange e) {
- throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+ String path = e.getRequestURI().toString();
+ String[] elems = path.split(Server.SLASH);
+ String plname = elems[elems.length - 2];
+ String listName = elems[elems.length - 3];
+
+ FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF)));
+ Entity entity = fs.read(Abspielliste.class.getSimpleName(), listName);
+ if(entity instanceof Abspielliste) {
+ Abspielliste liste = (Abspielliste) entity;
+ liste.getTitel().remove(Integer.parseInt(elems[elems.length-1]));
+ fs.write(liste, true);
+ return true;
+ } else {
+ return false;
+ }
}
}
diff --git a/www/ui/js/app.js b/www/ui/js/app.js
index 87fdf6b..864f20f 100644
--- a/www/ui/js/app.js
+++ b/www/ui/js/app.js
@@ -231,6 +231,20 @@
});
};
+ this.removeSelectedTitel = function() {
+ var elem = document.querySelector(".selected");
+ var parentElem = elem.parentNode;
+ console.log("elem: " + elem.nodeName + ", parent: " + parentElem.nodeName + ", len: " + parentElem.childNodes.length);
+ var liElems = parentElem.getElementsByTagName(elem.nodeName);
+ console.log("liElems.anz: " + liElems.length);
+ for(var i = 0; i < liElems.length; i++) {
+ console.log(liElems.item(i).textContent);
+ if(liElems.item(i).textContent === elem.textContent) {
+ console.log(elem.textContent + ' hat Index ' + i);
+ }
+ }
+ };
+
/* Unterer Einblendbereich */
this.dialog_unten_zeigen = function() {
@@ -242,6 +256,8 @@
self.abspielliste_auswahl_fuellen();
self.addEvtListener('#dazu-btn', 'click', self.addSelectedTitel);
self.addEvtListener('#play-btn', 'click', self.play);
+ // /mz/api/alist/[pl-name]/[nr]
+ self.addEvtListener('#weg-btn', 'click', self.removeSelectedTitel);
self.media_liste();
});
};
--
Gitblit v1.9.3