From f12e44cb94479d54d385f680ec591958111fe51c Mon Sep 17 00:00:00 2001 From: Leo Herzog Date: Tue, 30 Jun 2020 14:39:39 -0400 Subject: [PATCH] Add Remove Buttons for Trackers and Webseeds --- bundle.js | 29 +++++++++++++++++++++++------ index.html | 6 ++++++ parse.js | 29 +++++++++++++++++++++++------ 3 files changed, 52 insertions(+), 12 deletions(-) diff --git a/bundle.js b/bundle.js index d8a3134..d9f9009 100644 --- a/bundle.js +++ b/bundle.js @@ -11897,8 +11897,10 @@ var createdBy = document.getElementById('createdBy'); var comment = document.getElementById('comment'); var hash = document.getElementById('hash'); var addTrackers = document.getElementById('addTrackers'); +var removeTrackers = document.getElementById('removeTrackers'); var announce = document.getElementById('announce'); var urlList = document.getElementById('urlList'); +var removeWebseeds = document.getElementById('removeWebseeds'); var files = document.getElementById('filesBody'); var copyURL = document.getElementById('copyURL'); var copyMagnet = document.getElementById('copyMagnet'); @@ -11943,6 +11945,8 @@ function start() { createdBy.addEventListener('change', propertyChange); comment.addEventListener('input', propertyChange); addTrackers.addEventListener('click', addCurrentTrackers); + removeTrackers.addEventListener('click', removeCurrentTrackers); + removeWebseeds.addEventListener('click', removeCurrentWebseeds); if (window.location.hash) parse(window.location.hash.split('#')[1]); @@ -12096,10 +12100,7 @@ function propertyChange(e) { } else { parsed[e.target.id] = e.target.value || ""; } - created.value = new Date().toISOString().slice(0, 19); - parsed.created = new Date(); - createdBy.value = "Torrent Parts "; - parsed.createdBy = "Torrent Parts "; + updateModified(); display(); } @@ -12109,12 +12110,28 @@ async function addCurrentTrackers() { let trackers = await response.text(); parsed.announce = parsed.announce.concat(trackers.split('\n\n')); parsed.announce = parsed.announce.filter((v,i) => v && parsed.announce.indexOf(v) === i); // remove duplicates and empties + updateModified(); + addTrackers.disabled = false; + display(); +} + +function removeCurrentTrackers() { + parsed.announce = []; + updateModified(); + display(); +} + +function removeCurrentWebseeds() { + parsed.urlList = []; + updateModified(); + display(); +} + +function updateModified() { created.value = new Date().toISOString().slice(0, 19); parsed.created = new Date(); createdBy.value = "Torrent Parts "; parsed.createdBy = "Torrent Parts "; - addTrackers.disabled = false; - display(); } // https://stackoverflow.com/a/36899900/2700296 diff --git a/index.html b/index.html index c1998ce..7eec0ed 100644 --- a/index.html +++ b/index.html @@ -49,11 +49,17 @@ +
+
diff --git a/parse.js b/parse.js index 85e4b42..fceccb8 100644 --- a/parse.js +++ b/parse.js @@ -11,8 +11,10 @@ var createdBy = document.getElementById('createdBy'); var comment = document.getElementById('comment'); var hash = document.getElementById('hash'); var addTrackers = document.getElementById('addTrackers'); +var removeTrackers = document.getElementById('removeTrackers'); var announce = document.getElementById('announce'); var urlList = document.getElementById('urlList'); +var removeWebseeds = document.getElementById('removeWebseeds'); var files = document.getElementById('filesBody'); var copyURL = document.getElementById('copyURL'); var copyMagnet = document.getElementById('copyMagnet'); @@ -57,6 +59,8 @@ function start() { createdBy.addEventListener('change', propertyChange); comment.addEventListener('input', propertyChange); addTrackers.addEventListener('click', addCurrentTrackers); + removeTrackers.addEventListener('click', removeCurrentTrackers); + removeWebseeds.addEventListener('click', removeCurrentWebseeds); if (window.location.hash) parse(window.location.hash.split('#')[1]); @@ -210,10 +214,7 @@ function propertyChange(e) { } else { parsed[e.target.id] = e.target.value || ""; } - created.value = new Date().toISOString().slice(0, 19); - parsed.created = new Date(); - createdBy.value = "Torrent Parts "; - parsed.createdBy = "Torrent Parts "; + updateModified(); display(); } @@ -223,12 +224,28 @@ async function addCurrentTrackers() { let trackers = await response.text(); parsed.announce = parsed.announce.concat(trackers.split('\n\n')); parsed.announce = parsed.announce.filter((v,i) => v && parsed.announce.indexOf(v) === i); // remove duplicates and empties + updateModified(); + addTrackers.disabled = false; + display(); +} + +function removeCurrentTrackers() { + parsed.announce = []; + updateModified(); + display(); +} + +function removeCurrentWebseeds() { + parsed.urlList = []; + updateModified(); + display(); +} + +function updateModified() { created.value = new Date().toISOString().slice(0, 19); parsed.created = new Date(); createdBy.value = "Torrent Parts "; parsed.createdBy = "Torrent Parts "; - addTrackers.disabled = false; - display(); } // https://stackoverflow.com/a/36899900/2700296