Files
qBittorrent/src/webui/www/public/scripts/prop-general.js
Gabriele b46ecb4351 WebUI: Decrease frequency of updates of property panel
Now that the properties are loaded immediately when the selected torrent
or the property tab is changed, the frequency of the updates can be
reduced without affecting the user experience.

New update intervals:
 * General: 5 seconds (10 if qBT is not reachable)
 * Tracker list: 10 seconds (20 if qBT is not reachable)
 * File list: 5 seconds (10 if qBT is not reachable)
2014-12-11 00:02:11 +01:00

83 lines
3.3 KiB
JavaScript

var clearData = function() {
$('torrent_hash').set('html', '');
$('save_path').set('html', '');
$('creation_date').set('html', '');
$('piece_size').set('html', '');
$('comment').set('html', '');
$('total_uploaded').set('html', '');
$('total_downloaded').set('html', '');
$('total_wasted').set('html', '');
$('up_limit').set('html', '');
$('dl_limit').set('html', '');
$('time_elapsed').set('html', '');
$('nb_connections').set('html', '');
$('share_ratio').set('html', '');
}
var loadTorrentDataTimer;
var loadTorrentData = function() {
if ($('prop_general').hasClass('invisible')) {
// Tab changed, don't do anything
return;
}
var current_hash = myTable.getCurrentTorrentHash();
if (current_hash == "") {
clearData();
loadTorrentDataTimer = loadTorrentData.delay(5000);
return;
}
// Display hash
$('torrent_hash').set('html', current_hash);
var url = 'json/propertiesGeneral/' + current_hash;
var request = new Request.JSON({
url: url,
noCache: true,
method: 'get',
onFailure: function() {
$('error_div').set('html', '_(qBittorrent client is not reachable)');
loadTorrentDataTimer = loadTorrentData.delay(10000);
},
onSuccess: function(data) {
$('error_div').set('html', '');
if (data) {
var temp;
// Update Torrent data
$('save_path').set('html', data.save_path);
temp = data.creation_date;
var timestamp = "_(Unknown)";
if (temp != -1)
timestamp = new Date(data.creation_date * 1000).toISOString();
$('creation_date').set('html', timestamp);
$('piece_size').set('html', friendlyUnit(data.piece_size));
$('comment').set('html', data.comment);
$('total_uploaded').set('html', friendlyUnit(data.total_uploaded) +
" (" + friendlyUnit(data.total_uploaded_session) +
" _(this session)" + ")");
$('total_downloaded').set('html', friendlyUnit(data.total_downloaded) +
" (" + friendlyUnit(data.total_downloaded_session) +
" _(this session)" + ")");
$('total_wasted').set('html', data.total_wasted);
temp = data.up_limit;
$('up_limit').set('html', temp == -1 ? "∞" : temp);
temp = data.dl_limit;
$('dl_limit').set('html', temp == -1 ? "∞" : temp);
temp = friendlyDuration(status.active_time);
if (status.is_seed)
temp += " (" + "_(Seeded for %1)".replace("%1", status.seeding_time) + ")";
$('time_elapsed').set('html', temp);
temp = data.nb_connections + " (" + "_(%1 max)".replace("%1", status.nb_connections_limit) + ")";
$('nb_connections').set('html', temp);
$('share_ratio').set('html', data.share_ratio.toFixed(2));
}
else {
clearData();
}
loadTorrentDataTimer = loadTorrentData.delay(5000);
}
}).send();
}
var updateTorrentData = function() {
clearTimeout(loadTorrentDataTimer);
loadTorrentData();
}