mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
fix pagination, refactor
This commit is contained in:
parent
a6f3378c21
commit
110bd65c20
@ -91,7 +91,7 @@
|
|||||||
<span i18n *ngIf="list.selected.size == 0">{list.collectionSize, plural, =1 {One document} other {{{list.collectionSize || 0}} documents}}</span> <span i18n *ngIf="isFiltered">(filtered)</span>
|
<span i18n *ngIf="list.selected.size == 0">{list.collectionSize, plural, =1 {One document} other {{{list.collectionSize || 0}} documents}}</span> <span i18n *ngIf="isFiltered">(filtered)</span>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</p>
|
</p>
|
||||||
<ngb-pagination [pageSize]="list.currentPageSize" [collectionSize]="list.collectionSize" (pageChange)="setPage($event)" [page]="list.currentPage" [maxSize]="5"
|
<ngb-pagination *ngIf="list.collectionSize" [pageSize]="list.currentPageSize" [collectionSize]="list.collectionSize" [(page)]="list.currentPage" [maxSize]="5"
|
||||||
[rotate]="true" aria-label="Default pagination"></ngb-pagination>
|
[rotate]="true" aria-label="Default pagination"></ngb-pagination>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
@ -87,10 +87,6 @@ export class DocumentListComponent implements OnInit, OnDestroy {
|
|||||||
this.list.setSort(event.column, event.reverse)
|
this.list.setSort(event.column, event.reverse)
|
||||||
}
|
}
|
||||||
|
|
||||||
setPage(page: number) {
|
|
||||||
this.list.currentPage = page
|
|
||||||
}
|
|
||||||
|
|
||||||
get isBulkEditing(): boolean {
|
get isBulkEditing(): boolean {
|
||||||
return this.list.selected.size > 0
|
return this.list.selected.size > 0
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import { PaperlessDocument } from '../data/paperless-document'
|
|||||||
import { PaperlessSavedView } from '../data/paperless-saved-view'
|
import { PaperlessSavedView } from '../data/paperless-saved-view'
|
||||||
import { SETTINGS_KEYS } from '../data/paperless-uisettings'
|
import { SETTINGS_KEYS } from '../data/paperless-uisettings'
|
||||||
import { DOCUMENT_LIST_SERVICE } from '../data/storage-keys'
|
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 { DocumentService, DOCUMENT_SORT_FIELDS } from './rest/document.service'
|
||||||
import { SettingsService } from './settings.service'
|
import { SettingsService } from './settings.service'
|
||||||
|
|
||||||
@ -151,9 +151,9 @@ export class DocumentListViewService {
|
|||||||
view: PaperlessSavedView,
|
view: PaperlessSavedView,
|
||||||
queryParams: ParamMap
|
queryParams: ParamMap
|
||||||
) {
|
) {
|
||||||
let params = parseParams(queryParams)
|
const viewState = paramsToViewState(queryParams)
|
||||||
this.activateSavedView(view)
|
this.activateSavedView(view)
|
||||||
this.activeListViewState.currentPage = params.currentPage
|
this.currentPage = viewState.currentPage
|
||||||
}
|
}
|
||||||
|
|
||||||
loadSavedView(view: PaperlessSavedView, closeCurrentView: boolean = false) {
|
loadSavedView(view: PaperlessSavedView, closeCurrentView: boolean = false) {
|
||||||
@ -180,7 +180,7 @@ export class DocumentListViewService {
|
|||||||
loadFromQueryParams(queryParams: ParamMap) {
|
loadFromQueryParams(queryParams: ParamMap) {
|
||||||
const paramsEmpty: boolean = queryParams.keys.length == 0
|
const paramsEmpty: boolean = queryParams.keys.length == 0
|
||||||
let newState: ListViewState = this.listViewStates.get(null)
|
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
|
if (newState == undefined) newState = this.defaultListViewState() // if nothing in local storage
|
||||||
|
|
||||||
// only reload if things have changed
|
// only reload if things have changed
|
||||||
@ -224,11 +224,11 @@ export class DocumentListViewService {
|
|||||||
if (updateQueryParams && !this._activeSavedViewId) {
|
if (updateQueryParams && !this._activeSavedViewId) {
|
||||||
let base = ['/documents']
|
let base = ['/documents']
|
||||||
this.router.navigate(base, {
|
this.router.navigate(base, {
|
||||||
queryParams: generateParams(activeListViewState),
|
queryParams: paramsFromViewState(activeListViewState),
|
||||||
})
|
})
|
||||||
} else if (this._activeSavedViewId) {
|
} else if (this._activeSavedViewId) {
|
||||||
this.router.navigate([], {
|
this.router.navigate([], {
|
||||||
queryParams: generateParams(activeListViewState, true),
|
queryParams: paramsFromViewState(activeListViewState, true),
|
||||||
queryParamsHandling: 'merge',
|
queryParamsHandling: 'merge',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ const SORT_FIELD_PARAMETER = 'sort'
|
|||||||
const SORT_REVERSE_PARAMETER = 'reverse'
|
const SORT_REVERSE_PARAMETER = 'reverse'
|
||||||
const PAGE_PARAMETER = 'page'
|
const PAGE_PARAMETER = 'page'
|
||||||
|
|
||||||
export function generateParams(
|
export function paramsFromViewState(
|
||||||
viewState: ListViewState,
|
viewState: ListViewState,
|
||||||
pageOnly: boolean = false
|
pageOnly: boolean = false
|
||||||
): Params {
|
): Params {
|
||||||
@ -22,7 +22,7 @@ export function generateParams(
|
|||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
|
||||||
export function parseParams(queryParams: ParamMap): ListViewState {
|
export function paramsToViewState(queryParams: ParamMap): ListViewState {
|
||||||
let filterRules = filterRulesFromQueryParams(queryParams)
|
let filterRules = filterRulesFromQueryParams(queryParams)
|
||||||
let sortField = queryParams.get(SORT_FIELD_PARAMETER)
|
let sortField = queryParams.get(SORT_FIELD_PARAMETER)
|
||||||
let sortReverse =
|
let sortReverse =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user