UNPKG

angular-dynamic-forms-lite

Version:
136 lines 7.75 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { EventEmitter } from "@angular/core"; /** * @record */ export function PageEvent() { } if (false) { /** @type {?} */ PageEvent.prototype.pageSize; /** @type {?} */ PageEvent.prototype.pageIndex; } export class Paginator { /** * @param {?} _pageSize */ constructor(_pageSize) { this._pageSize = _pageSize; this._pageIndex = 0; this.totalSize = 0; this.pageEvents = new EventEmitter(); } /** * @param {?} totalSize * @return {?} */ updateTotalSize(totalSize) { this.totalSize = totalSize; /** @type {?} */ const newPageIndex = this.maxPageIndex; if (newPageIndex < this._pageIndex) { this._pageIndex = newPageIndex; this.pageEvents.next(this.currentPage); } } /** * @return {?} */ get pageIndex() { return this._pageIndex; } /** * @return {?} */ get maxPageIndex() { if (this.totalSize === 0) { return 0; } return Math.ceil(this.totalSize / this._pageSize) - 1; } /** * @return {?} */ get pageSize() { return this._pageSize; } /** * @return {?} */ get currentPage() { return { pageIndex: this._pageIndex, pageSize: this._pageSize }; } /** * @return {?} */ hasNextPage() { return (this._pageIndex + 1) * this._pageSize < this.totalSize; } /** * @return {?} */ hasPreviousPage() { return this._pageIndex !== 0; } /** * @return {?} */ nextPage() { if (!this.hasNextPage()) return false; this._pageIndex++; this.pageEvents.next({ pageIndex: this.pageIndex, pageSize: this.pageSize }); return true; } /** * @return {?} */ previousPage() { if (!this.hasPreviousPage()) return false; this._pageIndex--; this.pageEvents.next({ pageIndex: this.pageIndex, pageSize: this.pageSize }); return true; } /** * @return {?} */ onPageEvent() { return this.pageEvents; } } if (false) { /** * @type {?} * @private */ Paginator.prototype._pageIndex; /** * @type {?} * @private */ Paginator.prototype.totalSize; /** * @type {?} * @private */ Paginator.prototype.pageEvents; /** * @type {?} * @private */ Paginator.prototype._pageSize; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1keW5hbWljLWZvcm1zLWxpdGUvIiwic291cmNlcyI6WyJsaWIvZm9ybS1maWVsZC9hcnJheS9wYWdpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFN0MsK0JBR0M7OztJQUZDLDZCQUFpQjs7SUFDakIsOEJBQWtCOztBQUdwQixNQUFNLE9BQU8sU0FBUzs7OztJQUtwQixZQUFvQixTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBSjdCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUVYLENBQUM7Ozs7O0lBRWxDLGVBQWUsQ0FBQyxTQUFpQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQzs7Y0FDckIsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZO1FBQ3RDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQzs7OztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELElBQVcsWUFBWTtRQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Ozs7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Ozs7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDekIsQ0FBQztJQUNKLENBQUM7Ozs7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNqRSxDQUFDOzs7O0lBRU0sZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV0QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFMUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7O0lBRU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztDQUNGOzs7Ozs7SUF0RUMsK0JBQStCOzs7OztJQUMvQiw4QkFBOEI7Ozs7O0lBQzlCLCtCQUFtRDs7Ozs7SUFFdkMsOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQYWdlRXZlbnQge1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBwYWdlSW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvciB7XG4gIHByaXZhdGUgX3BhZ2VJbmRleDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSB0b3RhbFNpemU6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgcGFnZUV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhZ2VTaXplOiBudW1iZXIpIHt9XG5cbiAgcHVibGljIHVwZGF0ZVRvdGFsU2l6ZSh0b3RhbFNpemU6IG51bWJlcikge1xuICAgIHRoaXMudG90YWxTaXplID0gdG90YWxTaXplO1xuICAgIGNvbnN0IG5ld1BhZ2VJbmRleCA9IHRoaXMubWF4UGFnZUluZGV4O1xuICAgIGlmIChuZXdQYWdlSW5kZXggPCB0aGlzLl9wYWdlSW5kZXgpIHtcbiAgICAgIHRoaXMuX3BhZ2VJbmRleCA9IG5ld1BhZ2VJbmRleDtcbiAgICAgIHRoaXMucGFnZUV2ZW50cy5uZXh0KHRoaXMuY3VycmVudFBhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFnZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWF4UGFnZUluZGV4KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMudG90YWxTaXplID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsU2l6ZSAvIHRoaXMuX3BhZ2VTaXplKSAtIDE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50UGFnZSgpOiBQYWdlRXZlbnQge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlSW5kZXg6IHRoaXMuX3BhZ2VJbmRleCxcbiAgICAgIHBhZ2VTaXplOiB0aGlzLl9wYWdlU2l6ZVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLl9wYWdlSW5kZXggKyAxKSAqIHRoaXMuX3BhZ2VTaXplIDwgdGhpcy50b3RhbFNpemU7XG4gIH1cblxuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9wYWdlSW5kZXggIT09IDA7XG4gIH1cblxuICBwdWJsaWMgbmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmhhc05leHRQYWdlKCkpIHJldHVybiBmYWxzZTtcblxuICAgIHRoaXMuX3BhZ2VJbmRleCsrO1xuICAgIHRoaXMucGFnZUV2ZW50cy5uZXh0KHtcbiAgICAgIHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZVxuICAgIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzUGFnZSgpIHtcbiAgICBpZiAoIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkpIHJldHVybiBmYWxzZTtcblxuICAgIHRoaXMuX3BhZ2VJbmRleC0tO1xuICAgIHRoaXMucGFnZUV2ZW50cy5uZXh0KHtcbiAgICAgIHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZVxuICAgIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIG9uUGFnZUV2ZW50KCk6IEV2ZW50RW1pdHRlcjxQYWdlRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5wYWdlRXZlbnRzO1xuICB9XG59XG4iXX0=