diff --git a/frontend/src/History/Details/HistoryDetails.js b/frontend/src/History/Details/HistoryDetails.js
index 23dc0b0dd..e0ae06eb1 100644
--- a/frontend/src/History/Details/HistoryDetails.js
+++ b/frontend/src/History/Details/HistoryDetails.js
@@ -18,6 +18,8 @@ function HistoryDetails(props) {
query,
queryResults,
categories,
+ limit,
+ offset,
source,
url
} = data;
@@ -31,43 +33,66 @@ function HistoryDetails(props) {
/>
{
- !!indexer &&
+ indexer ?
+ /> :
+ null
}
{
- !!data &&
+ data ?
+ /> :
+ null
}
{
- !!data &&
+ data ?
+ /> :
+ null
}
{
- !!data &&
+ limit ?
+ :
+ null
+ }
+
+ {
+ offset ?
+ :
+ null
+ }
+
+ {
+ data ?
+ /> :
+ null
}
{
- !!data &&
+ data ?
{translate('Link')} : '-'}
- />
+ /> :
+ null
}
);
@@ -83,35 +108,39 @@ function HistoryDetails(props) {
return (
{
- !!indexer &&
+ indexer ?
+ /> :
+ null
}
{
- !!data &&
+ data ?
+ /> :
+ null
}
{
- !!data &&
+ data ?
+ /> :
+ null
}
{
- !!data &&
+ data ?
{translate('Link')} : '-'}
- />
+ /> :
+ null
}
);
@@ -124,11 +153,12 @@ function HistoryDetails(props) {
title={translate('Auth')}
>
{
- !!indexer &&
+ indexer ?
+ /> :
+ null
}
);
diff --git a/frontend/src/History/HistoryRow.js b/frontend/src/History/HistoryRow.js
index a4fb91c12..c47160f23 100644
--- a/frontend/src/History/HistoryRow.js
+++ b/frontend/src/History/HistoryRow.js
@@ -66,7 +66,7 @@ class HistoryRow extends Component {
data
} = this.props;
- const { query, queryType } = data;
+ const { query, queryType, limit, offset } = data;
let searchQuery = query;
let categories = [];
@@ -111,7 +111,7 @@ class HistoryRow extends Component {
searchQuery += `${searchParams}`;
}
- this.props.onSearchPress(searchQuery, indexer.id, categories, queryType);
+ this.props.onSearchPress(searchQuery, indexer.id, categories, queryType, parseInt(limit), parseInt(offset));
};
onDetailsPress = () => {
@@ -312,6 +312,12 @@ class HistoryRow extends Component {
key={name}
className={styles.details}
>
+
+
{
eventType === 'indexerQuery' ?
:
null
}
-
);
}
diff --git a/frontend/src/History/HistoryRowConnector.js b/frontend/src/History/HistoryRowConnector.js
index 341444f2e..56137f080 100644
--- a/frontend/src/History/HistoryRowConnector.js
+++ b/frontend/src/History/HistoryRowConnector.js
@@ -48,8 +48,15 @@ class HistoryRowConnector extends Component {
//
// Listeners
- onSearchPress = (term, indexerId, categories, type) => {
- this.props.setSearchDefault({ searchQuery: term, searchIndexerIds: [indexerId], searchCategories: categories, searchType: type });
+ onSearchPress = (query, indexerId, categories, type, limit, offset) => {
+ this.props.setSearchDefault({
+ searchQuery: query,
+ searchIndexerIds: [indexerId],
+ searchCategories: categories,
+ searchType: type,
+ searchLimit: limit,
+ searchOffset: offset
+ });
this.props.push(`${window.Prowlarr.urlBase}/search`);
};
diff --git a/frontend/src/Search/SearchFooter.js b/frontend/src/Search/SearchFooter.js
index 2fc525615..21d0789a2 100644
--- a/frontend/src/Search/SearchFooter.js
+++ b/frontend/src/Search/SearchFooter.js
@@ -27,7 +27,9 @@ class SearchFooter extends Component {
defaultIndexerIds,
defaultCategories,
defaultSearchQuery,
- defaultSearchType
+ defaultSearchType,
+ defaultSearchLimit,
+ defaultSearchOffset
} = props;
this.state = {
@@ -38,8 +40,8 @@ class SearchFooter extends Component {
searchQuery: defaultSearchQuery || '',
searchIndexerIds: defaultIndexerIds,
searchCategories: defaultCategories,
- searchLimit: 100,
- searchOffset: 0,
+ searchLimit: defaultSearchLimit,
+ searchOffset: defaultSearchOffset,
newSearch: true
};
}
@@ -303,6 +305,8 @@ SearchFooter.propTypes = {
defaultCategories: PropTypes.arrayOf(PropTypes.number).isRequired,
defaultSearchQuery: PropTypes.string.isRequired,
defaultSearchType: PropTypes.string.isRequired,
+ defaultSearchLimit: PropTypes.number.isRequired,
+ defaultSearchOffset: PropTypes.number.isRequired,
selectedCount: PropTypes.number.isRequired,
itemCount: PropTypes.number.isRequired,
isFetching: PropTypes.bool.isRequired,
diff --git a/frontend/src/Search/SearchFooterConnector.js b/frontend/src/Search/SearchFooterConnector.js
index efbe6b3c4..87d2d3dda 100644
--- a/frontend/src/Search/SearchFooterConnector.js
+++ b/frontend/src/Search/SearchFooterConnector.js
@@ -13,14 +13,18 @@ function createMapStateToProps() {
searchQuery: defaultSearchQuery,
searchIndexerIds: defaultIndexerIds,
searchCategories: defaultCategories,
- searchType: defaultSearchType
+ searchType: defaultSearchType,
+ searchLimit: defaultSearchLimit,
+ searchOffset: defaultSearchOffset
} = releases.defaults;
return {
defaultSearchQuery,
defaultIndexerIds,
defaultCategories,
- defaultSearchType
+ defaultSearchType,
+ defaultSearchLimit,
+ defaultSearchOffset
};
}
);
diff --git a/frontend/src/Store/Actions/releaseActions.js b/frontend/src/Store/Actions/releaseActions.js
index 76da09c9d..298357a82 100644
--- a/frontend/src/Store/Actions/releaseActions.js
+++ b/frontend/src/Store/Actions/releaseActions.js
@@ -40,7 +40,9 @@ export const defaultState = {
searchType: 'search',
searchQuery: '',
searchIndexerIds: [],
- searchCategories: []
+ searchCategories: [],
+ searchLimit: 100,
+ searchOffset: 0
},
columns: [
diff --git a/src/NzbDrone.Core/History/HistoryService.cs b/src/NzbDrone.Core/History/HistoryService.cs
index 902fdf6b1..8dcc1861d 100644
--- a/src/NzbDrone.Core/History/HistoryService.cs
+++ b/src/NzbDrone.Core/History/HistoryService.cs
@@ -170,6 +170,9 @@ namespace NzbDrone.Core.History
history.Data.Add("Genre", bookSearchCriteria.Genre);
}
+ history.Data.Add("Limit", message.Query.Limit?.ToString());
+ history.Data.Add("Offset", message.Query.Offset?.ToString());
+
// Clean empty data
history.Data = history.Data.Where(d => d.Value != null).ToDictionary(x => x.Key, x => x.Value);