Fixed: Sorts not working on Search page

pull/40/head
Qstick 4 years ago
parent bd27c04050
commit 8459205a5e

@ -261,6 +261,7 @@ class SearchIndex extends Component {
filters={filters} filters={filters}
sortKey={sortKey} sortKey={sortKey}
sortDirection={sortDirection} sortDirection={sortDirection}
columns={columns}
jumpToCharacter={jumpToCharacter} jumpToCharacter={jumpToCharacter}
{...otherProps} {...otherProps}
/> />

@ -7,14 +7,12 @@ import SearchIndexTable from './SearchIndexTable';
function createMapStateToProps() { function createMapStateToProps() {
return createSelector( return createSelector(
(state) => state.app.dimensions, (state) => state.app.dimensions,
(state) => state.releases,
createUISettingsSelector(), createUISettingsSelector(),
(dimensions, releases, uiSettings) => { (dimensions, uiSettings) => {
return { return {
isSmallScreen: dimensions.isSmallScreen, isSmallScreen: dimensions.isSmallScreen,
longDateFormat: uiSettings.longDateFormat, longDateFormat: uiSettings.longDateFormat,
timeFormat: uiSettings.timeFormat, timeFormat: uiSettings.timeFormat
...releases
}; };
} }
); );

@ -28,6 +28,8 @@ export const defaultState = {
items: [], items: [],
sortKey: 'title', sortKey: 'title',
sortDirection: sortDirections.ASCENDING, sortDirection: sortDirections.ASCENDING,
secondarySortKey: 'title',
secondarySortDirection: sortDirections.ASCENDING,
defaults: { defaults: {
searchQuery: '', searchQuery: '',
@ -38,7 +40,7 @@ export const defaultState = {
columns: [ columns: [
{ {
name: 'protocol', name: 'protocol',
label: translate('Source'), label: translate('Protocol'),
isSortable: true, isSortable: true,
isVisible: true isVisible: true
}, },
@ -105,17 +107,19 @@ export const defaultState = {
], ],
sortPredicates: { sortPredicates: {
age: function(item, direction) { age: function(item) {
console.log(item);
return item.ageMinutes; return item.ageMinutes;
}, },
peers: function(item, direction) {
peers: function(item) {
const seeders = item.seeders || 0; const seeders = item.seeders || 0;
const leechers = item.leechers || 0; const leechers = item.leechers || 0;
return seeders * 1000000 + leechers; return seeders * 1000000 + leechers;
}, },
indexerFlags: function(item, direction) { indexerFlags: function(item) {
const indexerFlags = item.indexerFlags; const indexerFlags = item.indexerFlags;
const releaseWeight = item.releaseWeight; const releaseWeight = item.releaseWeight;
@ -124,6 +128,15 @@ export const defaultState = {
} }
return releaseWeight; return releaseWeight;
},
category: function(item) {
if (item.categories.length > 0) {
const sortedCats = item.categories.filter((cat) => cat.name !== undefined).sort((c) => c.id);
const firstCat = sortedCats[0];
return firstCat.name;
}
} }
}, },

Loading…
Cancel
Save