UNPKG

ngx-mariem-datatable

Version:

Advanced table extension with sorting, filtering, paging and more... for Angular apps

193 lines 15.8 kB
/** * @fileoverview added by tsickle * Generated from: lib/ngx-mariem-pagination/ngx-mariem-pagination.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter, Pipe, } from "@angular/core"; var NgxMariemPaginationComponent = /** @class */ (function () { function NgxMariemPaginationComponent() { this.previousText = "&lsaquo;"; this.nextText = "&rsaquo;"; this.firstText = "&laquo;"; this.lastText = "&raquo;"; this.pageChanged = new EventEmitter(); this._totalItems = 0; this._itemsPerPage = 10; this._maxSize = 5; this.listNumbers = []; this.activeIndex = 0; } Object.defineProperty(NgxMariemPaginationComponent.prototype, "totalItems", { get: /** * @return {?} */ function () { return this._totalItems; }, set: /** * @param {?} value * @return {?} */ function (value) { this._totalItems = value; this.fixListNumbers(); }, enumerable: true, configurable: true }); Object.defineProperty(NgxMariemPaginationComponent.prototype, "itemsPerPage", { get: /** * @return {?} */ function () { return this._itemsPerPage; }, set: /** * @param {?} value * @return {?} */ function (value) { this._itemsPerPage = value; this.fixListNumbers(); }, enumerable: true, configurable: true }); Object.defineProperty(NgxMariemPaginationComponent.prototype, "maxSize", { get: /** * @return {?} */ function () { return this._maxSize; }, set: /** * @param {?} value * @return {?} */ function (value) { this._maxSize = value; this.fixListNumbers(); }, enumerable: true, configurable: true }); /** * @return {?} */ NgxMariemPaginationComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.pageChangedFn(0); }; /** * @return {?} */ NgxMariemPaginationComponent.prototype.fixListNumbers = /** * @return {?} */ function () { /** @type {?} */ var round = Math.round(this.totalItems / this.itemsPerPage); /** @type {?} */ var items = round * this.itemsPerPage < this.totalItems ? round + 1 : round; this.listNumbers = []; for (var index = 0; index < items; index++) { this.listNumbers.push(index + 1); } }; /** * @param {?} index * @return {?} */ NgxMariemPaginationComponent.prototype.pageChangedFn = /** * @param {?} index * @return {?} */ function (index) { this.activeIndex = index; this.pageChanged.emit({ page: index + 1, itemsPerPage: this.itemsPerPage, }); }; NgxMariemPaginationComponent.decorators = [ { type: Component, args: [{ selector: "ngx-mariem-pagination", template: "\n <div class=\"flex\">\n <button\n [disabled]=\"activeIndex == 0\"\n (click)=\"pageChangedFn(0)\"\n [innerHTML]=\"firstText\"\n class=\"page-link\"\n ></button>\n <button\n [disabled]=\"activeIndex == 0\"\n (click)=\"pageChangedFn(activeIndex - 1)\"\n [innerHTML]=\"previousText\"\n class=\"page-link\"\n ></button>\n <button\n *ngFor=\"\n let i of listNumbers\n | pipePagination: { maxSize: maxSize, activeIndex: activeIndex }\n \"\n class=\"page-link\"\n [ngClass]=\"{ 'active-page': activeIndex == i - 1 }\"\n (click)=\"pageChangedFn(i - 1)\"\n >\n {{ i }}\n </button>\n <button\n [disabled]=\"activeIndex == listNumbers.length - 1\"\n (click)=\"pageChangedFn(activeIndex + 1)\"\n [innerHTML]=\"nextText\"\n class=\"page-link\"\n ></button>\n <button\n [disabled]=\"activeIndex == listNumbers.length - 1\"\n (click)=\"pageChangedFn(listNumbers.length - 1)\"\n [innerHTML]=\"lastText\"\n class=\"page-link\"\n ></button>\n </div>\n ", styles: [".flex{display:flex}.active-page{background-color:rgba(158,158,158,.2)!important}.page-link{background:0 0;color:#333!important;border:none!important;font-weight:700!important;align-items:center!important;margin:0!important;padding:.5rem;height:auto!important;min-width:auto!important;border-radius:.25rem!important;cursor:pointer}.page-link:hover{background-color:rgba(158,158,158,.2)!important}.page-link[disabled]{cursor:no-drop}"] }] } ]; /** @nocollapse */ NgxMariemPaginationComponent.ctorParameters = function () { return []; }; NgxMariemPaginationComponent.propDecorators = { totalItems: [{ type: Input }], itemsPerPage: [{ type: Input }], maxSize: [{ type: Input }], previousText: [{ type: Input }], nextText: [{ type: Input }], firstText: [{ type: Input }], lastText: [{ type: Input }], pageChanged: [{ type: Output }] }; return NgxMariemPaginationComponent; }()); export { NgxMariemPaginationComponent }; if (false) { /** @type {?} */ NgxMariemPaginationComponent.prototype.previousText; /** @type {?} */ NgxMariemPaginationComponent.prototype.nextText; /** @type {?} */ NgxMariemPaginationComponent.prototype.firstText; /** @type {?} */ NgxMariemPaginationComponent.prototype.lastText; /** @type {?} */ NgxMariemPaginationComponent.prototype.pageChanged; /** @type {?} */ NgxMariemPaginationComponent.prototype._totalItems; /** @type {?} */ NgxMariemPaginationComponent.prototype._itemsPerPage; /** @type {?} */ NgxMariemPaginationComponent.prototype._maxSize; /** @type {?} */ NgxMariemPaginationComponent.prototype.listNumbers; /** @type {?} */ NgxMariemPaginationComponent.prototype.activeIndex; } var pipePagination = /** @class */ (function () { function pipePagination() { } /** * @param {?} list * @param {?} filterObj * @return {?} */ pipePagination.prototype.transform = /** * @param {?} list * @param {?} filterObj * @return {?} */ function (list, filterObj) { if (list.length <= filterObj.maxSize) { return list; } else { /** @type {?} */ var tab = void 0; if (filterObj.activeIndex + filterObj.maxSize >= list.length) { tab = list.slice(list.length - filterObj.maxSize, list.length); } else { tab = list.slice(filterObj.activeIndex, filterObj.activeIndex + filterObj.maxSize); } return tab; } }; pipePagination.decorators = [ { type: Pipe, args: [{ name: "pipePagination" },] } ]; return pipePagination; }()); export { pipePagination }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hcmllbS1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXJpZW0tZGF0YXRhYmxlLyIsInNvdXJjZXMiOlsibGliL25neC1tYXJpZW0tcGFnaW5hdGlvbi9uZ3gtbWFyaWVtLXBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixJQUFJLEdBRUwsTUFBTSxlQUFlLENBQUM7QUFFdkI7SUFrRUU7UUFWUyxpQkFBWSxHQUFXLFVBQVUsQ0FBQztRQUNsQyxhQUFRLEdBQVcsVUFBVSxDQUFDO1FBQzlCLGNBQVMsR0FBVyxTQUFTLENBQUM7UUFDOUIsYUFBUSxHQUFXLFNBQVMsQ0FBQztRQUM1QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0MsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixnQkFBVyxHQUFXLENBQUMsQ0FBQztJQUNULENBQUM7SUF0QmhCLHNCQUFhLG9EQUFVOzs7O1FBMEN2QjtZQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDOzs7OztRQTVDRCxVQUF3QixLQUFLO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDOzs7T0FBQTtJQUNELHNCQUFhLHNEQUFZOzs7O1FBeUN6QjtZQUNFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM1QixDQUFDOzs7OztRQTNDRCxVQUEwQixLQUFLO1lBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxjQUFj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c0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgUGlwZSxcbiAgUGlwZVRyYW5zZm9ybSxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm5neC1tYXJpZW0tcGFnaW5hdGlvblwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJhY3RpdmVJbmRleCA9PSAwXCJcbiAgICAgICAgKGNsaWNrKT1cInBhZ2VDaGFuZ2VkRm4oMClcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImZpcnN0VGV4dFwiXG4gICAgICAgIGNsYXNzPVwicGFnZS1saW5rXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW2Rpc2FibGVkXT1cImFjdGl2ZUluZGV4ID09IDBcIlxuICAgICAgICAoY2xpY2spPVwicGFnZUNoYW5nZWRGbihhY3RpdmVJbmRleCAtIDEpXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJwcmV2aW91c1RleHRcIlxuICAgICAgICBjbGFzcz1cInBhZ2UtbGlua1wiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBpIG9mIGxpc3ROdW1iZXJzXG4gICAgICAgICAgICB8IHBpcGVQYWdpbmF0aW9uOiB7IG1heFNpemU6IG1heFNpemUsIGFjdGl2ZUluZGV4OiBhY3RpdmVJbmRleCB9XG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwicGFnZS1saW5rXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlLXBhZ2UnOiBhY3RpdmVJbmRleCA9PSBpIC0gMSB9XCJcbiAgICAgICAgKGNsaWNrKT1cInBhZ2VDaGFuZ2VkRm4oaSAtIDEpXCJcbiAgICAgID5cbiAgICAgICAge3sgaSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJhY3RpdmVJbmRleCA9PSBsaXN0TnVtYmVycy5sZW5ndGggLSAxXCJcbiAgICAgICAgKGNsaWNrKT1cInBhZ2VDaGFuZ2VkRm4oYWN0aXZlSW5kZXggKyAxKVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwibmV4dFRleHRcIlxuICAgICAgICBjbGFzcz1cInBhZ2UtbGlua1wiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJhY3RpdmVJbmRleCA9PSBsaXN0TnVtYmVycy5sZW5ndGggLSAxXCJcbiAgICAgICAgKGNsaWNrKT1cInBhZ2VDaGFuZ2VkRm4obGlzdE51bWJlcnMubGVuZ3RoIC0gMSlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImxhc3RUZXh0XCJcbiAgICAgICAgY2xhc3M9XCJwYWdlLWxpbmtcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFtcIi4vbmd4LW1hcmllbS1wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXJpZW1QYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc2V0IHRvdGFsSXRlbXModmFsdWUpIHtcbiAgICB0aGlzLl90b3RhbEl0ZW1zID0gdmFsdWU7XG4gICAgdGhpcy5maXhMaXN0TnVtYmVycygpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBpdGVtc1BlclBhZ2UodmFsdWUpIHtcbiAgICB0aGlzLl9pdGVtc1BlclBhZ2UgPSB2YWx1ZTtcbiAgICB0aGlzLmZpeExpc3ROdW1iZXJzKCk7XG4gIH1cbiAgQElucHV0KCkgc2V0IG1heFNpemUodmFsdWUpIHtcbiAgICB0aGlzLl9tYXhTaXplID0gdmFsdWU7XG4gICAgdGhpcy5maXhMaXN0TnVtYmVycygpO1xuICB9XG4gIEBJbnB1dCgpIHByZXZpb3VzVGV4dDogc3RyaW5nID0gXCImbHNhcXVvO1wiO1xuICBASW5wdXQoKSBuZXh0VGV4dDogc3RyaW5nID0gXCImcnNhcXVvO1wiO1xuICBASW5wdXQoKSBmaXJzdFRleHQ6IHN0cmluZyA9IFwiJmxhcXVvO1wiO1xuICBASW5wdXQoKSBsYXN0VGV4dDogc3RyaW5nID0gXCImcmFxdW87XCI7XG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgX3RvdGFsSXRlbXM6IG51bWJlciA9IDA7XG4gIF9pdGVtc1BlclBhZ2U6IG51bWJlciA9IDEwO1xuICBfbWF4U2l6ZTogbnVtYmVyID0gNTtcbiAgbGlzdE51bWJlcnMgPSBbXTtcbiAgYWN0aXZlSW5kZXg6IG51bWJlciA9IDA7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBhZ2VDaGFuZ2VkRm4oMCk7XG4gIH1cbiAgZml4TGlzdE51bWJlcnMoKSB7XG4gICAgbGV0IHJvdW5kID0gTWF0aC5yb3VuZCh0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgbGV0IGl0ZW1zID0gcm91bmQgKiB0aGlzLml0ZW1zUGVyUGFnZSA8IHRoaXMudG90YWxJdGVtcyA/IHJvdW5kICsgMSA6IHJvdW5kO1xuICAgIHRoaXMubGlzdE51bWJlcnM9W11cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbXM7IGluZGV4KyspIHtcbiAgICAgIHRoaXMubGlzdE51bWJlcnMucHVzaChpbmRleCArIDEpO1xuICAgIH1cbiAgfVxuICBwYWdlQ2hhbmdlZEZuKGluZGV4KSB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCh7XG4gICAgICBwYWdlOiBpbmRleCArIDEsXG4gICAgICBpdGVtc1BlclBhZ2U6IHRoaXMuaXRlbXNQZXJQYWdlLFxuICAgIH0pO1xuICB9XG4gIGdldCB0b3RhbEl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLl90b3RhbEl0ZW1zO1xuICB9XG4gIGdldCBpdGVtc1BlclBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zUGVyUGFnZTtcbiAgfVxuICBnZXQgbWF4U2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4U2l6ZTtcbiAgfVxufVxuQFBpcGUoeyBuYW1lOiBcInBpcGVQYWdpbmF0aW9uXCIgfSlcbmV4cG9ydCBjbGFzcyBwaXBlUGFnaW5hdGlvbiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0obGlzdCwgZmlsdGVyT2JqKTogYW55W10ge1xuICAgIGlmIChsaXN0Lmxlbmd0aCA8PSBmaWx0ZXJPYmoubWF4U2l6ZSkge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB0YWI7XG4gICAgICBpZiAoZmlsdGVyT2JqLmFjdGl2ZUluZGV4ICsgZmlsdGVyT2JqLm1heFNpemUgPj0gbGlzdC5sZW5ndGgpIHtcbiAgICAgICAgdGFiID0gbGlzdC5zbGljZShsaXN0Lmxlbmd0aCAtIGZpbHRlck9iai5tYXhTaXplLCBsaXN0Lmxlbmd0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0YWIgPSBsaXN0LnNsaWNlKFxuICAgICAgICAgIGZpbHRlck9iai5hY3RpdmVJbmRleCxcbiAgICAgICAgICBmaWx0ZXJPYmouYWN0aXZlSW5kZXggKyBmaWx0ZXJPYmoubWF4U2l6ZVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRhYjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==