datasurvey/src/main/webapp/app/shared/pagination/item-count.component.ts

32 lines
1.1 KiB
TypeScript

import { Component, Input } from '@angular/core';
/**
* A component that will take care of item count statistics of a pagination.
*/
@Component({
selector: 'jhi-item-count',
template: ` <div jhiTranslate="global.item-count" [translateValues]="{ first: first, second: second, total: total }"></div> `,
})
export class ItemCountComponent {
/**
* @param params Contains parameters for component:
* page Current page number
* totalItems Total number of items
* itemsPerPage Number of items per page
*/
@Input() set params(params: { page?: number; totalItems?: number; itemsPerPage?: number }) {
if (params.page && params.totalItems !== undefined && params.itemsPerPage) {
this.first = (params.page - 1) * params.itemsPerPage + 1;
this.second = params.page * params.itemsPerPage < params.totalItems ? params.page * params.itemsPerPage : params.totalItems;
} else {
this.first = undefined;
this.second = undefined;
}
this.total = params.totalItems;
}
first?: number;
second?: number;
total?: number;
}