@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
44 lines • 6.32 kB
JavaScript
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=