mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 03:16:10 -06:00 
			
		
		
		
	minor refactor query params utils
This commit is contained in:
		@@ -10,7 +10,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, getStateFromQueryParams } from '../utils/query-params'
 | 
					import { generateParams, parseParams } 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'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -169,7 +169,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 = getStateFromQueryParams(queryParams)
 | 
					    if (!paramsEmpty) newState = parseParams(queryParams)
 | 
				
			||||||
    if (newState == undefined) newState = this.defaultListViewState() // if nothing in local storage
 | 
					    if (newState == undefined) newState = this.defaultListViewState() // if nothing in local storage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.activeListViewState.filterRules = newState.filterRules
 | 
					    this.activeListViewState.filterRules = newState.filterRules
 | 
				
			||||||
@@ -200,12 +200,7 @@ 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(
 | 
					              queryParams: generateParams(activeListViewState),
 | 
				
			||||||
                activeListViewState.filterRules,
 | 
					 | 
				
			||||||
                activeListViewState.sortField,
 | 
					 | 
				
			||||||
                activeListViewState.sortReverse,
 | 
					 | 
				
			||||||
                activeListViewState.currentPage
 | 
					 | 
				
			||||||
              ),
 | 
					 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,23 +7,17 @@ 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 generateParams(viewState: ListViewState): Params {
 | 
				
			||||||
  filterRules: FilterRule[],
 | 
					  let params = queryParamsFromFilterRules(viewState.filterRules)
 | 
				
			||||||
  sortField: string,
 | 
					  params[SORT_FIELD_PARAMETER] = viewState.sortField
 | 
				
			||||||
  sortReverse: boolean,
 | 
					  params[SORT_REVERSE_PARAMETER] = viewState.sortReverse ? 1 : undefined
 | 
				
			||||||
  currentPage: number
 | 
					  params[PAGE_PARAMETER] = isNaN(viewState.currentPage)
 | 
				
			||||||
): Params {
 | 
					    ? 1
 | 
				
			||||||
  let params = {}
 | 
					    : viewState.currentPage
 | 
				
			||||||
  params[SORT_FIELD_PARAMETER] = sortField
 | 
					  return params
 | 
				
			||||||
  params[SORT_REVERSE_PARAMETER] = sortReverse ? 1 : undefined
 | 
					 | 
				
			||||||
  params[PAGE_PARAMETER] = isNaN(currentPage) ? 1 : currentPage
 | 
					 | 
				
			||||||
  return {
 | 
					 | 
				
			||||||
    ...queryParamsFromFilterRules(filterRules),
 | 
					 | 
				
			||||||
    ...params,
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function getStateFromQueryParams(queryParams: ParamMap): ListViewState {
 | 
					export function parseParams(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