diff --git a/webui/src/main/js/download.js b/webui/src/main/js/download.js index f7d73a49..6fe4e0b5 100644 --- a/webui/src/main/js/download.js +++ b/webui/src/main/js/download.js @@ -7,6 +7,30 @@ class Downloader { this.progress = xmlNode.getElementsByTagName("Progress")[0].childNodes[0].nodeValue; this.infoHash = xmlNode.getElementsByTagName("InfoHash")[0].childNodes[0].nodeValue; } + + getMapping() { + var mapping = new Map() + mapping.set("Name", this.getNameBlock()) + mapping.set("State", this.state) + mapping.set("Speed", this.speed) + mapping.set("ETA", this.ETA) + mapping.set("Progress", this.progress) + mapping.set("Cancel", this.getCancelBlock()) + return mapping + } + + getNameBlock() { + return "" + this.name + "" + } + + getCancelBlock() { + if (this.state == "CANCELLED" || this.state == "FINISHED") + return "" + var linkText = _t("Cancel") + var link = "" + linkText + "" + var block = "" + link + "" + return block + } } var downloader = null; @@ -38,42 +62,49 @@ function refreshDownloader() { xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var xmlDoc = this.responseXML; + + var downloaderList = [] downloaders.clear(); var i; var x = xmlDoc.getElementsByTagName("Download"); for (i = 0; i < x.length; i ++) { var download = new Downloader(x[i]); + downloaderList.push(download) downloaders.set(download.infoHash, download); } - var table = "
" + _t("Name") + " | " + _t("State") + " | " + _t("Speed") + " | " + _t("ETA") + " | " + _t("Progress") + " | " + _t("Cancel") + " | |
---|---|---|---|---|---|---|
"; - table += download.name; - table += " | "; - table += ""+download.state+" | "; - table += ""+download.speed+" | "; - table += ""+download.ETA+" | "; - table += ""+download.progress+" | "; - - if (download.state != "CANCELLED") - table += "" + _t("Cancel") + " | "; - else - table += ""; - table += " |