mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-11 15:56:17 -07:00
WebUI: Drop client-side filtering.
This commit is contained in:
parent
0488ddafa5
commit
d938643c38
3 changed files with 22 additions and 84 deletions
|
@ -9,9 +9,9 @@
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
// Remember this via Cookie
|
// Remember this via Cookie
|
||||||
var last_filter = Cookie.read('selected_filter');
|
var filter = Cookie.read('selected_filter');
|
||||||
if(!$defined(last_filter)) {
|
if(!$defined(last_filter)) {
|
||||||
last_filter = 'all';
|
filter = 'all';
|
||||||
}
|
}
|
||||||
$(last_filter+'_filter').addClass('selectedFilter');
|
$(filter+'_filter').addClass('selectedFilter');
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -134,7 +134,8 @@ window.addEvent('load', function () {
|
||||||
|
|
||||||
var ajaxfn = function () {
|
var ajaxfn = function () {
|
||||||
var queueing_enabled = false;
|
var queueing_enabled = false;
|
||||||
var url = 'json/torrents';
|
var url = new URI('json/torrents');
|
||||||
|
url.setData({'filter': filter});
|
||||||
if (!waiting) {
|
if (!waiting) {
|
||||||
waiting = true;
|
waiting = true;
|
||||||
var request = new Request.JSON({
|
var request = new Request.JSON({
|
||||||
|
@ -272,9 +273,10 @@ window.addEvent('load', function () {
|
||||||
$("active_filter").removeClass("selectedFilter");
|
$("active_filter").removeClass("selectedFilter");
|
||||||
$("inactive_filter").removeClass("selectedFilter");
|
$("inactive_filter").removeClass("selectedFilter");
|
||||||
$(f + "_filter").addClass("selectedFilter");
|
$(f + "_filter").addClass("selectedFilter");
|
||||||
myTable.setFilter(f);
|
filter = f;
|
||||||
ajaxfn();
|
|
||||||
localStorage.setItem('selected_filter', f);
|
localStorage.setItem('selected_filter', f);
|
||||||
|
// Reload torrents
|
||||||
|
ajaxfn();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -41,10 +41,6 @@ var dynamicTable = new Class({
|
||||||
this.cur = new Array();
|
this.cur = new Array();
|
||||||
this.priority_hidden = false;
|
this.priority_hidden = false;
|
||||||
this.progressIndex = progressIndex;
|
this.progressIndex = progressIndex;
|
||||||
this.filter = localStorage.getItem('selected_filter');
|
|
||||||
if (!$defined(this.filter)) {
|
|
||||||
this.filter = 'all';
|
|
||||||
}
|
|
||||||
this.context_menu = context_menu;
|
this.context_menu = context_menu;
|
||||||
this.table.sortedIndex = 1; // Default is NAME
|
this.table.sortedIndex = 1; // Default is NAME
|
||||||
this.table.reverseSort = false;
|
this.table.reverseSort = false;
|
||||||
|
@ -122,10 +118,6 @@ var dynamicTable = new Class({
|
||||||
this.priority_hidden = true;
|
this.priority_hidden = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
setFilter : function (f) {
|
|
||||||
this.filter = f;
|
|
||||||
},
|
|
||||||
|
|
||||||
showPriority : function () {
|
showPriority : function () {
|
||||||
if (!this.priority_hidden)
|
if (!this.priority_hidden)
|
||||||
return;
|
return;
|
||||||
|
@ -138,49 +130,6 @@ var dynamicTable = new Class({
|
||||||
this.priority_hidden = false;
|
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) {
|
insertRow : function (id, row, data, status) {
|
||||||
if (this.rows.has(id)) {
|
if (this.rows.has(id)) {
|
||||||
return;
|
return;
|
||||||
|
@ -302,8 +251,7 @@ var dynamicTable = new Class({
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
// Apply filter
|
|
||||||
this.applyFilterOnRow(tr, status);
|
|
||||||
// Insert
|
// Insert
|
||||||
var trs = this.table.getChildren('tr');
|
var trs = this.table.getChildren('tr');
|
||||||
var i = 0;
|
var i = 0;
|
||||||
|
@ -336,8 +284,6 @@ var dynamicTable = new Class({
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var tr = this.rows.get(id);
|
var tr = this.rows.get(id);
|
||||||
// Apply filter
|
|
||||||
if (this.applyFilterOnRow(tr, status)) {
|
|
||||||
var tds = tr.getElements('td');
|
var tds = tr.getElements('td');
|
||||||
for (var i = 0; i < row.length; i++) {
|
for (var i = 0; i < row.length; i++) {
|
||||||
if (i == 1)
|
if (i == 1)
|
||||||
|
@ -354,16 +300,6 @@ var dynamicTable = new Class({
|
||||||
if (typeof data[i] != 'undefined')
|
if (typeof data[i] != 'undefined')
|
||||||
tds[i].set('data-raw', data[i])
|
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');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue