mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-01-18 18:35:14 +08:00
WebUI: Drop client-side filtering.
This commit is contained in:
parent
0488ddafa5
commit
d938643c38
@ -9,9 +9,9 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
// Remember this via Cookie
|
||||
var last_filter = Cookie.read('selected_filter');
|
||||
var filter = Cookie.read('selected_filter');
|
||||
if(!$defined(last_filter)) {
|
||||
last_filter = 'all';
|
||||
filter = 'all';
|
||||
}
|
||||
$(last_filter+'_filter').addClass('selectedFilter');
|
||||
$(filter+'_filter').addClass('selectedFilter');
|
||||
</script>
|
||||
|
@ -134,7 +134,8 @@ window.addEvent('load', function () {
|
||||
|
||||
var ajaxfn = function () {
|
||||
var queueing_enabled = false;
|
||||
var url = 'json/torrents';
|
||||
var url = new URI('json/torrents');
|
||||
url.setData({'filter': filter});
|
||||
if (!waiting) {
|
||||
waiting = true;
|
||||
var request = new Request.JSON({
|
||||
@ -272,9 +273,10 @@ window.addEvent('load', function () {
|
||||
$("active_filter").removeClass("selectedFilter");
|
||||
$("inactive_filter").removeClass("selectedFilter");
|
||||
$(f + "_filter").addClass("selectedFilter");
|
||||
myTable.setFilter(f);
|
||||
ajaxfn();
|
||||
filter = f;
|
||||
localStorage.setItem('selected_filter', f);
|
||||
// Reload torrents
|
||||
ajaxfn();
|
||||
}
|
||||
|
||||
});
|
||||
|
@ -41,10 +41,6 @@ var dynamicTable = new Class({
|
||||
this.cur = new Array();
|
||||
this.priority_hidden = false;
|
||||
this.progressIndex = progressIndex;
|
||||
this.filter = localStorage.getItem('selected_filter');
|
||||
if (!$defined(this.filter)) {
|
||||
this.filter = 'all';
|
||||
}
|
||||
this.context_menu = context_menu;
|
||||
this.table.sortedIndex = 1; // Default is NAME
|
||||
this.table.reverseSort = false;
|
||||
@ -122,10 +118,6 @@ var dynamicTable = new Class({
|
||||
this.priority_hidden = true;
|
||||
},
|
||||
|
||||
setFilter : function (f) {
|
||||
this.filter = f;
|
||||
},
|
||||
|
||||
showPriority : function () {
|
||||
if (!this.priority_hidden)
|
||||
return;
|
||||
@ -138,49 +130,6 @@ var dynamicTable = new Class({
|
||||
this.priority_hidden = false;
|
||||
},
|
||||
|
||||
applyFilterOnRow : function (tr, status) {
|
||||
switch (this.filter) {
|
||||
case 'all':
|
||||
tr.removeClass("invisible");
|
||||
break;
|
||||
case 'downloading':
|
||||
if (status == "downloading" || status == "stalledDL" || status == "checkingDL" || status == "pausedDL" || status == "queuedDL") {
|
||||
tr.removeClass("invisible");
|
||||
} else {
|
||||
tr.addClass("invisible");
|
||||
}
|
||||
break;
|
||||
case 'completed':
|
||||
if (status == "uploading" || status == "stalledUP" || status == "checkingUP" || status == "pausedUP" || status == "queuedUP") {
|
||||
tr.removeClass("invisible");
|
||||
} else {
|
||||
tr.addClass("invisible");
|
||||
}
|
||||
break;
|
||||
case 'paused':
|
||||
if (status == "pausedDL" || status == "pausedUP") {
|
||||
tr.removeClass("invisible");
|
||||
} else {
|
||||
tr.addClass("invisible");
|
||||
}
|
||||
break;
|
||||
case 'active':
|
||||
if (status == "downloading" || status == "uploading") {
|
||||
tr.removeClass("invisible");
|
||||
} else {
|
||||
tr.addClass("invisible");
|
||||
}
|
||||
break;
|
||||
case 'inactive':
|
||||
if (status != "downloading" && status != "uploading") {
|
||||
tr.removeClass("invisible");
|
||||
} else {
|
||||
tr.addClass("invisible");
|
||||
}
|
||||
}
|
||||
return !tr.hasClass('invisible');
|
||||
},
|
||||
|
||||
insertRow : function (id, row, data, status) {
|
||||
if (this.rows.has(id)) {
|
||||
return;
|
||||
@ -302,8 +251,7 @@ var dynamicTable = new Class({
|
||||
}
|
||||
return false;
|
||||
}.bind(this));
|
||||
// Apply filter
|
||||
this.applyFilterOnRow(tr, status);
|
||||
|
||||
// Insert
|
||||
var trs = this.table.getChildren('tr');
|
||||
var i = 0;
|
||||
@ -336,34 +284,22 @@ var dynamicTable = new Class({
|
||||
return false;
|
||||
}
|
||||
var tr = this.rows.get(id);
|
||||
// Apply filter
|
||||
if (this.applyFilterOnRow(tr, status)) {
|
||||
var tds = tr.getElements('td');
|
||||
for (var i = 0; i < row.length; i++) {
|
||||
if (i == 1)
|
||||
continue; // Do not refresh name
|
||||
if (i == this.progressIndex) {
|
||||
$('pb_' + id).setValue(row[i]);
|
||||
var tds = tr.getElements('td');
|
||||
for (var i = 0; i < row.length; i++) {
|
||||
if (i == 1)
|
||||
continue; // Do not refresh name
|
||||
if (i == this.progressIndex) {
|
||||
$('pb_' + id).setValue(row[i]);
|
||||
} else {
|
||||
if (i == 0) {
|
||||
tds[i].getChildren('img')[0].set('src', row[i]);
|
||||
} else {
|
||||
if (i == 0) {
|
||||
tds[i].getChildren('img')[0].set('src', row[i]);
|
||||
} else {
|
||||
tds[i].set('html', row[i]);
|
||||
}
|
||||
tds[i].set('html', row[i]);
|
||||
}
|
||||
if (typeof data[i] != 'undefined')
|
||||
tds[i].set('data-raw', data[i])
|
||||
};
|
||||
} else {
|
||||
// Row was hidden, check if it was selected
|
||||
// and unselect it if it was
|
||||
if (this.cur.contains(id)) {
|
||||
// Remove from selection
|
||||
this.cur.erase(id);
|
||||
// Remove selected style
|
||||
tr.removeClass('selected');
|
||||
}
|
||||
}
|
||||
if (typeof data[i] != 'undefined')
|
||||
tds[i].set('data-raw', data[i])
|
||||
};
|
||||
return true;
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user