1
0
Fork 0

Fix search pagination

This commit is contained in:
Chocobozzz 2018-01-29 09:30:06 +01:00
parent e8395f027b
commit c88593f72f
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 13 additions and 5 deletions

View File

@ -10,7 +10,7 @@ import { Video } from './video.model'
export abstract class AbstractVideoList implements OnInit { export abstract class AbstractVideoList implements OnInit {
pagination: ComponentPagination = { pagination: ComponentPagination = {
currentPage: 1, currentPage: 1,
itemsPerPage: 25, itemsPerPage: 10,
totalItems: null totalItems: null
} }
sort: SortField = '-createdAt' sort: SortField = '-createdAt'
@ -26,6 +26,9 @@ export abstract class AbstractVideoList implements OnInit {
protected abstract currentRoute: string protected abstract currentRoute: string
abstract titlePage: string abstract titlePage: string
protected otherParams = {}
private loadedPages: { [ id: number ]: boolean } = {} private loadedPages: { [ id: number ]: boolean } = {}
abstract getVideosObservable (): Observable<{ videos: Video[], totalVideos: number}> abstract getVideosObservable (): Observable<{ videos: Video[], totalVideos: number}>
@ -119,7 +122,7 @@ export abstract class AbstractVideoList implements OnInit {
page: this.pagination.currentPage page: this.pagination.currentPage
} }
return params return Object.assign(params, this.otherParams)
} }
protected loadRouteParams (routeParams: { [ key: string ]: any }) { protected loadRouteParams (routeParams: { [ key: string ]: any }) {

View File

@ -16,7 +16,9 @@ export class VideoSearchComponent extends AbstractVideoList implements OnInit, O
currentRoute = '/videos/search' currentRoute = '/videos/search'
loadOnInit = false loadOnInit = false
private search = '' protected otherParams = {
search: ''
}
private subActivatedRoute: Subscription private subActivatedRoute: Subscription
constructor (protected router: Router, constructor (protected router: Router,
@ -32,7 +34,10 @@ export class VideoSearchComponent extends AbstractVideoList implements OnInit, O
this.subActivatedRoute = this.route.queryParams.subscribe( this.subActivatedRoute = this.route.queryParams.subscribe(
queryParams => { queryParams => {
this.search = queryParams['search'] const querySearch = queryParams['search']
if (!querySearch || this.otherParams.search === querySearch) return
this.otherParams.search = querySearch
this.reloadVideos() this.reloadVideos()
}, },
@ -47,6 +52,6 @@ export class VideoSearchComponent extends AbstractVideoList implements OnInit, O
} }
getVideosObservable () { getVideosObservable () {
return this.videoService.searchVideos(this.search, this.pagination, this.sort) return this.videoService.searchVideos(this.otherParams.search, this.pagination, this.sort)
} }
} }