mirror of
https://github.com/zoriya/flood.git
synced 2026-06-08 12:42:41 +00:00
Add tracker filter an abstract components along the way
This commit is contained in:
@@ -68,9 +68,12 @@ class TorrentStoreClass extends BaseStore {
|
||||
return this.torrents[hash];
|
||||
}
|
||||
|
||||
getAllTorrents() {
|
||||
return this.torrents;
|
||||
}
|
||||
|
||||
getTorrents() {
|
||||
if (TorrentFilterStore.getStatusFilter() ||
|
||||
TorrentFilterStore.getSearchFilter()) {
|
||||
if (TorrentFilterStore.isFilterActive()) {
|
||||
return this.filteredTorrents;
|
||||
}
|
||||
|
||||
@@ -86,19 +89,30 @@ class TorrentStoreClass extends BaseStore {
|
||||
this.sortedTorrents = sortTorrents(this.torrents,
|
||||
{direction: torrentsSort.direction, property: torrentsSort.value});
|
||||
|
||||
let statusFilter = TorrentFilterStore.getStatusFilter();
|
||||
let searchFilter = TorrentFilterStore.getSearchFilter();
|
||||
let statusFilter = TorrentFilterStore.getStatusFilter();
|
||||
let trackerFilter = TorrentFilterStore.getTrackerFilter();
|
||||
|
||||
let filteredTorrents = Object.assign([], this.sortedTorrents);
|
||||
|
||||
if (statusFilter && statusFilter !== 'all') {
|
||||
filteredTorrents = filterTorrents(filteredTorrents, statusFilter);
|
||||
}
|
||||
|
||||
if (searchFilter && searchFilter !== '') {
|
||||
filteredTorrents = searchTorrents(filteredTorrents, searchFilter);
|
||||
}
|
||||
|
||||
if (statusFilter && statusFilter !== 'all') {
|
||||
filteredTorrents = filterTorrents(filteredTorrents, {
|
||||
type: 'status',
|
||||
filter: statusFilter
|
||||
});
|
||||
}
|
||||
|
||||
if (trackerFilter && trackerFilter !== 'all') {
|
||||
filteredTorrents = filterTorrents(filteredTorrents, {
|
||||
type: 'tracker',
|
||||
filter: trackerFilter
|
||||
});
|
||||
}
|
||||
|
||||
this.filteredTorrents = filteredTorrents;
|
||||
|
||||
this.emit(EventTypes.CLIENT_TORRENTS_REQUEST_SUCCESS);
|
||||
@@ -152,6 +166,7 @@ AppDispatcher.register((payload) => {
|
||||
TorrentStore.setSelectedTorrents(action.data.event, action.data.hash);
|
||||
break;
|
||||
case ActionTypes.UI_SET_TORRENT_STATUS_FILTER:
|
||||
case ActionTypes.UI_SET_TORRENT_TRACKER_FILTER:
|
||||
case ActionTypes.UI_SET_TORRENT_SEARCH_FILTER:
|
||||
case ActionTypes.UI_SET_TORRENT_SORT:
|
||||
TorrentStore.triggerTorrentsFilter();
|
||||
|
||||
Reference in New Issue
Block a user