From a69bac61095f250d260bf8079aa0b85efd3ae579 Mon Sep 17 00:00:00 2001 From: Simon Dobie Date: Mon, 25 May 2020 05:29:16 +1000 Subject: [PATCH 1/2] add validation, auto increment range to next offset --- DownloadCollection.user.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/DownloadCollection.user.js b/DownloadCollection.user.js index 0ab9c5b..aac14a6 100644 --- a/DownloadCollection.user.js +++ b/DownloadCollection.user.js @@ -87,16 +87,45 @@ var albumLoadDuration = 10000; downloadRangeButton.onclick = () => { var rangeStart = parseInt(downloadRangeStart.value) var rangeEnd = parseInt(downloadRangeEnd.value) + var ok = true + if (rangeStart < 0 || rangeStart >= allLinks.length) { + downloadRangeStart.value = null + ok = false + } + if (rangeEnd < 0 || rangeEnd >= allLinks.length) { + downloadRangeEnd.value = null + ok = false + } + + if (!ok) { + return + } for(var i = rangeStart; i <= rangeEnd && i < allLinks.length; i++) { window.open(allLinks[i], '_blank') } + downloadNextRangeButton.style.display = "block" } + var downloadNextRangeButton = document.createElement('button') + downloadNextRangeButton.innerText = 'Download next range' + downloadNextRangeButton.style.display = "none" + downloadNextRangeButton.style.marginBottom = "10px" + downloadNextRangeButton.onclick = () => { + var rangeStart = parseInt(downloadRangeStart.value) + var rangeEnd = Math.min(parseInt(downloadRangeEnd.value), allLinks.length - 1) + var limit = rangeEnd - rangeStart + 1 + downloadRangeStart.value = Math.min(rangeEnd + 1, allLinks.length - 1) + downloadRangeEnd.value = Math.min(rangeEnd + limit, allLinks.length - 1) + downloadRangeButton.click() + } + + downloadControls.appendChild(downloadAllButton) downloadControls.appendChild(downloadSelectedButton) downloadControls.appendChild(downloadRangeButton) downloadControls.appendChild(downloadRangeStart) downloadControls.appendChild(downloadRangeEnd) + downloadControls.appendChild(downloadNextRangeButton) mainContainer.appendChild(downloadControls) mainContainer.appendChild(statusSpan) From 5d84067f893ee551105f3ad6ef2413cf361d4ad3 Mon Sep 17 00:00:00 2001 From: Simon Dobie Date: Mon, 25 May 2020 05:36:20 +1000 Subject: [PATCH 2/2] remove uneeded max check --- DownloadCollection.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DownloadCollection.user.js b/DownloadCollection.user.js index aac14a6..6b143dd 100644 --- a/DownloadCollection.user.js +++ b/DownloadCollection.user.js @@ -112,7 +112,7 @@ var albumLoadDuration = 10000; downloadNextRangeButton.style.marginBottom = "10px" downloadNextRangeButton.onclick = () => { var rangeStart = parseInt(downloadRangeStart.value) - var rangeEnd = Math.min(parseInt(downloadRangeEnd.value), allLinks.length - 1) + var rangeEnd = parseInt(downloadRangeEnd.value) var limit = rangeEnd - rangeStart + 1 downloadRangeStart.value = Math.min(rangeEnd + 1, allLinks.length - 1) downloadRangeEnd.value = Math.min(rangeEnd + limit, allLinks.length - 1)