Fix quick filtering

This commit is contained in:
Michael Shamoon
2022-03-27 00:09:09 -07:00
parent 22a90363f6
commit 9185d5a8ef
4 changed files with 14 additions and 21 deletions

View File

@@ -249,20 +249,11 @@ export class DocumentListViewService {
}
quickFilter(filterRules: FilterRule[]) {
this._activeSavedViewId = null
this.activeListViewState.filterRules = filterRules
this.activeListViewState.currentPage = 1
if (isFullTextFilterRule(filterRules)) {
this.activeListViewState.sortField = 'score'
this.activeListViewState.sortReverse = false
}
this.reduceSelectionToFilter()
this.saveDocumentListView()
if (this.router.url == '/documents') {
this.reload()
} else {
this.router.navigate(['documents'])
}
const params = this.documentService.filterRulesToQueryParams(filterRules)
this.router.navigate(['/documents'], {
relativeTo: this.route,
queryParams: params,
})
}
getLastPage(): number {

View File

@@ -47,7 +47,6 @@ export interface SelectionData {
})
export class DocumentService extends AbstractPaperlessService<PaperlessDocument> {
private _searchQuery: string
public queryParams: Object = {}
constructor(
http: HttpClient,
@@ -58,7 +57,7 @@ export class DocumentService extends AbstractPaperlessService<PaperlessDocument>
super(http, 'documents')
}
private filterRulesToQueryParams(filterRules: FilterRule[]): Object {
public filterRulesToQueryParams(filterRules: FilterRule[]): Object {
if (filterRules) {
let params = {}
for (let rule of filterRules) {
@@ -102,13 +101,12 @@ export class DocumentService extends AbstractPaperlessService<PaperlessDocument>
filterRules?: FilterRule[],
extraParams = {}
): Observable<Results<PaperlessDocument>> {
this.queryParams = this.filterRulesToQueryParams(filterRules)
return this.list(
page,
pageSize,
sortField,
sortReverse,
Object.assign(extraParams, this.queryParams)
Object.assign(extraParams, this.filterRulesToQueryParams(filterRules))
).pipe(
map((results) => {
results.results.forEach((doc) => this.addObservablesToDocument(doc))