新增批量调整单个种子的上传、下载和连接数 (#492)

* 新增批量调整单个种子的上传、下载和连接数

* fix bug

* 格式优化

* 格式优化

* 修复非中文环境下,设置上传下载的弹出框无效问题
This commit is contained in:
godson321 2020-11-12 20:34:57 +08:00 committed by GitHub
parent 3c52520b39
commit ba0cc207cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 869 additions and 353 deletions

View File

@ -16,7 +16,7 @@
<link rel="stylesheet" type="text/css" href="tr-web-control/style/base.css?v=20200914" />
<link rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/icon.css?v=20200914" />
<link rel="stylesheet" type="text/css" href="tr-web-control/style/icon.custom.css?v=20200914" />
<link rel="stylesheet" type="text/css" href="tr-web-control/style/iconfont/iconfont.css?v=20200914" />
<link rel="stylesheet" type="text/css" href="tr-web-control/style/iconfont/iconfont.css?v=20201001" />
<!-- <link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_584244_g4d8d6qr58nnrk9.css"/> -->
<!-- Base class library -->
@ -34,8 +34,8 @@
<script type="text/javascript" src="tr-web-control/script/min/public.min.js?v=20200914"></script>
<script type="text/javascript" src="tr-web-control/script/other/ua-parser.min.js?v=20200914"></script>
<script type="text/javascript" src="tr-web-control/script/min/transmission.min.js?v=20200914"></script>
<script type="text/javascript" src="tr-web-control/script/min/transmission.torrents.min.js?v=20200914"></script>
<script type="text/javascript" src="tr-web-control/script/min/system.min.js?v=20200914"></script>
<script type="text/javascript" src="tr-web-control/script/min/transmission.torrents.min.js?v=20201001"></script>
<script type="text/javascript" src="tr-web-control/script/min/system.min.js?v=20201001"></script>
<script type="text/javascript" src="tr-web-control/config.js?v=20200914"></script>
<script type="text/javascript" src="tr-web-control/plugin.js?v=20200914"></script>
<script type="text/javascript">
@ -125,6 +125,10 @@
<!-- 设置下载目录 -->
<a id="toolbar_changeDownloadDir" href="javascript:void(0);" class="easyui-linkbutton"
data-options="iconCls:'iconfont tr-icon-folder-change',plain:true,disabled:true"></a>
<!-- 设置上传下载限制 -->
<a id="toolbar_changeSpeedLimit" href="javascript:void(0);" class="easyui-linkbutton"
data-options="iconCls:'iconfont tr-icon-speedlimit',plain:true,disabled:true"></a>
<!-- 复制下载目录 -->
<a id="toolbar_copyPath" href="javascript:void(0);" class="easyui-linkbutton"
data-options="iconCls:'iconfont tr-icon-clippy',plain:true,disabled:true" data-clipboard-action="copy"

View File

@ -264,6 +264,16 @@
"set-error": "set error!",
"recheck-data": "Recheck data."
},
"torrent-changeSpeedLimit": {
"title": "Set torrents Max download speed and Max upload speed",
"downloadLimited": "Max global download speed:",
"uploadLimited": "Max global upload speed:",
"peer-limit": "Maximum peers for this torrent:",
"seedRatioMode": "Seed ratio for torrents to use:",
"seedIdleMode": "Torrents we're seeding will be stopped if they're idle for this long:",
"doneDate": "Finish Time:",
"seedTime": "Seed Time:"
},
"system-replaceTracker": {
"title": "Replace Trackers",
"old-tracker": "Old tracker:",

View File

@ -68,6 +68,7 @@
"autoreload-enabled": "启用自动刷新",
"tracker-replace": "替换 Tracker",
"change-download-dir": "变更数据保存目录",
"change-speedlimit": "变更上传和下载速度",
"ui-mobile": "切换到移动设备界面",
"ui-original": "切换到原版界面",
"more-peers": "获取更多Peer",
@ -262,6 +263,16 @@
"set-error": "设置目录失败!",
"recheck-data": "设置完成后重新校验。"
},
"torrent-changeSpeedLimit": {
"title": "设置上传和下载",
"downloadLimited": "启用最大下载速度限制:",
"uploadLimited": "启用最大上传速度限制:",
"peer-limit": "最大链接数:",
"seedRatioMode": "当种子的分享率达到这个数时,自动停止做种:",
"seedIdleMode": "当种子超过这个时间没有流量时,自动停止做种:",
"doneDate": "完成时间:",
"seedTime": "做种时间:"
},
"system-replaceTracker": {
"title": "替换 Tracker 地址",
"old-tracker": "原 Tracker",

File diff suppressed because one or more lines are too long

View File

@ -1115,7 +1115,7 @@ var system = {
if (this.control.torrentlist.datagrid("getRows").length==0) {
return;
}
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
disabled: rowData
});
@ -1129,7 +1129,7 @@ var system = {
// 如果没有被选中的数据时
if (this.checkedRows.length == 0) {
// 禁用所有菜单
$("#toolbar_start, #toolbar_pause, #toolbar_rename, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
$("#toolbar_start, #toolbar_pause, #toolbar_rename, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_morepeers,#toolbar_copyPath", this.panel.toolbar).linkbutton({
disabled: true
});
this.panel.toolbar.find("#toolbar_queue").menubutton("disable");
@ -1138,7 +1138,7 @@ var system = {
// 当仅有一条数据被选中时
} else if (this.checkedRows.length == 1) {
// 设置 删除、改名、变更保存目录、移动队列功能可用
$("#toolbar_remove, #toolbar_rename, #toolbar_changeDownloadDir,#toolbar_copyPath", this.panel.toolbar).linkbutton({
$("#toolbar_remove, #toolbar_rename, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_copyPath", this.panel.toolbar).linkbutton({
disabled: false
});
this.panel.toolbar.find("#toolbar_queue").menubutton("enable");
@ -1177,7 +1177,7 @@ var system = {
// 多条数据被选中时
} else {
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_copyPath", this.panel.toolbar).linkbutton({
$("#toolbar_start, #toolbar_pause, #toolbar_remove, #toolbar_recheck, #toolbar_changeDownloadDir,#toolbar_changeSpeedLimit,#toolbar_copyPath", this.panel.toolbar).linkbutton({
disabled: false
});
$("#toolbar_rename, #toolbar_morepeers", this.panel.toolbar).linkbutton({
@ -1482,6 +1482,35 @@ var system = {
});
});
this.panel.toolbar
.find("#toolbar_changeSpeedLimit")
.linkbutton({
disabled: true,
})
.attr("title", this.lang.toolbar.tip["change-speedlimit"])
.click(function () {
var rows = system.control.torrentlist.datagrid("getChecked");
var ids = new Array();
for (var i in rows) {
ids.push(rows[i].id);
}
if (ids.length == 0) return;
system.openDialogFromTemplate({
id: "dialog-torrent-changeSpeedLimit",
options: {
title: system.lang.dialog["torrent-changeSpeedLimit"].title,
width: 600,
height: 200,
resizable: true,
},
datas: {
ids: ids,
},
type: 0,
});
});
// Speed limit
this.panel.toolbar.find("#toolbar_alt_speed")
.linkbutton()

View File

@ -17,7 +17,7 @@ transmission.torrents = {
fields: {
base: "id,name,status,hashString,totalSize,percentDone,addedDate,trackerStats,leftUntilDone,rateDownload,rateUpload,recheckProgress" + ",rateDownload,rateUpload,peersGettingFromUs,peersSendingToUs,uploadRatio,uploadedEver,downloadedEver,downloadDir,error,errorString,doneDate,queuePosition,activityDate",
status: "id,name,status,totalSize,percentDone,trackerStats,leftUntilDone,rateDownload,rateUpload,recheckProgress" + ",rateDownload,rateUpload,peersGettingFromUs,peersSendingToUs,uploadRatio,uploadedEver,downloadedEver,error,errorString,doneDate,queuePosition,activityDate",
config: "downloadLimit,downloadLimited,peer-limit,seedIdleLimit,seedIdleMode,seedRatioLimit,seedRatioMode,uploadLimit,uploadLimited"
config: "id,name,downloadLimit,downloadLimited,peer-limit,seedIdleLimit,seedIdleMode,seedRatioLimit,seedRatioMode,uploadLimit,uploadLimited"
},
// List of all the torrents that have been acquired
datas: {},

View File

@ -0,0 +1,390 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>iconfont example</title>
<link rel="stylesheet" href="./page.css">
<link rel="stylesheet" href="./iconfont.css?v=20201001">
</head>
<body>
<div class="main">
<h1>iconfont example</h1>
<ul class="iconfont-list">
<li>
<i class="iconfont tr-icon-x"></i>
<div class="code">\78</div>
<div class="name">x</div>
</li>
<li>
<i class="iconfont tr-icon-errors"></i>
<div class="code">\e60a</div>
<div class="name">errors</div>
</li>
<li>
<i class="iconfont tr-icon-aixinjuanzeng"></i>
<div class="code">\e615</div>
<div class="name">aixinjuanzeng</div>
</li>
<li>
<i class="iconfont tr-icon-pause1"></i>
<div class="code">\e81f</div>
<div class="name">pause1</div>
</li>
<li>
<i class="iconfont tr-icon-empty"></i>
<div class="code">\e776</div>
<div class="name">empty</div>
</li>
<li>
<i class="iconfont tr-icon-shuju"></i>
<div class="code">\e639</div>
<div class="name">shuju</div>
</li>
<li>
<i class="iconfont tr-icon-up"></i>
<div class="code">\e624</div>
<div class="name">up</div>
</li>
<li>
<i class="iconfont tr-icon-queue-move"></i>
<div class="code">\ea18</div>
<div class="name">queue-move</div>
</li>
<li>
<i class="iconfont tr-icon-top"></i>
<div class="code">\e60b</div>
<div class="name">top</div>
</li>
<li>
<i class="iconfont tr-icon-start"></i>
<div class="code">\e62e</div>
<div class="name">start</div>
</li>
<li>
<i class="iconfont tr-icon-pause"></i>
<div class="code">\e62f</div>
<div class="name">pause</div>
</li>
<li>
<i class="iconfont tr-icon-github"></i>
<div class="code">\ead8</div>
<div class="name">github</div>
</li>
<li>
<i class="iconfont tr-icon-update"></i>
<div class="code">\e67b</div>
<div class="name">update</div>
</li>
<li>
<i class="iconfont tr-icon-cancel-checked"></i>
<div class="code">\e662</div>
<div class="name">cancel-checked</div>
</li>
<li>
<i class="iconfont tr-icon-data-check-1"></i>
<div class="code">\e64b</div>
<div class="name">data-check-1</div>
</li>
<li>
<i class="iconfont tr-icon-servers"></i>
<div class="code">\e607</div>
<div class="name">servers</div>
</li>
<li>
<i class="iconfont tr-icon-shang"></i>
<div class="code">\e610</div>
<div class="name">shang</div>
</li>
<li>
<i class="iconfont tr-icon-recheck-torrent"></i>
<div class="code">\e604</div>
<div class="name">recheck-torrent</div>
</li>
<li>
<i class="iconfont tr-icon-replace"></i>
<div class="code">\e7a4</div>
<div class="name">replace</div>
</li>
<li>
<i class="iconfont tr-icon-pause-all"></i>
<div class="code">\e7a9</div>
<div class="name">pause-all</div>
</li>
<li>
<i class="iconfont tr-icon-delete"></i>
<div class="code">\e614</div>
<div class="name">delete</div>
</li>
<li>
<i class="iconfont tr-icon-labels"></i>
<div class="code">\e6bc</div>
<div class="name">labels</div>
</li>
<li>
<i class="iconfont tr-icon-more-peers"></i>
<div class="code">\e603</div>
<div class="name">more-peers</div>
</li>
<li>
<i class="iconfont tr-icon-fileoutline"></i>
<div class="code">\e819</div>
<div class="name">fileoutline</div>
</li>
<li>
<i class="iconfont tr-icon-rename"></i>
<div class="code">\ea44</div>
<div class="name">rename</div>
</li>
<li>
<i class="iconfont tr-icon-server-network"></i>
<div class="code">\ea7c</div>
<div class="name">server-network</div>
</li>
<li>
<i class="iconfont tr-icon-plugin"></i>
<div class="code">\e61e</div>
<div class="name">plugin</div>
</li>
<li>
<i class="iconfont tr-icon-folder-change"></i>
<div class="code">\e696</div>
<div class="name">folder-change</div>
</li>
<li>
<i class="iconfont tr-icon-download"></i>
<div class="code">\e6c2</div>
<div class="name">download</div>
</li>
<li>
<i class="iconfont tr-icon-reload"></i>
<div class="code">\e622</div>
<div class="name">reload</div>
</li>
<li>
<i class="iconfont tr-icon-server-error"></i>
<div class="code">\ea05</div>
<div class="name">server-error</div>
</li>
<li>
<i class="iconfont tr-icon-cuowu1"></i>
<div class="code">\e674</div>
<div class="name">cuowu1</div>
</li>
<li>
<i class="iconfont tr-icon-start-all"></i>
<div class="code">\e63e</div>
<div class="name">start-all</div>
</li>
<li>
<i class="iconfont tr-icon-search"></i>
<div class="code">\e720</div>
<div class="name">search</div>
</li>
<li>
<i class="iconfont tr-icon-help"></i>
<div class="code">\e605</div>
<div class="name">help</div>
</li>
<li>
<i class="iconfont tr-icon-file"></i>
<div class="code">\e62c</div>
<div class="name">file</div>
</li>
<li>
<i class="iconfont tr-icon-upload"></i>
<div class="code">\e72c</div>
<div class="name">upload</div>
</li>
<li>
<i class="iconfont tr-icon-folder"></i>
<div class="code">\e61d</div>
<div class="name">folder</div>
</li>
<li>
<i class="iconfont tr-icon-warning"></i>
<div class="code">\e680</div>
<div class="name">warning</div>
</li>
<li>
<i class="iconfont tr-icon-home"></i>
<div class="code">\e62a</div>
<div class="name">home</div>
</li>
<li>
<i class="iconfont tr-icon-auto-match"></i>
<div class="code">\e63d</div>
<div class="name">auto-match</div>
</li>
<li>
<i class="iconfont tr-icon-restore"></i>
<div class="code">\e640</div>
<div class="name">restore</div>
</li>
<li>
<i class="iconfont tr-icon-file-hidden"></i>
<div class="code">\e72f</div>
<div class="name">file-hidden</div>
</li>
<li>
<i class="iconfont tr-icon-server-network-off"></i>
<div class="code">\e896</div>
<div class="name">server-network-off</div>
</li>
<li>
<i class="iconfont tr-icon-system-config"></i>
<div class="code">\e625</div>
<div class="name">system-config</div>
</li>
<li>
<i class="iconfont tr-icon-pause2"></i>
<div class="code">\e63a</div>
<div class="name">pause2</div>
</li>
<li>
<i class="iconfont tr-icon-wait"></i>
<div class="code">\e846</div>
<div class="name">wait</div>
</li>
<li>
<i class="iconfont tr-icon-data-check"></i>
<div class="code">\e6d2</div>
<div class="name">data-check</div>
</li>
<li>
<i class="iconfont tr-icon-file1"></i>
<div class="code">\e602</div>
<div class="name">file1</div>
</li>
<li>
<i class="iconfont tr-icon-plus"></i>
<div class="code">\e600</div>
<div class="name">plus</div>
</li>
<li>
<i class="iconfont tr-icon-actively-1"></i>
<div class="code">\e73d</div>
<div class="name">actively-1</div>
</li>
<li>
<i class="iconfont tr-icon-label"></i>
<div class="code">\e706</div>
<div class="name">label</div>
</li>
<li>
<i class="iconfont tr-icon-bt"></i>
<div class="code">\e681</div>
<div class="name">bt</div>
</li>
<li>
<i class="iconfont tr-icon-server"></i>
<div class="code">\e60c</div>
<div class="name">server</div>
</li>
<li>
<i class="iconfont tr-icon-actively"></i>
<div class="code">\e609</div>
<div class="name">actively</div>
</li>
<li>
<i class="iconfont tr-icon-rocket"></i>
<div class="code">\e68b</div>
<div class="name">rocket</div>
</li>
<li>
<i class="iconfont tr-icon-down"></i>
<div class="code">\ea45</div>
<div class="name">down</div>
</li>
<li>
<i class="iconfont tr-icon-bottom"></i>
<div class="code">\ea46</div>
<div class="name">bottom</div>
</li>
<li>
<i class="iconfont tr-icon-pt-plugin"></i>
<div class="code">\e601</div>
<div class="name">pt-plugin</div>
</li>
<li>
<i class="iconfont tr-icon-woniu"></i>
<div class="code">\e608</div>
<div class="name">woniu</div>
</li>
<li>
<i class="iconfont tr-icon-clippy"></i>
<div class="code">\e60d</div>
<div class="name">clippy</div>
</li>
<li>
<i class="iconfont tr-icon-speedlimit"></i>
<div class="code">\eada</div>
<div class="name">speedlimit</div>
</li>
</ul>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,137 @@
* {
margin: 0;
padding: 0;
list-style: none;
}
blockquote,
body,
button,
dd,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
margin: 0;
padding: 0;
}
body,
button,
input,
select,
textarea {
font: 12px/1.5 tahoma, arial, sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: 100%;
}
address,
cite,
dfn,
em,
var {
font-style: normal;
}
code,
kbd,
pre,
samp {
font-family: courier new, courier, monospace;
}
small {
font-size: 12px;
}
ol,
ul {
list-style: none;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
legend {
color: #000;
}
fieldset,
img {
border: 0;
}
button,
input,
select,
textarea {
font-size: 100%;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
.main {
padding: 30px 100px;
}
.main h1 {
font-size: 36px;
color: #333;
text-align: left;
margin-bottom: 30px;
border-bottom: 1px solid #eee;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.iconfont-list {
overflow: hidden;
}
.iconfont-list li {
float: left;
width: 100px;
height: 150px;
text-align: center;
}
.iconfont-list .icon {
font-size: 42px;
line-height: 100px;
margin: 10px 0;
color: #333;
font-style: normal;
-webkit-transition: font-size 0.25s ease-out 0s;
-moz-transition: font-size 0.25s ease-out 0s;
transition: font-size 0.25s ease-out 0s;
}
.iconfont-list .icon:hover {
font-size: 100px;
}
.iconfont-list .code {
color: green;
font-weight: bold;
}

View File

@ -0,0 +1,266 @@
<div
class="easyui-layout"
data-options="fit:true"
style="width: 100%; height: 100%"
>
<div data-options="region:'left'" style="padding: 3px; border: 0px">
<div
id="torrent-speed-limit"
class="dialog"
style="width: 100%; padding: 0px"
>
<table style="width: 100%">
<tr>
<td class="title">
<input
id="checkbox-downloadLimited"
type="checkbox"
style="width: 16px"
/>
<label
id="dialog-torrent-changeSpeedLimit-downloadLimited"
for="downloadLimited"
></label>
</td>
<td>
<input
id="text-downloadLimit"
type="text"
class="easyui-numberspinner"
enabledof="downloadLimited"
style="width: 200px"
/>
KB/s
</td>
</tr>
<tr>
<td class="title">
<input
id="checkbox-uploadLimited"
type="checkbox"
style="width: 16px"
/>
<label
id="dialog-torrent-changeSpeedLimit-uploadLimited"
for="uploadLimited"
></label>
</td>
<td>
<input
id="text-uploadLimit"
type="text"
class="easyui-numberspinner"
enabledof="uploadLimited"
style="width: 200px"
/>
KB/s
</td>
</tr>
<tr>
<td class="title">
<span id="dialog-torrent-changeSpeedLimit-peer-limit"></span>
</td>
<td>
<input
id="text-peer-limit"
value=""
type="text"
class="easyui-numberspinner"
style="width: 200px"
/>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
</table>
</div>
</div>
<div
data-options="region:'south',border:false"
style="text-align: right; padding: 6px"
>
<a
id="torrent-button-ok"
class="easyui-linkbutton"
data-options="iconCls:'icon-ok',plain:true"
href="javascript:void(0);"
>Ok</a
>
<a
id="torrent-button-cancel"
class="easyui-linkbutton"
data-options="iconCls:'icon-cancel',plain:true"
href="javascript:void(0);"
>Cancel</a
>
</div>
</div>
<script type="text/javascript">
(function (thisDialog) {
var title = "downloadLimited,uploadLimited,peer-limit,seedRatioMode,seedIdleMode,doneDate,seedTime".split(
","
);
var ids = thisDialog.data("ids");
var allIds = new Array();
var issimple = false;
var torrent = null;
var recheck = false;
if (typeof ids == "object") {
torrent = transmission.torrents.all[ids[0]];
} else {
torrent = transmission.torrents.all[ids];
issimple = true;
}
if (!torrent) {
thisDialog.dialog("close");
return;
}
//初始化label
$.each(title, function (i, item) {
thisDialog
.find("#dialog-torrent-changeSpeedLimit-" + item)
.html(system.lang.dialog["torrent-changeSpeedLimit"][item]);
});
//初始化按钮
title = "button-ok,button-cancel".split(",");
$.each(title, function (i, item) {
thisDialog
.find("#torrent-" + item)
.html(system.lang.dialog["public"][item]);
});
$.ajaxSettings.async = false;
//初始化界面数据,获取第一个种子的信息
transmission.torrents.getConfig(ids[0], function (result) {
//debugger;
if (result == null) return;
var cur_torrent = result[0];
thisDialog
.find("#checkbox-downloadLimited")
.prop("checked", cur_torrent.downloadLimited);
thisDialog
.find("#checkbox-uploadLimited")
.prop("checked", cur_torrent.uploadLimited);
thisDialog.find("#text-downloadLimit").val(cur_torrent.downloadLimit);
thisDialog.find("#text-uploadLimit").val(cur_torrent.uploadLimit);
thisDialog.find("#text-peer-limit").val(cur_torrent["peer-limit"]);
});
//debugger;
$.ajaxSettings.async = true;
// 确认
thisDialog.find("#torrent-button-ok").click(function () {
var ids = thisDialog.data("ids");
if (ids.length == 0) {
return;
}
//获取界面设置值并写入config
var torrent = transmission.torrents.all[ids[0]];
var inputs = thisDialog.find("#torrent-speed-limit").find("input");
var config = {};
var value = null;
for (var key in inputs) {
var input = inputs[key];
value = null;
if (input.id != undefined && input.id != "") {
switch (input.type) {
case "checkbox":
switch (input.id) {
//
case "seedIdleMode":
case "seedRatioMode":
value = $(input).data("_tag");
break;
default:
value = input.checked;
break;
}
break;
default:
value = $.isNumeric(input.value)
? parseFloat(input.value)
: input.value;
break;
}
if (value != torrent[input.id] && value != null) {
config[
input.id.replace("text-", "").replace("checkbox-", "")
] = value;
}
}
}
//debugger;
//设置为同步
$.ajaxSettings.async = false;
for (var i = 0; i < ids.length; i++) {
config["ids"] = ids[i];;
// var index = i + 1;
// $(this).linkbutton({
// text:
// system.lang.dialog["system-config"].saving +
// "(" +
// index +
// "/" +
// ids.length +
// ")",
// disabled: true,
// });
// 开始设置参数
transmission.exec(
{
method: "torrent-set",
arguments: config,
},
function (data) {
if (data.result == "success") {
} else {
button.linkbutton({ iconCls: icon, disabled: false });
$.messager.alert(
"",
system.lang.error["data-post-error"] + ": " + data.result,
"error"
);
}
}
);
}
$.ajaxSettings.async = true; //变回异步
//修改按钮文本
// thisDialog.find("#torrent-attribute-config-button-save").linkbutton({
// text: system.lang.dialog["public"]["button-save"],
// disabled: false,
// });
//清空种子选择状态
system.control.torrentlist.datagrid("uncheckAll");
//刷新种子
//system.reloadTorrentBaseInfos();
//关闭弹窗
thisDialog.dialog("close");
});
thisDialog.find("#torrent-button-cancel").click(function () {
thisDialog.dialog("close");
});
})($("#dialog-torrent-changeSpeedLimit"));
</script>