@ -35,6 +35,8 @@ let serverSyncMainDataInterval = 1500;
let customSyncMainDataInterval = null ;
let customSyncMainDataInterval = null ;
let searchTabInitialized = false ;
let searchTabInitialized = false ;
let syncRequestInProgress = false ;
let clipboardEvent ;
let clipboardEvent ;
const CATEGORIES _ALL = 1 ;
const CATEGORIES _ALL = 1 ;
@ -458,7 +460,7 @@ window.addEvent('load', function() {
const syncMainData = function ( ) {
const syncMainData = function ( ) {
const url = new URI ( 'api/v2/sync/maindata' ) ;
const url = new URI ( 'api/v2/sync/maindata' ) ;
url . setData ( 'rid' , syncMainDataLastResponseId ) ;
url . setData ( 'rid' , syncMainDataLastResponseId ) ;
new Request . JSON ( {
const request = new Request . JSON ( {
url : url ,
url : url ,
noCache : true ,
noCache : true ,
method : 'get' ,
method : 'get' ,
@ -466,8 +468,8 @@ window.addEvent('load', function() {
const errorDiv = $ ( 'error_div' ) ;
const errorDiv = $ ( 'error_div' ) ;
if ( errorDiv )
if ( errorDiv )
errorDiv . set ( 'html' , 'QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]' ) ;
errorDiv . set ( 'html' , 'QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]' ) ;
clearTimeout ( syncMainDataTimer ) ;
syncRequestInProgress = false ;
syncMain DataTimer = syncMainData . delay ( 2000 ) ;
syncData ( 2000 ) ;
} ,
} ,
onSuccess : function ( response ) {
onSuccess : function ( response ) {
$ ( 'error_div' ) . set ( 'html' , '' ) ;
$ ( 'error_div' ) . set ( 'html' , '' ) ;
@ -579,18 +581,26 @@ window.addEvent('load', function() {
// re-select previously selected rows
// re-select previously selected rows
torrentsTable . reselectRows ( torrentsTableSelectedRows ) ;
torrentsTable . reselectRows ( torrentsTableSelectedRows ) ;
}
}
clearTimeout ( syncMainDataTimer ) ;
syncRequestInProgress = false ;
syncMainDataTimer = syncMain Data . delay ( getSyncMainDataInterval ( ) ) ;
syncData ( getSyncMainDataInterval ( ) )
}
}
} ) . send ( ) ;
} ) ;
syncRequestInProgress = true ;
request . send ( ) ;
} ;
} ;
updateMainData = function ( ) {
updateMainData = function ( ) {
torrentsTable . updateTable ( ) ;
torrentsTable . updateTable ( ) ;
clearTimeout ( syncMainDataTimer ) ;
syncData ( 100 ) ;
syncMainDataTimer = syncMainData . delay ( 100 ) ;
} ;
} ;
const syncData = function ( delay ) {
if ( ! syncRequestInProgress ) {
clearTimeout ( syncMainDataTimer ) ;
syncMainDataTimer = syncMainData . delay ( delay ) ;
}
}
const processServerState = function ( ) {
const processServerState = function ( ) {
let transfer _info = window . qBittorrent . Misc . friendlyUnit ( serverState . dl _info _speed , true ) ;
let transfer _info = window . qBittorrent . Misc . friendlyUnit ( serverState . dl _info _speed , true ) ;
if ( serverState . dl _rate _limit > 0 )
if ( serverState . dl _rate _limit > 0 )
@ -764,8 +774,7 @@ window.addEvent('load', function() {
$ ( "mainColumn" ) . removeClass ( "invisible" ) ;
$ ( "mainColumn" ) . removeClass ( "invisible" ) ;
customSyncMainDataInterval = null ;
customSyncMainDataInterval = null ;
clearTimeout ( syncMainDataTimer ) ;
syncData ( 100 ) ;
syncMainDataTimer = syncMainData . delay ( 100 ) ;
hideSearchTab ( ) ;
hideSearchTab ( ) ;
} ;
} ;