From 8d4af48eca558ca6c653b69105749c0e09338851 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Thu, 5 Dec 2019 21:50:06 +0000 Subject: [PATCH] cancel downloads via ajax too --- .../java/com/muwire/webui/DownloadManager.java | 2 +- webui/src/main/js/download.js | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/webui/src/main/java/com/muwire/webui/DownloadManager.java b/webui/src/main/java/com/muwire/webui/DownloadManager.java index 9b4aa594..5f833998 100644 --- a/webui/src/main/java/com/muwire/webui/DownloadManager.java +++ b/webui/src/main/java/com/muwire/webui/DownloadManager.java @@ -34,7 +34,7 @@ public class DownloadManager { } void cancel(InfoHash infoHash) { - Downloader d = downloaders.remove(infoHash); + Downloader d = downloaders.get(infoHash); if (d == null) return; d.cancel(); diff --git a/webui/src/main/js/download.js b/webui/src/main/js/download.js index 0f83b8b0..8d54c2cb 100644 --- a/webui/src/main/js/download.js +++ b/webui/src/main/js/download.js @@ -12,6 +12,19 @@ class Downloader { var downloader = null; var downloaders = new Map() +function cancelDownload(infoHash) { + var xmlhttp = new XMLHttpRequest(); + xmlhttp.onreadystatechange = function() { + if (this.readyState == 4 && this.status == 200) { + var downloadSpan = document.getElementById("download-"+infoHash); + downloadSpan.innerHTML = ""; + } + } + xmlhttp.open("POST", "/MuWire/Download", true); + xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + xmlhttp.send(encodeURI("action=cancel&infoHash="+infoHash)); +} + function updateDownloader(infoHash) { var selected = downloaders.get(infoHash); @@ -43,8 +56,7 @@ function refreshDownloader() { table += ""+download.ETA+""; table += ""+download.progress+""; - table += "
"; + table += "Cancel"; table += ""; }