// Timeline drag and drop const tl_cont_attr = {id:"tl_cont", ondrop: "drop(event, this)", ondragover:"allowDrop(event)"}; const tl_drag_attr = {id:"tl_drag", draggable:"true", ondragstart:"drag(event, this)"}; var src_id = ""; function updatePlaylist(){ var new_list = []; var media_count = document.getElementById("timeline").children.length; for (i=media_count,l=0;i>l;i--) { //~ new_list.push(document.getElementById("timeline").children[i].children[0].getAttribute("media_id")); toMove = document.getElementById("timeline").children[i-1].children[0].getAttribute("media_id"); console.log(toMove); sendCmd("/all/move/" + toMove + "/1"); } } function findTargetIndex(element, index, array, thisArg){ if (element == this) { return index+1; } return 0; }; function moveElements(target) { var elem_list = Array.from(src_id.parentElement.children); var elem_list_slice = elem_list; var source_idx = elem_list.findIndex(findTargetIndex, src_id); var target_idx = elem_list.findIndex(findTargetIndex, target); var idx; if (source_idx < target_idx) { elem_list_slice = elem_list.slice(source_idx+1, target_idx+1); idx = source_idx; } else { elem_list_slice = elem_list.slice(target_idx, source_idx ); idx = target_idx+1; } for (i=0, l=elem_list_slice.length; i -1 ){ if (command.indexOf('/1/') > -1 ) { clickedButton.value = clickedButton.value.replace('/1/','/0/') } else { clickedButton.value = clickedButton.value.replace('/0/','/1/') } } else if ( command.indexOf("/move") > -1 ) { const test_array = [21,19,20]; for (i=test_array.length, l=0;i>l;i--){ console.log(test_array[i-1]); sendCmd("/all/move/" + test_array[i-1] + "/1"); }; sendCmd("/all/list"); //setInterval( sendCmd, scanInterval, "/all/move/16/1"); }; // On envoie la commande en AJAX var request = new XMLHttpRequest(); if ( command == "/scan" ) { request.onload = sendCmd(command); } // On construit la commande request.open("GET", command, true); // et on l'envoie request.send(); }); } }, true); // Affichage des infos function parseResult(command, infos_array) { switch (command) { case "/all/status": // Iterate over array for (var i = 0, l=infos_array.length; i" + "Id" + "Filename" + "Duration" + ""; for (var j = 0, k=items_array.length; j" + item_meta[0] + "" + "" + item_meta[1] + "" + "" + item_meta[2] + "" + "" ; // Timeline var child_node = addElement("div", tl_drag_attr, item_meta, j); var len = document.getElementById("timeline").children.length; if ( len < items_array.length ) { document.getElementById("timeline").appendChild( addElement("div", tl_cont_attr, [], len) ); } document.getElementById(tl_cont_attr.id + j).replaceChildren(child_node); if (item_meta[3] != ""){ document.getElementById(tl_cont_attr.id + j).children[0].style.borderBottom = "4px solid #ff8300"; } } html_table += ""; document.getElementById("playlist_"+infos_array[i].host).innerHTML += html_table; }; break; case "/scan": var host_up = infos_array[0]; var host_down = infos_array[1]; for ( var i=0, l=host_up.length; i" + "Filename" + "Duration" + ""; for (var j = 0, k=infos_array.length; j" + infos_array[j] + "" + "" + "00:00" + "" + "" ; } html_table += ""; document.getElementById("filelist").innerHTML += html_table; break; case "/all/rssi": var signal_color = 40; var best_rssi = 30; var worst_rssi = 70; for (var j = 0, k=infos_array.length; j