diff --git a/webui/src/main/js/download.js b/webui/src/main/js/download.js new file mode 100644 index 00000000..0f83b8b0 --- /dev/null +++ b/webui/src/main/js/download.js @@ -0,0 +1,65 @@ +class Downloader { + constructor(xmlNode) { + this.name = xmlNode.getElementsByTagName("Name")[0].childNodes[0].nodeValue; + this.state = xmlNode.getElementsByTagName("State")[0].childNodes[0].nodeValue; + this.speed = xmlNode.getElementsByTagName("Speed")[0].childNodes[0].nodeValue; + this.ETA = xmlNode.getElementsByTagName("ETA")[0].childNodes[0].nodeValue; + this.progress = xmlNode.getElementsByTagName("Progress")[0].childNodes[0].nodeValue; + this.infoHash = xmlNode.getElementsByTagName("InfoHash")[0].childNodes[0].nodeValue; + } +} + +var downloader = null; +var downloaders = new Map() + +function updateDownloader(infoHash) { + var selected = downloaders.get(infoHash); + + var downloadDetailsDiv = document.getElementById("downloadDetails"); + downloadDetailsDiv.innerHTML = "
Details for "+selected.name+"
" +} + +function refreshDownloader() { + var xmlhttp = new XMLHttpRequest(); + xmlhttp.onreadystatechange = function() { + if (this.readyState == 4 && this.status == 200) { + var xmlDoc = this.responseXML; + downloaders.clear(); + var i; + var x = xmlDoc.getElementsByTagName("Download"); + for (i = 0; i < x.length; i ++) { + var download = new Downloader(x[i]); + downloaders.set(download.infoHash, download); + } + + var table = "Name | State | Speed | ETA | Progress | Cancel |
---|---|---|---|---|---|
"; + table += download.name; + table += " | "; + table += ""+download.state+" | "; + table += ""+download.speed+" | "; + table += ""+download.ETA+" | "; + table += ""+download.progress+" | "; + + table += ""; + + table += " |
Downloads:
@@ -28,72 +29,5 @@Download Details
Click on a download to view details