support start new download by link
This commit is contained in:
parent
a80546cc00
commit
12b52d74f5
|
@ -37,8 +37,8 @@
|
|||
<nav class="navbar navbar-static-top" role="navigation">
|
||||
<div class="navbar-toolbar">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="disabled">
|
||||
<a class="toolbar" title="{{'New' | translate}}">
|
||||
<li>
|
||||
<a class="toolbar" title="{{'New' | translate}}" ng-href="#/new">
|
||||
<i class="fa fa-plus"></i>
|
||||
<span translate>New</span>
|
||||
</a>
|
||||
|
@ -280,6 +280,7 @@
|
|||
<script src="scripts/config/aria2Options.js"></script>
|
||||
<script src="scripts/config/aria2RpcConstants.js"></script>
|
||||
<script src="scripts/controllers/main.js"></script>
|
||||
<script src="scripts/controllers/new.js"></script>
|
||||
<script src="scripts/controllers/list.js"></script>
|
||||
<script src="scripts/controllers/task-detail.js"></script>
|
||||
<script src="scripts/controllers/settings-ariang.js"></script>
|
||||
|
|
|
@ -74,6 +74,11 @@
|
|||
"Failed to remove some task(s).": "删除一些任务时失败.",
|
||||
"Confirm Clear": "确认清除",
|
||||
"Are you sure you want to clear stopped tasks?": "您是否要清除已结束的任务?",
|
||||
"Download Links:": "下载链接:",
|
||||
"Start Download": "立即下载",
|
||||
"Open Torrent File": "打开种子文件",
|
||||
"Open Metalink File": "打开 Metalink 文件",
|
||||
"Support multiple URLs, one URL per line.": "支持多个 URL 地址, 每个地址占一行.",
|
||||
"Language": "语言",
|
||||
"Aria2 RPC Host": "Aria2 RPC 主机",
|
||||
"Aria2 RPC Port": "Aria2 RPC 端口",
|
||||
|
|
|
@ -78,6 +78,11 @@
|
|||
'Failed to remove some task(s).': 'Failed to remove some task(s).',
|
||||
'Confirm Clear': 'Confirm Clear',
|
||||
'Are you sure you want to clear stopped tasks?': 'Are you sure you want to clear stopped tasks?',
|
||||
'Download Links:': 'Download Links:',
|
||||
'Open Torrent File': 'Open Torrent File',
|
||||
'Open Metalink File': 'Open Metalink File',
|
||||
'Start Download': 'Start Download',
|
||||
'Support multiple URLs, one URL per line.': 'Support multiple URLs, one URL per line.',
|
||||
'Language': 'Language',
|
||||
'Aria2 RPC Host': 'Aria2 RPC Host',
|
||||
'Aria2 RPC Port': 'Aria2 RPC Port',
|
||||
|
|
28
app/scripts/controllers/new.js
Normal file
28
app/scripts/controllers/new.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
(function () {
|
||||
'use strict';
|
||||
|
||||
angular.module('ariaNg').controller('NewTaskController', ['$rootScope', '$scope', '$location', 'ariaNgCommonService', 'aria2TaskService', function ($rootScope, $scope, $location, ariaNgCommonService, aria2TaskService) {
|
||||
$scope.urls = '';
|
||||
$scope.options = {};
|
||||
|
||||
$scope.startDownload = function () {
|
||||
var urls = $scope.urls.split('\n');
|
||||
var tasks = [];
|
||||
|
||||
for (var i = 0; i < urls.length; i++) {
|
||||
tasks.push({
|
||||
urls: [urls[i].trim()],
|
||||
options: $scope.options
|
||||
});
|
||||
}
|
||||
|
||||
$rootScope.loadPromise = aria2TaskService.newUriTasks(tasks, function (response) {
|
||||
if (!response.hasSuccess) {
|
||||
return;
|
||||
}
|
||||
|
||||
$location.path('/downloading');
|
||||
});
|
||||
};
|
||||
}]);
|
||||
})();
|
|
@ -15,6 +15,10 @@
|
|||
templateUrl: 'views/list.html',
|
||||
controller: 'DownloadListController'
|
||||
})
|
||||
.when('/new', {
|
||||
templateUrl: 'views/new.html',
|
||||
controller: 'NewTaskController'
|
||||
})
|
||||
.when('/task/detail/:gid', {
|
||||
templateUrl: 'views/task-detail.html',
|
||||
controller: 'TaskDetailController'
|
||||
|
|
|
@ -161,9 +161,22 @@
|
|||
|
||||
return requestParams;
|
||||
},
|
||||
// addUri: function (context) {
|
||||
// return invoke('addUri', context);
|
||||
// },
|
||||
addUri: function (context) {
|
||||
return invoke(buildRequestContext('addUri', context, context.urls, context.options));
|
||||
},
|
||||
addUriMulti: function (context) {
|
||||
var contexts = [];
|
||||
|
||||
for (var i = 0; i < context.tasks.length; i++) {
|
||||
contexts.push({
|
||||
silent: !!context.silent,
|
||||
urls: context.tasks[i].urls,
|
||||
options: context.tasks[i].options
|
||||
});
|
||||
}
|
||||
|
||||
return invokeMulti(this.addUri, contexts, context.callback);
|
||||
},
|
||||
// addTorrent: function (context) {
|
||||
// return invoke('addTorrent', context);
|
||||
// },
|
||||
|
|
|
@ -248,6 +248,13 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
newUriTasks: function (tasks, callback, silent) {
|
||||
return aria2RpcService.addUriMulti({
|
||||
tasks: tasks,
|
||||
silent: !!silent,
|
||||
callback: callback
|
||||
});
|
||||
},
|
||||
startTasks: function (gids, callback, silent) {
|
||||
return aria2RpcService.unpauseMulti({
|
||||
gids: gids,
|
||||
|
|
|
@ -876,4 +876,38 @@ td {
|
|||
}
|
||||
}
|
||||
|
||||
/* new-task-table */
|
||||
.new-task-table {
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.skin-aria-ng .new-task-table {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.new-task-table > div.row {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.new-task-table > div.row:first-child {
|
||||
border-top: inherit;
|
||||
}
|
||||
|
||||
.new-task-table .new-task-toollink > a {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.new-task-table .description {
|
||||
color: #a8a8a8;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.new-task-table .new-task-toollink > a {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
/* miscellaneous */
|
||||
|
|
26
app/views/new.html
Normal file
26
app/views/new.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
<section class="content no-padding">
|
||||
<div class="new-task-table">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<p>
|
||||
<span translate>Download Links:</span>
|
||||
<small class="description inline" translate>Support multiple URLs, one URL per line.</small>
|
||||
</p>
|
||||
<textarea class="form-control" rows="8" ng-model="urls"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<div class="new-task-toollink hide">
|
||||
<a class="pointer-cursor" translate>Open Torrent File</a>
|
||||
<a class="pointer-cursor" translate>Open Metalink File</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<div class="pull-right">
|
||||
<button class="btn btn-sm btn-default" ng-disabled="urls == ''" ng-click="startDownload()" translate>Start Download</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
Reference in a new issue