kwikui
Version:
KwikID's UI Component Library in Angular
75 lines • 9.72 kB
JavaScript
import { Component, EventEmitter, Input, Output } from "@angular/core";
import { tuiTablePaginationOptionsProvider } from "@taiga-ui/addon-table";
import { throwErrorMessage } from "../../../../helpers/kwikui.common.helpers";
import { DEFAULT_VALUES, VALIDATE_KEY_VALUES } from "./table-pagination.constants";
import { isValidKeyValue } from "./table-pagination.validation";
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/addon-table";
export class KwikUITablePaginationComponent {
constructor() {
this.id = DEFAULT_VALUES.id;
this.page = DEFAULT_VALUES.page;
this.size = DEFAULT_VALUES.size;
this.total = DEFAULT_VALUES.total;
this.onClick = new EventEmitter();
this.pageChange = new EventEmitter();
this.sizeChange = new EventEmitter();
}
ngOnInit() { }
ngOnChanges(changes) {
for (const change of Object.entries(changes)) {
const key = change[0];
const value = change[1].currentValue;
this.validateInputProperty(key, value);
}
}
validateInputProperty(key, value) {
if (VALIDATE_KEY_VALUES[key] && !isValidKeyValue(key, value)) {
this[key] = DEFAULT_VALUES[key];
throwErrorMessage("kwikui-table-pagination", this.id, key, value, DEFAULT_VALUES[key]);
}
}
handleOnClick(e) {
this.onClick.emit(e);
}
onPageChange(e) {
this.pageChange.emit(e);
}
onSizeChange(e) {
this.sizeChange.emit(e);
}
}
/** @nocollapse */ KwikUITablePaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikUITablePaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ KwikUITablePaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikUITablePaginationComponent, selector: "kwikui-table-pagination", inputs: { id: "id", page: "page", size: "size", total: "total" }, outputs: { onClick: "onClick", pageChange: "pageChange", sizeChange: "sizeChange" }, providers: [
tuiTablePaginationOptionsProvider({
showPages: false
})
], usesOnChanges: true, ngImport: i0, template: "<tui-table-pagination\n [total]=\"total\"\n [(page)]=\"page\"\n [(size)]=\"size\"\n (pageChange)=\"onPageChange($event)\"\n (sizeChange)=\"onSizeChange($event)\"\n></tui-table-pagination>\n<p>\n Current Page: <b>{{ page + 1 }}</b>\n</p>\n", styles: [""], components: [{ type: i1.TuiTablePaginationComponent, selector: "tui-table-pagination", inputs: ["items", "total", "page", "size"], outputs: ["pageChange", "sizeChange", "paginationChange"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikUITablePaginationComponent, decorators: [{
type: Component,
args: [{
selector: "kwikui-table-pagination",
templateUrl: "./table-pagination.component.html",
providers: [
tuiTablePaginationOptionsProvider({
showPages: false
})
],
styleUrls: ["./table-pagination.component.scss"]
}]
}], ctorParameters: function () { return []; }, propDecorators: { id: [{
type: Input
}], page: [{
type: Input
}], size: [{
type: Input
}], total: [{
type: Input
}], onClick: [{
type: Output
}], pageChange: [{
type: Output
}], sizeChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lrdWkvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFibGVzL3RhYmxlLXBhZ2luYXRpb24vdGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lrdWkvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFibGVzL3RhYmxlLXBhZ2luYXRpb24vdGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsbUJBQW1CLEVBQ3BCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFZaEUsTUFBTSxPQUFPLDhCQUE4QjtJQWV6QztRQWRTLE9BQUUsR0FBVyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBRS9CLFNBQUksR0FBVyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBRW5DLFNBQUksR0FBVyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBRW5DLFVBQUssR0FBVyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBRXBDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXJDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWhDLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QyxNQUFNLEdBQUcsR0FBVyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQVEsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQixDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ25ELElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEMsaUJBQWlCLENBQ2YseUJBQXlCLEVBQ3pCLElBQUksQ0FBQyxFQUFFLEVBQ1AsR0FBRyxFQUNILEtBQUssRUFDTCxjQUFjLENBQUMsR0FBRyxDQUFDLENBQ3BCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBTTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQU07UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFNO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7OytJQWxEVSw4QkFBOEI7bUlBQTlCLDhCQUE4Qix5TUFQOUI7UUFDVCxpQ0FBaUMsQ0FBQztZQUNoQyxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0gsK0NDeEJILHNQQVVBOzRGRGlCYSw4QkFBOEI7a0JBVjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsU0FBUyxFQUFFO3dCQUNULGlDQUFpQyxDQUFDOzRCQUNoQyxTQUFTLEVBQUUsS0FBSzt5QkFDakIsQ0FBQztxQkFDSDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDakQ7MEVBRVUsRUFBRTtzQkFBVixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0dWlUYWJsZVBhZ2luYXRpb25PcHRpb25zUHJvdmlkZXIgfSBmcm9tIFwiQHRhaWdhLXVpL2FkZG9uLXRhYmxlXCI7XG5pbXBvcnQgeyB0aHJvd0Vycm9yTWVzc2FnZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9oZWxwZXJzL2t3aWt1aS5jb21tb24uaGVscGVyc1wiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9WQUxVRVMsXG4gIFZBTElEQVRFX0tFWV9WQUxVRVNcbn0gZnJvbSBcIi4vdGFibGUtcGFnaW5hdGlvbi5jb25zdGFudHNcIjtcbmltcG9ydCB7IGlzVmFsaWRLZXlWYWx1ZSB9IGZyb20gXCIuL3RhYmxlLXBhZ2luYXRpb24udmFsaWRhdGlvblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwia3dpa3VpLXRhYmxlLXBhZ2luYXRpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHByb3ZpZGVyczogW1xuICAgIHR1aVRhYmxlUGFnaW5hdGlvbk9wdGlvbnNQcm92aWRlcih7XG4gICAgICBzaG93UGFnZXM6IGZhbHNlXG4gICAgfSlcbiAgXSxcbiAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgS3dpa1VJVGFibGVQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpZDogc3RyaW5nID0gREVGQVVMVF9WQUxVRVMuaWQ7XG5cbiAgQElucHV0KCkgcGFnZTogbnVtYmVyID0gREVGQVVMVF9WQUxVRVMucGFnZTtcblxuICBASW5wdXQoKSBzaXplOiBudW1iZXIgPSBERUZBVUxUX1ZBTFVFUy5zaXplO1xuXG4gIEBJbnB1dCgpIHRvdGFsOiBudW1iZXIgPSBERUZBVUxUX1ZBTFVFUy50b3RhbDtcblxuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpIHNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBPYmplY3QuZW50cmllcyhjaGFuZ2VzKSkge1xuICAgICAgY29uc3Qga2V5OiBzdHJpbmcgPSBjaGFuZ2VbMF07XG4gICAgICBjb25zdCB2YWx1ZTogYW55ID0gY2hhbmdlWzFdLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGVJbnB1dFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJbnB1dFByb3BlcnR5KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKFZBTElEQVRFX0tFWV9WQUxVRVNba2V5XSAmJiAhaXNWYWxpZEtleVZhbHVlKGtleSwgdmFsdWUpKSB7XG4gICAgICB0aGlzW2tleV0gPSBERUZBVUxUX1ZBTFVFU1trZXldO1xuICAgICAgdGhyb3dFcnJvck1lc3NhZ2UoXG4gICAgICAgIFwia3dpa3VpLXRhYmxlLXBhZ2luYXRpb25cIixcbiAgICAgICAgdGhpcy5pZCxcbiAgICAgICAga2V5LFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgREVGQVVMVF9WQUxVRVNba2V5XVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrKGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DbGljay5lbWl0KGUpO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KGUpO1xuICB9XG5cbiAgb25TaXplQ2hhbmdlKGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2l6ZUNoYW5nZS5lbWl0KGUpO1xuICB9XG59XG4iLCI8dHVpLXRhYmxlLXBhZ2luYXRpb25cbiAgW3RvdGFsXT1cInRvdGFsXCJcbiAgWyhwYWdlKV09XCJwYWdlXCJcbiAgWyhzaXplKV09XCJzaXplXCJcbiAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxuICAoc2l6ZUNoYW5nZSk9XCJvblNpemVDaGFuZ2UoJGV2ZW50KVwiXG4+PC90dWktdGFibGUtcGFnaW5hdGlvbj5cbjxwPlxuICBDdXJyZW50IFBhZ2U6IDxiPnt7IHBhZ2UgKyAxIH19PC9iPlxuPC9wPlxuIl19