mirror of
https://github.com/ronggang/transmission-web-control.git
synced 2025-04-17 06:48:35 +00:00
parent
86f60feb75
commit
c27e3ba9f0
|
@ -8,13 +8,13 @@
|
|||
<link rel='shortcut icon' href='favicon.ico' type='image/x-icon'/ >
|
||||
<title>Transmission Web Control</title>
|
||||
<!-- Style sheet -->
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/before-easyui.css?v=20190306" />
|
||||
<link id="styleEasyui" rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/default/easyui.css?v=20190306"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/before-easyui.css?v=20190724" />
|
||||
<link id="styleEasyui" rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/default/easyui.css?v=20190724"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/script/plugins/jquery.webui-popover.css" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/base.css?v=20190306" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/icon.css?v=20190306"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/icon.custom.css?v=20190306"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/iconfont/iconfont.css?v=20190306"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/base.css?v=20190724" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/icon.css?v=20190724"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/icon.custom.css?v=20190724"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/iconfont/iconfont.css?v=20190724"/>
|
||||
<!-- <link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_584244_g4d8d6qr58nnrk9.css"/> -->
|
||||
|
||||
<!-- Base class library -->
|
||||
|
@ -22,20 +22,20 @@
|
|||
<script type="text/javascript" src="tr-web-control/script/jquery/jquery.form.js"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/jquery/json2.min.js"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/jquery/Base64.js"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/easyui/jquery.easyui.min.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/easyui/jquery.easyui.min.js?v=20190724"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/easyui/plugins/jquery.datagrid.drophead.js"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/plugins/jquery.webui-popover.min.js"></script>
|
||||
<!-- -->
|
||||
<!-- System class library -->
|
||||
<script type="text/javascript" src="tr-web-control/script/min/FileSaver.min.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/FileSaver.min.js?v=20190724"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/clipboard.min.js"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/public.min.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/ua-parser.min.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/transmission.min.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/public.min.js?v=20190724"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/ua-parser.min.js?v=20190724"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/transmission.min.js?v=20190724"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/transmission.torrents.min.js?v=20171027"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/system.min.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/config.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/plugin.js?v=20190306"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/system.min.js?v=20190724"></script>
|
||||
<script type="text/javascript" src="tr-web-control/config.js?v=20190724"></script>
|
||||
<script type="text/javascript" src="tr-web-control/plugin.js?v=20190724"></script>
|
||||
<script type="text/javascript">
|
||||
var nonpc = [ "console", "mobile", "tablet", "smarttv", "wearable", "embedded" ]
|
||||
if ((nonpc.indexOf($.ua.device.type) != -1 )&&location.search.getQueryString("devicetype")!="computer")
|
||||
|
|
21
src/tr-web-control/script/min/system.min.js
vendored
21
src/tr-web-control/script/min/system.min.js
vendored
|
@ -1,4 +1,4 @@
|
|||
var system={version:"1.6.0",rootPath:"tr-web-control/",codeupdate:"20190612",configHead:"transmission-web-control",config:{autoReload:true,reloadStep:5E3,pageSize:30,pagination:true,pageList:[10,20,30,40,50,100,150,200,250,300],defaultSelectNode:null,autoExpandAttribute:false,defaultLang:"",foldersShow:false,theme:"default",showBTServers:false,ui:{status:{tree:{},layout:{main:{},body:{},left:{}},panel:{},size:{nav:{},attribute:{}}}},hideSubfolders:false,simpleCheckMode:false,nav:{servers:true,folders:true,
|
||||
var system={version:"1.6.0",rootPath:"tr-web-control/",codeupdate:"20190724",configHead:"transmission-web-control",config:{autoReload:true,reloadStep:5E3,pageSize:30,pagination:true,pageList:[10,20,30,40,50,100,150,200,250,300],defaultSelectNode:null,autoExpandAttribute:false,defaultLang:"",foldersShow:false,theme:"default",showBTServers:false,ui:{status:{tree:{},layout:{main:{},body:{},left:{}},panel:{},size:{nav:{},attribute:{}}}},hideSubfolders:false,simpleCheckMode:false,nav:{servers:true,folders:true,
|
||||
statistics:true,labels:false},labels:[],labelMaps:{},ignoreVersion:[]},storageKeys:{dictionary:{folders:"dictionary.folders"}},dictionary:{folders:null},checkUpdateScript:"https://api.github.com/repos/ronggang/transmission-web-control/releases/latest",contextMenus:{},panel:null,lang:null,reloading:false,autoReloadTimer:null,downloadDir:"",islocal:false,B64:new Base64,currentTorrentId:0,control:{tree:null,torrentlist:null},userConfig:{torrentList:{fields:[],sortName:null,sortOrder:"asc"}},serverConfig:null,
|
||||
serverSessionStats:null,templates:{},checkedRows:[],uiIsInitialized:false,popoverCount:0,setlang:function(a,b){a||(a=this.config.defaultLang?this.config.defaultLang:navigator.language||navigator.browserLanguage);a||(a="zh-CN");if(a.indexOf("-")!=-1)a=a.split("-")[0].toLocaleLowerCase()+"-"+a.split("-")[1].toLocaleUpperCase();this.languages[a]||(a="en");a=a.replace("-","_");$.getJSON(system.rootPath+"i18n/"+a+".json",function(c){if(c)system.lang=$.extend(true,system.defaultLang,c);system.resetLangText();
|
||||
$.getScript(system.rootPath+"script/easyui/locale/easyui-lang-"+a+".js").done(function(){b&&b()}).fail(function(){$.getScript(system.rootPath+"script/easyui/locale/easyui-lang-en.js",function(){b&&b()})})})},init:function(a,b){this.readConfig();this.lastUIStatus=JSON.parse(JSON.stringify(this.config.ui.status));this.islocal=b==1?true:false;this.panel={main:$("#main"),top:$("#m_top"),toolbar:$("#m_toolbar"),left_layout:$("#m_left_layout"),left:$("#m_left"),body:$("#m_body"),layout_body:$("#layout_body"),
|
||||
|
@ -76,15 +76,16 @@ transmission.torrents.all;break;case "paused":b=transmission.torrents.status[tra
|
|||
break;case "downloadwait":b=transmission.torrents.status[transmission._status.downloadwait];break;case "actively":b=transmission.torrents.actively;break;case "error":b=transmission.torrents.error;break;case "warning":b=transmission.torrents.warning;break;case "search-result":b=transmission.torrents.searchResult;break;case "btservers":b=transmission.torrents.btItems;break;default:if(a.node.id.indexOf("folders-")!=-1){var e=transmission.torrents.folders[a.node.id];if(e)if(this.config.hideSubfolders){b=
|
||||
[];for(var f=0;f<e.torrents.length;f++){c=e.torrents[f];c.downloadDir.replace(/[\\|\/]/g,"")==a.node.path&&b.push(c)}}else b=e.torrents}else if(a.node.id.indexOf("label-")!=-1){d=parseInt(a.node.labelIndex);b=[];for(e in transmission.torrents.all){var g=transmission.torrents.all[e];(c=this.config.labelMaps[g.hashString])&&$.inArray(d,c)!=-1&&b.push(g)}}}}if(this.config.defaultSelectNode!=a.node.id){this.control.torrentlist.datagrid("loadData",[]);this.config.defaultSelectNode=a.node.id;this.saveConfig()}a=
|
||||
[];for(f in b){if(!b[f])return;c=this.lang.torrent["status-text"][b[f].status];parseFloat(b[f].percentDone*100).toFixed(2);c==transmission._status.check&&parseFloat(b[f].recheckProgress*100).toFixed(2);if(b[f].error!=0)c="<span class='text-status-error'>"+c+"</span>";else if(b[f].warning)c="<span class='text-status-warning' title='"+b[f].warning+"'>"+c+"</span>";e={};e=$.extend(e,b[f]);e.status=c;e.statusCode=b[f].status;e.completeSize=Math.max(0,b[f].totalSize-b[f].leftUntilDone);e.leecherCount=
|
||||
b[f].leecher;e.seederCount=b[f].seeder;if(c=this.config.labelMaps[e.hashString])e.labels=c;a.push(e)}this.updateTorrentCurrentPageDatas(a)}}},updateTorrentCurrentPageDatas:function(a){var b=this.control.torrentlist.datagrid("getRows");if(a.length==0&&b.length>0)this.control.torrentlist.datagrid("loadData",[]);else{var c=this.control.torrentlist.datagrid("options"),d=null;if(c.sortName){d=c.sortName;a=a.sort(arrayObjectSort(d,c.sortOrder))}if(b.length==0||a.length!=this.control.torrentlist.datagrid("getData").total&&
|
||||
a.length>c.pageSize)this.control.torrentlist.datagrid({loadFilter:pagerFilter,pageNumber:c.pageNumber,sortName:d,sortOrder:c.sortOrder}).datagrid("loadData",a);else{this.control.torrentlist.datagrid("getData").originalRows=a;d=(c.pageNumber-1)*parseInt(c.pageSize);c=d+parseInt(c.pageSize);a=a.slice(d,c);c={};d={};for(var e in transmission.torrents.recently){var f=transmission.torrents.recently[e];c[f.id]=true}for(e in a){f=a[e];d[f.id]=f}var g={};for(e=b.length-1;e>=0;e--){f=b[e];var h=d[f.id];if(h)if(c[f.id]){this.control.torrentlist.datagrid("updateRow",
|
||||
{index:e,row:h});g[f.id]=f}else if(transmission.torrents.removed)if(transmission.torrents.removed.length>0&&$.inArray(f.id,transmission.torrents.removed)!=-1)this.control.torrentlist.datagrid("deleteRow",e);else g[f.id]=f;else g[f.id]=f;else this.control.torrentlist.datagrid("deleteRow",e)}for(e in a){f=a[e];g[f.id]||this.control.torrentlist.datagrid("appendRow",f)}}}},getTorrentNameBar:function(a){var b="",c=a.name;switch(a.status){case transmission._status.stopped:b="iconlabel icon-pause-small";
|
||||
break;case transmission._status.check:b="iconlabel icon-checking";break;case transmission._status.download:b="iconlabel icon-down";break;case transmission._status.seed:b="iconlabel icon-up";break;case transmission._status.seedwait:case transmission._status.downloadwait:case transmission._status.checkwait:b="iconlabel icon-wait"}c+="\n"+a.downloadDir;if(a.warning){b="iconlabel icon-warning-type1";c+="\n\n"+this.lang["public"]["text-info"]+": "+a.warning}if(a.error!=0){b="iconlabel icon-exclamation";
|
||||
c+="\n\n"+this.lang["public"]["text-info"]+": "+a.errorString}return'<span class="'+b+'" title="'+c+'">'+a.name+"</span>"},getTorrentProgressBar:function(a,b){a+="%";var c="",d=0;d=typeof b=="object"?b.status:b;switch(d){case transmission._status.stopped:c="torrent-progress-stop";break;case transmission._status.checkwait:case transmission._status.check:c="torrent-progress-check";break;case transmission._status.downloadwait:case transmission._status.download:c="torrent-progress-download";break;case transmission._status.seedwait:case transmission._status.seed:c=
|
||||
"torrent-progress-seed"}if(typeof b=="object"){if(b.warning)c="torrent-progress-warning";if(b.error!=0)c="torrent-progress-error"}return'<div class="torrent-progress" title="'+a+'"><div class="torrent-progress-text">'+a+'</div><div class="torrent-progress-bar '+c+'" style="width:'+a+';"></div></div>'},addTorrentsToServer:function(a,b,c,d,e){var f=b-a.length,g=a.shift();if(g){this.showStatus(this.lang.system.status.queue+(f+1)+"/"+b+"<br/>"+g,0);transmission.addTorrentFromUrl(g,d,c,function(h){system.addTorrentsToServer(a,
|
||||
b,c,d,e);e!=null&&h.hashString!=null&&system.saveLabelsConfig(h.hashString,e)})}else{this.showStatus(this.lang.system.status.queuefinish);this.getServerStatus();e!=null&&system.saveConfig()}},changeSelectedTorrentStatus:function(a,b,c){var d=this.control.torrentlist.datagrid("getChecked"),e=[];a||(a="start");for(var f in d)e.push(d[f].id);c||(c="torrent-"+a);if(e.length>0){if(b){var g=b.linkbutton("options").iconCls;b.linkbutton({disabled:true,iconCls:"icon-loading"})}transmission.exec({method:c,
|
||||
arguments:{ids:e}},function(){b&&b.linkbutton({iconCls:g});system.control.torrentlist.datagrid("uncheckAll");system.reloadTorrentBaseInfos()})}},getTorrentMagnetLink:function(a){var b=this.control.torrentlist.datagrid("getChecked"),c=[],d;for(d in b)c.push(b[d].id);transmission.torrents.getMagnetLink(c,a)},searchTorrents:function(a){if(a!=""){var b=transmission.torrents.search(a);if(b==null||b.length==0)this.removeTreeNode("search-result");else{var c=this.panel.left.tree("find","search-result");a=
|
||||
this.lang.tree["search-result"]+" : "+a+" ("+b.length+")";if(c==null){this.appendTreeNode("torrent-all",[{id:"search-result",text:a,iconCls:"iconfont tr-icon-search"}]);c=this.panel.left.tree("find","search-result")}else this.panel.left.tree("update",{target:c.target,text:a});this.panel.left.tree("select",c.target)}}},getTorrentInfos:function(a){if(transmission.torrents.all[a])if(!transmission.torrents.all[a].infoIsLoading){if(this.currentTorrentId>0&&transmission.torrents.all[this.currentTorrentId])if(transmission.torrents.all[this.currentTorrentId].infoIsLoading)return;
|
||||
b[f].leecher;e.seederCount=b[f].seeder;if(c=this.config.labelMaps[e.hashString])e.labels=c;a.push(e)}this.updateTorrentCurrentPageDatas(a);this.initShiftCheck()}}},initShiftCheck:function(){var a=$("#m_list div.datagrid-cell-check input:checkbox");a.off("click.Shift");var b=null,c=this.control.torrentlist;a.on("click.Shift",function(d){if(b)if(d.shiftKey){var e=a.index(this),f=a.index(b);d=b.checked;var g=Math.max(e,f)+1;for(e=Math.min(e,f);e<g;e++)d?c.datagrid("checkRow",e):c.datagrid("uncheckRow",
|
||||
e)}b=this})},updateTorrentCurrentPageDatas:function(a){var b=this.control.torrentlist.datagrid("getRows");if(a.length==0&&b.length>0)this.control.torrentlist.datagrid("loadData",[]);else{var c=this.control.torrentlist.datagrid("options"),d=null;if(c.sortName){d=c.sortName;a=a.sort(arrayObjectSort(d,c.sortOrder))}if(b.length==0||a.length!=this.control.torrentlist.datagrid("getData").total&&a.length>c.pageSize)this.control.torrentlist.datagrid({loadFilter:pagerFilter,pageNumber:c.pageNumber,sortName:d,
|
||||
sortOrder:c.sortOrder}).datagrid("loadData",a);else{this.control.torrentlist.datagrid("getData").originalRows=a;d=(c.pageNumber-1)*parseInt(c.pageSize);c=d+parseInt(c.pageSize);a=a.slice(d,c);c={};d={};for(var e in transmission.torrents.recently){var f=transmission.torrents.recently[e];c[f.id]=true}for(e in a){f=a[e];d[f.id]=f}var g={};for(e=b.length-1;e>=0;e--){f=b[e];var h=d[f.id];if(h)if(c[f.id]){this.control.torrentlist.datagrid("updateRow",{index:e,row:h});g[f.id]=f}else if(transmission.torrents.removed)if(transmission.torrents.removed.length>
|
||||
0&&$.inArray(f.id,transmission.torrents.removed)!=-1)this.control.torrentlist.datagrid("deleteRow",e);else g[f.id]=f;else g[f.id]=f;else this.control.torrentlist.datagrid("deleteRow",e)}for(e in a){f=a[e];g[f.id]||this.control.torrentlist.datagrid("appendRow",f)}}}},getTorrentNameBar:function(a){var b="",c=a.name;switch(a.status){case transmission._status.stopped:b="iconlabel icon-pause-small";break;case transmission._status.check:b="iconlabel icon-checking";break;case transmission._status.download:b=
|
||||
"iconlabel icon-down";break;case transmission._status.seed:b="iconlabel icon-up";break;case transmission._status.seedwait:case transmission._status.downloadwait:case transmission._status.checkwait:b="iconlabel icon-wait"}c+="\n"+a.downloadDir;if(a.warning){b="iconlabel icon-warning-type1";c+="\n\n"+this.lang["public"]["text-info"]+": "+a.warning}if(a.error!=0){b="iconlabel icon-exclamation";c+="\n\n"+this.lang["public"]["text-info"]+": "+a.errorString}return'<span class="'+b+'" title="'+c+'">'+a.name+
|
||||
"</span>"},getTorrentProgressBar:function(a,b){a+="%";var c="",d=0;d=typeof b=="object"?b.status:b;switch(d){case transmission._status.stopped:c="torrent-progress-stop";break;case transmission._status.checkwait:case transmission._status.check:c="torrent-progress-check";break;case transmission._status.downloadwait:case transmission._status.download:c="torrent-progress-download";break;case transmission._status.seedwait:case transmission._status.seed:c="torrent-progress-seed"}if(typeof b=="object"){if(b.warning)c=
|
||||
"torrent-progress-warning";if(b.error!=0)c="torrent-progress-error"}return'<div class="torrent-progress" title="'+a+'"><div class="torrent-progress-text">'+a+'</div><div class="torrent-progress-bar '+c+'" style="width:'+a+';"></div></div>'},addTorrentsToServer:function(a,b,c,d,e){var f=b-a.length,g=a.shift();if(g){this.showStatus(this.lang.system.status.queue+(f+1)+"/"+b+"<br/>"+g,0);transmission.addTorrentFromUrl(g,d,c,function(h){system.addTorrentsToServer(a,b,c,d,e);e!=null&&h.hashString!=null&&
|
||||
system.saveLabelsConfig(h.hashString,e)})}else{this.showStatus(this.lang.system.status.queuefinish);this.getServerStatus();e!=null&&system.saveConfig()}},changeSelectedTorrentStatus:function(a,b,c){var d=this.control.torrentlist.datagrid("getChecked"),e=[];a||(a="start");for(var f in d)e.push(d[f].id);c||(c="torrent-"+a);if(e.length>0){if(b){var g=b.linkbutton("options").iconCls;b.linkbutton({disabled:true,iconCls:"icon-loading"})}transmission.exec({method:c,arguments:{ids:e}},function(){b&&b.linkbutton({iconCls:g});
|
||||
system.control.torrentlist.datagrid("uncheckAll");system.reloadTorrentBaseInfos()})}},getTorrentMagnetLink:function(a){var b=this.control.torrentlist.datagrid("getChecked"),c=[],d;for(d in b)c.push(b[d].id);transmission.torrents.getMagnetLink(c,a)},searchTorrents:function(a){if(a!=""){var b=transmission.torrents.search(a);if(b==null||b.length==0)this.removeTreeNode("search-result");else{var c=this.panel.left.tree("find","search-result");a=this.lang.tree["search-result"]+" : "+a+" ("+b.length+")";
|
||||
if(c==null){this.appendTreeNode("torrent-all",[{id:"search-result",text:a,iconCls:"iconfont tr-icon-search"}]);c=this.panel.left.tree("find","search-result")}else this.panel.left.tree("update",{target:c.target,text:a});this.panel.left.tree("select",c.target)}}},getTorrentInfos:function(a){if(transmission.torrents.all[a])if(!transmission.torrents.all[a].infoIsLoading){if(this.currentTorrentId>0&&transmission.torrents.all[this.currentTorrentId])if(transmission.torrents.all[this.currentTorrentId].infoIsLoading)return;
|
||||
this.currentTorrentId=a;if(!this.panel.attribute.panel("options").collapsed){var b=transmission.torrents.all[a];b.infoIsLoading=true;var c="fileStats,trackerStats,peers,leftUntilDone,status,rateDownload,rateUpload,uploadedEver,uploadRatio,error,errorString";b.moreInfosTag||(c+=",files,trackers,comment,dateCreated,creator,downloadDir");transmission.torrents.getMoreInfos(c,a,function(d){b.infoIsLoading=false;if(d!=null){jQuery.extend(b,d[0]);if(system.currentTorrentId==0||system.currentTorrentId!=a)system.clearTorrentAttribute();
|
||||
else{b.completeSize=b.totalSize-b.leftUntilDone;b.moreInfosTag=true;system.fillTorrentBaseInfos(b);system.fillTorrentFileList(b);system.fillTorrentServerList(b);system.fillTorrentPeersList(b);system.fillTorrentConfig(b);transmission.torrents.all[a]=b;transmission.torrents.datas[a]=b}}})}}},clearTorrentAttribute:function(){system.panel.attribute.find("#torrent-files-table").datagrid("loadData",[]);system.panel.attribute.find("#torrent-servers-table").datagrid("loadData",[]);system.panel.attribute.find("#torrent-peers-table").datagrid("loadData",
|
||||
[]);system.panel.attribute.find("span[id*='torrent-attribute-value']").html("")},updateCurrentPageDatas:function(a,b,c){var d=c.datagrid("getRows"),e=c.datagrid("options"),f=null;if(e.sortName){f=e.sortName;b=b.sort(arrayObjectSort(f,e.sortOrder))}if(d.length==0||b.length!=c.datagrid("getData").total)c.datagrid({loadFilter:pagerFilter,pageNumber:1,sortName:f,sortOrder:e.sortOrder}).datagrid("loadData",b);else{c.datagrid("getData").originalRows=b;f=(e.pageNumber-1)*parseInt(e.pageSize);e=f+parseInt(e.pageSize);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
var system = {
|
||||
version: "1.6.0",
|
||||
rootPath: "tr-web-control/",
|
||||
codeupdate: "20190612",
|
||||
codeupdate: "20190724",
|
||||
configHead: "transmission-web-control",
|
||||
// default config, can be customized in config.js
|
||||
config: {
|
||||
|
@ -2248,6 +2248,40 @@ var system = {
|
|||
*/
|
||||
|
||||
this.updateTorrentCurrentPageDatas(datas);
|
||||
this.initShiftCheck();
|
||||
},
|
||||
/**
|
||||
* shift 键选择
|
||||
*/
|
||||
initShiftCheck: function() {
|
||||
var items = $('#m_list div.datagrid-cell-check input:checkbox');
|
||||
var eventName = "click.Shift";
|
||||
items.off(eventName);
|
||||
var lastChecked = null;
|
||||
var torrentlist = this.control.torrentlist;
|
||||
items.on(eventName, function(e) {
|
||||
if (!lastChecked) {
|
||||
lastChecked = this;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.shiftKey) {
|
||||
var start = items.index(this);
|
||||
var end = items.index(lastChecked);
|
||||
var checked = lastChecked.checked;
|
||||
var startIndex = Math.min(start, end);
|
||||
var endIndex = Math.max(start, end) + 1;
|
||||
for (var index = startIndex; index < endIndex; index++) {
|
||||
if (checked) {
|
||||
torrentlist.datagrid("checkRow", index);
|
||||
} else {
|
||||
torrentlist.datagrid("uncheckRow", index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lastChecked = this;
|
||||
});
|
||||
},
|
||||
// Update torrent list current page data
|
||||
updateTorrentCurrentPageDatas: function (currentTypeDatas) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user