From 7df038d2f2d5d5b3320a75f7de81d3cf9e0accfa Mon Sep 17 00:00:00 2001 From: MaysWind Date: Wed, 21 Feb 2018 11:09:46 +0800 Subject: [PATCH] code refactor --- src/scripts/controllers/task-detail.js | 43 +++++++++++++++++--------- src/views/task-detail.html | 2 +- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/src/scripts/controllers/task-detail.js b/src/scripts/controllers/task-detail.js index baa8ffe..7d568f0 100644 --- a/src/scripts/controllers/task-detail.js +++ b/src/scripts/controllers/task-detail.js @@ -5,6 +5,7 @@ var tabOrders = ['overview', 'blocks', 'filelist', 'btpeers']; var downloadTaskRefreshPromise = null; var pauseDownloadTaskRefresh = false; + var currentRowTriggeredMenu = null; var getAvailableOptions = function (status, isBittorrent) { var keys = aria2SettingService.getAvailableTaskOptionKeys(status, isBittorrent); @@ -308,6 +309,26 @@ }, true); }; + $scope.copySelectedRowText = function () { + if (!currentRowTriggeredMenu) { + return; + } + + var name = currentRowTriggeredMenu.find('.setting-key > span').text().trim(); + var value = ""; + + currentRowTriggeredMenu.find('.setting-value > span').each(function (i, element) { + if (i > 0) { + value += '\n'; + } + + value += angular.element(element).text().trim(); + }); + + var info = name + ': ' + value; + clipboard.copyText(info); + }; + if (ariaNgSettingService.getDownloadTaskRefreshInterval() > 0) { downloadTaskRefreshPromise = $interval(function () { if ($scope.task && ($scope.task.status === 'complete' || $scope.task.status === 'error' || $scope.task.status === 'removed')) { @@ -326,24 +347,16 @@ }); angular.element('#overview-items .row').contextmenu({ - target:'#task-overview-contextmenu', - onItem: function (context, e) { - var name = context.find('.setting-key > span').text().trim(); - var value = ""; - - context.find('.setting-value > span').each(function (i, element) { - if (i > 0) { - value += '\n'; - } - - value += angular.element(element).text().trim(); - }); - - var info = name + ': ' + value; - clipboard.copyText(info); + target: '#task-overview-contextmenu', + before: function (e, context) { + currentRowTriggeredMenu = context; } }); + angular.element('#task-overview-contextmenu').on('hide.bs.context', function () { + currentRowTriggeredMenu = null; + }); + $rootScope.loadPromise = refreshDownloadTask(false); }]); }()); diff --git a/src/views/task-detail.html b/src/views/task-detail.html index 346d574..2501f25 100644 --- a/src/views/task-detail.html +++ b/src/views/task-detail.html @@ -342,7 +342,7 @@