diff --git a/htdocs/js/mympd.js b/htdocs/js/mympd.js
index 8bbf375..de81f83 100644
--- a/htdocs/js/mympd.js
+++ b/htdocs/js/mympd.js
@@ -445,12 +445,16 @@ function appInit() {
}, false);
document.getElementById('modalSongDetails').getElementsByTagName('tbody')[0].addEventListener('click', function(event) {
- if (event.target.nodeName == 'A') {
+ if (event.target.nodeName == 'A') {
if (event.target.parentNode.getAttribute('data-tag') != undefined) {
modalSongDetails.hide();
event.preventDefault();
gotoBrowse(event.target);
- }
+ }
+ }
+ else if (event.target.nodeName == 'BUTTON') {
+ if (event.target.getAttribute('data-href'))
+ parseCmd(event, event.target.getAttribute('data-href'));
}
}, false);
@@ -711,6 +715,21 @@ function appInit() {
});
}
+function parseCmd(event, href) {
+ event.preventDefault();
+ event.stopPropagation();
+ var cmd = JSON.parse(href);
+ if (typeof window[cmd.cmd] === 'function') {
+ switch(cmd.cmd) {
+ case 'sendAPI':
+ sendAPI(... cmd.options);
+ break;
+ default:
+ window[cmd.cmd](... cmd.options);
+ }
+ }
+}
+
function dragAndDropTable(table) {
var tableBody=document.getElementById(table).getElementsByTagName('tbody')[0];
tableBody.addEventListener('dragstart', function(event) {
@@ -1992,19 +2011,20 @@ function parseSongDetails(obj) {
songDetails += '
Filename
' + obj.data.uri + '
';
if (settings.featStickers == true) {
- var like = 'not voted';
- if (obj.data.like == 0)
- like = 'thumb_down_alt';
- else if (obj.data.like == 2)
- like = 'thumb_up_alt';
songDetails += '