fix: 修复高版本 Firefox 数据大小显示错位的Bug

This commit is contained in:
ronggang 2019-04-08 09:06:14 +08:00
parent 61938a0c74
commit 9da00f6b3b
2 changed files with 13 additions and 12 deletions

View File

@ -1,11 +1,11 @@
var system={version:"1.6.0 beta",rootPath:"tr-web-control/",codeupdate:"20180906",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"),layout_left:$("#layout_left"),list:$("#m_list"),attribute:$("#m_attribute"),bottom:$("#m_bottom"),title:$("#m_title"),status:$("#m_status"),statusbar:$("#m_statusbar"),status_text:$("#status_text"),droparea:$("#dropArea")};this.lang==null?this.setlang(a,function(){system.initdata()}):this.initdata();this.initThemes();this.clipboard=new ClipboardJS("#toolbar_copyPath")},resetLangText:function(a){a||(a=$);var b=a.find("*[system-lang]");$.each(b,function(c,d){var e=$(d).attr("system-lang");
e.substr(0,1)=="["?$(d).html(eval("system.lang"+e)):$(d).html(eval("system.lang."+e))});b=a.find("*[system-tip-lang]");$.each(b,function(c,d){var e=$(d).attr("system-tip-lang");e.substr(0,1)=="["?$(d).attr("title",eval("system.lang"+e)):$(d).attr("title",eval("system.lang."+e))})},initdata:function(){$(document).attr("title",this.lang.system.title+" "+this.version);$.fn.switchbutton.defaults.onText=this.lang["public"]["text-on"];$.fn.switchbutton.defaults.offText=this.lang["public"]["text-off"];var a=
[],b="<span>"+this.lang.title.left+"</span>";if(a.length>1){b+=a.join("");this.panel.left_layout.panel("setTitle",b);for(var c in this.lang.tree.toolbar.nav){$("#tree-toolbar-nav-"+c).linkbutton();switch(c){case "folders":system.config.foldersShow?$("tree-toolbar-nav-"+c).linkbutton({iconCls:"icon-enabled"}).data("status",1):$("tree-toolbar-nav-"+c).linkbutton({iconCls:"icon-disabled"}).data("status",0)}}}else this.panel.left_layout.panel("setTitle",b);b="<span>"+this.lang.title.list+"</span>";a.length=
0;if(a.length>1){b+=a.join("");this.panel.body.panel("setTitle",b);for(c in this.lang["torrent-head"].buttons){$("#torrent-head-buttons-"+c).linkbutton();switch(c){case "autoExpandAttribute":system.config.autoExpandAttribute?$("#torrent-head-buttons-"+c).linkbutton({iconCls:"icon-enabled"}).data("status",1):$("#torrent-head-buttons-"+c).linkbutton({iconCls:"icon-disabled"}).data("status",0)}}}else this.panel.body.panel("setTitle",b);this.panel.status.panel("setTitle",this.lang.title.status);this.panel.attribute.panel({title:this.lang.title.attribute,
var system={version:"1.6.0",rootPath:"tr-web-control/",codeupdate:"20190408",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"),
layout_left:$("#layout_left"),list:$("#m_list"),attribute:$("#m_attribute"),bottom:$("#m_bottom"),title:$("#m_title"),status:$("#m_status"),statusbar:$("#m_statusbar"),status_text:$("#status_text"),droparea:$("#dropArea")};this.lang==null?this.setlang(a,function(){system.initdata()}):this.initdata();this.initThemes();this.clipboard=new ClipboardJS("#toolbar_copyPath")},resetLangText:function(a){a||(a=$);var b=a.find("*[system-lang]");$.each(b,function(c,d){var e=$(d).attr("system-lang");e.substr(0,
1)=="["?$(d).html(eval("system.lang"+e)):$(d).html(eval("system.lang."+e))});b=a.find("*[system-tip-lang]");$.each(b,function(c,d){var e=$(d).attr("system-tip-lang");e.substr(0,1)=="["?$(d).attr("title",eval("system.lang"+e)):$(d).attr("title",eval("system.lang."+e))})},initdata:function(){$(document).attr("title",this.lang.system.title+" "+this.version);$.fn.switchbutton.defaults.onText=this.lang["public"]["text-on"];$.fn.switchbutton.defaults.offText=this.lang["public"]["text-off"];var a=[],b="<span>"+
this.lang.title.left+"</span>";if(a.length>1){b+=a.join("");this.panel.left_layout.panel("setTitle",b);for(var c in this.lang.tree.toolbar.nav){$("#tree-toolbar-nav-"+c).linkbutton();switch(c){case "folders":system.config.foldersShow?$("tree-toolbar-nav-"+c).linkbutton({iconCls:"icon-enabled"}).data("status",1):$("tree-toolbar-nav-"+c).linkbutton({iconCls:"icon-disabled"}).data("status",0)}}}else this.panel.left_layout.panel("setTitle",b);b="<span>"+this.lang.title.list+"</span>";a.length=0;if(a.length>
1){b+=a.join("");this.panel.body.panel("setTitle",b);for(c in this.lang["torrent-head"].buttons){$("#torrent-head-buttons-"+c).linkbutton();switch(c){case "autoExpandAttribute":system.config.autoExpandAttribute?$("#torrent-head-buttons-"+c).linkbutton({iconCls:"icon-enabled"}).data("status",1):$("#torrent-head-buttons-"+c).linkbutton({iconCls:"icon-disabled"}).data("status",0)}}}else this.panel.body.panel("setTitle",b);this.panel.status.panel("setTitle",this.lang.title.status);this.panel.attribute.panel({title:this.lang.title.attribute,
onExpand:function(){system.currentTorrentId!=0&&$(this).data("isload")?system.getTorrentInfos(system.currentTorrentId):system.clearTorrentAttribute()},onLoad:function(){if(!$(this).data("isload")){$(this).data("isload",true);system.currentTorrentId!=0&&setTimeout(function(){system.getTorrentInfos(system.currentTorrentId)},500)}}});$.each(this.languages,function(d,e){$("<option/>").text(e).val(d).attr("selected",d==system.lang.name?true:false).appendTo(system.panel.top.find("#lang"))});this.panel.top.find("#lang").change(function(){location.href=
"?lang="+this.value});this.panel.toolbar.attr("class","panel-header");this.initTree();this.initToolbar();this.initStatusBar();this.initTorrentTable();this.connect();this.initEvent();this.checkUpdate()},initEvent:function(){$(window).resize(function(){$("#main").layout("resize")});this.panel.droparea[0].addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault();system.debug("#dropArea.dragover")},false);this.panel.list[0].addEventListener("dragover",function(a){a.stopPropagation();
a.preventDefault();system.panel.droparea.show();system.debug("dragover")},false);this.panel.droparea[0].addEventListener("drop",function(a){a.stopPropagation();a.preventDefault();system.panel.droparea.hide();system.debug("drop.e.dataTransfer:",a.dataTransfer);system.checkDropFiles(a.dataTransfer.files)},false);this.panel.droparea[0].addEventListener("dragleave",function(a){a.stopPropagation();a.preventDefault();system.panel.droparea.hide();system.debug("dragleave")},false);$("#text-drop-title").html(this.lang["public"]["text-drop-title"]);
@ -54,7 +54,7 @@ this.panel.toolbar.find("#toolbar_search").searchbox({searcher:function(a){syste
0);transmission.on.torrentCountChange=function(){system.reloadTorrentBaseInfos()};transmission.on.postError=function(){};transmission.init({islocal:true},function(){system.reloadSession(true);system.getServerStatus()})},reloadSession:function(a){transmission.getSession(function(b){system.serverConfig=b;$("#status_version").html("Transmission "+system.lang.statusbar.version+b.version+", RPC: "+b["rpc-version"]+", WEB Control: "+system.version+"("+system.codeupdate+")");if(b["alt-speed-enabled"]==true){system.panel.toolbar.find("#toolbar_alt_speed").linkbutton({iconCls:"iconfont tr-icon-woniu"});
$("#status_alt_speed").show()}else{system.panel.toolbar.find("#toolbar_alt_speed").linkbutton({iconCls:"iconfont tr-icon-rocket"});$("#status_alt_speed").hide()}system.downloadDir=b["download-dir"];transmission.downloadDirs.length==0&&transmission.downloadDirs.push(system.downloadDir);parseInt(system.serverConfig["rpc-version"])>=15?transmission.getFreeSpace(system.downloadDir,function(c){system.serverConfig["download-dir-free-space"]=c.arguments["size-bytes"];system.showFreeSpace(c.arguments["size-bytes"])}):
system.showFreeSpace(system.serverConfig["download-dir-free-space"]);a&&system.showStatus(system.lang.system.status.connected)})},showFreeSpace:function(a){a=a;a=a==-1?system.lang["public"]["text-unknown"]:formatSize(a);$("#status_freespace").text(system.lang.dialog["system-config"]["download-dir-free-space"]+" "+a)},reloadTorrentBaseInfos:function(a,b){if(!this.reloading){clearTimeout(this.autoReloadTimer);this.reloading=true;var c={trackers:transmission.trackers,folders:transmission.torrents.folders};
transmission.torrents.getallids(function(d){var e=[],f;for(f in d)e.push(d[f].id);d=transmission.torrents.getErrorIds(e,true);d.length>0?transmission.torrents.getallids(function(){system.resetTorrentInfos(c)},d):system.resetTorrentInfos(c)},a,b)}},resetTorrentInfos:function(a){this.resetNavTorrentStatus();this.resetNavServers(a);this.resetNavStatistics();this.resetNavFolders(a);this.resetNavLabels();navigator.userAgent.indexOf("Firefox")>0&&system.panel.left.find("span.nav-total-size").css({"margin-top":"-19px"})},
transmission.torrents.getallids(function(d){var e=[],f;for(f in d)e.push(d[f].id);d=transmission.torrents.getErrorIds(e,true);d.length>0?transmission.torrents.getallids(function(){system.resetTorrentInfos(c)},d):system.resetTorrentInfos(c)},a,b)}},resetTorrentInfos:function(a){this.resetNavTorrentStatus();this.resetNavServers(a);this.resetNavStatistics();this.resetNavFolders(a);this.resetNavLabels();$.ua.browser.name=="Firefox"&&$.ua.browser.major<60&&system.panel.left.find("span.nav-total-size").css({"margin-top":"-19px"})},
resetNavTorrentStatus:function(){var a=this.currentTorrentId;transmission.torrents.status[transmission._status.stopped]?system.updateTreeNodeText("paused",system.lang.tree.paused+this.showNodeMoreInfos(transmission.torrents.status[transmission._status.stopped].length)):system.updateTreeNodeText("paused",system.lang.tree.paused);transmission.torrents.status[transmission._status.seed]?system.updateTreeNodeText("sending",system.lang.tree.sending+this.showNodeMoreInfos(transmission.torrents.status[transmission._status.seed].length)):
system.updateTreeNodeText("sending",system.lang.tree.sending);if(transmission.torrents.status[transmission._status.seedwait]){var b=system.panel.left.tree("find","sending"),c=system.panel.left.tree("getChildren",b.target),d=system.lang.tree.wait+this.showNodeMoreInfos(transmission.torrents.status[transmission._status.seedwait].length);c.length>0?system.updateTreeNodeText(c[0].id,d):system.appendTreeNode(b,[{id:"seedwait",text:d,iconCls:"iconfont tr-icon-wait"}])}else system.removeTreeNode("seedwait");
transmission.torrents.status[transmission._status.check]?system.updateTreeNodeText("check",system.lang.tree.check+this.showNodeMoreInfos(transmission.torrents.status[transmission._status.check].length)):system.updateTreeNodeText("check",system.lang.tree.check);if(transmission.torrents.status[transmission._status.checkwait]){b=system.panel.left.tree("find","check");c=system.panel.left.tree("getChildren",b.target);d=system.lang.tree.wait+this.showNodeMoreInfos(transmission.torrents.status[transmission._status.checkwait].length);

View File

@ -1,8 +1,8 @@
// Current system global object
var system = {
version: "1.6.0 beta",
version: "1.6.0",
rootPath: "tr-web-control/",
codeupdate: "20180906",
codeupdate: "20190408",
configHead: "transmission-web-control",
// default config, can be customized in config.js
config: {
@ -1660,7 +1660,8 @@ var system = {
this.resetNavLabels();
// FF browser displays the total size, will be moved down a row, so a separate treatment
if (navigator.userAgent.indexOf("Firefox") > 0) {
// 新版本已无此问题
if ($.ua.browser.name == "Firefox" && $.ua.browser.major < 60) {
system.panel.left.find("span.nav-total-size").css({
"margin-top": "-19px"
});