mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Fixed: Sorts not working on Search page
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user