mirror of
https://github.com/ronggang/transmission-web-control.git
synced 2025-05-05 13:51:16 +00:00
parent
ac3709c2d7
commit
f53e61b34a
@ -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=20190116" />
|
||||
<link id="styleEasyui" rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/default/easyui.css?v=20190116"/>
|
||||
<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/script/plugins/jquery.webui-popover.css" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/base.css?v=20190116" />
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/script/easyui/themes/icon.css?v=20190116"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/icon.custom.css?v=20190116"/>
|
||||
<link rel="stylesheet" type="text/css" href="tr-web-control/style/iconfont/iconfont.css?v=20190116"/>
|
||||
<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="//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=20190116"></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/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=20190116"></script>
|
||||
<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/clipboard.min.js"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/public.min.js?v=20190116"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/ua-parser.min.js?v=20190116"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/transmission.min.js?v=20190116"></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/transmission.torrents.min.js?v=20171027"></script>
|
||||
<script type="text/javascript" src="tr-web-control/script/min/system.min.js?v=20190116"></script>
|
||||
<script type="text/javascript" src="tr-web-control/config.js?v=20190116"></script>
|
||||
<script type="text/javascript" src="tr-web-control/plugin.js?v=20190116"></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">
|
||||
var nonpc = [ "console", "mobile", "tablet", "smarttv", "wearable", "embedded" ]
|
||||
if ((nonpc.indexOf($.ua.device.type) != -1 )&&location.search.getQueryString("devicetype")!="computer")
|
||||
|
14
src/tr-web-control/script/min/system.min.js
vendored
14
src/tr-web-control/script/min/system.min.js
vendored
@ -95,13 +95,13 @@ formatLongTime(f[g]);break;case "lastAnnounceSucceeded":case "lastAnnounceTimedO
|
||||
b.push(f)}this.updateCurrentPageDatas("address",b,system.panel.attribute.find("#torrent-peers-table"))},fillTorrentConfig:function(a){system.panel.attribute.find("#torrent-attribute-tabs").data("selectedIndex")==4&&transmission.torrents.getConfig(a.id,function(b){if(b!=null){jQuery.extend(transmission.torrents.all[system.currentTorrentId],b[0]);system.currentTorrentId!=0&&$.each(b[0],function(c,d){var f=false,e=false,g=false;switch(c){case "seedIdleMode":case "seedRatioMode":if(d==0){e=false;f=true}g=
|
||||
true;case "downloadLimited":case "uploadLimited":if(d==true||d==1)e=true;system.panel.attribute.find("input[enabledof='"+c+"']").prop("disabled",!e);g&&system.panel.attribute.find("#"+c).prop("indeterminate",f).data("_tag",d);system.panel.attribute.find("#"+c).prop("checked",e);break;default:system.panel.attribute.find("#"+c).val(d);system.panel.attribute.find("#"+c).numberspinner("setValue",d)}})}})},setFieldFormat:function(a){if(a.formatter)switch(a.formatter){case "size":a.formatter=function(b){return formatSize(b)};
|
||||
break;case "speed":a.formatter=function(b){return formatSize(b,true,"speed")};break;case "longtime":a.formatter=function(b){return formatLongTime(b)};break;case "progress":a.formatter=function(b,c){var d=parseFloat(b*100).toFixed(2);return system.getTorrentProgressBar(d,transmission.torrents.all[c.id])};break;case "_usename_":switch(a.field){case "name":a.formatter=function(b,c){return system.getTorrentNameBar(transmission.torrents.all[c.id])}}break;case "ratio":a.formatter=function(b){var c="";if(parseFloat(b)<
|
||||
1)c="text-status-warning";return'<span class="'+c+'">'+b+"</span>"};break;case "remainingTime":a.formatter=function(b){if(b>=31536E8)return"∞";return getTotalTime(b)};break;case "labels":a.formatter=function(b,c){return system.formetTorrentLabels(b,c.hashString)};break;case "color":a.formatter=function(b){return $("<span class='user-label'/>").html(b).css({"background-color":b,color:getGrayLevel(b)>0.5?"#000":"#fff"}).get(0).outerHTML}}},reloadData:function(){if(this.popoverCount>0)setTimeout(function(){system.reloadData()},
|
||||
2E3);else{this.reloadSession();this.reloading=false;this.getServerStatus();this.reloading=false;this.reloadTorrentBaseInfos()}},loadFolderList:function(a){this.removeTreeNode("folders-loading");for(var b in a){var c=a[b];c&&system.removeTreeNode(c.nodeid)}transmission.downloadDirs.length!=0&&timedChunk(transmission.downloadDirs,this.appendFolder,this,10,function(){navigator.userAgent.indexOf("Firefox")>0&&system.panel.left.find("span.nav-total-size").css({"margin-top":"-19px"});system.initUIStatus()})},
|
||||
appendFolder:function(a){if(a){var b="folders";a=a.replace(/\\/g,"/").split("/");var c="folders-",d="",f;for(f in a){var e=a[f];if(e!=""){d+=e;var g=this.B64.encode(e);c+=g.replace(/[+|\/|=]/g,"0");g=this.panel.left.tree("find",c);var h=transmission.torrents.folders[c];if(h){e=e+this.showNodeMoreInfos(h.count,h.size);if(g)this.updateTreeNodeText(c,e);else{this.appendTreeNode(b,[{id:c,path:d,text:e,iconCls:"iconfont tr-icon-file"}]);if(b!="folders"){g=this.panel.left.tree("find",b);this.panel.left.tree("collapse",
|
||||
g.target)}}b=c}else{this.debug("appendFolder:key",c);this.debug("appendFolder:name",e);this.debug("appendFolder:node",g)}}}}},replaceURI:function(a){return a.replace(/(http|https|ftp):\/\/([^/:]+)(:\d*)?([^# ]*)/ig,function(b){return'<a href="'+b+'" target="_blank">'+b+"</a>"})},readConfig:function(){this.readUserConfig();var a=this.getStorageData(this.configHead+".system");if(a)this.config=$.extend(true,this.config,JSON.parse(a));for(var b in this.storageKeys.dictionary)this.dictionary[b]=this.getStorageData(this.storageKeys.dictionary[b])},
|
||||
saveConfig:function(){this.setStorageData(this.configHead+".system",JSON.stringify(this.config));for(var a in this.storageKeys.dictionary)this.setStorageData(this.storageKeys.dictionary[a],this.dictionary[a]);this.saveUserConfig()},readUserConfig:function(){var a=window.localStorage[this.configHead];if(a){a=JSON.parse(a);this.userConfig=$.extend(true,this.userConfig,a)}},saveUserConfig:function(){window.localStorage[this.configHead]=JSON.stringify(this.userConfig)},uploadTorrentFile:function(a,b,
|
||||
c,d){if(window.FileReader){var f=$("input[id='"+a+"']")[0].files;$.each(f,function(e,g){transmission.addTorrentFromFile(g,b,c,d,f.length)})}else alert(system.lang["public"]["text-browsers-not-support-features"])},checkUpdate:function(){$.ajax({url:this.checkUpdateScript,dataType:"json",success:function(a){if(a&&a.tag_name){var b=a.created_at.substr(0,10).replace(/-/g,""),c=a.tag_name;if($.inArray(c,system.config.ignoreVersion)==-1)if(system.codeupdate<b){$("#area-update-infos").show();$("#msg-updateInfos").html(b+
|
||||
" -> "+a.name);var d=$("<div/>"),f=a.body.replace(/\r\n/g,"<br/>"),e=$("<div style='text-align:right;'/>").appendTo(d);$('<a href="https://github.com/ronggang/transmission-web-control/releases/latest" target="_blank" class="easyui-linkbutton" data-options="iconCls:\'iconfont tr-icon-github\'"/>').html(a.name+" ("+b+")").appendTo(e).linkbutton();$("<span/>").html(" ").appendTo(e);$('<a href="https://github.com/ronggang/transmission-web-control/wiki" target="_blank" class="easyui-linkbutton" data-options="iconCls:\'iconfont tr-icon-help\'"/>').html(system.lang["public"]["text-how-to-update"]).appendTo(e).linkbutton();
|
||||
1&&b!=-1)c="text-status-warning";return'<span class="'+c+'">'+(b==-1?"∞":b)+"</span>"};break;case "remainingTime":a.formatter=function(b){if(b>=31536E8)return"∞";return getTotalTime(b)};break;case "labels":a.formatter=function(b,c){return system.formetTorrentLabels(b,c.hashString)};break;case "color":a.formatter=function(b){return $("<span class='user-label'/>").html(b).css({"background-color":b,color:getGrayLevel(b)>0.5?"#000":"#fff"}).get(0).outerHTML}}},reloadData:function(){if(this.popoverCount>
|
||||
0)setTimeout(function(){system.reloadData()},2E3);else{this.reloadSession();this.reloading=false;this.getServerStatus();this.reloading=false;this.reloadTorrentBaseInfos()}},loadFolderList:function(a){this.removeTreeNode("folders-loading");for(var b in a){var c=a[b];c&&system.removeTreeNode(c.nodeid)}transmission.downloadDirs.length!=0&&timedChunk(transmission.downloadDirs,this.appendFolder,this,10,function(){navigator.userAgent.indexOf("Firefox")>0&&system.panel.left.find("span.nav-total-size").css({"margin-top":"-19px"});
|
||||
system.initUIStatus()})},appendFolder:function(a){if(a){var b="folders";a=a.replace(/\\/g,"/").split("/");var c="folders-",d="",f;for(f in a){var e=a[f];if(e!=""){d+=e;var g=this.B64.encode(e);c+=g.replace(/[+|\/|=]/g,"0");g=this.panel.left.tree("find",c);var h=transmission.torrents.folders[c];if(h){e=e+this.showNodeMoreInfos(h.count,h.size);if(g)this.updateTreeNodeText(c,e);else{this.appendTreeNode(b,[{id:c,path:d,text:e,iconCls:"iconfont tr-icon-file"}]);if(b!="folders"){g=this.panel.left.tree("find",
|
||||
b);this.panel.left.tree("collapse",g.target)}}b=c}else{this.debug("appendFolder:key",c);this.debug("appendFolder:name",e);this.debug("appendFolder:node",g)}}}}},replaceURI:function(a){return a.replace(/(http|https|ftp):\/\/([^/:]+)(:\d*)?([^# ]*)/ig,function(b){return'<a href="'+b+'" target="_blank">'+b+"</a>"})},readConfig:function(){this.readUserConfig();var a=this.getStorageData(this.configHead+".system");if(a)this.config=$.extend(true,this.config,JSON.parse(a));for(var b in this.storageKeys.dictionary)this.dictionary[b]=
|
||||
this.getStorageData(this.storageKeys.dictionary[b])},saveConfig:function(){this.setStorageData(this.configHead+".system",JSON.stringify(this.config));for(var a in this.storageKeys.dictionary)this.setStorageData(this.storageKeys.dictionary[a],this.dictionary[a]);this.saveUserConfig()},readUserConfig:function(){var a=window.localStorage[this.configHead];if(a){a=JSON.parse(a);this.userConfig=$.extend(true,this.userConfig,a)}},saveUserConfig:function(){window.localStorage[this.configHead]=JSON.stringify(this.userConfig)},
|
||||
uploadTorrentFile:function(a,b,c,d){if(window.FileReader){var f=$("input[id='"+a+"']")[0].files;$.each(f,function(e,g){transmission.addTorrentFromFile(g,b,c,d,f.length)})}else alert(system.lang["public"]["text-browsers-not-support-features"])},checkUpdate:function(){$.ajax({url:this.checkUpdateScript,dataType:"json",success:function(a){if(a&&a.tag_name){var b=a.created_at.substr(0,10).replace(/-/g,""),c=a.tag_name;if($.inArray(c,system.config.ignoreVersion)==-1)if(system.codeupdate<b){$("#area-update-infos").show();
|
||||
$("#msg-updateInfos").html(b+" -> "+a.name);var d=$("<div/>"),f=a.body.replace(/\r\n/g,"<br/>"),e=$("<div style='text-align:right;'/>").appendTo(d);$('<a href="https://github.com/ronggang/transmission-web-control/releases/latest" target="_blank" class="easyui-linkbutton" data-options="iconCls:\'iconfont tr-icon-github\'"/>').html(a.name+" ("+b+")").appendTo(e).linkbutton();$("<span/>").html(" ").appendTo(e);$('<a href="https://github.com/ronggang/transmission-web-control/wiki" target="_blank" class="easyui-linkbutton" data-options="iconCls:\'iconfont tr-icon-help\'"/>').html(system.lang["public"]["text-how-to-update"]).appendTo(e).linkbutton();
|
||||
$("<span/>").html(" ").appendTo(e);$("<button onclick=\"javascript:system.addIgnoreVersion('"+c+'\');" class="easyui-linkbutton" data-options="iconCls:\'iconfont tr-icon-cancel-checked\'"/>').html(system.lang["public"]["text-ignore-this-version"]).appendTo(e).linkbutton();$("<hr/>").appendTo(d);$("<div/>").html(f).appendTo(d);$("#button-download-update").webuiPopover({content:d.html(),backdrop:true})}else $("#area-update-infos").hide()}}})},addIgnoreVersion:function(a){if($.inArray(a,system.config.ignoreVersion)==
|
||||
-1){this.config.ignoreVersion.push(a);this.saveConfig()}$("#button-download-update").webuiPopover("hide");$("#area-update-infos").hide()},changeLanguages:function(a){if(!(a==this.lang.name||!a)){this.config.defaultLang=a;this.saveConfig();location.href="?lang="+a}},getStorageData:function(a,b){return window.localStorage[a]==null?b:window.localStorage[a]},setStorageData:function(a,b){window.localStorage[a]=b},openDialogFromTemplate:function(a){a=$.extend(true,{id:null,options:null,datas:null,type:0},
|
||||
a);if(a.id!=null){var b=a.id,c=a.options,d=a.datas,f=$("#"+b);if(f.length){d&&$.each(d,function(e,g){f.data(e,g)});if(a.type==0&&f.attr("type")==a.type){f.dialog("open");f.dialog({content:system.templates[b]});return}else{if(system.popoverCount!=0){setTimeout(function(){system.openDialogFromTemplate(a)},350);return}f.remove()}}c=$.extend(true,{title:"",width:100,height:100,resizable:false,cache:true,content:system.lang.dialog["system-config"].loading,modal:true},c);f=$("<div/>").attr({id:b,type:a.type}).appendTo(document.body);
|
||||
|
File diff suppressed because one or more lines are too long
@ -2843,10 +2843,10 @@ var system = {
|
||||
case "ratio":
|
||||
field.formatter = function (value, row, index) {
|
||||
var className = '';
|
||||
if (parseFloat(value) < 1) {
|
||||
if (parseFloat(value) < 1 && value!=-1) {
|
||||
className = 'text-status-warning';
|
||||
}
|
||||
return '<span class="' + className + '">' + value + '</span>';
|
||||
return '<span class="' + className + '">' + (value==-1?"∞":value) + '</span>';
|
||||
};
|
||||
break;
|
||||
|
||||
|
@ -137,9 +137,12 @@ transmission.torrents = {
|
||||
this.newIds.push(item.id);
|
||||
}
|
||||
item = $.extend(this.all[item.id], item);
|
||||
// 没有活动数据时,将分享率标记为 -1
|
||||
if (item.uploadedEver == 0 && item.downloadedEver == 0) {
|
||||
item.uploadRatio = "∞";
|
||||
item.uploadRatio = -1;
|
||||
}
|
||||
// 转为数值
|
||||
item.uploadRatio = parseFloat(item.uploadRatio);
|
||||
item.infoIsLoading = false;
|
||||
var type = this.status[item.status];
|
||||
this.addTracker(item);
|
||||
|
Loading…
x
Reference in New Issue
Block a user