mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
minor refactor query params utils
This commit is contained in:
parent
1c83f489d1
commit
48f9cb09af
@ -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 =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user