adb-shared 5.0.36 → 5.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,27 +3,40 @@ import { Directive } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class PagerBaseDirective {
5
5
  constructor() {
6
- this.limit = PagerBaseDirective.DEFAULT_LIMIT; //TODO: change to set method to update model
6
+ this.limit = PagerBaseDirective.DEFAULT_LIMIT;
7
7
  this.currentPage = 1;
8
8
  }
9
+ set setTotalCount(value) {
10
+ this.totalCount = value;
11
+ this.calculatePages();
12
+ }
13
+ set setLimit(value) {
14
+ this.limit = value ?? PagerBaseDirective.DEFAULT_LIMIT;
15
+ this.calculatePages();
16
+ }
9
17
  calculatePages() {
10
- this.amountOfPages = Math.ceil(this.totalCount / this.limit);
11
- if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {
12
- this.pages = [
13
- this.currentPage - 2,
14
- this.currentPage - 1, this.currentPage
15
- ];
16
- const above = this.amountOfPages - this.currentPage;
17
- if (above >= 1) {
18
- this.pages.push(this.currentPage + 1);
18
+ if (this.totalCount >= 0 && this.limit > 0) {
19
+ this.amountOfPages = Math.ceil(this.totalCount / this.limit);
20
+ if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {
21
+ this.pages = [
22
+ this.currentPage - 2,
23
+ this.currentPage - 1, this.currentPage
24
+ ];
25
+ const above = this.amountOfPages - this.currentPage;
26
+ if (above >= 1) {
27
+ this.pages.push(this.currentPage + 1);
28
+ }
29
+ if (above >= 2) {
30
+ this.pages.push(this.currentPage + 2);
31
+ }
19
32
  }
20
- if (above >= 2) {
21
- this.pages.push(this.currentPage + 2);
33
+ else if (this.totalCount) {
34
+ const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;
35
+ this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);
22
36
  }
23
37
  }
24
- else if (this.totalCount) {
25
- const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;
26
- this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);
38
+ else {
39
+ this.amountOfPages = 0;
27
40
  }
28
41
  }
29
42
  }
@@ -31,12 +44,14 @@ PagerBaseDirective.DEFAULT_LIMIT = 10;
31
44
  PagerBaseDirective.VISIBLE_PAGES = 5;
32
45
  PagerBaseDirective.SKIP_RESOURCE = 'offset';
33
46
  /** @nocollapse */ PagerBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PagerBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
34
- /** @nocollapse */ PagerBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: PagerBaseDirective, inputs: { totalCount: "totalCount", limit: "limit" }, ngImport: i0 });
47
+ /** @nocollapse */ PagerBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: PagerBaseDirective, inputs: { setTotalCount: ["totalCount", "setTotalCount"], setLimit: ["limit", "setLimit"] }, ngImport: i0 });
35
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PagerBaseDirective, decorators: [{
36
49
  type: Directive
37
- }], propDecorators: { totalCount: [{
38
- type: Input
39
- }], limit: [{
40
- type: Input
50
+ }], propDecorators: { setTotalCount: [{
51
+ type: Input,
52
+ args: ['totalCount']
53
+ }], setLimit: [{
54
+ type: Input,
55
+ args: ['limit']
41
56
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXItYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXJzL3BhZ2VyLWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUMsTUFBTSxPQUFnQixrQkFBa0I7SUFEeEM7UUFRYSxVQUFLLEdBQVcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsNENBQTRDO1FBRXZHLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0tBcUJuQjtJQW5CYSxjQUFjO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUU7WUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDVCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXO2FBQUMsQ0FBQztZQUM1QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDcEQsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDekM7WUFDRCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN6QztTQUNKO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDOztBQTNCYyxnQ0FBYSxHQUFHLEVBQUcsQ0FBQTtBQUNuQixnQ0FBYSxHQUFHLENBQUUsQ0FBQTtBQUNoQixnQ0FBYSxHQUFHLFFBQVMsQ0FBQTtrSUFIeEIsa0JBQWtCO3NIQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEdkMsU0FBUzs4QkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhZ2VyQmFzZURpcmVjdGl2ZSB7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBERUZBVUxUX0xJTUlUID0gMTA7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBWSVNJQkxFX1BBR0VTID0gNTtcclxuICAgIHByb3RlY3RlZCBzdGF0aWMgU0tJUF9SRVNPVVJDRSA9ICdvZmZzZXQnO1xyXG5cclxuICAgIEBJbnB1dCgpIHRvdGFsQ291bnQ6IG51bWJlcjsgLy9UT0RPOiBjaGFuZ2UgdG8gc2V0IG1ldGhvZCB0byB1cGRhdGUgbW9kZWxcclxuICAgIHBhZ2VzOiBBcnJheTxudW1iZXI+O1xyXG4gICAgQElucHV0KCkgbGltaXQ6IG51bWJlciA9IFBhZ2VyQmFzZURpcmVjdGl2ZS5ERUZBVUxUX0xJTUlUOyAvL1RPRE86IGNoYW5nZSB0byBzZXQgbWV0aG9kIHRvIHVwZGF0ZSBtb2RlbFxyXG4gICAgYW1vdW50T2ZQYWdlczogbnVtYmVyO1xyXG4gICAgY3VycmVudFBhZ2UgPSAxO1xyXG5cclxuICAgIHByb3RlY3RlZCBjYWxjdWxhdGVQYWdlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFtb3VudE9mUGFnZXMgPSBNYXRoLmNlaWwodGhpcy50b3RhbENvdW50IC8gdGhpcy5saW1pdCk7XHJcbiAgICAgICAgaWYgKCh0aGlzLmN1cnJlbnRQYWdlICsgMSkgPiBQYWdlckJhc2VEaXJlY3RpdmUuVklTSUJMRV9QQUdFUykge1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2VzID0gW1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSAtIDIsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlIC0gMSwgdGhpcy5jdXJyZW50UGFnZV07XHJcbiAgICAgICAgICAgIGNvbnN0IGFib3ZlID0gdGhpcy5hbW91bnRPZlBhZ2VzIC0gdGhpcy5jdXJyZW50UGFnZTtcclxuICAgICAgICAgICAgaWYgKGFib3ZlID49IDEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnZXMucHVzaCh0aGlzLmN1cnJlbnRQYWdlICsgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGFib3ZlID49IDIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnZXMucHVzaCh0aGlzLmN1cnJlbnRQYWdlICsgMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG90YWxDb3VudCkge1xyXG4gICAgICAgICAgICBjb25zdCBtYXggPSB0aGlzLmFtb3VudE9mUGFnZXMgPiBQYWdlckJhc2VEaXJlY3RpdmUuVklTSUJMRV9QQUdFUyA/IDUgOiB0aGlzLmFtb3VudE9mUGFnZXM7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZXMgPSBBcnJheShNYXRoLmNlaWwobWF4KSkuZmlsbCgxKS5tYXAoKHgsIGkpID0+IGkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXItYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXJzL3BhZ2VyLWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUMsTUFBTSxPQUFnQixrQkFBa0I7SUFEeEM7UUFNSSxVQUFLLEdBQVcsa0JBQWtCLENBQUMsYUFBYSxDQUFDO1FBZWpELGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0tBeUJuQjtJQXRDRyxJQUF5QixhQUFhLENBQUMsS0FBYTtRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQW9CLFFBQVEsQ0FBQyxLQUFhO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQU9TLGNBQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxFQUFFO2dCQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHO29CQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7aUJBQUMsQ0FBQztnQkFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNwRCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7b0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO29CQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3pDO2FBQ0o7aUJBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUMzRixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNuRTtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztTQUMxQjtJQUNMLENBQUM7O0FBMUNjLGdDQUFhLEdBQUcsRUFBRyxDQUFBO0FBQ25CLGdDQUFhLEdBQUcsQ0FBRSxDQUFBO0FBQ2hCLGdDQUFhLEdBQUcsUUFBUyxDQUFBO2tJQUh4QixrQkFBa0I7c0hBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTOzhCQVFtQixhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLFlBQVk7Z0JBS0MsUUFBUTtzQkFBM0IsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnZXJCYXNlRGlyZWN0aXZlIHtcclxuICAgIHByaXZhdGUgc3RhdGljIERFRkFVTFRfTElNSVQgPSAxMDtcclxuICAgIHByaXZhdGUgc3RhdGljIFZJU0lCTEVfUEFHRVMgPSA1O1xyXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBTS0lQX1JFU09VUkNFID0gJ29mZnNldCc7XHJcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XHJcbiAgICBsaW1pdDogbnVtYmVyID0gUGFnZXJCYXNlRGlyZWN0aXZlLkRFRkFVTFRfTElNSVQ7XHJcblxyXG4gICAgQElucHV0KCd0b3RhbENvdW50Jykgc2V0IHNldFRvdGFsQ291bnQodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMudG90YWxDb3VudCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUGFnZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ2xpbWl0Jykgc2V0IHNldExpbWl0KHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLmxpbWl0ID0gdmFsdWUgPz8gUGFnZXJCYXNlRGlyZWN0aXZlLkRFRkFVTFRfTElNSVQ7XHJcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhZ2VzOiBBcnJheTxudW1iZXI+O1xyXG5cclxuICAgIGFtb3VudE9mUGFnZXM6IG51bWJlcjtcclxuICAgIGN1cnJlbnRQYWdlID0gMTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlUGFnZXMoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudG90YWxDb3VudCA+PSAwICYmIHRoaXMubGltaXQgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYW1vdW50T2ZQYWdlcyA9IE1hdGguY2VpbCh0aGlzLnRvdGFsQ291bnQgLyB0aGlzLmxpbWl0KTtcclxuICAgICAgICAgICAgaWYgKCh0aGlzLmN1cnJlbnRQYWdlICsgMSkgPiBQYWdlckJhc2VEaXJlY3RpdmUuVklTSUJMRV9QQUdFUykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlcyA9IFtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlIC0gMixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlIC0gMSwgdGhpcy5jdXJyZW50UGFnZV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhYm92ZSA9IHRoaXMuYW1vdW50T2ZQYWdlcyAtIHRoaXMuY3VycmVudFBhZ2U7XHJcbiAgICAgICAgICAgICAgICBpZiAoYWJvdmUgPj0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZXMucHVzaCh0aGlzLmN1cnJlbnRQYWdlICsgMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoYWJvdmUgPj0gMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZXMucHVzaCh0aGlzLmN1cnJlbnRQYWdlICsgMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50b3RhbENvdW50KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtYXggPSB0aGlzLmFtb3VudE9mUGFnZXMgPiBQYWdlckJhc2VEaXJlY3RpdmUuVklTSUJMRV9QQUdFUyA/IDUgOiB0aGlzLmFtb3VudE9mUGFnZXM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VzID0gQXJyYXkoTWF0aC5jZWlsKG1heCkpLmZpbGwoMSkubWFwKCh4LCBpKSA9PiBpICsgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFtb3VudE9mUGFnZXMgPSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -432,27 +432,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
432
432
 
433
433
  class PagerBaseDirective {
434
434
  constructor() {
435
- this.limit = PagerBaseDirective.DEFAULT_LIMIT; //TODO: change to set method to update model
435
+ this.limit = PagerBaseDirective.DEFAULT_LIMIT;
436
436
  this.currentPage = 1;
437
437
  }
438
+ set setTotalCount(value) {
439
+ this.totalCount = value;
440
+ this.calculatePages();
441
+ }
442
+ set setLimit(value) {
443
+ this.limit = value !== null && value !== void 0 ? value : PagerBaseDirective.DEFAULT_LIMIT;
444
+ this.calculatePages();
445
+ }
438
446
  calculatePages() {
439
- this.amountOfPages = Math.ceil(this.totalCount / this.limit);
440
- if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {
441
- this.pages = [
442
- this.currentPage - 2,
443
- this.currentPage - 1, this.currentPage
444
- ];
445
- const above = this.amountOfPages - this.currentPage;
446
- if (above >= 1) {
447
- this.pages.push(this.currentPage + 1);
447
+ if (this.totalCount >= 0 && this.limit > 0) {
448
+ this.amountOfPages = Math.ceil(this.totalCount / this.limit);
449
+ if ((this.currentPage + 1) > PagerBaseDirective.VISIBLE_PAGES) {
450
+ this.pages = [
451
+ this.currentPage - 2,
452
+ this.currentPage - 1, this.currentPage
453
+ ];
454
+ const above = this.amountOfPages - this.currentPage;
455
+ if (above >= 1) {
456
+ this.pages.push(this.currentPage + 1);
457
+ }
458
+ if (above >= 2) {
459
+ this.pages.push(this.currentPage + 2);
460
+ }
448
461
  }
449
- if (above >= 2) {
450
- this.pages.push(this.currentPage + 2);
462
+ else if (this.totalCount) {
463
+ const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;
464
+ this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);
451
465
  }
452
466
  }
453
- else if (this.totalCount) {
454
- const max = this.amountOfPages > PagerBaseDirective.VISIBLE_PAGES ? 5 : this.amountOfPages;
455
- this.pages = Array(Math.ceil(max)).fill(1).map((x, i) => i + 1);
467
+ else {
468
+ this.amountOfPages = 0;
456
469
  }
457
470
  }
458
471
  }
@@ -460,13 +473,15 @@ PagerBaseDirective.DEFAULT_LIMIT = 10;
460
473
  PagerBaseDirective.VISIBLE_PAGES = 5;
461
474
  PagerBaseDirective.SKIP_RESOURCE = 'offset';
462
475
  /** @nocollapse */ PagerBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PagerBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
463
- /** @nocollapse */ PagerBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: PagerBaseDirective, inputs: { totalCount: "totalCount", limit: "limit" }, ngImport: i0 });
476
+ /** @nocollapse */ PagerBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: PagerBaseDirective, inputs: { setTotalCount: ["totalCount", "setTotalCount"], setLimit: ["limit", "setLimit"] }, ngImport: i0 });
464
477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PagerBaseDirective, decorators: [{
465
478
  type: Directive
466
- }], propDecorators: { totalCount: [{
467
- type: Input
468
- }], limit: [{
469
- type: Input
479
+ }], propDecorators: { setTotalCount: [{
480
+ type: Input,
481
+ args: ['totalCount']
482
+ }], setLimit: [{
483
+ type: Input,
484
+ args: ['limit']
470
485
  }] } });
471
486
 
472
487
  class PagerComponent extends PagerBaseDirective {