diff --git a/src/app/+search-page/search-page.component.ts b/src/app/+search-page/search-page.component.ts index 101eb68e8f..5ed649e4cc 100644 --- a/src/app/+search-page/search-page.component.ts +++ b/src/app/+search-page/search-page.component.ts @@ -77,10 +77,15 @@ export class SearchPageComponent implements OnInit, OnDestroy { let pageSizeOptions: number[] = [5, 10, 20, 40, 60, 80, 100]; if (isNotEmpty(params.view) && params.view === ViewMode.Grid) { - pageSize = 12; pageSizeOptions = [12, 24, 36, 48 , 50, 62, 74, 84]; - // pageSize = 9; - // pageSizeOptions = [9, 18, 27, 36 , 45, 54, 63, 72]; + if (pageSizeOptions.indexOf(pageSize) === -1) { + pageSize = 12; + } + } + if (isNotEmpty(params.view) && params.view === ViewMode.List) { + if (pageSizeOptions.indexOf(pageSize) === -1) { + pageSize = 10; + } } const sortDirection = +params.sortDirection || this.searchOptions.sort.direction; diff --git a/src/app/shared/object-grid/object-grid.component.html b/src/app/shared/object-grid/object-grid.component.html index ad9bf20a32..64231bc931 100644 --- a/src/app/shared/object-grid/object-grid.component.html +++ b/src/app/shared/object-grid/object-grid.component.html @@ -1,14 +1,14 @@
; @Input() config: PaginationComponentOptions; @Input() sortConfig: SortOptions; @Input() hideGear = false; @Input() hidePagerWhenSinglePage = true; - pageInfo: Observable; + private _objects: RemoteData; + pageInfo: PageInfo; + @Input() set objects(objects: RemoteData) { + this._objects = objects; + if (hasValue(objects)) { + this.pageInfo = objects.pageInfo; + } + } + get objects() { + return this._objects; + } + + /** + * An event fired when the page is changed. + * Event's payload equals to the newly selected page. + */ + @Output() change: EventEmitter<{ + pagination: PaginationComponentOptions, + sort: SortOptions + }> = new EventEmitter<{ + pagination: PaginationComponentOptions, + sort: SortOptions + }>(); /** * An event fired when the page is changed. @@ -61,26 +81,6 @@ export class ObjectGridComponent implements OnChanges, OnInit { */ @Output() sortFieldChange: EventEmitter = new EventEmitter(); data: any = {}; - - ngOnChanges(changes: SimpleChanges) { - if (changes.objects && !changes.objects.isFirstChange()) { - // this.pageInfo = this.objects.pageInfo; - } - } - - ngOnInit(): void { - // this.pageInfo = this.objects.pageInfo; - } - - /** - * @param route - * Route is a singleton service provided by Angular. - * @param router - * Router is a singleton service provided by Angular. - */ - constructor(private cdRef: ChangeDetectorRef) { - } - onPageChange(event) { this.pageChange.emit(event); }