UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

44 lines 6.32 kB
import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; import * as i2 from "../../translate/language.service"; export class NetgrifPaginatorIntl { _translate; _languageService; changes; firstPageLabel; itemsPerPageLabel; lastPageLabel; nextPageLabel; previousPageLabel; constructor(_translate, _languageService) { this._translate = _translate; this._languageService = _languageService; this.changes = new Subject(); this.initTranslations(); this._languageService.getLangChange$().subscribe(lang => { this.initTranslations(); }); } initTranslations() { this.firstPageLabel = this._translate.instant('paginator.firstPage'); this.itemsPerPageLabel = this._translate.instant('paginator.itemsPage'); this.lastPageLabel = this._translate.instant('paginator.lastPage'); this.nextPageLabel = this._translate.instant('paginator.nextPage'); this.previousPageLabel = this._translate.instant('paginator.previousPage'); } getRangeLabel(page, pageSize, length) { if (length === 0) { return this._translate.instant('paginator.pageOne'); } const amountPages = Math.ceil(length / pageSize); return this._translate.instant('paginator.pageAmount', { page: page + 1, amountPages }); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NetgrifPaginatorIntl, deps: [{ token: i1.TranslateService }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NetgrifPaginatorIntl }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NetgrifPaginatorIntl, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.LanguageService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0Z3JpZi1wYWdpbmF0b3ItaW50bC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdmlldy9hYnN0cmFjdC9uZXRncmlmLXBhZ2luYXRvci1pbnRsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7OztBQUs3QixNQUFNLE9BQU8sb0JBQW9CO0lBU1A7SUFBd0M7SUFQdkQsT0FBTyxDQUFDO0lBQ1IsY0FBYyxDQUFDO0lBQ2YsaUJBQWlCLENBQUM7SUFDbEIsYUFBYSxDQUFDO0lBQ2QsYUFBYSxDQUFDO0lBQ2QsaUJBQWlCLENBQUM7SUFFekIsWUFBc0IsVUFBNEIsRUFBWSxnQkFBaUM7UUFBekUsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFBWSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQzNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdNLGdCQUFnQjtRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLE1BQWM7UUFDL0QsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQzt3R0FoQ1Esb0JBQW9COzRHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01hdFBhZ2luYXRvckludGx9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL2xhbmd1YWdlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmV0Z3JpZlBhZ2luYXRvckludGwgaW1wbGVtZW50cyBNYXRQYWdpbmF0b3JJbnRsIHtcblxuICAgIHB1YmxpYyBjaGFuZ2VzO1xuICAgIHB1YmxpYyBmaXJzdFBhZ2VMYWJlbDtcbiAgICBwdWJsaWMgaXRlbXNQZXJQYWdlTGFiZWw7XG4gICAgcHVibGljIGxhc3RQYWdlTGFiZWw7XG4gICAgcHVibGljIG5leHRQYWdlTGFiZWw7XG4gICAgcHVibGljIHByZXZpb3VzUGFnZUxhYmVsO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByb3RlY3RlZCBfbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgdGhpcy5pbml0VHJhbnNsYXRpb25zKCk7XG4gICAgICAgIHRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRMYW5nQ2hhbmdlJCgpLnN1YnNjcmliZShsYW5nID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFRyYW5zbGF0aW9ucygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBpbml0VHJhbnNsYXRpb25zKCkge1xuICAgICAgICB0aGlzLmZpcnN0UGFnZUxhYmVsID0gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3BhZ2luYXRvci5maXJzdFBhZ2UnKTtcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2VMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdwYWdpbmF0b3IuaXRlbXNQYWdlJyk7XG4gICAgICAgIHRoaXMubGFzdFBhZ2VMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdwYWdpbmF0b3IubGFzdFBhZ2UnKTtcbiAgICAgICAgdGhpcy5uZXh0UGFnZUxhYmVsID0gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3BhZ2luYXRvci5uZXh0UGFnZScpO1xuICAgICAgICB0aGlzLnByZXZpb3VzUGFnZUxhYmVsID0gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3BhZ2luYXRvci5wcmV2aW91c1BhZ2UnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmFuZ2VMYWJlbChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdwYWdpbmF0b3IucGFnZU9uZScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFtb3VudFBhZ2VzID0gTWF0aC5jZWlsKGxlbmd0aCAvIHBhZ2VTaXplKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdwYWdpbmF0b3IucGFnZUFtb3VudCcsIHtwYWdlOiBwYWdlICsgMSwgYW1vdW50UGFnZXN9KTtcbiAgICB9XG59XG4iXX0=