From 110bd65c206c98838d35ae7c1c6aec9324b06d38 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 8 Aug 2022 00:03:15 -0700 Subject: [PATCH] fix pagination, refactor --- .../document-list/document-list.component.html | 2 +- .../document-list/document-list.component.ts | 4 ---- .../src/app/services/document-list-view.service.ts | 12 ++++++------ src-ui/src/app/utils/query-params.ts | 4 ++-- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src-ui/src/app/components/document-list/document-list.component.html b/src-ui/src/app/components/document-list/document-list.component.html index 7895c9a52..60c9bcfb9 100644 --- a/src-ui/src/app/components/document-list/document-list.component.html +++ b/src-ui/src/app/components/document-list/document-list.component.html @@ -91,7 +91,7 @@ {list.collectionSize, plural, =1 {One document} other {{{list.collectionSize || 0}} documents}} (filtered)

- diff --git a/src-ui/src/app/components/document-list/document-list.component.ts b/src-ui/src/app/components/document-list/document-list.component.ts index a73c54ad9..fc9ab3ce7 100644 --- a/src-ui/src/app/components/document-list/document-list.component.ts +++ b/src-ui/src/app/components/document-list/document-list.component.ts @@ -87,10 +87,6 @@ export class DocumentListComponent implements OnInit, OnDestroy { this.list.setSort(event.column, event.reverse) } - setPage(page: number) { - this.list.currentPage = page - } - get isBulkEditing(): boolean { return this.list.selected.size > 0 } diff --git a/src-ui/src/app/services/document-list-view.service.ts b/src-ui/src/app/services/document-list-view.service.ts index adff25223..764febb4b 100644 --- a/src-ui/src/app/services/document-list-view.service.ts +++ b/src-ui/src/app/services/document-list-view.service.ts @@ -11,7 +11,7 @@ import { PaperlessDocument } from '../data/paperless-document' import { PaperlessSavedView } from '../data/paperless-saved-view' import { SETTINGS_KEYS } from '../data/paperless-uisettings' import { DOCUMENT_LIST_SERVICE } from '../data/storage-keys' -import { generateParams, parseParams } from '../utils/query-params' +import { paramsFromViewState, paramsToViewState } from '../utils/query-params' import { DocumentService, DOCUMENT_SORT_FIELDS } from './rest/document.service' import { SettingsService } from './settings.service' @@ -151,9 +151,9 @@ export class DocumentListViewService { view: PaperlessSavedView, queryParams: ParamMap ) { - let params = parseParams(queryParams) + const viewState = paramsToViewState(queryParams) this.activateSavedView(view) - this.activeListViewState.currentPage = params.currentPage + this.currentPage = viewState.currentPage } loadSavedView(view: PaperlessSavedView, closeCurrentView: boolean = false) { @@ -180,7 +180,7 @@ export class DocumentListViewService { loadFromQueryParams(queryParams: ParamMap) { const paramsEmpty: boolean = queryParams.keys.length == 0 let newState: ListViewState = this.listViewStates.get(null) - if (!paramsEmpty) newState = parseParams(queryParams) + if (!paramsEmpty) newState = paramsToViewState(queryParams) if (newState == undefined) newState = this.defaultListViewState() // if nothing in local storage // only reload if things have changed @@ -224,11 +224,11 @@ export class DocumentListViewService { if (updateQueryParams && !this._activeSavedViewId) { let base = ['/documents'] this.router.navigate(base, { - queryParams: generateParams(activeListViewState), + queryParams: paramsFromViewState(activeListViewState), }) } else if (this._activeSavedViewId) { this.router.navigate([], { - queryParams: generateParams(activeListViewState, true), + queryParams: paramsFromViewState(activeListViewState, true), queryParamsHandling: 'merge', }) } diff --git a/src-ui/src/app/utils/query-params.ts b/src-ui/src/app/utils/query-params.ts index 0849fab4b..9694442be 100644 --- a/src-ui/src/app/utils/query-params.ts +++ b/src-ui/src/app/utils/query-params.ts @@ -7,7 +7,7 @@ const SORT_FIELD_PARAMETER = 'sort' const SORT_REVERSE_PARAMETER = 'reverse' const PAGE_PARAMETER = 'page' -export function generateParams( +export function paramsFromViewState( viewState: ListViewState, pageOnly: boolean = false ): Params { @@ -22,7 +22,7 @@ export function generateParams( return params } -export function parseParams(queryParams: ParamMap): ListViewState { +export function paramsToViewState(queryParams: ParamMap): ListViewState { let filterRules = filterRulesFromQueryParams(queryParams) let sortField = queryParams.get(SORT_FIELD_PARAMETER) let sortReverse =