mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	fix pagination, refactor
This commit is contained in:
		| @@ -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 = | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon