From a500500b9a944430c2809e7220930f297ef3b2bb Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sat, 25 May 2019 19:47:52 +0800 Subject: [PATCH] copy downlaod link and magnet link supports multi tasks --- src/scripts/controllers/main.js | 54 +++++++++++++++++++++++++-------- src/views/list.html | 10 +++--- 2 files changed, 47 insertions(+), 17 deletions(-) diff --git a/src/scripts/controllers/main.js b/src/scripts/controllers/main.js index cd4973fa..f2754886 100644 --- a/src/scripts/controllers/main.js +++ b/src/scripts/controllers/main.js @@ -69,24 +69,36 @@ return $rootScope.taskContext.getSelectedTaskIds().length > 0; }; - $scope.isSingleUrlTaskSelected = function () { + $scope.isSelectedTasksAllHaveUrl = function () { var selectedTasks = $rootScope.taskContext.getSelectedTasks(); - if (selectedTasks.length !== 1) { + if (selectedTasks.length < 1) { return false; } - return !!selectedTasks[0].singleUrl; + for (var i = 0; i < selectedTasks.length; i++) { + if (!selectedTasks[i].singleUrl) { + return false; + } + } + + return true; }; - $scope.isSingleBittorrentHasInfoHashTaskSelected = function () { + $scope.isSelectedTasksAllHaveInfoHash = function () { var selectedTasks = $rootScope.taskContext.getSelectedTasks(); - if (selectedTasks.length !== 1) { + if (selectedTasks.length < 1) { return false; } - return !!selectedTasks[0].bittorrent && !!selectedTasks[0].infoHash; + for (var i = 0; i < selectedTasks.length; i++) { + if (!selectedTasks[i].bittorrent || !selectedTasks[i].infoHash) { + return false; + } + } + + return true; }; $scope.isSpecifiedTaskSelected = function () { @@ -335,19 +347,37 @@ $rootScope.taskContext.selectAllCompleted(); }; - $scope.copySelectedOneTaskDownloadLink = function () { + $scope.copySelectedTasksDownloadLink = function () { var selectedTasks = $rootScope.taskContext.getSelectedTasks(); + var result = ''; + + for (var i = 0; i < selectedTasks.length; i++) { + if (i > 0) { + result += '\n'; + } + + result += selectedTasks[i].singleUrl; + } - if (selectedTasks.length === 1) { - clipboard.copyText(selectedTasks[0].singleUrl); + if (result.length > 0) { + clipboard.copyText(result); } }; - $scope.copySelectedOneTaskMagnetLink = function () { + $scope.copySelectedTasksMagnetLink = function () { var selectedTasks = $rootScope.taskContext.getSelectedTasks(); + var result = ''; + + for (var i = 0; i < selectedTasks.length; i++) { + if (i > 0) { + result += '\n'; + } + + result += 'magnet:?xt=urn:btih:' + selectedTasks[i].infoHash; + } - if (selectedTasks.length === 1) { - clipboard.copyText('magnet:?xt=urn:btih:' + selectedTasks[0].infoHash); + if (result.length > 0) { + clipboard.copyText(result); } }; diff --git a/src/views/list.html b/src/views/list.html index bb7ec45e..2ad37f76 100644 --- a/src/views/list.html +++ b/src/views/list.html @@ -176,15 +176,15 @@ Select All -
  • -
  • - +
  • +
  • + Copy Download Url
  • -
  • - +
  • + Copy Magnet Link