From c88593f72f1097cc34a091b4cb4b6d6e214d1e9f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 29 Jan 2018 09:30:06 +0100 Subject: Fix search pagination --- client/src/app/shared/video/abstract-video-list.ts | 7 +++++-- client/src/app/videos/video-list/video-search.component.ts | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/client/src/app/shared/video/abstract-video-list.ts b/client/src/app/shared/video/abstract-video-list.ts index 354373776..aaf376c81 100644 --- a/client/src/app/shared/video/abstract-video-list.ts +++ b/client/src/app/shared/video/abstract-video-list.ts @@ -10,7 +10,7 @@ import { Video } from './video.model' export abstract class AbstractVideoList implements OnInit { pagination: ComponentPagination = { currentPage: 1, - itemsPerPage: 25, + itemsPerPage: 10, totalItems: null } sort: SortField = '-createdAt' @@ -26,6 +26,9 @@ export abstract class AbstractVideoList implements OnInit { protected abstract currentRoute: string abstract titlePage: string + + protected otherParams = {} + private loadedPages: { [ id: number ]: boolean } = {} abstract getVideosObservable (): Observable<{ videos: Video[], totalVideos: number}> @@ -119,7 +122,7 @@ export abstract class AbstractVideoList implements OnInit { page: this.pagination.currentPage } - return params + return Object.assign(params, this.otherParams) } protected loadRouteParams (routeParams: { [ key: string ]: any }) { diff --git a/client/src/app/videos/video-list/video-search.component.ts b/client/src/app/videos/video-list/video-search.component.ts index b7556c13e..67726afdc 100644 --- a/client/src/app/videos/video-list/video-search.component.ts +++ b/client/src/app/videos/video-list/video-search.component.ts @@ -16,7 +16,9 @@ export class VideoSearchComponent extends AbstractVideoList implements OnInit, O currentRoute = '/videos/search' loadOnInit = false - private search = '' + protected otherParams = { + search: '' + } private subActivatedRoute: Subscription constructor (protected router: Router, @@ -32,7 +34,10 @@ export class VideoSearchComponent extends AbstractVideoList implements OnInit, O this.subActivatedRoute = this.route.queryParams.subscribe( queryParams => { - this.search = queryParams['search'] + const querySearch = queryParams['search'] + if (!querySearch || this.otherParams.search === querySearch) return + + this.otherParams.search = querySearch this.reloadVideos() }, @@ -47,6 +52,6 @@ export class VideoSearchComponent extends AbstractVideoList implements OnInit, O } getVideosObservable () { - return this.videoService.searchVideos(this.search, this.pagination, this.sort) + return this.videoService.searchVideos(this.otherParams.search, this.pagination, this.sort) } } -- cgit v1.2.3